Cider Isn't Darwin Emulation, Really
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167#ifndef LINUX_GETSOCKOPT_H#define LINUX_GETSOCKOPT_H
long sys_getsockopt(int fd, int level, int optname, void* optval, int* optlen);
#define LINUX_SYS_GETSOCKOPT 15
#define LINUX_SOL_SOCKET 1#define BSD_SOL_SOCKET 0xffff
#define IPPROTO_IP 0#define IPPROTO_TCP 6#define IPPROTO_IPV6 41
enum{ LINUX_SO_DEBUG = 1, LINUX_SO_REUSEADDR, LINUX_SO_TYPE, LINUX_SO_ERROR, LINUX_SO_DONTROUTE, LINUX_SO_BROADCAST, LINUX_SO_SNDBUF, LINUX_SO_RCVBUF, LINUX_SO_KEEPALIVE, LINUX_SO_OOBINLINE, LINUX_SO_NO_CHECK, LINUX_SO_PRIORITY, LINUX_SO_LINGER, LINUX_SO_BSDCOMPAT, LINUX_SO_REUSEPORT, LINUX_SO_PASSCRED, LINUX_SO_PEERCRED, LINUX_SO_RCVLOWAT, LINUX_SO_SNDLOWAT, LINUX_SO_RCVTIMEO, LINUX_SO_SNDTIMEO, LINUX_SO_TIMESTAMP, LINUX_SO_ACCEPTCONN = 30, LINUX_SO_SNDBUFFORCE = 32, LINUX_SO_RCVBUFFORCE,};
enum{ BSD_SO_DEBUG = 1, BSD_SO_ACCEPTCONN = 2, BSD_SO_REUSEADDR = 4, BSD_SO_KEEPALIVE = 8, BSD_SO_DONTROUTE = 0x10, BSD_SO_BROADCAST = 0x20, BSD_SO_USELOOPBACK = 0x40, BSD_SO_LINGER_TICKS = 0x80, BSD_SO_OOBINLINE = 0x100, BSD_SO_REUSEPORT = 0x200, BSD_SO_TIMESTAMP = 0x400, BSD_SO_SNDBUF = 0x1001, BSD_SO_RCVBUF, BSD_SO_SNDLOWAT, BSD_SO_RCVLOWAT, BSD_SO_SNDTIMEO, BSD_SO_RCVTIMEO, BSD_SO_ERROR, BSD_SO_TYPE, BSD_SO_NOSIGNAL = 0x1022, BSD_SO_LINGER_SEC = 0x1080,};
enum{ LINUX_TCP_NODELAY = 1, LINUX_TCP_MAXSEG, LINUX_TCP_CORK, LINUX_TCP_KEEPIDLE, LINUX_TCP_KEEPINTVL, LINUX_TCP_KEEPCNT,};
enum{ BSD_TCP_NODELAY = 1, BSD_TCP_MAXSEG, BSD_TCP_KEEPALIVE = 0x10, BSD_TCP_KEEPINTVL = 0x101, BSD_TCP_KEEPCNT,};
enum{ LINUX_IP_TOS = 1, LINUX_IP_TTL, LINUX_IP_HDRINCL, LINUX_IP_OPTIONS, LINUX_IP_RECVOPTS = 6, LINUX_IP_RETOPTS, LINUX_IP_RECVTTL = 12, LINUX_IP_MULTICAST_IF = 32, LINUX_IP_MULTICAST_TTL, LINUX_IP_MULTICAST_LOOP, LINUX_IP_ADD_MEMBERSHIP, LINUX_IP_DROP_MEMBERSHIP,};
enum{ BSD_IP_OPTIONS = 1, BSD_IP_HDRINCL, BSD_IP_TOS, BSD_IP_TTL, BSD_IP_RECVOPTS, BSD_IP_RECVRETOPTS, BSD_IP_RETOPTS, BSD_IP_MULTICAST_IF, BSD_IP_MULTICAST_TTL, BSD_IP_MULTICAST_LOOP, BSD_IP_ADD_MEMBERSHIP, BSD_IP_DROP_MEMBERSHIP, BSD_IP_RECVTTL = 24,};
enum{ LINUX_IPV6_2292PKTINFO = 2, LINUX_IPV6_2292HOPOPTS, LINUX_IPV6_2292DSTOPTS, LINUX_IPV6_2292RTHDR, LINUX_IPV6_2292PKTOPTIONS, LINUX_IPV6_CHECKSUM, LINUX_IPV6_2292HOPLIMIT, LINUX_IPV6_NEXTHOP, LINUX_IPV6_UNICAST_HOPS = 16, LINUX_IPV6_MULTICAST_IF, LINUX_IPV6_MULTICAST_HOPS, LINUX_IPV6_MULTICAST_LOOP, LINUX_IPV6_JOIN_GROUP, LINUX_IPV6_LEAVE_GROUP, LINUX_IPV6_V6ONLY = 26,};
enum{ BSD_IPV6_UNICAST_HOPS = 4, BSD_IPV6_MULTICAST_IF = 9, BSD_IPV6_MULTICAST_HOPS, BSD_IPV6_MULTICAST_LOOP, BSD_IPV6_JOIN_GROUP, BSD_IPV6_LEAVE_GROUP, BSD_IPV6_2292PKTINFO = 19, BSD_IPV6_2292HOPLIMIT, BSD_IPV6_2292NEXTHOP, BSD_IPV6_2292HOPOPTS, BSD_IPV6_2292DSTOPTS, BSD_IPV6_2292RTHDR, BSD_IPV6_V6ONLY = 27,};
struct linger{ int l_onoff; int l_linger;};
int sockopt_bsd_to_linux(int* level, int* optname, void** optval, void* optbuf);
#endif