@@ -33,75 +33,75 @@ typedef uint16_t in_port_t;
33
33
#endif
34
34
35
35
/* Socket protocol types (TCP/UDP/RAW) */
36
- #define SOCK_STREAM 1
37
- #define SOCK_DGRAM 2
38
- #define SOCK_RAW 3
39
- #define SOCK_PACKET 10
36
+ #define SOCK_STREAM 1
37
+ #define SOCK_DGRAM 2
38
+ #define SOCK_RAW 3
39
+ #define SOCK_PACKET 10
40
40
41
- #define SOCK_NONBLOCK 04000
42
- #define SOCK_CLOEXEC 02000000
41
+ #define SOCK_NONBLOCK 04000
42
+ #define SOCK_CLOEXEC 02000000
43
43
44
- #define SOCK_MAX (SOCK_CLOEXEC + 1)
44
+ #define SOCK_MAX (SOCK_CLOEXEC + 1)
45
45
46
46
/* Option flags per-socket. These must match the SOF_ flags in ip.h (checked in init.c) */
47
- #define SO_REUSEADDR 0x0004 /* Allow local address reuse */
48
- #define SO_KEEPALIVE 0x0008 /* keep connections alive */
49
- #define SO_BROADCAST 0x0020 /* permit to send and to receive broadcast messages (see IP_SOF_BROADCAST option) */
47
+ #define SO_REUSEADDR 0x0004 /* Allow local address reuse */
48
+ #define SO_KEEPALIVE 0x0008 /* keep connections alive */
49
+ #define SO_BROADCAST 0x0020 /* permit to send and to receive broadcast messages (see IP_SOF_BROADCAST option) */
50
50
51
- #define SO_PASSCRED 16
52
- #define SO_PEERCRED 17
51
+ #define SO_PASSCRED 16
52
+ #define SO_PEERCRED 17
53
53
54
- #define SO_BINDTODEVICE 25
55
- #define SO_ATTACH_FILTER 26
56
- #define SO_DETACH_FILTER 27
54
+ #define SO_BINDTODEVICE 25
55
+ #define SO_ATTACH_FILTER 26
56
+ #define SO_DETACH_FILTER 27
57
57
58
- #define SO_SNDBUFFORCE 32
59
- #define SO_RCVBUFFORCE 33
60
- #define SO_PROTOCOL 38
61
- #define SO_DOMAIN 39
58
+ #define SO_SNDBUFFORCE 32
59
+ #define SO_RCVBUFFORCE 33
60
+ #define SO_PROTOCOL 38
61
+ #define SO_DOMAIN 39
62
62
63
63
/* Additional options, not kept in so_options */
64
- #define SO_DEBUG 0x0001 /* Unimplemented: turn on debugging info recording */
65
- #define SO_ACCEPTCONN 0x0002 /* socket has had listen() */
66
- #define SO_DONTROUTE 0x0010 /* Unimplemented: just use interface addresses */
67
- #define SO_USELOOPBACK 0x0040 /* Unimplemented: bypass hardware when possible */
68
- #define SO_LINGER 0x0080 /* linger on close if data present */
69
- #define SO_DONTLINGER ((int)(~SO_LINGER))
70
- #define SO_OOBINLINE 0x0100 /* Unimplemented: leave received OOB data in line */
71
- #define SO_REUSEPORT 0x0200 /* Unimplemented: allow local address & port reuse */
72
- #define SO_SNDBUF 0x1001 /* Unimplemented: send buffer size */
73
- #define SO_RCVBUF 0x1002 /* receive buffer size */
74
- #define SO_SNDLOWAT 0x1003 /* Unimplemented: send low-water mark */
75
- #define SO_RCVLOWAT 0x1004 /* Unimplemented: receive low-water mark */
76
- #define SO_SNDTIMEO 0x1005 /* send timeout */
77
- #define SO_RCVTIMEO 0x1006 /* receive timeout */
78
- #define SO_ERROR 0x1007 /* get error status and clear */
79
- #define SO_TYPE 0x1008 /* get socket type */
80
- #define SO_CONTIMEO 0x1009 /* Unimplemented: connect timeout */
81
- #define SO_NO_CHECK 0x100a /* don't create UDP checksum */
64
+ #define SO_DEBUG 0x0001 /* Unimplemented: turn on debugging info recording */
65
+ #define SO_ACCEPTCONN 0x0002 /* socket has had listen() */
66
+ #define SO_DONTROUTE 0x0010 /* Unimplemented: just use interface addresses */
67
+ #define SO_USELOOPBACK 0x0040 /* Unimplemented: bypass hardware when possible */
68
+ #define SO_LINGER 0x0080 /* linger on close if data present */
69
+ #define SO_DONTLINGER ((int)(~SO_LINGER))
70
+ #define SO_OOBINLINE 0x0100 /* Unimplemented: leave received OOB data in line */
71
+ #define SO_REUSEPORT 0x0200 /* Unimplemented: allow local address & port reuse */
72
+ #define SO_SNDBUF 0x1001 /* Unimplemented: send buffer size */
73
+ #define SO_RCVBUF 0x1002 /* receive buffer size */
74
+ #define SO_SNDLOWAT 0x1003 /* Unimplemented: send low-water mark */
75
+ #define SO_RCVLOWAT 0x1004 /* Unimplemented: receive low-water mark */
76
+ #define SO_SNDTIMEO 0x1005 /* send timeout */
77
+ #define SO_RCVTIMEO 0x1006 /* receive timeout */
78
+ #define SO_ERROR 0x1007 /* get error status and clear */
79
+ #define SO_TYPE 0x1008 /* get socket type */
80
+ #define SO_CONTIMEO 0x1009 /* Unimplemented: connect timeout */
81
+ #define SO_NO_CHECK 0x100a /* don't create UDP checksum */
82
82
83
83
/* Level number for (get/set)sockopt() to apply to socket itself */
84
- #define SOL_SOCKET 0xfff /* options for socket level */
85
- #define SOL_NETLINK 270
86
-
87
- #define AF_UNSPEC 0
88
- #define AF_UNIX 1
89
- #define AF_INET 2
90
- #define AF_INET6 10
91
- #define AF_NETLINK 16
92
- #define AF_CAN 29 /* Controller Area Network */
93
- #define AF_AT 45 /* AT socket */
94
- #define AF_WIZ 46 /* WIZnet socket */
95
- #define PF_UNIX AF_UNIX
96
- #define PF_INET AF_INET
97
- #define PF_INET6 AF_INET6
98
- #define PF_NETLINK AF_NETLINK
99
- #define PF_UNSPEC AF_UNSPEC
100
- #define PF_CAN AF_CAN
101
- #define PF_AT AF_AT
102
- #define PF_WIZ AF_WIZ
103
-
104
- #define AF_MAX (AF_WIZ + 1) /* For now.. */
84
+ #define SOL_SOCKET 0xfff /* options for socket level */
85
+ #define SOL_NETLINK 270
86
+
87
+ #define AF_UNSPEC 0
88
+ #define AF_UNIX 1
89
+ #define AF_INET 2
90
+ #define AF_INET6 10
91
+ #define AF_NETLINK 16
92
+ #define AF_CAN 29 /* Controller Area Network */
93
+ #define AF_AT 45 /* AT socket */
94
+ #define AF_WIZ 46 /* WIZnet socket */
95
+ #define PF_UNIX AF_UNIX
96
+ #define PF_INET AF_INET
97
+ #define PF_INET6 AF_INET6
98
+ #define PF_NETLINK AF_NETLINK
99
+ #define PF_UNSPEC AF_UNSPEC
100
+ #define PF_CAN AF_CAN
101
+ #define PF_AT AF_AT
102
+ #define PF_WIZ AF_WIZ
103
+
104
+ #define AF_MAX (AF_WIZ + 1) /* For now.. */
105
105
106
106
#define IPPROTO_IP 0
107
107
#define IPPROTO_ICMP 1
@@ -113,33 +113,33 @@ typedef uint16_t in_port_t;
113
113
#define IPPROTO_RAW 255
114
114
115
115
/* Flags we can use with send and recv */
116
- #define MSG_PEEK 0x01 /* Peeks at an incoming message */
117
- #define MSG_WAITALL 0x02 /* Unimplemented: Requests that the function block until the full amount of data requested can be returned */
118
- #define MSG_OOB 0x04 /* Unimplemented: Requests out-of-band data. The significance and semantics of out-of-band data are protocol-specific */
119
- #define MSG_DONTWAIT 0x08 /* Nonblocking i/o for this operation only */
120
- #define MSG_MORE 0x10 /* Sender will send more */
116
+ #define MSG_PEEK 0x01 /* Peeks at an incoming message */
117
+ #define MSG_WAITALL 0x02 /* Unimplemented: Requests that the function block until the full amount of data requested can be returned */
118
+ #define MSG_OOB 0x04 /* Unimplemented: Requests out-of-band data. The significance and semantics of out-of-band data are protocol-specific */
119
+ #define MSG_DONTWAIT 0x08 /* Nonblocking i/o for this operation only */
120
+ #define MSG_MORE 0x10 /* Sender will send more */
121
121
122
- #define MSG_ERRQUEUE 0x2000 /* Fetch message from error queue */
123
- #define MSG_CONFIRM 0x0800 /* Confirm path validity */
122
+ #define MSG_ERRQUEUE 0x2000 /* Fetch message from error queue */
123
+ #define MSG_CONFIRM 0x0800 /* Confirm path validity */
124
124
125
125
/* Options for level IPPROTO_IP */
126
- #define IP_TOS 1
127
- #define IP_TTL 2
126
+ #define IP_TOS 1
127
+ #define IP_TTL 2
128
128
129
129
/* Options for level IPPROTO_TCP */
130
- #define TCP_NODELAY 0x01 /* don't delay send to coalesce packets */
131
- #define TCP_KEEPALIVE 0x02 /* send KEEPALIVE probes when idle for pcb->keep_idle milliseconds */
132
- #define TCP_KEEPIDLE 0x03 /* set pcb->keep_idle - Same as TCP_KEEPALIVE, but use seconds for get/setsockopt */
133
- #define TCP_KEEPINTVL 0x04 /* set pcb->keep_intvl - Use seconds for get/setsockopt */
134
- #define TCP_KEEPCNT 0x05 /* set pcb->keep_cnt - Use number of probes sent for get/setsockopt */
130
+ #define TCP_NODELAY 0x01 /* don't delay send to coalesce packets */
131
+ #define TCP_KEEPALIVE 0x02 /* send KEEPALIVE probes when idle for pcb->keep_idle milliseconds */
132
+ #define TCP_KEEPIDLE 0x03 /* set pcb->keep_idle - Same as TCP_KEEPALIVE, but use seconds for get/setsockopt */
133
+ #define TCP_KEEPINTVL 0x04 /* set pcb->keep_intvl - Use seconds for get/setsockopt */
134
+ #define TCP_KEEPCNT 0x05 /* set pcb->keep_cnt - Use number of probes sent for get/setsockopt */
135
135
136
136
/* Options and types related to multicast membership */
137
137
#define IP_ADD_MEMBERSHIP 3
138
138
#define IP_DROP_MEMBERSHIP 4
139
139
/* Options and types for UDP multicast traffic handling */
140
- #define IP_MULTICAST_TTL 5
141
- #define IP_MULTICAST_IF 6
142
- #define IP_MULTICAST_LOOP 7
140
+ #define IP_MULTICAST_TTL 5
141
+ #define IP_MULTICAST_IF 6
142
+ #define IP_MULTICAST_LOOP 7
143
143
144
144
typedef struct ip_mreq
145
145
{
@@ -148,42 +148,42 @@ typedef struct ip_mreq
148
148
} ip_mreq ;
149
149
150
150
/* The Type of Service provides an indication of the abstract parameters of the quality of service desired */
151
- #define IPTOS_TOS_MASK 0x1E
152
- #define IPTOS_TOS (tos ) ((tos) & IPTOS_TOS_MASK)
153
- #define IPTOS_LOWDELAY 0x10
154
- #define IPTOS_THROUGHPUT 0x08
155
- #define IPTOS_RELIABILITY 0x04
156
- #define IPTOS_LOWCOST 0x02
157
- #define IPTOS_MINCOST IPTOS_LOWCOST
151
+ #define IPTOS_TOS_MASK 0x1E
152
+ #define IPTOS_TOS (tos ) ((tos) & IPTOS_TOS_MASK)
153
+ #define IPTOS_LOWDELAY 0x10
154
+ #define IPTOS_THROUGHPUT 0x08
155
+ #define IPTOS_RELIABILITY 0x04
156
+ #define IPTOS_LOWCOST 0x02
157
+ #define IPTOS_MINCOST IPTOS_LOWCOST
158
158
159
159
/* The Network Control precedence designation is intended to be used within a network only */
160
- #define IPTOS_PREC_MASK 0xe0
161
- #define IPTOS_PREC (tos ) ((tos) & IPTOS_PREC_MASK)
162
- #define IPTOS_PREC_NETCONTROL 0xe0
163
- #define IPTOS_PREC_INTERNETCONTROL 0xc0
164
- #define IPTOS_PREC_CRITIC_ECP 0xa0
165
- #define IPTOS_PREC_FLASHOVERRIDE 0x80
166
- #define IPTOS_PREC_FLASH 0x60
167
- #define IPTOS_PREC_IMMEDIATE 0x40
168
- #define IPTOS_PREC_PRIORITY 0x20
169
- #define IPTOS_PREC_ROUTINE 0x00
160
+ #define IPTOS_PREC_MASK 0xe0
161
+ #define IPTOS_PREC (tos ) ((tos) & IPTOS_PREC_MASK)
162
+ #define IPTOS_PREC_NETCONTROL 0xe0
163
+ #define IPTOS_PREC_INTERNETCONTROL 0xc0
164
+ #define IPTOS_PREC_CRITIC_ECP 0xa0
165
+ #define IPTOS_PREC_FLASHOVERRIDE 0x80
166
+ #define IPTOS_PREC_FLASH 0x60
167
+ #define IPTOS_PREC_IMMEDIATE 0x40
168
+ #define IPTOS_PREC_PRIORITY 0x20
169
+ #define IPTOS_PREC_ROUTINE 0x00
170
170
171
171
#define SCM_RIGHTS 0x01 /* rw: access rights (array of int) */
172
172
#define SCM_CREDENTIALS 0x02 /* rw: struct ucred */
173
173
#define SCM_SECURITY 0x03 /* rw: security label */
174
174
175
175
/* Options for shatdown type */
176
176
#ifndef SHUT_RD
177
- #define SHUT_RD 0
178
- #define SHUT_WR 1
179
- #define SHUT_RDWR 2
177
+ #define SHUT_RD 0
178
+ #define SHUT_WR 1
179
+ #define SHUT_RDWR 2
180
180
#endif
181
181
182
182
struct sockaddr
183
183
{
184
- uint8_t sa_len ;
185
- sa_family_t sa_family ;
186
- char sa_data [14 ];
184
+ uint8_t sa_len ;
185
+ sa_family_t sa_family ;
186
+ char sa_data [14 ];
187
187
};
188
188
189
189
/* Structure describing the address of an AF_LOCAL (aka AF_UNIX) socket. */
@@ -197,35 +197,35 @@ struct sockaddr_un
197
197
/* members are in network byte order */
198
198
struct sockaddr_in
199
199
{
200
- uint8_t sin_len ;
201
- sa_family_t sin_family ;
202
- in_port_t sin_port ;
200
+ uint8_t sin_len ;
201
+ sa_family_t sin_family ;
202
+ in_port_t sin_port ;
203
203
struct in_addr sin_addr ;
204
204
#define SIN_ZERO_LEN 8
205
- char sin_zero [SIN_ZERO_LEN ];
205
+ char sin_zero [SIN_ZERO_LEN ];
206
206
};
207
207
#endif /* NETDEV_IPV4 */
208
208
209
209
#if NETDEV_IPV6
210
210
struct sockaddr_in6
211
211
{
212
- uint8_t sin6_len ; /* length of this structure */
213
- sa_family_t sin6_family ; /* AF_INET6 */
214
- in_port_t sin6_port ; /* Transport layer port # */
215
- uint32_t sin6_flowinfo ; /* IPv6 flow information */
216
- struct in6_addr sin6_addr ; /* IPv6 address */
217
- uint32_t sin6_scope_id ; /* Set of interfaces for scope */
212
+ uint8_t sin6_len ; /* length of this structure */
213
+ sa_family_t sin6_family ; /* AF_INET6 */
214
+ in_port_t sin6_port ; /* Transport layer port # */
215
+ uint32_t sin6_flowinfo ; /* IPv6 flow information */
216
+ struct in6_addr sin6_addr ; /* IPv6 address */
217
+ uint32_t sin6_scope_id ; /* Set of interfaces for scope */
218
218
};
219
219
#endif /* NETDEV_IPV6 */
220
220
221
221
struct sockaddr_storage
222
222
{
223
- uint8_t s2_len ;
224
- sa_family_t ss_family ;
225
- char s2_data1 [2 ];
226
- uint32_t s2_data2 [3 ];
223
+ uint8_t s2_len ;
224
+ sa_family_t ss_family ;
225
+ char s2_data1 [2 ];
226
+ uint32_t s2_data2 [3 ];
227
227
#if NETDEV_IPV6
228
- uint32_t s2_data3 [3 ];
228
+ uint32_t s2_data3 [3 ];
229
229
#endif /* NETDEV_IPV6 */
230
230
};
231
231
@@ -241,26 +241,26 @@ struct iovec
241
241
242
242
struct msghdr
243
243
{
244
- void * msg_name ;
245
- socklen_t msg_namelen ;
246
- struct iovec * msg_iov ;
247
- int msg_iovlen ;
248
- void * msg_control ;
249
- socklen_t msg_controllen ;
250
- int msg_flags ;
244
+ void * msg_name ;
245
+ socklen_t msg_namelen ;
246
+ struct iovec * msg_iov ;
247
+ int msg_iovlen ;
248
+ void * msg_control ;
249
+ socklen_t msg_controllen ;
250
+ int msg_flags ;
251
251
};
252
252
253
253
/* RFC 3542, Section 20: Ancillary Data */
254
254
struct cmsghdr
255
255
{
256
- size_t cmsg_len ; /* number of bytes, including header */
257
- int cmsg_level ; /* originating protocol */
258
- int cmsg_type ; /* protocol-specific type */
256
+ size_t cmsg_len ; /* number of bytes, including header */
257
+ int cmsg_level ; /* originating protocol */
258
+ int cmsg_type ; /* protocol-specific type */
259
259
};
260
260
261
261
#define CMSG_NXTHDR (mhdr , cmsg ) cmsg_nxthdr((mhdr), (cmsg))
262
262
263
- #define CMSG_ALIGN (len ) (((len) + sizeof(long) - 1) & ~(sizeof(long)- 1))
263
+ #define CMSG_ALIGN (len ) (((len) + sizeof(long) - 1) & ~(sizeof(long) - 1))
264
264
265
265
#define CMSG_DATA (cmsg ) ((void *)(cmsg) + sizeof(struct cmsghdr))
266
266
#define CMSG_SPACE (len ) (sizeof(struct cmsghdr) + CMSG_ALIGN(len))
@@ -269,10 +269,10 @@ struct cmsghdr
269
269
#define __CMSG_FIRSTHDR (ctl , len ) \
270
270
((len) >= sizeof(struct cmsghdr) ? (struct cmsghdr *)(ctl) : (struct cmsghdr *)NULL)
271
271
272
- #define CMSG_FIRSTHDR (msg ) __CMSG_FIRSTHDR((msg)->msg_control, (msg)->msg_controllen)
273
- #define CMSG_OK (mhdr , cmsg ) \
272
+ #define CMSG_FIRSTHDR (msg ) __CMSG_FIRSTHDR((msg)->msg_control, (msg)->msg_controllen)
273
+ #define CMSG_OK (mhdr , cmsg ) \
274
274
((cmsg)->cmsg_len >= sizeof(struct cmsghdr) && \
275
- (cmsg)->cmsg_len <= (unsigned long)((mhdr)->msg_controllen - ((char *)(cmsg) - (char *)(mhdr)->msg_control)))
275
+ (cmsg)->cmsg_len <= (unsigned long)((mhdr)->msg_controllen - ((char *)(cmsg) - (char *)(mhdr)->msg_control)))
276
276
277
277
#define for_each_cmsghdr (cmsg , msg ) \
278
278
for (cmsg = CMSG_FIRSTHDR(msg); cmsg; cmsg = CMSG_NXTHDR(msg, cmsg))
@@ -296,7 +296,7 @@ static inline struct cmsghdr *cmsg_nxthdr(struct msghdr *_msg, struct cmsghdr *_
296
296
return __cmsg_nxthdr (_msg -> msg_control , _msg -> msg_controllen , _cmsg );
297
297
}
298
298
299
- #define IFNAMSIZ 16
299
+ #define IFNAMSIZ 16
300
300
struct sal_ifmap
301
301
{
302
302
unsigned long int mem_start ;
@@ -333,18 +333,18 @@ struct sal_ifreq
333
333
int sal_accept (int socket , struct sockaddr * addr , socklen_t * addrlen );
334
334
int sal_bind (int socket , const struct sockaddr * name , socklen_t namelen );
335
335
int sal_shutdown (int socket , int how );
336
- int sal_getpeername (int socket , struct sockaddr * name , socklen_t * namelen );
337
- int sal_getsockname (int socket , struct sockaddr * name , socklen_t * namelen );
338
- int sal_getsockopt (int socket , int level , int optname , void * optval , socklen_t * optlen );
339
- int sal_setsockopt (int socket , int level , int optname , const void * optval , socklen_t optlen );
336
+ int sal_getpeername (int socket , struct sockaddr * name , socklen_t * namelen );
337
+ int sal_getsockname (int socket , struct sockaddr * name , socklen_t * namelen );
338
+ int sal_getsockopt (int socket , int level , int optname , void * optval , socklen_t * optlen );
339
+ int sal_setsockopt (int socket , int level , int optname , const void * optval , socklen_t optlen );
340
340
int sal_connect (int socket , const struct sockaddr * name , socklen_t namelen );
341
341
int sal_listen (int socket , int backlog );
342
342
int sal_sendmsg (int socket , const struct msghdr * message , int flags );
343
343
int sal_recvmsg (int socket , struct msghdr * message , int flags );
344
344
int sal_recvfrom (int socket , void * mem , size_t len , int flags ,
345
- struct sockaddr * from , socklen_t * fromlen );
345
+ struct sockaddr * from , socklen_t * fromlen );
346
346
int sal_sendto (int socket , const void * dataptr , size_t size , int flags ,
347
- const struct sockaddr * to , socklen_t tolen );
347
+ const struct sockaddr * to , socklen_t tolen );
348
348
int sal_socket (int domain , int type , int protocol );
349
349
int sal_socketpair (int domain , int type , int protocol , int * fds );
350
350
int sal_closesocket (int socket );
0 commit comments