Subversion Repositories Kolibri OS

Rev

Rev 4208 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

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