Subversion Repositories Kolibri OS

Rev

Rev 5842 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5842 Rev 6018
1
; Socket types
1
; Socket types
2
SOCK_STREAM     = 1
2
SOCK_STREAM     = 1
3
SOCK_DGRAM      = 2
3
SOCK_DGRAM      = 2
4
SOCK_RAW        = 3
4
SOCK_RAW        = 3
5
 
-
 
6
; Socket options
-
 
7
SO_NONBLOCK     = 1 shl 31
-
 
8
 
5
 
9
; IP protocols
6
; IP protocols
10
IPPROTO_IP      = 0
7
IPPROTO_IP      = 0
11
IPPROTO_ICMP    = 1
8
IPPROTO_ICMP    = 1
12
IPPROTO_TCP     = 6
9
IPPROTO_TCP     = 6
13
IPPROTO_UDP     = 17
10
IPPROTO_UDP     = 17
14
IPPROTO_RAW     = 255
11
IPPROTO_RAW     = 255
15
 
12
 
16
; IP options
13
; IP options
17
IP_TTL          = 2
14
IP_TTL          = 2
18
 
15
 
19
; Address families
16
; Address families
20
AF_UNSPEC       = 0
17
AF_UNSPEC       = 0
21
AF_LOCAL        = 1
18
AF_LOCAL        = 1
22
AF_INET4        = 2     ; IPv4
19
AF_INET4        = 2     ; IPv4
23
AF_INET6        = 28    ; IPv6
20
AF_INET6        = 10    ; IPv6
24
 
21
 
25
PF_UNSPEC       = AF_UNSPEC
22
PF_UNSPEC       = AF_UNSPEC
26
PF_LOCAL        = AF_LOCAL
23
PF_LOCAL        = AF_LOCAL
27
PF_INET4        = AF_INET4
24
PF_INET4        = AF_INET4
28
PF_INET6        = AF_INET6
25
PF_INET6        = AF_INET6
29
 
26
 
30
; Flags for addrinfo
27
; Flags for addrinfo
31
AI_PASSIVE      = 1
28
AI_PASSIVE      = 1
32
AI_CANONNAME    = 2
29
AI_CANONNAME    = 2
33
AI_NUMERICHOST  = 4
30
AI_NUMERICHOST  = 4
34
AI_NUMERICSERV  = 8
31
AI_NUMERICSERV  = 8
35
AI_ADDRCONFIG   = 0x400
32
AI_ADDRCONFIG   = 0x400
36
 
33
 
37
; internal definition
34
; internal definition
38
AI_SUPPORTED    = 0x40F
35
AI_SUPPORTED    = 0x40F
39
 
36
 
40
; for system function 76
37
; for system function 76
41
API_ETH         = 0 shl 16
38
API_ETH         = 0 shl 16
42
API_IPv4        = 1 shl 16
39
API_IPv4        = 1 shl 16
43
API_ICMP        = 2 shl 16
40
API_ICMP        = 2 shl 16
44
API_UDP         = 3 shl 16
41
API_UDP         = 3 shl 16
45
API_TCP         = 4 shl 16
42
API_TCP         = 4 shl 16
46
API_ARP         = 5 shl 16
43
API_ARP         = 5 shl 16
47
API_PPPOE       = 6 shl 16
44
API_PPPOE       = 6 shl 16
48
 
45
 
49
; Socket flags for user calls
46
; Socket flags for user calls
50
MSG_PEEK        = 0x02
47
MSG_PEEK        = 0x02
51
MSG_DONTWAIT    = 0x40
48
MSG_DONTWAIT    = 0x40
52
 
49
 
53
; Socket levels
50
; Socket levels
54
SOL_SOCKET      = 0xffff
51
SOL_SOCKET      = 0xffff
55
 
52
 
56
; Socket options
53
; Socket options
57
SO_BINDTODEVICE = 1 shl 9
54
SO_BINDTODEVICE = 1 shl 9
-
 
55
SO_NONBLOCK     = 1 shl 31
58
 
56
 
59
struct sockaddr_in
57
struct sockaddr_in
60
        sin_family      dw      ?       ; sa_family_t
58
        sin_family      dw      ?       ; sa_family_t
61
        sin_port        dw      ?       ; in_port_t
59
        sin_port        dw      ?       ; in_port_t
62
        sin_addr        dd      ?       ; struct in_addr
60
        sin_addr        dd      ?       ; struct in_addr
63
        sin_zero        rb      8       ; zero
61
        sin_zero        rb      8       ; zero
64
ends
62
ends
65
 
