|
|
|
@ -8,203 +8,3 @@ struct msghdr |
|
|
|
socklen_t msg_controllen, __pad2; |
|
|
|
int msg_flags; |
|
|
|
}; |
|
|
|
|
|
|
|
struct cmsghdr |
|
|
|
{ |
|
|
|
socklen_t cmsg_len; |
|
|
|
int cmsg_level; |
|
|
|
int cmsg_type; |
|
|
|
}; |
|
|
|
|
|
|
|
struct ucred |
|
|
|
{ |
|
|
|
pid_t pid; |
|
|
|
uid_t uid; |
|
|
|
gid_t gid; |
|
|
|
}; |
|
|
|
|
|
|
|
struct linger |
|
|
|
{ |
|
|
|
int l_onoff; |
|
|
|
int l_linger; |
|
|
|
}; |
|
|
|
|
|
|
|
#define SHUT_RD 0 |
|
|
|
#define SHUT_WD 1 |
|
|
|
#define SHUT_RDWR 2 |
|
|
|
|
|
|
|
#define SOCK_STREAM 1 |
|
|
|
#define SOCK_DGRAM 2 |
|
|
|
#define SOCK_RAW 3 |
|
|
|
#define SOCK_RDM 4 |
|
|
|
#define SOCK_SEQPACKET 5 |
|
|
|
#define SOCK_DCCP 6 |
|
|
|
#define SOCK_PACKET 10 |
|
|
|
|
|
|
|
/* linux extensions */ |
|
|
|
#define SOCK_CLOEXEC 02000000 |
|
|
|
#define SOCK_NONBLOCK 04000 |
|
|
|
|
|
|
|
#define PF_UNSPEC 0 |
|
|
|
#define PF_LOCAL 1 |
|
|
|
#define PF_UNIX PF_LOCAL |
|
|
|
#define PF_FILE PF_LOCAL |
|
|
|
#define PF_INET 2 |
|
|
|
#define PF_AX25 3 |
|
|
|
#define PF_IPX 4 |
|
|
|
#define PF_APPLETALK 5 |
|
|
|
#define PF_NETROM 6 |
|
|
|
#define PF_BRIDGE 7 |
|
|
|
#define PF_ATMPVC 8 |
|
|
|
#define PF_X25 9 |
|
|
|
#define PF_INET6 10 |
|
|
|
#define PF_ROSE 11 |
|
|
|
#define PF_DECnet 12 |
|
|
|
#define PF_NETBEUI 13 |
|
|
|
#define PF_SECURITY 14 |
|
|
|
#define PF_KEY 15 |
|
|
|
#define PF_NETLINK 16 |
|
|
|
#define PF_ROUTE PF_NETLINK |
|
|
|
#define PF_PACKET 17 |
|
|
|
#define PF_ASH 18 |
|
|
|
#define PF_ECONET 19 |
|
|
|
#define PF_ATMSVC 20 |
|
|
|
#define PF_SNA 22 |
|
|
|
#define PF_IRDA 23 |
|
|
|
#define PF_PPPOX 24 |
|
|
|
#define PF_WANPIPE 25 |
|
|
|
#define PF_BLUETOOTH 31 |
|
|
|
#define PF_IUCV 32 |
|
|
|
#define PF_RXRPC 33 |
|
|
|
#define PF_ISDN 34 |
|
|
|
#define PF_PHONET 35 |
|
|
|
#define PF_IEEE802154 36 |
|
|
|
#define PF_CAIF 37 |
|
|
|
#define PF_ALG 38 |
|
|
|
#define PF_MAX 39 |
|
|
|
|
|
|
|
#define AF_UNSPEC PF_UNSPEC |
|
|
|
#define AF_LOCAL PF_LOCAL |
|
|
|
#define AF_UNIX AF_LOCAL |
|
|
|
#define AF_FILE AF_LOCAL |
|
|
|
#define AF_INET PF_INET |
|
|
|
#define AF_AX25 PF_AX25 |
|
|
|
#define AF_IPX PF_IPX |
|
|
|
#define AF_APPLETALK PF_APPLETALK |
|
|
|
#define AF_NETROM PF_NETROM |
|
|
|
#define AF_BRIDGE PF_BRIDGE |
|
|
|
#define AF_ATMPVC PF_ATMPVC |
|
|
|
#define AF_X25 PF_X25 |
|
|
|
#define AF_INET6 PF_INET6 |
|
|
|
#define AF_ROSE PF_ROSE |
|
|
|
#define AF_DECnet PF_DECnet |
|
|
|
#define AF_NETBEUI PF_NETBEUI |
|
|
|
#define AF_SECURITY PF_SECURITY |
|
|
|
#define AF_KEY PF_KEY |
|
|
|
#define AF_NETLINK PF_NETLINK |
|
|
|
#define AF_ROUTE PF_ROUTE |
|
|
|
#define AF_PACKET PF_PACKET |
|
|
|
#define AF_ASH PF_ASH |
|
|
|
#define AF_ECONET PF_ECONET |
|
|
|
#define AF_ATMSVC PF_ATMSVC |
|
|
|
#define AF_SNA PF_SNA |
|
|
|
#define AF_IRDA PF_IRDA |
|
|
|
#define AF_PPPOX PF_PPPOX |
|
|
|
#define AF_WANPIPE PF_WANPIPE |
|
|
|
#define AF_BLUETOOTH PF_BLUETOOTH |
|
|
|
#define AF_IUCV PF_IUCV |
|
|
|
#define AF_RXRPC PF_RXRPC |
|
|
|
#define AF_ISDN PF_ISDN |
|
|
|
#define AF_PHONET PF_PHONET |
|
|
|
#define AF_IEEE802154 PF_IEEE802154 |
|
|
|
#define AF_CAIF PF_CAIF |
|
|
|
#define AF_ALG PF_ALG |
|
|
|
#define AF_MAX PF_MAX |
|
|
|
|
|
|
|
#define SO_DEBUG 1 |
|
|
|
#define SO_REUSEADDR 2 |
|
|
|
#define SO_TYPE 3 |
|
|
|
#define SO_ERROR 4 |
|
|
|
#define SO_DONTROUTE 5 |
|
|
|
#define SO_BROADCAST 6 |
|
|
|
#define SO_SNDBUF 7 |
|
|
|
#define SO_RCVBUF 8 |
|
|
|
#define SO_KEEPALIVE 9 |
|
|
|
#define SO_OOBINLINE 10 |
|
|
|
#define SO_NO_CHECK 11 |
|
|
|
#define SO_PRIORITY 12 |
|
|
|
#define SO_LINGER 13 |
|
|
|
#define SO_BSDCOMPAT 14 |
|
|
|
#define SO_REUSEPORT 15 |
|
|
|
#define SO_PASSCRED 16 |
|
|
|
#define SO_PEERCRED 17 |
|
|
|
#define SO_RCVLOWAT 18 |
|
|
|
#define SO_SNDLOWAT 19 |
|
|
|
#define SO_RCVTIMEO 20 |
|
|
|
#define SO_SNDTIMEO 21 |
|
|
|
|
|
|
|
#define SO_SECURITY_AUTHENTICATION 22 |
|
|
|
#define SO_SECURITY_ENCRYPTION_TRANSPORT 23 |
|
|
|
#define SO_SECURITY_ENCRYPTION_NETWORK 24 |
|
|
|
|
|
|
|
#define SO_BINDTODEVICE 25 |
|
|
|
|
|
|
|
#define SO_ATTACH_FILTER 26 |
|
|
|
#define SO_DETACH_FILTER 27 |
|
|
|
|
|
|
|
#define SO_PEERNAME 28 |
|
|
|
#define SO_TIMESTAMP 29 |
|
|
|
#define SCM_TIMESTAMP SO_TIMESTAMP |
|
|
|
|
|
|
|
#define SO_ACCEPTCONN 30 |
|
|
|
|
|
|
|
#define SOL_SOCKET 1 |
|
|
|
|
|
|
|
/* ??? */ |
|
|
|
#define SOL_RAW 255 |
|
|
|
#define SOL_DECNET 261 |
|
|
|
#define SOL_X25 262 |
|
|
|
#define SOL_PACKET 263 |
|
|
|
#define SOL_ATM 264 |
|
|
|
#define SOL_AAL 265 |
|
|
|
#define SOL_IRDA 266 |
|
|
|
|
|
|
|
#define SOMAXCONN 128 |
|
|
|
|
|
|
|
#define MSG_OOB 0x0001 |
|
|
|
#define MSG_PEEK 0x0002 |
|
|
|
#define MSG_DONTROUTE 0x0004 |
|
|
|
#define MSG_CTRUNC 0x0008 |
|
|
|
#define MSG_PROXY 0x0010 |
|
|
|
#define MSG_TRUNC 0x0020 |
|
|
|
#define MSG_DONTWAIT 0x0040 |
|
|
|
#define MSG_EOR 0x0080 |
|
|
|
#define MSG_WAITALL 0x0100 |
|
|
|
#define MSG_FIN 0x0200 |
|
|
|
#define MSD_SYN 0x0400 |
|
|
|
#define MSG_CONFIRM 0x0800 |
|
|
|
#define MSG_RST 0x1000 |
|
|
|
#define MSG_ERRQUEUE 0x2000 |
|
|
|
#define MSG_NOSIGNAL 0x4000 |
|
|
|
#define MSG_MORE 0x8000 |
|
|
|
#define MSG_WAITFORONE 0x10000 |
|
|
|
#define MSG_CMSG_CLOEXEC 0x40000000 |
|
|
|
|
|
|
|
/* Internal use only!! to make CMSG_NXTHDR definition readable by mortals */ |
|
|
|
#define __CMSG_LEN(cmsg) (((cmsg)->cmsg_len + sizeof(long) - 1) & ~(long)(sizeof(long) - 1)) |
|
|
|
#define __CMSG_NEXT(cmsg) ((unsigned char *)(cmsg) + __CMSG_LEN(cmsg)) |
|
|
|
#define __MHDR_END(mhdr) ((unsigned char *)(mhdr)->msg_control + (mhdr)->msg_controllen) |
|
|
|
|
|
|
|
#define CMSG_DATA(cmsg) ((unsigned char *) (((struct cmsghdr *)(cmsg)) + 1)) |
|
|
|
#define CMSG_NXTHDR(mhdr, cmsg) ((cmsg)->cmsg_len < sizeof (struct cmsghdr) ? (struct cmsghdr *)0 : \ |
|
|
|
(__CMSG_NEXT(cmsg) + sizeof (struct cmsghdr) >= __MHDR_END(mhdr) ? (struct cmsghdr *)0 : \ |
|
|
|
((struct cmsghdr *)__CMSG_NEXT(cmsg)))) |
|
|
|
#define CMSG_FIRSTHDR(mhdr) ((size_t) (mhdr)->msg_controllen >= sizeof (struct cmsghdr) ? (struct cmsghdr *) (mhdr)->msg_control : (struct cmsghdr *) 0) |
|
|
|
|
|
|
|
/* Are these valid? */ |
|
|
|
#define CMSG_ALIGN(len) (((len) + sizeof (size_t) - 1) & (size_t) ~(sizeof (size_t) - 1)) |
|
|
|
#define CMSG_SPACE(len) (CMSG_ALIGN (len) + CMSG_ALIGN (sizeof (struct cmsghdr))) |
|
|
|
#define CMSG_LEN(len) (CMSG_ALIGN (sizeof (struct cmsghdr)) + (len)) |
|
|
|
|
|
|
|
#define SCM_RIGHTS 0x01 |
|
|
|
#define SCM_CREDENTIALS 0x02 |
|
|
|
|