Subversion Repositories NedoOS

Rev

Details | Last modification | View Log

Rev Author Line No. Line
1386 Kulich 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