63
 
66
struct addrinfo
64
struct addrinfo
67
        ai_flags        dd      ?       ; bitmask of AI_*
65
        ai_flags        dd      ?       ; bitmask of AI_*
68
        ai_family       dd      ?       ; PF_*
66
        ai_family       dd      ?       ; PF_*
69
        ai_socktype     dd      ?       ; SOCK_*
67
        ai_socktype     dd      ?       ; SOCK_*
70
        ai_protocol     dd      ?       ; 0 or IPPROTO_*
68
        ai_protocol     dd      ?       ; 0 or IPPROTO_*
71
        ai_addrlen      dd      ?       ; length of ai_addr
69
        ai_addrlen      dd      ?       ; length of ai_addr
72
        ai_canonname    dd      ?       ; char*
70
        ai_canonname    dd      ?       ; char*
73
        ai_addr         dd      ?       ; struct sockaddr*
71
        ai_addr         dd      ?       ; struct sockaddr*
74
        ai_next         dd      ?       ; struct addrinfo*
72
        ai_next         dd      ?       ; struct addrinfo*
75
ends
73
ends
76
 
74
 
77
EAI_ADDRFAMILY  = 1
75
EAI_ADDRFAMILY  = 1
78
EAI_AGAIN       = 2
76
EAI_AGAIN       = 2
79
EAI_BADFLAGS    = 3
77
EAI_BADFLAGS    = 3
80
EAI_FAIL        = 4
78
EAI_FAIL        = 4
81
EAI_FAMILY      = 5
79
EAI_FAMILY      = 5
82
EAI_MEMORY      = 6
80
EAI_MEMORY      = 6
83
EAI_NONAME      = 8
81
EAI_NONAME      = 8
84
EAI_SERVICE     = 9
82
EAI_SERVICE     = 9
85
EAI_SOCKTYPE    = 10
83
EAI_SOCKTYPE    = 10
86
EAI_BADHINTS    = 12
84
EAI_BADHINTS    = 12
87
EAI_PROTOCOL    = 13
85
EAI_PROTOCOL    = 13
88
EAI_OVERFLOW    = 14
86
EAI_OVERFLOW    = 14
89
 
87
 
90
socket          fix 75, 0
88
socket          fix 75, 0
91
close           fix 75, 1
89
close           fix 75, 1
92
bind            fix 75, 2
90
bind            fix 75, 2
93
listen          fix 75, 3
91
listen          fix 75, 3
94
connect         fix 75, 4
92
connect         fix 75, 4
95
accept          fix 75, 5
93
accept          fix 75, 5
96
send            fix 75, 6
94
send            fix 75, 6
97
recv            fix 75, 7
95
recv            fix 75, 7
98
setsockopt      fix 75, 8
96
setsockopt      fix 75, 8
99
getsockopt      fix 75, 9
97
getsockopt      fix 75, 9
100
socketpair      fix 75, 10
98
socketpair      fix 75, 10
101
 
99
 
102
 
100
 
103
struct  ARP_entry
101
struct  ARP_entry
104
        IP      dd ?
102
        IP      dd ?
105
        MAC     dp ?
103
        MAC     dp ?
106
        status  dw ?
104
        status  dw ?
107
        TTL     dw ?
105
        TTL     dw ?
108
ends
106
ends
109
 
107
 
110
 
108
 
111
; Socket error codes
109
; Socket error codes
112
; Error Codes
110
; Error Codes
113
ENOBUFS                 = 1
111
ENOBUFS                 = 1
114
EINPROGRESS             = 2
112
EINPROGRESS             = 2
115
EOPNOTSUPP              = 4
113
EOPNOTSUPP              = 4
116
EWOULDBLOCK             = 6
114
EWOULDBLOCK             = 6
117
ENOTCONN                = 9
115
ENOTCONN                = 9
118
EALREADY                = 10
116
EALREADY                = 10
119
EINVAL                  = 11
117
EINVAL                  = 11
120
EMSGSIZE                = 12
118
EMSGSIZE                = 12
121
ENOMEM                  = 18
119
ENOMEM                  = 18
122
EADDRINUSE              = 20
120
EADDRINUSE              = 20
123
ECONNREFUSED            = 61
121
ECONNREFUSED            = 61
124
ECONNRESET              = 52
122
ECONNRESET              = 52
125
EISCONN                 = 56
123
EISCONN                 = 56
126
ETIMEDOUT               = 60
124
ETIMEDOUT               = 60
127
ECONNABORTED            = 53
125
ECONNABORTED            = 53