?login_element?

Subversion Repositories NedoOS

Rev

Blame | Last modification | View Log | Download

  1.  
  2.         MODULE OS_NETSOCKET
  3.         PUBLIC OS_NETSOCKET,OS_NETCONNECT,OS_NETCLOSE
  4.         PUBLIC OS_ACCEPT,OS_BIND,OS_LISTEN
  5.         PUBLIC os_getdns,os_setdns
  6.         EXTERN errno
  7.         #include "sysdefs.asm"
  8.         RSEG    CODE
  9. os_getdns:
  10.         ld l,0x08
  11.         jr OS_NETSOCKET1
  12. os_setdns:
  13.         ld l,0x07
  14.         jr OS_NETSOCKET1
  15. OS_LISTEN:
  16.         ld l,0x06
  17.         jr OS_NETSOCKET1
  18. OS_BIND:
  19.         ld l,0x05
  20.         jr OS_NETSOCKET1
  21. OS_ACCEPT:
  22.         ld l,0x04
  23.         jr OS_NETSOCKET1
  24. OS_NETCONNECT:
  25.         ld l,0x03
  26.         jr OS_NETSOCKET1
  27. OS_NETCLOSE:
  28.         ld l,0x02
  29.         jr OS_NETSOCKET1
  30. OS_NETSOCKET:
  31.         ld l,0x01
  32. OS_NETSOCKET1:
  33.         push ix
  34.         push iy
  35.         ld a,c
  36.         ex af,af'
  37.         ld c,CMD_WIZNETOPEN
  38.         call BDOS
  39.         ld (errno),a
  40.         ld a,l
  41.         pop iy
  42.         pop ix
  43.         ret
  44.         ENDMOD
  45.                
  46.         MODULE HTONS
  47.         PUBLIC htons
  48.         RSEG    CODE
  49. htons:
  50.         ld h,e
  51.         ld l,d
  52.         ret
  53.         ENDMOD
  54.        
  55.         MODULE OS_NETRECV
  56.         PUBLIC OS_NETRECV,OS_NETSEND
  57.         EXTERN errno
  58.         #include "sysdefs.asm"
  59.         RSEG    CODE
  60. OS_NETSEND:
  61.         ld a,c
  62.         ld c,CMD_WIZNETWRITE
  63.         jr OS_NET_RW
  64. OS_NETRECV:
  65.         ld a,c
  66.         ld c,CMD_WIZNETREAD    
  67. OS_NET_RW:
  68.         ex af,af'
  69.         pop af
  70.         pop hl
  71.         push hl
  72.         push af
  73.         push ix
  74.         push iy
  75.         call BDOS
  76.         ld (errno),a
  77.         pop iy
  78.         pop ix
  79.         ret
  80.         ENDMOD
  81.        
  82.         MODULE OS_NETUDP
  83.         PUBLIC OS_NETRECVFROM,OS_NETSENDTO
  84.         EXTERN errno
  85.         #include "sysdefs.asm"
  86.         RSEG    CODE
  87. OS_NETSENDTO:
  88.         ld a,c
  89.         ld c,CMD_WIZNETWRITE
  90.         jr OS_NET_RW
  91. OS_NETRECVFROM:
  92.         ld a,c
  93.         ld c,CMD_WIZNETREAD    
  94. OS_NET_RW:
  95.         ld (store_ix),ix
  96.         ex af,af'
  97.         pop af
  98.         pop hl
  99.         pop ix
  100.         push ix
  101.         push hl
  102.         push af
  103.         push iy
  104.         call BDOS
  105.         ld (errno),a
  106.         pop iy
  107. store_ix=$+2
  108.         ld ix,0
  109.         ret
  110.         END
  111.