34 #ifndef _SYS_SOCKET_H_ 35 #define _SYS_SOCKET_H_ 37 #include <sys/cdefs.h> 39 #include <sys/types.h> 49 #ifndef _SA_FAMILY_T_DECLARED 50 typedef __sa_family_t sa_family_t;
51 #define _SA_FAMILY_T_DECLARED 54 #ifndef _SOCKLEN_T_DECLARED 55 typedef __socklen_t socklen_t;
56 #define _SOCKLEN_T_DECLARED 68 #define SOCK_SEQPACKET 5 73 #define SO_DEBUG 0x0001 74 #define SO_ACCEPTCONN 0x0002 75 #define SO_REUSEADDR 0x0004 76 #define SO_KEEPALIVE 0x0008 77 #define SO_DONTROUTE 0x0010 78 #define SO_BROADCAST 0x0020 80 #define SO_USELOOPBACK 0x0040 82 #define SO_LINGER 0x0080 83 #define SO_OOBINLINE 0x0100 85 #define SO_REUSEPORT 0x0200 86 #define SO_TIMESTAMP 0x0400 87 #define SO_NOSIGPIPE 0x0800 88 #define SO_ACCEPTFILTER 0x1000 89 #define SO_BINTIME 0x2000 95 #define SO_SNDBUF 0x1001 96 #define SO_RCVBUF 0x1002 97 #define SO_SNDLOWAT 0x1003 98 #define SO_RCVLOWAT 0x1004 99 #define SO_SNDTIMEO 0x1005 100 #define SO_RCVTIMEO 0x1006 101 #define SO_ERROR 0x1007 102 #define SO_TYPE 0x1008 103 #define SO_PRIVSTATE 0x1009 108 #define SO_SNDWAKEUP 0x1020 109 #define SO_RCVWAKEUP 0x1021 131 #define SOL_SOCKET 0xffff 138 #define AF_LOCAL AF_UNIX 148 #define AF_OSI AF_ISO 157 #define AF_APPLETALK 16 160 #define pseudo_AF_XTP 19 163 #define pseudo_AF_RTIP 22 166 #define pseudo_AF_PIP 25 168 #define AF_E164 AF_ISDN 169 #define pseudo_AF_KEY 27 180 unsigned char sa_len;
181 sa_family_t sa_family;
190 unsigned short sp_family;
191 unsigned short sp_protocol;
197 #define PF_UNSPEC AF_UNSPEC 198 #define PF_LOCAL AF_LOCAL 199 #define PF_UNIX PF_LOCAL 200 #define PF_INET AF_INET 201 #define PF_IMPLINK AF_IMPLINK 202 #define PF_PUP AF_PUP 203 #define PF_CHAOS AF_CHAOS 204 #define PF_NETBIOS AF_NETBIOS 205 #define PF_ISO AF_ISO 206 #define PF_OSI AF_ISO 207 #define PF_ECMA AF_ECMA 208 #define PF_DATAKIT AF_DATAKIT 209 #define PF_CCITT AF_CCITT 210 #define PF_SNA AF_SNA 211 #define PF_DECnet AF_DECnet 212 #define PF_DLI AF_DLI 213 #define PF_LAT AF_LAT 214 #define PF_HYLINK AF_HYLINK 215 #define PF_APPLETALK AF_APPLETALK 216 #define PF_ROUTE AF_ROUTE 217 #define PF_LINK AF_LINK 218 #define PF_XTP pseudo_AF_XTP 219 #define PF_COIP AF_COIP 220 #define PF_CNT AF_CNT 221 #define PF_SIP AF_SIP 222 #define PF_IPX AF_IPX 223 #define PF_RTIP pseudo_AF_RTIP 224 #define PF_PIP pseudo_AF_PIP 225 #define PF_ISDN AF_ISDN 226 #define PF_KEY pseudo_AF_KEY 227 #define PF_INET6 AF_INET6 229 #define PF_MAX AF_MAX 239 #define NET_MAXID AF_MAX 241 #define CTL_NET_NAMES { \ 243 { "unix", CTLTYPE_NODE }, \ 244 { "inet", CTLTYPE_NODE }, \ 245 { "implink", CTLTYPE_NODE }, \ 246 { "pup", CTLTYPE_NODE }, \ 247 { "chaos", CTLTYPE_NODE }, \ 248 { "xerox_ns", CTLTYPE_NODE }, \ 249 { "iso", CTLTYPE_NODE }, \ 250 { "emca", CTLTYPE_NODE }, \ 251 { "datakit", CTLTYPE_NODE }, \ 252 { "ccitt", CTLTYPE_NODE }, \ 253 { "ibm_sna", CTLTYPE_NODE }, \ 254 { "decnet", CTLTYPE_NODE }, \ 255 { "dec_dli", CTLTYPE_NODE }, \ 256 { "lat", CTLTYPE_NODE }, \ 257 { "hylink", CTLTYPE_NODE }, \ 258 { "appletalk", CTLTYPE_NODE }, \ 259 { "route", CTLTYPE_NODE }, \ 260 { "link_layer", CTLTYPE_NODE }, \ 261 { "xtp", CTLTYPE_NODE }, \ 262 { "coip", CTLTYPE_NODE }, \ 263 { "cnt", CTLTYPE_NODE }, \ 264 { "rtip", CTLTYPE_NODE }, \ 265 { "ipx", CTLTYPE_NODE }, \ 266 { "sip", CTLTYPE_NODE }, \ 267 { "pip", CTLTYPE_NODE }, \ 268 { "isdn", CTLTYPE_NODE }, \ 269 { "key", CTLTYPE_NODE }, \ 280 #define NET_RT_DUMP 1 281 #define NET_RT_FLAGS 2 282 #define NET_RT_IFLIST 3 283 #define NET_RT_MAXID 4 285 #define CTL_NET_RT_NAMES { \ 287 { "dump", CTLTYPE_STRUCT }, \ 288 { "flags", CTLTYPE_STRUCT }, \ 289 { "iflist", CTLTYPE_STRUCT }, \ 295 #define SOMAXCONN 128 303 socklen_t msg_namelen;
304 struct iovec *msg_iov;
307 socklen_t msg_controllen;
313 #define MSG_DONTROUTE 0x4 315 #define MSG_TRUNC 0x10 316 #define MSG_CTRUNC 0x20 317 #define MSG_WAITALL 0x40 319 #define MSG_DONTWAIT 0x80 320 #define MSG_EOF 0x100 321 #define MSG_COMPAT 0x8000 338 #define CMSG_DATA(cmsg) ((u_char *)((cmsg) + 1)) 341 #define CMSG_NXTHDR(mhdr, cmsg) \ 342 (((caddr_t)(cmsg) + (cmsg)->cmsg_len + sizeof(struct cmsghdr) > \ 343 (mhdr)->msg_control + (mhdr)->msg_controllen) ? \ 344 (struct cmsghdr *)NULL : \ 345 (struct cmsghdr *)((caddr_t)(cmsg) + ALIGN((cmsg)->cmsg_len))) 347 #define CMSG_FIRSTHDR(mhdr) ((struct cmsghdr *)(mhdr)->msg_control) 350 #define SCM_RIGHTS 0x01 351 #define SCM_TIMESTAMP 0x02 357 unsigned short sa_family;
367 struct iovec *msg_iov;
370 int msg_accrightslen;
383 int accept(
int,
struct sockaddr * __restrict, socklen_t * __restrict);
384 int bind(
int,
const struct sockaddr *, socklen_t);
385 int connect(
int,
const struct sockaddr *, socklen_t);
386 int getpeername(
int,
struct sockaddr * __restrict, socklen_t * __restrict);
387 int getsockname(
int,
struct sockaddr * __restrict, socklen_t * __restrict);
388 int getsockopt(
int,
int,
int,
void * __restrict, socklen_t * __restrict);
389 int listen(
int,
int);
390 ssize_t recv(
int,
void *,
size_t,
int);
391 ssize_t recvfrom(
int,
void *,
size_t,
int,
struct sockaddr * __restrict, socklen_t * __restrict);
392 ssize_t recvmsg(
int,
struct msghdr *,
int);
393 ssize_t send(
int,
const void *,
size_t,
int);
394 ssize_t sendto(
int,
const void *,
395 size_t,
int,
const struct sockaddr *, socklen_t);
396 ssize_t sendmsg(
int,
const struct msghdr *,
int);
397 int setsockopt(
int,
int,
int,
const void *, socklen_t);
398 int shutdown(
int,
int);
399 int socket(
int,
int,
int);
400 int socketpair(
int,
int,
int,
int *);
Definition: socketvar.h:49