3static st_table *rsock_intern_family_hash;
4static st_table *rsock_intern_family_noprefix_hash;
5static st_table *rsock_intern_protocol_family_hash;
6static st_table *rsock_intern_socktype_hash;
7static st_table *rsock_intern_ipproto_hash;
8static st_table *rsock_intern_iplevel_hash;
9static st_table *rsock_intern_so_optname_hash;
10static st_table *rsock_intern_ip_optname_hash;
11static st_table *rsock_intern_ipv6_optname_hash;
12static st_table *rsock_intern_tcp_optname_hash;
13static st_table *rsock_intern_udp_optname_hash;
14static st_table *rsock_intern_scm_optname_hash;
15static st_table *rsock_intern_local_optname_hash;
18#define INTEGER2NUM(n) \
19 (FIXNUM_MAX < (n) ? ULL2NUM(n) : \
20 FIXNUM_MIN > (LONG_LONG)(n) ? LL2NUM(n) : \
23#define INTEGER2NUM(n) \
24 (FIXNUM_MAX < (n) ? ULONG2NUM(n) : \
25 FIXNUM_MIN > (long)(n) ? LONG2NUM(n) : \
45#if defined(SOCK_STREAM)
51#if defined(SOCK_DGRAM)
69#if defined(SOCK_SEQPACKET)
75#if defined(SOCK_PACKET)
157#if defined(AF_APPLETALK)
163#if defined(PF_APPLETALK)
181#if defined(AF_IMPLINK)
187#if defined(PF_IMPLINK)
265#if defined(AF_DATAKIT)
271#if defined(PF_DATAKIT)
337#if defined(AF_HYLINK)
343#if defined(PF_HYLINK)
445#if defined(AF_SYSTEM)
451#if defined(PF_SYSTEM)
457#if defined(AF_NETBIOS)
463#if defined(PF_NETBIOS)
493#if defined(AF_NETGRAPH)
499#if defined(PF_NETGRAPH)
517#if defined(AF_PACKET)
523#if defined(PF_PACKET)
571#if defined(MSG_DONTROUTE)
583#if defined(MSG_TRUNC)
589#if defined(MSG_CTRUNC)
595#if defined(MSG_WAITALL)
601#if defined(MSG_DONTWAIT)
613#if defined(MSG_FLUSH)
631#if defined(MSG_HAVEMORE)
637#if defined(MSG_RCVMORE)
643#if defined(MSG_COMPAT)
649#if defined(MSG_PROXY)
667#if defined(MSG_CONFIRM)
679#if defined(MSG_ERRQUEUE)
685#if defined(MSG_NOSIGNAL)
697#if defined(MSG_FASTOPEN)
703#if defined(SOL_SOCKET)
727#if defined(SOL_ATALK)
745#if defined(IPPROTO_IP)
751#if defined(IPPROTO_ICMP)
757#if defined(IPPROTO_IGMP)
763#if defined(IPPROTO_GGP)
769#if defined(IPPROTO_TCP)
775#if defined(IPPROTO_EGP)
781#if defined(IPPROTO_PUP)
787#if defined(IPPROTO_UDP)
793#if defined(IPPROTO_IDP)
799#if defined(IPPROTO_HELLO)
805#if defined(IPPROTO_ND)
811#if defined(IPPROTO_TP)
817#if defined(IPPROTO_XTP)
823#if defined(IPPROTO_EON)
829#if defined(IPPROTO_BIP)
835#if defined(IPPROTO_AH)
841#if defined(IPPROTO_DSTOPTS)
847#if defined(IPPROTO_ESP)
853#if defined(IPPROTO_FRAGMENT)
859#if defined(IPPROTO_HOPOPTS)
865#if defined(IPPROTO_ICMPV6)
871#if defined(IPPROTO_IPV6)
877#if defined(IPPROTO_NONE)
883#if defined(IPPROTO_ROUTING)
889#if defined(IPPROTO_RAW)
895#if defined(IPPROTO_MAX)
901#if defined(IPPORT_RESERVED)
907#if defined(IPPORT_USERRESERVED)
913#if defined(INADDR_ANY)
919#if defined(INADDR_BROADCAST)
925#if defined(INADDR_LOOPBACK)
931#if defined(INADDR_UNSPEC_GROUP)
937#if defined(INADDR_ALLHOSTS_GROUP)
943#if defined(INADDR_MAX_LOCAL_GROUP)
949#if defined(INADDR_NONE)
955#if defined(IP_OPTIONS)
961#if defined(IP_HDRINCL)
979#if defined(IP_RECVOPTS)
985#if defined(IP_RECVRETOPTS)
991#if defined(IP_RECVDSTADDR)
997#if defined(IP_RETOPTS)
1003#if defined(IP_MINTTL)
1009#if defined(IP_DONTFRAG)
1015#if defined(IP_SENDSRCADDR)
1021#if defined(IP_ONESBCAST)
1027#if defined(IP_RECVTTL)
1033#if defined(IP_RECVIF)
1039#if defined(IP_RECVSLLA)
1045#if defined(IP_PORTRANGE)
1051#if defined(IP_MULTICAST_IF)
1057#if defined(IP_MULTICAST_TTL)
1063#if defined(IP_MULTICAST_LOOP)
1069#if defined(IP_ADD_MEMBERSHIP)
1075#if defined(IP_DROP_MEMBERSHIP)
1081#if defined(IP_DEFAULT_MULTICAST_TTL)
1087#if defined(IP_DEFAULT_MULTICAST_LOOP)
1093#if defined(IP_MAX_MEMBERSHIPS)
1099#if defined(IP_ROUTER_ALERT)
1105#if defined(IP_PKTINFO)
1111#if defined(IP_PKTOPTIONS)
1117#if defined(IP_MTU_DISCOVER)
1123#if defined(IP_RECVERR)
1129#if defined(IP_RECVTOS)
1141#if defined(IP_FREEBIND)
1147#if defined(IP_IPSEC_POLICY)
1153#if defined(IP_XFRM_POLICY)
1159#if defined(IP_PASSSEC)
1165#if defined(IP_TRANSPARENT)
1171#if defined(IP_PMTUDISC_DONT)
1177#if defined(IP_PMTUDISC_WANT)
1183#if defined(IP_PMTUDISC_DO)
1189#if defined(IP_UNBLOCK_SOURCE)
1195#if defined(IP_BLOCK_SOURCE)
1201#if defined(IP_ADD_SOURCE_MEMBERSHIP)
1207#if defined(IP_DROP_SOURCE_MEMBERSHIP)
1213#if defined(IP_MSFILTER)
1219#if defined(MCAST_JOIN_GROUP)
1225#if defined(MCAST_BLOCK_SOURCE)
1231#if defined(MCAST_UNBLOCK_SOURCE)
1237#if defined(MCAST_LEAVE_GROUP)
1243#if defined(MCAST_JOIN_SOURCE_GROUP)
1249#if defined(MCAST_LEAVE_SOURCE_GROUP)
1255#if defined(MCAST_MSFILTER)
1261#if defined(MCAST_EXCLUDE)
1267#if defined(MCAST_INCLUDE)
1273#if defined(SO_DEBUG)
1279#if defined(SO_REUSEADDR)
1285#if defined(SO_REUSEPORT)
1297#if defined(SO_ERROR)
1303#if defined(SO_DONTROUTE)
1309#if defined(SO_BROADCAST)
1315#if defined(SO_SNDBUF)
1321#if defined(SO_RCVBUF)
1327#if defined(SO_SNDBUFFORCE)
1333#if defined(SO_RCVBUFFORCE)
1339#if defined(SO_KEEPALIVE)
1345#if defined(SO_OOBINLINE)
1351#if defined(SO_NO_CHECK)
1357#if defined(SO_PRIORITY)
1363#if defined(SO_LINGER)
1369#if defined(SO_PASSCRED)
1375#if defined(SO_PEERCRED)
1381#if defined(SO_RCVLOWAT)
1387#if defined(SO_SNDLOWAT)
1393#if defined(SO_RCVTIMEO)
1399#if defined(SO_SNDTIMEO)
1405#if defined(SO_ACCEPTCONN)
1411#if defined(SO_USELOOPBACK)
1417#if defined(SO_ACCEPTFILTER)
1423#if defined(SO_DONTTRUNC)
1429#if defined(SO_WANTMORE)
1435#if defined(SO_WANTOOBFLAG)
1441#if defined(SO_NREAD)
1453#if defined(SO_NOSIGPIPE)
1459#if defined(SO_SECURITY_AUTHENTICATION)
1465#if defined(SO_SECURITY_ENCRYPTION_TRANSPORT)
1471#if defined(SO_SECURITY_ENCRYPTION_NETWORK)
1477#if defined(SO_BINDTODEVICE)
1483#if defined(SO_ATTACH_FILTER)
1489#if defined(SO_DETACH_FILTER)
1495#if defined(SO_GET_FILTER)
1501#if defined(SO_PEERNAME)
1507#if defined(SO_TIMESTAMP)
1513#if defined(SO_TIMESTAMPNS)
1519#if defined(SO_BINTIME)
1525#if defined(SO_RECVUCRED)
1531#if defined(SO_MAC_EXEMPT)
1537#if defined(SO_ALLZONES)
1543#if defined(SO_PEERSEC)
1549#if defined(SO_PASSSEC)
1561#if defined(SO_TIMESTAMPING)
1567#if defined(SO_PROTOCOL)
1573#if defined(SO_DOMAIN)
1579#if defined(SO_RXQ_OVFL)
1585#if defined(SO_WIFI_STATUS)
1591#if defined(SO_PEEK_OFF)
1597#if defined(SO_NOFCS)
1603#if defined(SO_LOCK_FILTER)
1609#if defined(SO_SELECT_ERR_QUEUE)
1615#if defined(SO_BUSY_POLL)
1621#if defined(SO_MAX_PACING_RATE)
1627#if defined(SO_BPF_EXTENSIONS)
1633#if defined(SOPRI_INTERACTIVE)
1639#if defined(SOPRI_NORMAL)
1645#if defined(SOPRI_BACKGROUND)
1651#if defined(IPX_TYPE)
1657#if defined(TCP_NODELAY)
1663#if defined(TCP_MAXSEG)
1669#if defined(TCP_CORK)
1675#if defined(TCP_DEFER_ACCEPT)
1681#if defined(TCP_INFO)
1687#if defined(TCP_KEEPCNT)
1693#if defined(TCP_KEEPIDLE)
1699#if defined(TCP_KEEPINTVL)
1705#if defined(TCP_LINGER2)
1711#if defined(TCP_MD5SIG)
1717#if defined(TCP_NOOPT)
1723#if defined(TCP_NOPUSH)
1729#if defined(TCP_QUICKACK)
1735#if defined(TCP_SYNCNT)
1741#if defined(TCP_WINDOW_CLAMP)
1747#if defined(TCP_FASTOPEN)
1753#if defined(TCP_CONGESTION)
1759#if defined(TCP_COOKIE_TRANSACTIONS)
1765#if defined(TCP_QUEUE_SEQ)
1771#if defined(TCP_REPAIR)
1777#if defined(TCP_REPAIR_OPTIONS)
1783#if defined(TCP_REPAIR_QUEUE)
1789#if defined(TCP_THIN_DUPACK)
1795#if defined(TCP_THIN_LINEAR_TIMEOUTS)
1801#if defined(TCP_TIMESTAMP)
1807#if defined(TCP_USER_TIMEOUT)
1813#if defined(UDP_CORK)
1819#if defined(EAI_ADDRFAMILY)
1825#if defined(EAI_AGAIN)
1831#if defined(EAI_BADFLAGS)
1837#if defined(EAI_FAIL)
1843#if defined(EAI_FAMILY)
1849#if defined(EAI_MEMORY)
1855#if defined(EAI_NODATA)
1861#if defined(EAI_NONAME)
1867#if defined(EAI_OVERFLOW)
1873#if defined(EAI_SERVICE)
1879#if defined(EAI_SOCKTYPE)
1885#if defined(EAI_SYSTEM)
1891#if defined(EAI_BADHINTS)
1897#if defined(EAI_PROTOCOL)
1909#if defined(AI_PASSIVE)
1915#if defined(AI_CANONNAME)
1921#if defined(AI_NUMERICHOST)
1927#if defined(AI_NUMERICSERV)
1945#if defined(AI_V4MAPPED_CFG)
1951#if defined(AI_ADDRCONFIG)
1957#if defined(AI_V4MAPPED)
1963#if defined(AI_DEFAULT)
1969#if defined(NI_MAXHOST)
1975#if defined(NI_MAXSERV)
1981#if defined(NI_NOFQDN)
1987#if defined(NI_NUMERICHOST)
1993#if defined(NI_NAMEREQD)
1999#if defined(NI_NUMERICSERV)
2005#if defined(NI_DGRAM)
2023#if defined(SHUT_RDWR)
2030#if defined(IPV6_JOIN_GROUP)
2038#if defined(IPV6_LEAVE_GROUP)
2046#if defined(IPV6_MULTICAST_HOPS)
2054#if defined(IPV6_MULTICAST_IF)
2062#if defined(IPV6_MULTICAST_LOOP)
2070#if defined(IPV6_UNICAST_HOPS)
2078#if defined(IPV6_V6ONLY)
2086#if defined(IPV6_CHECKSUM)
2094#if defined(IPV6_DONTFRAG)
2102#if defined(IPV6_DSTOPTS)
2110#if defined(IPV6_HOPLIMIT)
2118#if defined(IPV6_HOPOPTS)
2126#if defined(IPV6_NEXTHOP)
2134#if defined(IPV6_PATHMTU)
2142#if defined(IPV6_PKTINFO)
2150#if defined(IPV6_RECVDSTOPTS)
2158#if defined(IPV6_RECVHOPLIMIT)
2166#if defined(IPV6_RECVHOPOPTS)
2174#if defined(IPV6_RECVPKTINFO)
2182#if defined(IPV6_RECVRTHDR)
2190#if defined(IPV6_RECVTCLASS)
2198#if defined(IPV6_RTHDR)
2206#if defined(IPV6_RTHDRDSTOPTS)
2214#if defined(IPV6_RTHDR_TYPE_0)
2222#if defined(IPV6_RECVPATHMTU)
2230#if defined(IPV6_TCLASS)
2238#if defined(IPV6_USE_MIN_MTU)
2245#if defined(INET_ADDRSTRLEN)
2251#if defined(INET6_ADDRSTRLEN)
2257#if defined(IFNAMSIZ)
2263#if defined(IF_NAMESIZE)
2269#if defined(SOMAXCONN)
2275#if defined(SCM_RIGHTS)
2281#if defined(SCM_TIMESTAMP)
2287#if defined(SCM_TIMESTAMPNS)
2293#if defined(SCM_TIMESTAMPING)
2299#if defined(SCM_BINTIME)
2305#if defined(SCM_CREDENTIALS)
2311#if defined(SCM_CREDS)
2317#if defined(SCM_UCRED)
2323#if defined(SCM_WIFI_STATUS)
2329#if defined(LOCAL_PEERCRED)
2335#if defined(LOCAL_CREDS)
2341#if defined(LOCAL_CONNWAIT)
2347#if defined(IFF_802_1Q_VLAN)
2353#if defined(IFF_ALLMULTI)
2359#if defined(IFF_ALTPHYS)
2365#if defined(IFF_AUTOMEDIA)
2371#if defined(IFF_BONDING)
2377#if defined(IFF_BRIDGE_PORT)
2383#if defined(IFF_BROADCAST)
2389#if defined(IFF_CANTCONFIG)
2395#if defined(IFF_DEBUG)
2401#if defined(IFF_DISABLE_NETPOLL)
2407#if defined(IFF_DONT_BRIDGE)
2413#if defined(IFF_DORMANT)
2419#if defined(IFF_DRV_OACTIVE)
2425#if defined(IFF_DRV_RUNNING)
2431#if defined(IFF_DYING)
2437#if defined(IFF_DYNAMIC)
2443#if defined(IFF_EBRIDGE)
2449#if defined(IFF_ECHO)
2455#if defined(IFF_ISATAP)
2461#if defined(IFF_LINK0)
2467#if defined(IFF_LINK1)
2473#if defined(IFF_LINK2)
2479#if defined(IFF_LIVE_ADDR_CHANGE)
2485#if defined(IFF_LOOPBACK)
2491#if defined(IFF_LOWER_UP)
2497#if defined(IFF_MACVLAN_PORT)
2503#if defined(IFF_MASTER)
2509#if defined(IFF_MASTER_8023AD)
2515#if defined(IFF_MASTER_ALB)
2521#if defined(IFF_MASTER_ARPMON)
2527#if defined(IFF_MONITOR)
2533#if defined(IFF_MULTICAST)
2539#if defined(IFF_NOARP)
2545#if defined(IFF_NOTRAILERS)
2551#if defined(IFF_OACTIVE)
2557#if defined(IFF_OVS_DATAPATH)
2563#if defined(IFF_POINTOPOINT)
2569#if defined(IFF_PORTSEL)
2575#if defined(IFF_PPROMISC)
2581#if defined(IFF_PROMISC)
2587#if defined(IFF_RENAMING)
2593#if defined(IFF_ROUTE)
2599#if defined(IFF_RUNNING)
2605#if defined(IFF_SIMPLEX)
2611#if defined(IFF_SLAVE)
2617#if defined(IFF_SLAVE_INACTIVE)
2623#if defined(IFF_SLAVE_NEEDARP)
2629#if defined(IFF_SMART)
2635#if defined(IFF_STATICARP)
2641#if defined(IFF_SUPP_NOFCS)
2647#if defined(IFF_TEAM_PORT)
2653#if defined(IFF_TX_SKB_SHARING)
2659#if defined(IFF_UNICAST_FLT)
2671#if defined(IFF_WAN_HDLC)
2677#if defined(IFF_XMIT_DST_RELEASE)
2683#if defined(IFF_VOLATILE)
2689#if defined(IFF_CANTCHANGE)
3171#ifdef SOCK_SEQPACKET
3194#ifdef IPPROTO_ROUTING
3203#ifdef IPPROTO_ICMPV6
3206#ifdef IPPROTO_HOPOPTS
3209#ifdef IPPROTO_FRAGMENT
3215#ifdef IPPROTO_DSTOPTS
3274#ifdef IPPROTO_ROUTING
3283#ifdef IPPROTO_ICMPV6
3286#ifdef IPPROTO_HOPOPTS
3289#ifdef IPPROTO_FRAGMENT
3295#ifdef IPPROTO_DSTOPTS
3355#ifdef IPPROTO_ROUTING
3364#ifdef IPPROTO_ICMPV6
3367#ifdef IPPROTO_HOPOPTS
3370#ifdef IPPROTO_FRAGMENT
3376#ifdef IPPROTO_DSTOPTS
3432#ifdef SO_BPF_EXTENSIONS
3435#ifdef SO_MAX_PACING_RATE
3441#ifdef SO_SELECT_ERR_QUEUE
3444#ifdef SO_LOCK_FILTER
3453#ifdef SO_WIFI_STATUS
3465#ifdef SO_TIMESTAMPING
3489#ifdef SO_TIMESTAMPNS
3501#ifdef SO_DETACH_FILTER
3504#ifdef SO_ATTACH_FILTER
3507#ifdef SO_BINDTODEVICE
3510#ifdef SO_SECURITY_ENCRYPTION_NETWORK
3513#ifdef SO_SECURITY_ENCRYPTION_TRANSPORT
3516#ifdef SO_SECURITY_AUTHENTICATION
3528#ifdef SO_WANTOOBFLAG
3537#ifdef SO_ACCEPTFILTER
3540#ifdef SO_USELOOPBACK
3579#ifdef SO_RCVBUFFORCE
3582#ifdef SO_SNDBUFFORCE
3612#ifdef SO_BPF_EXTENSIONS
3615#ifdef SO_MAX_PACING_RATE
3621#ifdef SO_SELECT_ERR_QUEUE
3624#ifdef SO_LOCK_FILTER
3633#ifdef SO_WIFI_STATUS
3645#ifdef SO_TIMESTAMPING
3669#ifdef SO_TIMESTAMPNS
3681#ifdef SO_DETACH_FILTER
3684#ifdef SO_ATTACH_FILTER
3687#ifdef SO_BINDTODEVICE
3690#ifdef SO_SECURITY_ENCRYPTION_NETWORK
3693#ifdef SO_SECURITY_ENCRYPTION_TRANSPORT
3696#ifdef SO_SECURITY_AUTHENTICATION
3708#ifdef SO_WANTOOBFLAG
3717#ifdef SO_ACCEPTFILTER
3720#ifdef SO_USELOOPBACK
3759#ifdef SO_RCVBUFFORCE
3762#ifdef SO_SNDBUFFORCE
3797#ifdef IP_DROP_SOURCE_MEMBERSHIP
3800#ifdef IP_ADD_SOURCE_MEMBERSHIP
3803#ifdef IP_BLOCK_SOURCE
3806#ifdef IP_UNBLOCK_SOURCE
3809#ifdef IP_PMTUDISC_DO
3812#ifdef IP_PMTUDISC_WANT
3815#ifdef IP_PMTUDISC_DONT
3818#ifdef IP_TRANSPARENT
3824#ifdef IP_XFRM_POLICY
3827#ifdef IP_IPSEC_POLICY
3842#ifdef IP_MTU_DISCOVER
3851#ifdef IP_ROUTER_ALERT
3854#ifdef IP_MAX_MEMBERSHIPS
3857#ifdef IP_DEFAULT_MULTICAST_LOOP
3860#ifdef IP_DEFAULT_MULTICAST_TTL
3863#ifdef IP_DROP_MEMBERSHIP
3866#ifdef IP_ADD_MEMBERSHIP
3869#ifdef IP_MULTICAST_LOOP
3872#ifdef IP_MULTICAST_TTL
3875#ifdef IP_MULTICAST_IF
3893#ifdef IP_SENDSRCADDR
3905#ifdef IP_RECVDSTADDR
3908#ifdef IP_RECVRETOPTS
3929#ifdef IP_DROP_SOURCE_MEMBERSHIP
3932#ifdef IP_ADD_SOURCE_MEMBERSHIP
3935#ifdef IP_BLOCK_SOURCE
3938#ifdef IP_UNBLOCK_SOURCE
3941#ifdef IP_PMTUDISC_DO
3944#ifdef IP_PMTUDISC_WANT
3947#ifdef IP_PMTUDISC_DONT
3950#ifdef IP_TRANSPARENT
3956#ifdef IP_XFRM_POLICY
3959#ifdef IP_IPSEC_POLICY
3974#ifdef IP_MTU_DISCOVER
3983#ifdef IP_ROUTER_ALERT
3986#ifdef IP_MAX_MEMBERSHIPS
3989#ifdef IP_DEFAULT_MULTICAST_LOOP
3992#ifdef IP_DEFAULT_MULTICAST_TTL
3995#ifdef IP_DROP_MEMBERSHIP
3998#ifdef IP_ADD_MEMBERSHIP
4001#ifdef IP_MULTICAST_LOOP
4004#ifdef IP_MULTICAST_TTL
4007#ifdef IP_MULTICAST_IF
4025#ifdef IP_SENDSRCADDR
4037#ifdef IP_RECVDSTADDR
4040#ifdef IP_RECVRETOPTS
4060#ifdef IPV6_USE_MIN_MTU
4066#ifdef IPV6_RECVPATHMTU
4069#ifdef IPV6_RTHDR_TYPE_0
4072#ifdef IPV6_RTHDRDSTOPTS
4078#ifdef IPV6_RECVTCLASS
4081#ifdef IPV6_RECVRTHDR
4084#ifdef IPV6_RECVPKTINFO
4087#ifdef IPV6_RECVHOPOPTS
4090#ifdef IPV6_RECVHOPLIMIT
4093#ifdef IPV6_RECVDSTOPTS
4123#ifdef IPV6_UNICAST_HOPS
4126#ifdef IPV6_MULTICAST_LOOP
4129#ifdef IPV6_MULTICAST_IF
4132#ifdef IPV6_MULTICAST_HOPS
4135#ifdef IPV6_LEAVE_GROUP
4138#ifdef IPV6_JOIN_GROUP
4141#ifdef IPV6_USE_MIN_MTU
4147#ifdef IPV6_RECVPATHMTU
4150#ifdef IPV6_RTHDR_TYPE_0
4153#ifdef IPV6_RTHDRDSTOPTS
4159#ifdef IPV6_RECVTCLASS
4162#ifdef IPV6_RECVRTHDR
4165#ifdef IPV6_RECVPKTINFO
4168#ifdef IPV6_RECVHOPOPTS
4171#ifdef IPV6_RECVHOPLIMIT
4174#ifdef IPV6_RECVDSTOPTS
4204#ifdef IPV6_UNICAST_HOPS
4207#ifdef IPV6_MULTICAST_LOOP
4210#ifdef IPV6_MULTICAST_IF
4213#ifdef IPV6_MULTICAST_HOPS
4216#ifdef IPV6_LEAVE_GROUP
4219#ifdef IPV6_JOIN_GROUP
4224#ifdef TCP_USER_TIMEOUT
4230#ifdef TCP_THIN_LINEAR_TIMEOUTS
4233#ifdef TCP_THIN_DUPACK
4236#ifdef TCP_REPAIR_QUEUE
4239#ifdef TCP_REPAIR_OPTIONS
4248#ifdef TCP_COOKIE_TRANSACTIONS
4251#ifdef TCP_CONGESTION
4257#ifdef TCP_WINDOW_CLAMP
4290#ifdef TCP_DEFER_ACCEPT
4302#ifdef TCP_USER_TIMEOUT
4308#ifdef TCP_THIN_LINEAR_TIMEOUTS
4311#ifdef TCP_THIN_DUPACK
4314#ifdef TCP_REPAIR_QUEUE
4317#ifdef TCP_REPAIR_OPTIONS
4326#ifdef TCP_COOKIE_TRANSACTIONS
4329#ifdef TCP_CONGESTION
4335#ifdef TCP_WINDOW_CLAMP
4368#ifdef TCP_DEFER_ACCEPT
4390#ifdef SCM_WIFI_STATUS
4399#ifdef SCM_CREDENTIALS
4405#ifdef SCM_TIMESTAMPING
4408#ifdef SCM_TIMESTAMPNS
4417#ifdef SCM_WIFI_STATUS
4426#ifdef SCM_CREDENTIALS
4432#ifdef SCM_TIMESTAMPING
4435#ifdef SCM_TIMESTAMPNS
4446#ifdef LOCAL_CONNWAIT
4452#ifdef LOCAL_PEERCRED
4455#ifdef LOCAL_CONNWAIT
4461#ifdef LOCAL_PEERCRED
4473 if (
memcmp(
str,
"NS", 2) == 0) { *valp = AF_NS;
return 0; }
4479 if (
memcmp(
str,
"IPX", 3) == 0) { *valp = AF_IPX;
return 0; }
4482 if (
memcmp(
str,
"PUP", 3) == 0) { *valp = AF_PUP;
return 0; }
4485 if (
memcmp(
str,
"ISO", 3) == 0) { *valp = AF_ISO;
return 0; }
4488 if (
memcmp(
str,
"OSI", 3) == 0) { *valp = AF_OSI;
return 0; }
4491 if (
memcmp(
str,
"SNA", 3) == 0) { *valp = AF_SNA;
return 0; }
4494 if (
memcmp(
str,
"DEC", 3) == 0) { *valp = AF_DEC;
return 0; }
4497 if (
memcmp(
str,
"DLI", 3) == 0) { *valp = AF_DLI;
return 0; }
4500 if (
memcmp(
str,
"LAT", 3) == 0) { *valp = AF_LAT;
return 0; }
4503 if (
memcmp(
str,
"CNT", 3) == 0) { *valp = AF_CNT;
return 0; }
4506 if (
memcmp(
str,
"SIP", 3) == 0) { *valp = AF_SIP;
return 0; }
4509 if (
memcmp(
str,
"PPP", 3) == 0) { *valp = AF_PPP;
return 0; }
4512 if (
memcmp(
str,
"ATM", 3) == 0) { *valp = AF_ATM;
return 0; }
4515 if (
memcmp(
str,
"MAX", 3) == 0) { *valp = AF_MAX;
return 0; }
4521 if (
memcmp(
str,
"INET", 4) == 0) { *valp = AF_INET;
return 0; }
4524 if (
memcmp(
str,
"UNIX", 4) == 0) { *valp = AF_UNIX;
return 0; }
4527 if (
memcmp(
str,
"AX25", 4) == 0) { *valp = AF_AX25;
return 0; }
4530 if (
memcmp(
str,
"ECMA", 4) == 0) { *valp = AF_ECMA;
return 0; }
4533 if (
memcmp(
str,
"LINK", 4) == 0) { *valp = AF_LINK;
return 0; }
4536 if (
memcmp(
str,
"COIP", 4) == 0) { *valp = AF_COIP;
return 0; }
4539 if (
memcmp(
str,
"NDRV", 4) == 0) { *valp = AF_NDRV;
return 0; }
4542 if (
memcmp(
str,
"ISDN", 4) == 0) { *valp = AF_ISDN;
return 0; }
4545 if (
memcmp(
str,
"NATM", 4) == 0) { *valp = AF_NATM;
return 0; }
4548 if (
memcmp(
str,
"E164", 4) == 0) { *valp = AF_E164;
return 0; }
4554 if (
memcmp(
str,
"AF_NS", 5) == 0) { *valp = AF_NS;
return 0; }
4557 if (
memcmp(
str,
"PF_NS", 5) == 0) { *valp = PF_NS;
return 0; }
4560 if (
memcmp(
str,
"INET6", 5) == 0) { *valp = AF_INET6;
return 0; }
4563 if (
memcmp(
str,
"LOCAL", 5) == 0) { *valp = AF_LOCAL;
return 0; }
4566 if (
memcmp(
str,
"CHAOS", 5) == 0) { *valp = AF_CHAOS;
return 0; }
4569 if (
memcmp(
str,
"CCITT", 5) == 0) { *valp = AF_CCITT;
return 0; }
4572 if (
memcmp(
str,
"ROUTE", 5) == 0) { *valp = AF_ROUTE;
return 0; }
4578 if (
memcmp(
str,
"AF_IPX", 6) == 0) { *valp = AF_IPX;
return 0; }
4581 if (
memcmp(
str,
"PF_IPX", 6) == 0) { *valp = PF_IPX;
return 0; }
4584 if (
memcmp(
str,
"AF_PUP", 6) == 0) { *valp = AF_PUP;
return 0; }
4587 if (
memcmp(
str,
"PF_PUP", 6) == 0) { *valp = PF_PUP;
return 0; }
4590 if (
memcmp(
str,
"AF_ISO", 6) == 0) { *valp = AF_ISO;
return 0; }
4593 if (
memcmp(
str,
"PF_ISO", 6) == 0) { *valp = PF_ISO;
return 0; }
4596 if (
memcmp(
str,
"AF_OSI", 6) == 0) { *valp = AF_OSI;
return 0; }
4599 if (
memcmp(
str,
"PF_OSI", 6) == 0) { *valp = PF_OSI;
return 0; }
4602 if (
memcmp(
str,
"AF_SNA", 6) == 0) { *valp = AF_SNA;
return 0; }
4605 if (
memcmp(
str,
"PF_SNA", 6) == 0) { *valp = PF_SNA;
return 0; }
4608 if (
memcmp(
str,
"AF_DEC", 6) == 0) { *valp = AF_DEC;
return 0; }
4611 if (
memcmp(
str,
"PF_DEC", 6) == 0) { *valp = PF_DEC;
return 0; }
4614 if (
memcmp(
str,
"AF_DLI", 6) == 0) { *valp = AF_DLI;
return 0; }
4617 if (
memcmp(
str,
"PF_DLI", 6) == 0) { *valp = PF_DLI;
return 0; }
4620 if (
memcmp(
str,
"AF_LAT", 6) == 0) { *valp = AF_LAT;
return 0; }
4623 if (
memcmp(
str,
"PF_LAT", 6) == 0) { *valp = PF_LAT;
return 0; }
4626 if (
memcmp(
str,
"AF_CNT", 6) == 0) { *valp = AF_CNT;
return 0; }
4629 if (
memcmp(
str,
"PF_CNT", 6) == 0) { *valp = PF_CNT;
return 0; }
4632 if (
memcmp(
str,
"AF_SIP", 6) == 0) { *valp = AF_SIP;
return 0; }
4635 if (
memcmp(
str,
"PF_SIP", 6) == 0) { *valp = PF_SIP;
return 0; }
4638 if (
memcmp(
str,
"AF_PPP", 6) == 0) { *valp = AF_PPP;
return 0; }
4641 if (
memcmp(
str,
"PF_PPP", 6) == 0) { *valp = PF_PPP;
return 0; }
4644 if (
memcmp(
str,
"AF_ATM", 6) == 0) { *valp = AF_ATM;
return 0; }
4647 if (
memcmp(
str,
"PF_ATM", 6) == 0) { *valp = PF_ATM;
return 0; }
4650 if (
memcmp(
str,
"AF_MAX", 6) == 0) { *valp = AF_MAX;
return 0; }
4653 if (
memcmp(
str,
"PF_MAX", 6) == 0) { *valp = PF_MAX;
return 0; }
4656 if (
memcmp(
str,
"PF_XTP", 6) == 0) { *valp = PF_XTP;
return 0; }
4659 if (
memcmp(
str,
"PF_PIP", 6) == 0) { *valp = PF_PIP;
return 0; }
4662 if (
memcmp(
str,
"PF_KEY", 6) == 0) { *valp = PF_KEY;
return 0; }
4668 if (
memcmp(
str,
"HYLINK", 6) == 0) { *valp = AF_HYLINK;
return 0; }
4671 if (
memcmp(
str,
"SYSTEM", 6) == 0) { *valp = AF_SYSTEM;
return 0; }
4674 if (
memcmp(
str,
"PACKET", 6) == 0) { *valp = AF_PACKET;
return 0; }
4680 if (
memcmp(
str,
"AF_INET", 7) == 0) { *valp = AF_INET;
return 0; }
4686 if (
memcmp(
str,
"AF_UNIX", 7) == 0) { *valp = AF_UNIX;
return 0; }
4689 if (
memcmp(
str,
"PF_UNIX", 7) == 0) { *valp = PF_UNIX;
return 0; }
4692 if (
memcmp(
str,
"AF_AX25", 7) == 0) { *valp = AF_AX25;
return 0; }
4695 if (
memcmp(
str,
"PF_AX25", 7) == 0) { *valp = PF_AX25;
return 0; }
4698 if (
memcmp(
str,
"AF_ECMA", 7) == 0) { *valp = AF_ECMA;
return 0; }
4701 if (
memcmp(
str,
"PF_ECMA", 7) == 0) { *valp = PF_ECMA;
return 0; }
4704 if (
memcmp(
str,
"AF_LINK", 7) == 0) { *valp = AF_LINK;
return 0; }
4707 if (
memcmp(
str,
"PF_LINK", 7) == 0) { *valp = PF_LINK;
return 0; }
4710 if (
memcmp(
str,
"AF_COIP", 7) == 0) { *valp = AF_COIP;
return 0; }
4713 if (
memcmp(
str,
"PF_COIP", 7) == 0) { *valp = PF_COIP;
return 0; }
4716 if (
memcmp(
str,
"AF_NDRV", 7) == 0) { *valp = AF_NDRV;
return 0; }
4719 if (
memcmp(
str,
"PF_NDRV", 7) == 0) { *valp = PF_NDRV;
return 0; }
4722 if (
memcmp(
str,
"AF_ISDN", 7) == 0) { *valp = AF_ISDN;
return 0; }
4725 if (
memcmp(
str,
"PF_ISDN", 7) == 0) { *valp = PF_ISDN;
return 0; }
4728 if (
memcmp(
str,
"AF_NATM", 7) == 0) { *valp = AF_NATM;
return 0; }
4731 if (
memcmp(
str,
"PF_NATM", 7) == 0) { *valp = PF_NATM;
return 0; }
4734 if (
memcmp(
str,
"AF_E164", 7) == 0) { *valp = AF_E164;
return 0; }
4737 if (
memcmp(
str,
"PF_RTIP", 7) == 0) { *valp = PF_RTIP;
return 0; }
4740 if (
memcmp(
str,
"IMPLINK", 7) == 0) { *valp = AF_IMPLINK;
return 0; }
4743 if (
memcmp(
str,
"DATAKIT", 7) == 0) { *valp = AF_DATAKIT;
return 0; }
4746 if (
memcmp(
str,
"NETBIOS", 7) == 0) { *valp = AF_NETBIOS;
return 0; }
4752 if (
memcmp(
str,
"AF_INET6", 8) == 0) { *valp = AF_INET6;
return 0; }
4755 if (
memcmp(
str,
"PF_INET6", 8) == 0) { *valp = PF_INET6;
return 0; }
4758 if (
memcmp(
str,
"AF_LOCAL", 8) == 0) { *valp = AF_LOCAL;
return 0; }
4761 if (
memcmp(
str,
"PF_LOCAL", 8) == 0) { *valp = PF_LOCAL;
return 0; }
4764 if (
memcmp(
str,
"AF_CHAOS", 8) == 0) { *valp = AF_CHAOS;
return 0; }
4767 if (
memcmp(
str,
"PF_CHAOS", 8) == 0) { *valp = PF_CHAOS;
return 0; }
4770 if (
memcmp(
str,
"AF_CCITT", 8) == 0) { *valp = AF_CCITT;
return 0; }
4773 if (
memcmp(
str,
"PF_CCITT", 8) == 0) { *valp = PF_CCITT;
return 0; }
4776 if (
memcmp(
str,
"AF_ROUTE", 8) == 0) { *valp = AF_ROUTE;
return 0; }
4779 if (
memcmp(
str,
"PF_ROUTE", 8) == 0) { *valp = PF_ROUTE;
return 0; }
4782 if (
memcmp(
str,
"NETGRAPH", 8) == 0) { *valp = AF_NETGRAPH;
return 0; }
4794 if (
memcmp(
str,
"AF_HYLINK", 9) == 0) { *valp = AF_HYLINK;
return 0; }
4797 if (
memcmp(
str,
"PF_HYLINK", 9) == 0) { *valp = PF_HYLINK;
return 0; }
4800 if (
memcmp(
str,
"AF_SYSTEM", 9) == 0) { *valp = AF_SYSTEM;
return 0; }
4803 if (
memcmp(
str,
"PF_SYSTEM", 9) == 0) { *valp = PF_SYSTEM;
return 0; }
4806 if (
memcmp(
str,
"AF_PACKET", 9) == 0) { *valp = AF_PACKET;
return 0; }
4809 if (
memcmp(
str,
"PF_PACKET", 9) == 0) { *valp = PF_PACKET;
return 0; }
4812 if (
memcmp(
str,
"APPLETALK", 9) == 0) { *valp = AF_APPLETALK;
return 0; }
4818 if (
memcmp(
str,
"AF_IMPLINK", 10) == 0) { *valp = AF_IMPLINK;
return 0; }
4821 if (
memcmp(
str,
"PF_IMPLINK", 10) == 0) { *valp = PF_IMPLINK;
return 0; }
4824 if (
memcmp(
str,
"AF_DATAKIT", 10) == 0) { *valp = AF_DATAKIT;
return 0; }
4827 if (
memcmp(
str,
"PF_DATAKIT", 10) == 0) { *valp = PF_DATAKIT;
return 0; }
4830 if (
memcmp(
str,
"AF_NETBIOS", 10) == 0) { *valp = AF_NETBIOS;
return 0; }
4833 if (
memcmp(
str,
"PF_NETBIOS", 10) == 0) { *valp = PF_NETBIOS;
return 0; }
4839 if (
memcmp(
str,
"AF_NETGRAPH", 11) == 0) { *valp = AF_NETGRAPH;
return 0; }
4842 if (
memcmp(
str,
"PF_NETGRAPH", 11) == 0) { *valp = PF_NETGRAPH;
return 0; }
4848 if (
memcmp(
str,
"AF_APPLETALK", 12) == 0) { *valp = AF_APPLETALK;
return 0; }
4851 if (
memcmp(
str,
"PF_APPLETALK", 12) == 0) { *valp = PF_APPLETALK;
return 0; }
4856 if (!
str || !valp) {}
4868 if (
memcmp(
str,
"RAW", 3) == 0) { *valp = SOCK_RAW;
return 0; }
4871 if (
memcmp(
str,
"RDM", 3) == 0) { *valp = SOCK_RDM;
return 0; }
4877 if (
memcmp(
str,
"DGRAM", 5) == 0) { *valp = SOCK_DGRAM;
return 0; }
4883 if (
memcmp(
str,
"STREAM", 6) == 0) { *valp = SOCK_STREAM;
return 0; }
4886 if (
memcmp(
str,
"PACKET", 6) == 0) { *valp = SOCK_PACKET;
return 0; }
4892 if (
memcmp(
str,
"SOCK_RAW", 8) == 0) { *valp = SOCK_RAW;
return 0; }
4895 if (
memcmp(
str,
"SOCK_RDM", 8) == 0) { *valp = SOCK_RDM;
return 0; }
4900#ifdef SOCK_SEQPACKET
4901 if (
memcmp(
str,
"SEQPACKET", 9) == 0) { *valp = SOCK_SEQPACKET;
return 0; }
4907 if (
memcmp(
str,
"SOCK_DGRAM", 10) == 0) { *valp = SOCK_DGRAM;
return 0; }
4913 if (
memcmp(
str,
"SOCK_STREAM", 11) == 0) { *valp = SOCK_STREAM;
return 0; }
4916 if (
memcmp(
str,
"SOCK_PACKET", 11) == 0) { *valp = SOCK_PACKET;
return 0; }
4921#ifdef SOCK_SEQPACKET
4922 if (
memcmp(
str,
"SOCK_SEQPACKET", 14) == 0) { *valp = SOCK_SEQPACKET;
return 0; }
4927 if (!
str || !valp) {}
4942 if (
memcmp(
str,
"ND", 2) == 0) { *valp = IPPROTO_ND;
return 0; }
4945 if (
memcmp(
str,
"TP", 2) == 0) { *valp = IPPROTO_TP;
return 0; }
4948 if (
memcmp(
str,
"AH", 2) == 0) { *valp = IPPROTO_AH;
return 0; }
4954 if (
memcmp(
str,
"GGP", 3) == 0) { *valp = IPPROTO_GGP;
return 0; }
4960 if (
memcmp(
str,
"EGP", 3) == 0) { *valp = IPPROTO_EGP;
return 0; }
4963 if (
memcmp(
str,
"PUP", 3) == 0) { *valp = IPPROTO_PUP;
return 0; }
4969 if (
memcmp(
str,
"IDP", 3) == 0) { *valp = IPPROTO_IDP;
return 0; }
4972 if (
memcmp(
str,
"XTP", 3) == 0) { *valp = IPPROTO_XTP;
return 0; }
4975 if (
memcmp(
str,
"EON", 3) == 0) { *valp = IPPROTO_EON;
return 0; }
4978 if (
memcmp(
str,
"BIP", 3) == 0) { *valp = IPPROTO_BIP;
return 0; }
4981 if (
memcmp(
str,
"ESP", 3) == 0) { *valp = IPPROTO_ESP;
return 0; }
4987 if (
memcmp(
str,
"MAX", 3) == 0) { *valp = IPPROTO_MAX;
return 0; }
4996 if (
memcmp(
str,
"IGMP", 4) == 0) { *valp = IPPROTO_IGMP;
return 0; }
4999 if (
memcmp(
str,
"IPV6", 4) == 0) { *valp = IPPROTO_IPV6;
return 0; }
5002 if (
memcmp(
str,
"NONE", 4) == 0) { *valp = IPPROTO_NONE;
return 0; }
5008 if (
memcmp(
str,
"HELLO", 5) == 0) { *valp = IPPROTO_HELLO;
return 0; }
5013#ifdef IPPROTO_ICMPV6
5014 if (
memcmp(
str,
"ICMPV6", 6) == 0) { *valp = IPPROTO_ICMPV6;
return 0; }
5019#ifdef IPPROTO_DSTOPTS
5020 if (
memcmp(
str,
"DSTOPTS", 7) == 0) { *valp = IPPROTO_DSTOPTS;
return 0; }
5022#ifdef IPPROTO_HOPOPTS
5023 if (
memcmp(
str,
"HOPOPTS", 7) == 0) { *valp = IPPROTO_HOPOPTS;
return 0; }
5025#ifdef IPPROTO_ROUTING
5026 if (
memcmp(
str,
"ROUTING", 7) == 0) { *valp = IPPROTO_ROUTING;
return 0; }
5031#ifdef IPPROTO_FRAGMENT
5032 if (
memcmp(
str,
"FRAGMENT", 8) == 0) { *valp = IPPROTO_FRAGMENT;
return 0; }
5041 if (
memcmp(
str,
"IPPROTO_ND", 10) == 0) { *valp = IPPROTO_ND;
return 0; }
5044 if (
memcmp(
str,
"IPPROTO_TP", 10) == 0) { *valp = IPPROTO_TP;
return 0; }
5047 if (
memcmp(
str,
"IPPROTO_AH", 10) == 0) { *valp = IPPROTO_AH;
return 0; }
5053 if (
memcmp(
str,
"IPPROTO_GGP", 11) == 0) { *valp = IPPROTO_GGP;
return 0; }
5059 if (
memcmp(
str,
"IPPROTO_EGP", 11) == 0) { *valp = IPPROTO_EGP;
return 0; }
5062 if (
memcmp(
str,
"IPPROTO_PUP", 11) == 0) { *valp = IPPROTO_PUP;
return 0; }
5068 if (
memcmp(
str,
"IPPROTO_IDP", 11) == 0) { *valp = IPPROTO_IDP;
return 0; }
5071 if (
memcmp(
str,
"IPPROTO_XTP", 11) == 0) { *valp = IPPROTO_XTP;
return 0; }
5074 if (
memcmp(
str,
"IPPROTO_EON", 11) == 0) { *valp = IPPROTO_EON;
return 0; }
5077 if (
memcmp(
str,
"IPPROTO_BIP", 11) == 0) { *valp = IPPROTO_BIP;
return 0; }
5080 if (
memcmp(
str,
"IPPROTO_ESP", 11) == 0) { *valp = IPPROTO_ESP;
return 0; }
5086 if (
memcmp(
str,
"IPPROTO_MAX", 11) == 0) { *valp = IPPROTO_MAX;
return 0; }
5095 if (
memcmp(
str,
"IPPROTO_IGMP", 12) == 0) { *valp = IPPROTO_IGMP;
return 0; }
5098 if (
memcmp(
str,
"IPPROTO_IPV6", 12) == 0) { *valp = IPPROTO_IPV6;
return 0; }
5101 if (
memcmp(
str,
"IPPROTO_NONE", 12) == 0) { *valp = IPPROTO_NONE;
return 0; }
5107 if (
memcmp(
str,
"IPPROTO_HELLO", 13) == 0) { *valp = IPPROTO_HELLO;
return 0; }
5112#ifdef IPPROTO_ICMPV6
5113 if (
memcmp(
str,
"IPPROTO_ICMPV6", 14) == 0) { *valp = IPPROTO_ICMPV6;
return 0; }
5118#ifdef IPPROTO_DSTOPTS
5119 if (
memcmp(
str,
"IPPROTO_DSTOPTS", 15) == 0) { *valp = IPPROTO_DSTOPTS;
return 0; }
5121#ifdef IPPROTO_HOPOPTS
5122 if (
memcmp(
str,
"IPPROTO_HOPOPTS", 15) == 0) { *valp = IPPROTO_HOPOPTS;
return 0; }
5124#ifdef IPPROTO_ROUTING
5125 if (
memcmp(
str,
"IPPROTO_ROUTING", 15) == 0) { *valp = IPPROTO_ROUTING;
return 0; }
5130#ifdef IPPROTO_FRAGMENT
5131 if (
memcmp(
str,
"IPPROTO_FRAGMENT", 16) == 0) { *valp = IPPROTO_FRAGMENT;
return 0; }
5136 if (!
str || !valp) {}
5148 if (
memcmp(
str,
"SOCKET", 6) == 0) { *valp = SOL_SOCKET;
return 0; }
5154 if (
memcmp(
str,
"SOL_SOCKET", 10) == 0) { *valp = SOL_SOCKET;
return 0; }
5159 if (!
str || !valp) {}
5174 if (
memcmp(
str,
"ND", 2) == 0) { *valp = IPPROTO_ND;
return 0; }
5177 if (
memcmp(
str,
"TP", 2) == 0) { *valp = IPPROTO_TP;
return 0; }
5180 if (
memcmp(
str,
"AH", 2) == 0) { *valp = IPPROTO_AH;
return 0; }
5186 if (
memcmp(
str,
"GGP", 3) == 0) { *valp = IPPROTO_GGP;
return 0; }
5192 if (
memcmp(
str,
"EGP", 3) == 0) { *valp = IPPROTO_EGP;
return 0; }
5195 if (
memcmp(
str,
"PUP", 3) == 0) { *valp = IPPROTO_PUP;
return 0; }
5201 if (
memcmp(
str,
"IDP", 3) == 0) { *valp = IPPROTO_IDP;
return 0; }
5204 if (
memcmp(
str,
"XTP", 3) == 0) { *valp = IPPROTO_XTP;
return 0; }
5207 if (
memcmp(
str,
"EON", 3) == 0) { *valp = IPPROTO_EON;
return 0; }
5210 if (
memcmp(
str,
"BIP", 3) == 0) { *valp = IPPROTO_BIP;
return 0; }
5213 if (
memcmp(
str,
"ESP", 3) == 0) { *valp = IPPROTO_ESP;
return 0; }
5219 if (
memcmp(
str,
"MAX", 3) == 0) { *valp = IPPROTO_MAX;
return 0; }
5228 if (
memcmp(
str,
"IGMP", 4) == 0) { *valp = IPPROTO_IGMP;
return 0; }
5231 if (
memcmp(
str,
"IPV6", 4) == 0) { *valp = IPPROTO_IPV6;
return 0; }
5234 if (
memcmp(
str,
"NONE", 4) == 0) { *valp = IPPROTO_NONE;
return 0; }
5240 if (
memcmp(
str,
"HELLO", 5) == 0) { *valp = IPPROTO_HELLO;
return 0; }
5246 if (
memcmp(
str,
"SOCKET", 6) == 0) { *valp = SOL_SOCKET;
return 0; }
5248#ifdef IPPROTO_ICMPV6
5249 if (
memcmp(
str,
"ICMPV6", 6) == 0) { *valp = IPPROTO_ICMPV6;
return 0; }
5254#ifdef IPPROTO_DSTOPTS
5255 if (
memcmp(
str,
"DSTOPTS", 7) == 0) { *valp = IPPROTO_DSTOPTS;
return 0; }
5257#ifdef IPPROTO_HOPOPTS
5258 if (
memcmp(
str,
"HOPOPTS", 7) == 0) { *valp = IPPROTO_HOPOPTS;
return 0; }
5260#ifdef IPPROTO_ROUTING
5261 if (
memcmp(
str,
"ROUTING", 7) == 0) { *valp = IPPROTO_ROUTING;
return 0; }
5266#ifdef IPPROTO_FRAGMENT
5267 if (
memcmp(
str,
"FRAGMENT", 8) == 0) { *valp = IPPROTO_FRAGMENT;
return 0; }
5273 if (
memcmp(
str,
"SOL_SOCKET", 10) == 0) { *valp = SOL_SOCKET;
return 0; }
5279 if (
memcmp(
str,
"IPPROTO_ND", 10) == 0) { *valp = IPPROTO_ND;
return 0; }
5282 if (
memcmp(
str,
"IPPROTO_TP", 10) == 0) { *valp = IPPROTO_TP;
return 0; }
5285 if (
memcmp(
str,
"IPPROTO_AH", 10) == 0) { *valp = IPPROTO_AH;
return 0; }
5291 if (
memcmp(
str,
"IPPROTO_GGP", 11) == 0) { *valp = IPPROTO_GGP;
return 0; }
5297 if (
memcmp(
str,
"IPPROTO_EGP", 11) == 0) { *valp = IPPROTO_EGP;
return 0; }
5300 if (
memcmp(
str,
"IPPROTO_PUP", 11) == 0) { *valp = IPPROTO_PUP;
return 0; }
5306 if (
memcmp(
str,
"IPPROTO_IDP", 11) == 0) { *valp = IPPROTO_IDP;
return 0; }
5309 if (
memcmp(
str,
"IPPROTO_XTP", 11) == 0) { *valp = IPPROTO_XTP;
return 0; }
5312 if (
memcmp(
str,
"IPPROTO_EON", 11) == 0) { *valp = IPPROTO_EON;
return 0; }
5315 if (
memcmp(
str,
"IPPROTO_BIP", 11) == 0) { *valp = IPPROTO_BIP;
return 0; }
5318 if (
memcmp(
str,
"IPPROTO_ESP", 11) == 0) { *valp = IPPROTO_ESP;
return 0; }
5324 if (
memcmp(
str,
"IPPROTO_MAX", 11) == 0) { *valp = IPPROTO_MAX;
return 0; }
5333 if (
memcmp(
str,
"IPPROTO_IGMP", 12) == 0) { *valp = IPPROTO_IGMP;
return 0; }
5336 if (
memcmp(
str,
"IPPROTO_IPV6", 12) == 0) { *valp = IPPROTO_IPV6;
return 0; }
5339 if (
memcmp(
str,
"IPPROTO_NONE", 12) == 0) { *valp = IPPROTO_NONE;
return 0; }
5345 if (
memcmp(
str,
"IPPROTO_HELLO", 13) == 0) { *valp = IPPROTO_HELLO;
return 0; }
5350#ifdef IPPROTO_ICMPV6
5351 if (
memcmp(
str,
"IPPROTO_ICMPV6", 14) == 0) { *valp = IPPROTO_ICMPV6;
return 0; }
5356#ifdef IPPROTO_DSTOPTS
5357 if (
memcmp(
str,
"IPPROTO_DSTOPTS", 15) == 0) { *valp = IPPROTO_DSTOPTS;
return 0; }
5359#ifdef IPPROTO_HOPOPTS
5360 if (
memcmp(
str,
"IPPROTO_HOPOPTS", 15) == 0) { *valp = IPPROTO_HOPOPTS;
return 0; }
5362#ifdef IPPROTO_ROUTING
5363 if (
memcmp(
str,
"IPPROTO_ROUTING", 15) == 0) { *valp = IPPROTO_ROUTING;
return 0; }
5368#ifdef IPPROTO_FRAGMENT
5369 if (
memcmp(
str,
"IPPROTO_FRAGMENT", 16) == 0) { *valp = IPPROTO_FRAGMENT;
return 0; }
5374 if (!
str || !valp) {}
5386 if (
memcmp(
str,
"NKE", 3) == 0) { *valp = SO_NKE;
return 0; }
5392 if (
memcmp(
str,
"TYPE", 4) == 0) { *valp = SO_TYPE;
return 0; }
5395 if (
memcmp(
str,
"MARK", 4) == 0) { *valp = SO_MARK;
return 0; }
5401 if (
memcmp(
str,
"DEBUG", 5) == 0) { *valp = SO_DEBUG;
return 0; }
5404 if (
memcmp(
str,
"ERROR", 5) == 0) { *valp = SO_ERROR;
return 0; }
5407 if (
memcmp(
str,
"NREAD", 5) == 0) { *valp = SO_NREAD;
return 0; }
5410 if (
memcmp(
str,
"NOFCS", 5) == 0) { *valp = SO_NOFCS;
return 0; }
5416 if (
memcmp(
str,
"SO_NKE", 6) == 0) { *valp = SO_NKE;
return 0; }
5419 if (
memcmp(
str,
"SNDBUF", 6) == 0) { *valp = SO_SNDBUF;
return 0; }
5422 if (
memcmp(
str,
"RCVBUF", 6) == 0) { *valp = SO_RCVBUF;
return 0; }
5425 if (
memcmp(
str,
"LINGER", 6) == 0) { *valp = SO_LINGER;
return 0; }
5428 if (
memcmp(
str,
"DOMAIN", 6) == 0) { *valp = SO_DOMAIN;
return 0; }
5434 if (
memcmp(
str,
"SO_TYPE", 7) == 0) { *valp = SO_TYPE;
return 0; }
5437 if (
memcmp(
str,
"SO_MARK", 7) == 0) { *valp = SO_MARK;
return 0; }
5440 if (
memcmp(
str,
"BINTIME", 7) == 0) { *valp = SO_BINTIME;
return 0; }
5443 if (
memcmp(
str,
"PEERSEC", 7) == 0) { *valp = SO_PEERSEC;
return 0; }
5446 if (
memcmp(
str,
"PASSSEC", 7) == 0) { *valp = SO_PASSSEC;
return 0; }
5452 if (
memcmp(
str,
"SO_DEBUG", 8) == 0) { *valp = SO_DEBUG;
return 0; }
5455 if (
memcmp(
str,
"SO_ERROR", 8) == 0) { *valp = SO_ERROR;
return 0; }
5458 if (
memcmp(
str,
"SO_NREAD", 8) == 0) { *valp = SO_NREAD;
return 0; }
5461 if (
memcmp(
str,
"SO_NOFCS", 8) == 0) { *valp = SO_NOFCS;
return 0; }
5464 if (
memcmp(
str,
"NO_CHECK", 8) == 0) { *valp = SO_NO_CHECK;
return 0; }
5467 if (
memcmp(
str,
"PRIORITY", 8) == 0) { *valp = SO_PRIORITY;
return 0; }
5470 if (
memcmp(
str,
"PASSCRED", 8) == 0) { *valp = SO_PASSCRED;
return 0; }
5473 if (
memcmp(
str,
"PEERCRED", 8) == 0) { *valp = SO_PEERCRED;
return 0; }
5476 if (
memcmp(
str,
"RCVLOWAT", 8) == 0) { *valp = SO_RCVLOWAT;
return 0; }
5479 if (
memcmp(
str,
"SNDLOWAT", 8) == 0) { *valp = SO_SNDLOWAT;
return 0; }
5482 if (
memcmp(
str,
"RCVTIMEO", 8) == 0) { *valp = SO_RCVTIMEO;
return 0; }
5485 if (
memcmp(
str,
"SNDTIMEO", 8) == 0) { *valp = SO_SNDTIMEO;
return 0; }
5488 if (
memcmp(
str,
"WANTMORE", 8) == 0) { *valp = SO_WANTMORE;
return 0; }
5491 if (
memcmp(
str,
"PEERNAME", 8) == 0) { *valp = SO_PEERNAME;
return 0; }
5494 if (
memcmp(
str,
"ALLZONES", 8) == 0) { *valp = SO_ALLZONES;
return 0; }
5497 if (
memcmp(
str,
"PROTOCOL", 8) == 0) { *valp = SO_PROTOCOL;
return 0; }
5500 if (
memcmp(
str,
"RXQ_OVFL", 8) == 0) { *valp = SO_RXQ_OVFL;
return 0; }
5503 if (
memcmp(
str,
"PEEK_OFF", 8) == 0) { *valp = SO_PEEK_OFF;
return 0; }
5509 if (
memcmp(
str,
"SO_SNDBUF", 9) == 0) { *valp = SO_SNDBUF;
return 0; }
5512 if (
memcmp(
str,
"SO_RCVBUF", 9) == 0) { *valp = SO_RCVBUF;
return 0; }
5515 if (
memcmp(
str,
"SO_LINGER", 9) == 0) { *valp = SO_LINGER;
return 0; }
5518 if (
memcmp(
str,
"SO_DOMAIN", 9) == 0) { *valp = SO_DOMAIN;
return 0; }
5521 if (
memcmp(
str,
"REUSEADDR", 9) == 0) { *valp = SO_REUSEADDR;
return 0; }
5524 if (
memcmp(
str,
"REUSEPORT", 9) == 0) { *valp = SO_REUSEPORT;
return 0; }
5527 if (
memcmp(
str,
"DONTROUTE", 9) == 0) { *valp = SO_DONTROUTE;
return 0; }
5530 if (
memcmp(
str,
"BROADCAST", 9) == 0) { *valp = SO_BROADCAST;
return 0; }
5533 if (
memcmp(
str,
"KEEPALIVE", 9) == 0) { *valp = SO_KEEPALIVE;
return 0; }
5536 if (
memcmp(
str,
"OOBINLINE", 9) == 0) { *valp = SO_OOBINLINE;
return 0; }
5539 if (
memcmp(
str,
"DONTTRUNC", 9) == 0) { *valp = SO_DONTTRUNC;
return 0; }
5542 if (
memcmp(
str,
"NOSIGPIPE", 9) == 0) { *valp = SO_NOSIGPIPE;
return 0; }
5545 if (
memcmp(
str,
"TIMESTAMP", 9) == 0) { *valp = SO_TIMESTAMP;
return 0; }
5548 if (
memcmp(
str,
"RECVUCRED", 9) == 0) { *valp = SO_RECVUCRED;
return 0; }
5551 if (
memcmp(
str,
"BUSY_POLL", 9) == 0) { *valp = SO_BUSY_POLL;
return 0; }
5557 if (
memcmp(
str,
"SO_BINTIME", 10) == 0) { *valp = SO_BINTIME;
return 0; }
5560 if (
memcmp(
str,
"SO_PEERSEC", 10) == 0) { *valp = SO_PEERSEC;
return 0; }
5563 if (
memcmp(
str,
"SO_PASSSEC", 10) == 0) { *valp = SO_PASSSEC;
return 0; }
5566 if (
memcmp(
str,
"ACCEPTCONN", 10) == 0) { *valp = SO_ACCEPTCONN;
return 0; }
5569 if (
memcmp(
str,
"GET_FILTER", 10) == 0) { *valp = SO_GET_FILTER;
return 0; }
5572 if (
memcmp(
str,
"MAC_EXEMPT", 10) == 0) { *valp = SO_MAC_EXEMPT;
return 0; }
5578 if (
memcmp(
str,
"SO_NO_CHECK", 11) == 0) { *valp = SO_NO_CHECK;
return 0; }
5581 if (
memcmp(
str,
"SO_PRIORITY", 11) == 0) { *valp = SO_PRIORITY;
return 0; }
5584 if (
memcmp(
str,
"SO_PASSCRED", 11) == 0) { *valp = SO_PASSCRED;
return 0; }
5587 if (
memcmp(
str,
"SO_PEERCRED", 11) == 0) { *valp = SO_PEERCRED;
return 0; }
5590 if (
memcmp(
str,
"SO_RCVLOWAT", 11) == 0) { *valp = SO_RCVLOWAT;
return 0; }
5593 if (
memcmp(
str,
"SO_SNDLOWAT", 11) == 0) { *valp = SO_SNDLOWAT;
return 0; }
5596 if (
memcmp(
str,
"SO_RCVTIMEO", 11) == 0) { *valp = SO_RCVTIMEO;
return 0; }
5599 if (
memcmp(
str,
"SO_SNDTIMEO", 11) == 0) { *valp = SO_SNDTIMEO;
return 0; }
5602 if (
memcmp(
str,
"SO_WANTMORE", 11) == 0) { *valp = SO_WANTMORE;
return 0; }
5605 if (
memcmp(
str,
"SO_PEERNAME", 11) == 0) { *valp = SO_PEERNAME;
return 0; }
5608 if (
memcmp(
str,
"SO_ALLZONES", 11) == 0) { *valp = SO_ALLZONES;
return 0; }
5611 if (
memcmp(
str,
"SO_PROTOCOL", 11) == 0) { *valp = SO_PROTOCOL;
return 0; }
5614 if (
memcmp(
str,
"SO_RXQ_OVFL", 11) == 0) { *valp = SO_RXQ_OVFL;
return 0; }
5617 if (
memcmp(
str,
"SO_PEEK_OFF", 11) == 0) { *valp = SO_PEEK_OFF;
return 0; }
5619#ifdef SO_SNDBUFFORCE
5620 if (
memcmp(
str,
"SNDBUFFORCE", 11) == 0) { *valp = SO_SNDBUFFORCE;
return 0; }
5622#ifdef SO_RCVBUFFORCE
5623 if (
memcmp(
str,
"RCVBUFFORCE", 11) == 0) { *valp = SO_RCVBUFFORCE;
return 0; }
5625#ifdef SO_USELOOPBACK
5626 if (
memcmp(
str,
"USELOOPBACK", 11) == 0) { *valp = SO_USELOOPBACK;
return 0; }
5628#ifdef SO_WANTOOBFLAG
5629 if (
memcmp(
str,
"WANTOOBFLAG", 11) == 0) { *valp = SO_WANTOOBFLAG;
return 0; }
5631#ifdef SO_TIMESTAMPNS
5632 if (
memcmp(
str,
"TIMESTAMPNS", 11) == 0) { *valp = SO_TIMESTAMPNS;
return 0; }
5634#ifdef SO_WIFI_STATUS
5635 if (
memcmp(
str,
"WIFI_STATUS", 11) == 0) { *valp = SO_WIFI_STATUS;
return 0; }
5637#ifdef SO_LOCK_FILTER
5638 if (
memcmp(
str,
"LOCK_FILTER", 11) == 0) { *valp = SO_LOCK_FILTER;
return 0; }
5644 if (
memcmp(
str,
"SO_REUSEADDR", 12) == 0) { *valp = SO_REUSEADDR;
return 0; }
5647 if (
memcmp(
str,
"SO_REUSEPORT", 12) == 0) { *valp = SO_REUSEPORT;
return 0; }
5650 if (
memcmp(
str,
"SO_DONTROUTE", 12) == 0) { *valp = SO_DONTROUTE;
return 0; }
5653 if (
memcmp(
str,
"SO_BROADCAST", 12) == 0) { *valp = SO_BROADCAST;
return 0; }
5656 if (
memcmp(
str,
"SO_KEEPALIVE", 12) == 0) { *valp = SO_KEEPALIVE;
return 0; }
5659 if (
memcmp(
str,
"SO_OOBINLINE", 12) == 0) { *valp = SO_OOBINLINE;
return 0; }
5662 if (
memcmp(
str,
"SO_DONTTRUNC", 12) == 0) { *valp = SO_DONTTRUNC;
return 0; }
5665 if (
memcmp(
str,
"SO_NOSIGPIPE", 12) == 0) { *valp = SO_NOSIGPIPE;
return 0; }
5668 if (
memcmp(
str,
"SO_TIMESTAMP", 12) == 0) { *valp = SO_TIMESTAMP;
return 0; }
5671 if (
memcmp(
str,
"SO_RECVUCRED", 12) == 0) { *valp = SO_RECVUCRED;
return 0; }
5674 if (
memcmp(
str,
"SO_BUSY_POLL", 12) == 0) { *valp = SO_BUSY_POLL;
return 0; }
5676#ifdef SO_ACCEPTFILTER
5677 if (
memcmp(
str,
"ACCEPTFILTER", 12) == 0) { *valp = SO_ACCEPTFILTER;
return 0; }
5679#ifdef SO_BINDTODEVICE
5680 if (
memcmp(
str,
"BINDTODEVICE", 12) == 0) { *valp = SO_BINDTODEVICE;
return 0; }
5682#ifdef SO_TIMESTAMPING
5683 if (
memcmp(
str,
"TIMESTAMPING", 12) == 0) { *valp = SO_TIMESTAMPING;
return 0; }
5689 if (
memcmp(
str,
"SO_ACCEPTCONN", 13) == 0) { *valp = SO_ACCEPTCONN;
return 0; }
5692 if (
memcmp(
str,
"SO_GET_FILTER", 13) == 0) { *valp = SO_GET_FILTER;
return 0; }
5695 if (
memcmp(
str,
"SO_MAC_EXEMPT", 13) == 0) { *valp = SO_MAC_EXEMPT;
return 0; }
5697#ifdef SO_ATTACH_FILTER
5698 if (
memcmp(
str,
"ATTACH_FILTER", 13) == 0) { *valp = SO_ATTACH_FILTER;
return 0; }
5700#ifdef SO_DETACH_FILTER
5701 if (
memcmp(
str,
"DETACH_FILTER", 13) == 0) { *valp = SO_DETACH_FILTER;
return 0; }
5706#ifdef SO_SNDBUFFORCE
5707 if (
memcmp(
str,
"SO_SNDBUFFORCE", 14) == 0) { *valp = SO_SNDBUFFORCE;
return 0; }
5709#ifdef SO_RCVBUFFORCE
5710 if (
memcmp(
str,
"SO_RCVBUFFORCE", 14) == 0) { *valp = SO_RCVBUFFORCE;
return 0; }
5712#ifdef SO_USELOOPBACK
5713 if (
memcmp(
str,
"SO_USELOOPBACK", 14) == 0) { *valp = SO_USELOOPBACK;
return 0; }
5715#ifdef SO_WANTOOBFLAG
5716 if (
memcmp(
str,
"SO_WANTOOBFLAG", 14) == 0) { *valp = SO_WANTOOBFLAG;
return 0; }
5718#ifdef SO_TIMESTAMPNS
5719 if (
memcmp(
str,
"SO_TIMESTAMPNS", 14) == 0) { *valp = SO_TIMESTAMPNS;
return 0; }
5721#ifdef SO_WIFI_STATUS
5722 if (
memcmp(
str,
"SO_WIFI_STATUS", 14) == 0) { *valp = SO_WIFI_STATUS;
return 0; }
5724#ifdef SO_LOCK_FILTER
5725 if (
memcmp(
str,
"SO_LOCK_FILTER", 14) == 0) { *valp = SO_LOCK_FILTER;
return 0; }
5727#ifdef SO_BPF_EXTENSIONS
5728 if (
memcmp(
str,
"BPF_EXTENSIONS", 14) == 0) { *valp = SO_BPF_EXTENSIONS;
return 0; }
5733#ifdef SO_ACCEPTFILTER
5734 if (
memcmp(
str,
"SO_ACCEPTFILTER", 15) == 0) { *valp = SO_ACCEPTFILTER;
return 0; }
5736#ifdef SO_BINDTODEVICE
5737 if (
memcmp(
str,
"SO_BINDTODEVICE", 15) == 0) { *valp = SO_BINDTODEVICE;
return 0; }
5739#ifdef SO_TIMESTAMPING
5740 if (
memcmp(
str,
"SO_TIMESTAMPING", 15) == 0) { *valp = SO_TIMESTAMPING;
return 0; }
5742#ifdef SO_MAX_PACING_RATE
5743 if (
memcmp(
str,
"MAX_PACING_RATE", 15) == 0) { *valp = SO_MAX_PACING_RATE;
return 0; }
5748#ifdef SO_ATTACH_FILTER
5749 if (
memcmp(
str,
"SO_ATTACH_FILTER", 16) == 0) { *valp = SO_ATTACH_FILTER;
return 0; }
5751#ifdef SO_DETACH_FILTER
5752 if (
memcmp(
str,
"SO_DETACH_FILTER", 16) == 0) { *valp = SO_DETACH_FILTER;
return 0; }
5754#ifdef SO_SELECT_ERR_QUEUE
5755 if (
memcmp(
str,
"SELECT_ERR_QUEUE", 16) == 0) { *valp = SO_SELECT_ERR_QUEUE;
return 0; }
5760#ifdef SO_BPF_EXTENSIONS
5761 if (
memcmp(
str,
"SO_BPF_EXTENSIONS", 17) == 0) { *valp = SO_BPF_EXTENSIONS;
return 0; }
5766#ifdef SO_MAX_PACING_RATE
5767 if (
memcmp(
str,
"SO_MAX_PACING_RATE", 18) == 0) { *valp = SO_MAX_PACING_RATE;
return 0; }
5772#ifdef SO_SELECT_ERR_QUEUE
5773 if (
memcmp(
str,
"SO_SELECT_ERR_QUEUE", 19) == 0) { *valp = SO_SELECT_ERR_QUEUE;
return 0; }
5778#ifdef SO_SECURITY_AUTHENTICATION
5779 if (
memcmp(
str,
"SECURITY_AUTHENTICATION", 23) == 0) { *valp = SO_SECURITY_AUTHENTICATION;
return 0; }
5784#ifdef SO_SECURITY_AUTHENTICATION
5785 if (
memcmp(
str,
"SO_SECURITY_AUTHENTICATION", 26) == 0) { *valp = SO_SECURITY_AUTHENTICATION;
return 0; }
5790#ifdef SO_SECURITY_ENCRYPTION_NETWORK
5791 if (
memcmp(
str,
"SECURITY_ENCRYPTION_NETWORK", 27) == 0) { *valp = SO_SECURITY_ENCRYPTION_NETWORK;
return 0; }
5796#ifdef SO_SECURITY_ENCRYPTION_TRANSPORT
5797 if (
memcmp(
str,
"SECURITY_ENCRYPTION_TRANSPORT", 29) == 0) { *valp = SO_SECURITY_ENCRYPTION_TRANSPORT;
return 0; }
5802#ifdef SO_SECURITY_ENCRYPTION_NETWORK
5803 if (
memcmp(
str,
"SO_SECURITY_ENCRYPTION_NETWORK", 30) == 0) { *valp = SO_SECURITY_ENCRYPTION_NETWORK;
return 0; }
5808#ifdef SO_SECURITY_ENCRYPTION_TRANSPORT
5809 if (
memcmp(
str,
"SO_SECURITY_ENCRYPTION_TRANSPORT", 32) == 0) { *valp = SO_SECURITY_ENCRYPTION_TRANSPORT;
return 0; }
5814 if (!
str || !valp) {}
5826 if (
memcmp(
str,
"TOS", 3) == 0) { *valp = IP_TOS;
return 0; }
5829 if (
memcmp(
str,
"TTL", 3) == 0) { *valp = IP_TTL;
return 0; }
5832 if (
memcmp(
str,
"MTU", 3) == 0) { *valp = IP_MTU;
return 0; }
5838 if (
memcmp(
str,
"IP_TOS", 6) == 0) { *valp = IP_TOS;
return 0; }
5841 if (
memcmp(
str,
"IP_TTL", 6) == 0) { *valp = IP_TTL;
return 0; }
5844 if (
memcmp(
str,
"IP_MTU", 6) == 0) { *valp = IP_MTU;
return 0; }
5847 if (
memcmp(
str,
"MINTTL", 6) == 0) { *valp = IP_MINTTL;
return 0; }
5850 if (
memcmp(
str,
"RECVIF", 6) == 0) { *valp = IP_RECVIF;
return 0; }
5856 if (
memcmp(
str,
"OPTIONS", 7) == 0) { *valp = IP_OPTIONS;
return 0; }
5859 if (
memcmp(
str,
"HDRINCL", 7) == 0) { *valp = IP_HDRINCL;
return 0; }
5862 if (
memcmp(
str,
"RETOPTS", 7) == 0) { *valp = IP_RETOPTS;
return 0; }
5865 if (
memcmp(
str,
"RECVTTL", 7) == 0) { *valp = IP_RECVTTL;
return 0; }
5868 if (
memcmp(
str,
"PKTINFO", 7) == 0) { *valp = IP_PKTINFO;
return 0; }
5871 if (
memcmp(
str,
"RECVERR", 7) == 0) { *valp = IP_RECVERR;
return 0; }
5874 if (
memcmp(
str,
"RECVTOS", 7) == 0) { *valp = IP_RECVTOS;
return 0; }
5877 if (
memcmp(
str,
"PASSSEC", 7) == 0) { *valp = IP_PASSSEC;
return 0; }
5883 if (
memcmp(
str,
"RECVOPTS", 8) == 0) { *valp = IP_RECVOPTS;
return 0; }
5886 if (
memcmp(
str,
"DONTFRAG", 8) == 0) { *valp = IP_DONTFRAG;
return 0; }
5889 if (
memcmp(
str,
"RECVSLLA", 8) == 0) { *valp = IP_RECVSLLA;
return 0; }
5892 if (
memcmp(
str,
"FREEBIND", 8) == 0) { *valp = IP_FREEBIND;
return 0; }
5895 if (
memcmp(
str,
"MSFILTER", 8) == 0) { *valp = IP_MSFILTER;
return 0; }
5901 if (
memcmp(
str,
"IP_MINTTL", 9) == 0) { *valp = IP_MINTTL;
return 0; }
5904 if (
memcmp(
str,
"IP_RECVIF", 9) == 0) { *valp = IP_RECVIF;
return 0; }
5907 if (
memcmp(
str,
"ONESBCAST", 9) == 0) { *valp = IP_ONESBCAST;
return 0; }
5910 if (
memcmp(
str,
"PORTRANGE", 9) == 0) { *valp = IP_PORTRANGE;
return 0; }
5916 if (
memcmp(
str,
"IP_OPTIONS", 10) == 0) { *valp = IP_OPTIONS;
return 0; }
5919 if (
memcmp(
str,
"IP_HDRINCL", 10) == 0) { *valp = IP_HDRINCL;
return 0; }
5922 if (
memcmp(
str,
"IP_RETOPTS", 10) == 0) { *valp = IP_RETOPTS;
return 0; }
5925 if (
memcmp(
str,
"IP_RECVTTL", 10) == 0) { *valp = IP_RECVTTL;
return 0; }
5928 if (
memcmp(
str,
"IP_PKTINFO", 10) == 0) { *valp = IP_PKTINFO;
return 0; }
5931 if (
memcmp(
str,
"IP_RECVERR", 10) == 0) { *valp = IP_RECVERR;
return 0; }
5934 if (
memcmp(
str,
"IP_RECVTOS", 10) == 0) { *valp = IP_RECVTOS;
return 0; }
5937 if (
memcmp(
str,
"IP_PASSSEC", 10) == 0) { *valp = IP_PASSSEC;
return 0; }
5940 if (
memcmp(
str,
"PKTOPTIONS", 10) == 0) { *valp = IP_PKTOPTIONS;
return 0; }
5946 if (
memcmp(
str,
"IP_RECVOPTS", 11) == 0) { *valp = IP_RECVOPTS;
return 0; }
5949 if (
memcmp(
str,
"IP_DONTFRAG", 11) == 0) { *valp = IP_DONTFRAG;
return 0; }
5952 if (
memcmp(
str,
"IP_RECVSLLA", 11) == 0) { *valp = IP_RECVSLLA;
return 0; }
5955 if (
memcmp(
str,
"IP_FREEBIND", 11) == 0) { *valp = IP_FREEBIND;
return 0; }
5958 if (
memcmp(
str,
"IP_MSFILTER", 11) == 0) { *valp = IP_MSFILTER;
return 0; }
5960#ifdef IP_RECVRETOPTS
5961 if (
memcmp(
str,
"RECVRETOPTS", 11) == 0) { *valp = IP_RECVRETOPTS;
return 0; }
5963#ifdef IP_RECVDSTADDR
5964 if (
memcmp(
str,
"RECVDSTADDR", 11) == 0) { *valp = IP_RECVDSTADDR;
return 0; }
5966#ifdef IP_SENDSRCADDR
5967 if (
memcmp(
str,
"SENDSRCADDR", 11) == 0) { *valp = IP_SENDSRCADDR;
return 0; }
5969#ifdef IP_XFRM_POLICY
5970 if (
memcmp(
str,
"XFRM_POLICY", 11) == 0) { *valp = IP_XFRM_POLICY;
return 0; }
5972#ifdef IP_TRANSPARENT
5973 if (
memcmp(
str,
"TRANSPARENT", 11) == 0) { *valp = IP_TRANSPARENT;
return 0; }
5975#ifdef IP_PMTUDISC_DO
5976 if (
memcmp(
str,
"PMTUDISC_DO", 11) == 0) { *valp = IP_PMTUDISC_DO;
return 0; }
5982 if (
memcmp(
str,
"IP_ONESBCAST", 12) == 0) { *valp = IP_ONESBCAST;
return 0; }
5985 if (
memcmp(
str,
"IP_PORTRANGE", 12) == 0) { *valp = IP_PORTRANGE;
return 0; }
5987#ifdef IP_MULTICAST_IF
5988 if (
memcmp(
str,
"MULTICAST_IF", 12) == 0) { *valp = IP_MULTICAST_IF;
return 0; }
5990#ifdef IP_ROUTER_ALERT
5991 if (
memcmp(
str,
"ROUTER_ALERT", 12) == 0) { *valp = IP_ROUTER_ALERT;
return 0; }
5993#ifdef IP_MTU_DISCOVER
5994 if (
memcmp(
str,
"MTU_DISCOVER", 12) == 0) { *valp = IP_MTU_DISCOVER;
return 0; }
5996#ifdef IP_IPSEC_POLICY
5997 if (
memcmp(
str,
"IPSEC_POLICY", 12) == 0) { *valp = IP_IPSEC_POLICY;
return 0; }
5999#ifdef IP_BLOCK_SOURCE
6000 if (
memcmp(
str,
"BLOCK_SOURCE", 12) == 0) { *valp = IP_BLOCK_SOURCE;
return 0; }
6006 if (
memcmp(
str,
"IP_PKTOPTIONS", 13) == 0) { *valp = IP_PKTOPTIONS;
return 0; }
6008#ifdef IP_MULTICAST_TTL
6009 if (
memcmp(
str,
"MULTICAST_TTL", 13) == 0) { *valp = IP_MULTICAST_TTL;
return 0; }
6011#ifdef IP_PMTUDISC_DONT
6012 if (
memcmp(
str,
"PMTUDISC_DONT", 13) == 0) { *valp = IP_PMTUDISC_DONT;
return 0; }
6014#ifdef IP_PMTUDISC_WANT
6015 if (
memcmp(
str,
"PMTUDISC_WANT", 13) == 0) { *valp = IP_PMTUDISC_WANT;
return 0; }
6020#ifdef IP_RECVRETOPTS
6021 if (
memcmp(
str,
"IP_RECVRETOPTS", 14) == 0) { *valp = IP_RECVRETOPTS;
return 0; }
6023#ifdef IP_RECVDSTADDR
6024 if (
memcmp(
str,
"IP_RECVDSTADDR", 14) == 0) { *valp = IP_RECVDSTADDR;
return 0; }
6026#ifdef IP_SENDSRCADDR
6027 if (
memcmp(
str,
"IP_SENDSRCADDR", 14) == 0) { *valp = IP_SENDSRCADDR;
return 0; }
6029#ifdef IP_XFRM_POLICY
6030 if (
memcmp(
str,
"IP_XFRM_POLICY", 14) == 0) { *valp = IP_XFRM_POLICY;
return 0; }
6032#ifdef IP_TRANSPARENT
6033 if (
memcmp(
str,
"IP_TRANSPARENT", 14) == 0) { *valp = IP_TRANSPARENT;
return 0; }
6035#ifdef IP_PMTUDISC_DO
6036 if (
memcmp(
str,
"IP_PMTUDISC_DO", 14) == 0) { *valp = IP_PMTUDISC_DO;
return 0; }
6038#ifdef IP_MULTICAST_LOOP
6039 if (
memcmp(
str,
"MULTICAST_LOOP", 14) == 0) { *valp = IP_MULTICAST_LOOP;
return 0; }
6041#ifdef IP_ADD_MEMBERSHIP
6042 if (
memcmp(
str,
"ADD_MEMBERSHIP", 14) == 0) { *valp = IP_ADD_MEMBERSHIP;
return 0; }
6044#ifdef IP_UNBLOCK_SOURCE
6045 if (
memcmp(
str,
"UNBLOCK_SOURCE", 14) == 0) { *valp = IP_UNBLOCK_SOURCE;
return 0; }
6050#ifdef IP_MULTICAST_IF
6051 if (
memcmp(
str,
"IP_MULTICAST_IF", 15) == 0) { *valp = IP_MULTICAST_IF;
return 0; }
6053#ifdef IP_ROUTER_ALERT
6054 if (
memcmp(
str,
"IP_ROUTER_ALERT", 15) == 0) { *valp = IP_ROUTER_ALERT;
return 0; }
6056#ifdef IP_MTU_DISCOVER
6057 if (
memcmp(
str,
"IP_MTU_DISCOVER", 15) == 0) { *valp = IP_MTU_DISCOVER;
return 0; }
6059#ifdef IP_IPSEC_POLICY
6060 if (
memcmp(
str,
"IP_IPSEC_POLICY", 15) == 0) { *valp = IP_IPSEC_POLICY;
return 0; }
6062#ifdef IP_BLOCK_SOURCE
6063 if (
memcmp(
str,
"IP_BLOCK_SOURCE", 15) == 0) { *valp = IP_BLOCK_SOURCE;
return 0; }
6065#ifdef IP_DROP_MEMBERSHIP
6066 if (
memcmp(
str,
"DROP_MEMBERSHIP", 15) == 0) { *valp = IP_DROP_MEMBERSHIP;
return 0; }
6068#ifdef IP_MAX_MEMBERSHIPS
6069 if (
memcmp(
str,
"MAX_MEMBERSHIPS", 15) == 0) { *valp = IP_MAX_MEMBERSHIPS;
return 0; }
6074#ifdef IP_MULTICAST_TTL
6075 if (
memcmp(
str,
"IP_MULTICAST_TTL", 16) == 0) { *valp = IP_MULTICAST_TTL;
return 0; }
6077#ifdef IP_PMTUDISC_DONT
6078 if (
memcmp(
str,
"IP_PMTUDISC_DONT", 16) == 0) { *valp = IP_PMTUDISC_DONT;
return 0; }
6080#ifdef IP_PMTUDISC_WANT
6081 if (
memcmp(
str,
"IP_PMTUDISC_WANT", 16) == 0) { *valp = IP_PMTUDISC_WANT;
return 0; }
6086#ifdef IP_MULTICAST_LOOP
6087 if (
memcmp(
str,
"IP_MULTICAST_LOOP", 17) == 0) { *valp = IP_MULTICAST_LOOP;
return 0; }
6089#ifdef IP_ADD_MEMBERSHIP
6090 if (
memcmp(
str,
"IP_ADD_MEMBERSHIP", 17) == 0) { *valp = IP_ADD_MEMBERSHIP;
return 0; }
6092#ifdef IP_UNBLOCK_SOURCE
6093 if (
memcmp(
str,
"IP_UNBLOCK_SOURCE", 17) == 0) { *valp = IP_UNBLOCK_SOURCE;
return 0; }
6098#ifdef IP_DROP_MEMBERSHIP
6099 if (
memcmp(
str,
"IP_DROP_MEMBERSHIP", 18) == 0) { *valp = IP_DROP_MEMBERSHIP;
return 0; }
6101#ifdef IP_MAX_MEMBERSHIPS
6102 if (
memcmp(
str,
"IP_MAX_MEMBERSHIPS", 18) == 0) { *valp = IP_MAX_MEMBERSHIPS;
return 0; }
6107#ifdef IP_DEFAULT_MULTICAST_TTL
6108 if (
memcmp(
str,
"DEFAULT_MULTICAST_TTL", 21) == 0) { *valp = IP_DEFAULT_MULTICAST_TTL;
return 0; }
6110#ifdef IP_ADD_SOURCE_MEMBERSHIP
6111 if (
memcmp(
str,
"ADD_SOURCE_MEMBERSHIP", 21) == 0) { *valp = IP_ADD_SOURCE_MEMBERSHIP;
return 0; }
6116#ifdef IP_DEFAULT_MULTICAST_LOOP
6117 if (
memcmp(
str,
"DEFAULT_MULTICAST_LOOP", 22) == 0) { *valp = IP_DEFAULT_MULTICAST_LOOP;
return 0; }
6119#ifdef IP_DROP_SOURCE_MEMBERSHIP
6120 if (
memcmp(
str,
"DROP_SOURCE_MEMBERSHIP", 22) == 0) { *valp = IP_DROP_SOURCE_MEMBERSHIP;
return 0; }
6125#ifdef IP_DEFAULT_MULTICAST_TTL
6126 if (
memcmp(
str,
"IP_DEFAULT_MULTICAST_TTL", 24) == 0) { *valp = IP_DEFAULT_MULTICAST_TTL;
return 0; }
6128#ifdef IP_ADD_SOURCE_MEMBERSHIP
6129 if (
memcmp(
str,
"IP_ADD_SOURCE_MEMBERSHIP", 24) == 0) { *valp = IP_ADD_SOURCE_MEMBERSHIP;
return 0; }
6134#ifdef IP_DEFAULT_MULTICAST_LOOP
6135 if (
memcmp(
str,
"IP_DEFAULT_MULTICAST_LOOP", 25) == 0) { *valp = IP_DEFAULT_MULTICAST_LOOP;
return 0; }
6137#ifdef IP_DROP_SOURCE_MEMBERSHIP
6138 if (
memcmp(
str,
"IP_DROP_SOURCE_MEMBERSHIP", 25) == 0) { *valp = IP_DROP_SOURCE_MEMBERSHIP;
return 0; }
6143 if (!
str || !valp) {}
6151rsock_ipv6_optname_to_int(
const char *
str,
long len,
int *valp)
6156 if (
memcmp(
str,
"RTHDR", 5) == 0) { *valp = IPV6_RTHDR;
return 0; }
6162 if (
memcmp(
str,
"V6ONLY", 6) == 0) { *valp = IPV6_V6ONLY;
return 0; }
6165 if (
memcmp(
str,
"TCLASS", 6) == 0) { *valp = IPV6_TCLASS;
return 0; }
6171 if (
memcmp(
str,
"DSTOPTS", 7) == 0) { *valp = IPV6_DSTOPTS;
return 0; }
6174 if (
memcmp(
str,
"HOPOPTS", 7) == 0) { *valp = IPV6_HOPOPTS;
return 0; }
6177 if (
memcmp(
str,
"NEXTHOP", 7) == 0) { *valp = IPV6_NEXTHOP;
return 0; }
6180 if (
memcmp(
str,
"PATHMTU", 7) == 0) { *valp = IPV6_PATHMTU;
return 0; }
6183 if (
memcmp(
str,
"PKTINFO", 7) == 0) { *valp = IPV6_PKTINFO;
return 0; }
6189 if (
memcmp(
str,
"CHECKSUM", 8) == 0) { *valp = IPV6_CHECKSUM;
return 0; }
6192 if (
memcmp(
str,
"DONTFRAG", 8) == 0) { *valp = IPV6_DONTFRAG;
return 0; }
6195 if (
memcmp(
str,
"HOPLIMIT", 8) == 0) { *valp = IPV6_HOPLIMIT;
return 0; }
6200#ifdef IPV6_RECVRTHDR
6201 if (
memcmp(
str,
"RECVRTHDR", 9) == 0) { *valp = IPV6_RECVRTHDR;
return 0; }
6207 if (
memcmp(
str,
"IPV6_RTHDR", 10) == 0) { *valp = IPV6_RTHDR;
return 0; }
6209#ifdef IPV6_JOIN_GROUP
6210 if (
memcmp(
str,
"JOIN_GROUP", 10) == 0) { *valp = IPV6_JOIN_GROUP;
return 0; }
6212#ifdef IPV6_RECVTCLASS
6213 if (
memcmp(
str,
"RECVTCLASS", 10) == 0) { *valp = IPV6_RECVTCLASS;
return 0; }
6219 if (
memcmp(
str,
"IPV6_V6ONLY", 11) == 0) { *valp = IPV6_V6ONLY;
return 0; }
6222 if (
memcmp(
str,
"IPV6_TCLASS", 11) == 0) { *valp = IPV6_TCLASS;
return 0; }
6224#ifdef IPV6_LEAVE_GROUP
6225 if (
memcmp(
str,
"LEAVE_GROUP", 11) == 0) { *valp = IPV6_LEAVE_GROUP;
return 0; }
6227#ifdef IPV6_RECVDSTOPTS
6228 if (
memcmp(
str,
"RECVDSTOPTS", 11) == 0) { *valp = IPV6_RECVDSTOPTS;
return 0; }
6230#ifdef IPV6_RECVHOPOPTS
6231 if (
memcmp(
str,
"RECVHOPOPTS", 11) == 0) { *valp = IPV6_RECVHOPOPTS;
return 0; }
6233#ifdef IPV6_RECVPKTINFO
6234 if (
memcmp(
str,
"RECVPKTINFO", 11) == 0) { *valp = IPV6_RECVPKTINFO;
return 0; }
6236#ifdef IPV6_RECVPATHMTU
6237 if (
memcmp(
str,
"RECVPATHMTU", 11) == 0) { *valp = IPV6_RECVPATHMTU;
return 0; }
6239#ifdef IPV6_USE_MIN_MTU
6240 if (
memcmp(
str,
"USE_MIN_MTU", 11) == 0) { *valp = IPV6_USE_MIN_MTU;
return 0; }
6246 if (
memcmp(
str,
"IPV6_DSTOPTS", 12) == 0) { *valp = IPV6_DSTOPTS;
return 0; }
6249 if (
memcmp(
str,
"IPV6_HOPOPTS", 12) == 0) { *valp = IPV6_HOPOPTS;
return 0; }
6252 if (
memcmp(
str,
"IPV6_NEXTHOP", 12) == 0) { *valp = IPV6_NEXTHOP;
return 0; }
6255 if (
memcmp(
str,
"IPV6_PATHMTU", 12) == 0) { *valp = IPV6_PATHMTU;
return 0; }
6258 if (
memcmp(
str,
"IPV6_PKTINFO", 12) == 0) { *valp = IPV6_PKTINFO;
return 0; }
6260#ifdef IPV6_MULTICAST_IF
6261 if (
memcmp(
str,
"MULTICAST_IF", 12) == 0) { *valp = IPV6_MULTICAST_IF;
return 0; }
6263#ifdef IPV6_UNICAST_HOPS
6264 if (
memcmp(
str,
"UNICAST_HOPS", 12) == 0) { *valp = IPV6_UNICAST_HOPS;
return 0; }
6266#ifdef IPV6_RECVHOPLIMIT
6267 if (
memcmp(
str,
"RECVHOPLIMIT", 12) == 0) { *valp = IPV6_RECVHOPLIMIT;
return 0; }
6269#ifdef IPV6_RTHDRDSTOPTS
6270 if (
memcmp(
str,
"RTHDRDSTOPTS", 12) == 0) { *valp = IPV6_RTHDRDSTOPTS;
return 0; }
6272#ifdef IPV6_RTHDR_TYPE_0
6273 if (
memcmp(
str,
"RTHDR_TYPE_0", 12) == 0) { *valp = IPV6_RTHDR_TYPE_0;
return 0; }
6279 if (
memcmp(
str,
"IPV6_CHECKSUM", 13) == 0) { *valp = IPV6_CHECKSUM;
return 0; }
6282 if (
memcmp(
str,
"IPV6_DONTFRAG", 13) == 0) { *valp = IPV6_DONTFRAG;
return 0; }
6285 if (
memcmp(
str,
"IPV6_HOPLIMIT", 13) == 0) { *valp = IPV6_HOPLIMIT;
return 0; }
6290#ifdef IPV6_RECVRTHDR
6291 if (
memcmp(
str,
"IPV6_RECVRTHDR", 14) == 0) { *valp = IPV6_RECVRTHDR;
return 0; }
6293#ifdef IPV6_MULTICAST_HOPS
6294 if (
memcmp(
str,
"MULTICAST_HOPS", 14) == 0) { *valp = IPV6_MULTICAST_HOPS;
return 0; }
6296#ifdef IPV6_MULTICAST_LOOP
6297 if (
memcmp(
str,
"MULTICAST_LOOP", 14) == 0) { *valp = IPV6_MULTICAST_LOOP;
return 0; }
6302#ifdef IPV6_JOIN_GROUP
6303 if (
memcmp(
str,
"IPV6_JOIN_GROUP", 15) == 0) { *valp = IPV6_JOIN_GROUP;
return 0; }
6305#ifdef IPV6_RECVTCLASS
6306 if (
memcmp(
str,
"IPV6_RECVTCLASS", 15) == 0) { *valp = IPV6_RECVTCLASS;
return 0; }
6311#ifdef IPV6_LEAVE_GROUP
6312 if (
memcmp(
str,
"IPV6_LEAVE_GROUP", 16) == 0) { *valp = IPV6_LEAVE_GROUP;
return 0; }
6314#ifdef IPV6_RECVDSTOPTS
6315 if (
memcmp(
str,
"IPV6_RECVDSTOPTS", 16) == 0) { *valp = IPV6_RECVDSTOPTS;
return 0; }
6317#ifdef IPV6_RECVHOPOPTS
6318 if (
memcmp(
str,
"IPV6_RECVHOPOPTS", 16) == 0) { *valp = IPV6_RECVHOPOPTS;
return 0; }
6320#ifdef IPV6_RECVPKTINFO
6321 if (
memcmp(
str,
"IPV6_RECVPKTINFO", 16) == 0) { *valp = IPV6_RECVPKTINFO;
return 0; }
6323#ifdef IPV6_RECVPATHMTU
6324 if (
memcmp(
str,
"IPV6_RECVPATHMTU", 16) == 0) { *valp = IPV6_RECVPATHMTU;
return 0; }
6326#ifdef IPV6_USE_MIN_MTU
6327 if (
memcmp(
str,
"IPV6_USE_MIN_MTU", 16) == 0) { *valp = IPV6_USE_MIN_MTU;
return 0; }
6332#ifdef IPV6_MULTICAST_IF
6333 if (
memcmp(
str,
"IPV6_MULTICAST_IF", 17) == 0) { *valp = IPV6_MULTICAST_IF;
return 0; }
6335#ifdef IPV6_UNICAST_HOPS
6336 if (
memcmp(
str,
"IPV6_UNICAST_HOPS", 17) == 0) { *valp = IPV6_UNICAST_HOPS;
return 0; }
6338#ifdef IPV6_RECVHOPLIMIT
6339 if (
memcmp(
str,
"IPV6_RECVHOPLIMIT", 17) == 0) { *valp = IPV6_RECVHOPLIMIT;
return 0; }
6341#ifdef IPV6_RTHDRDSTOPTS
6342 if (
memcmp(
str,
"IPV6_RTHDRDSTOPTS", 17) == 0) { *valp = IPV6_RTHDRDSTOPTS;
return 0; }
6344#ifdef IPV6_RTHDR_TYPE_0
6345 if (
memcmp(
str,
"IPV6_RTHDR_TYPE_0", 17) == 0) { *valp = IPV6_RTHDR_TYPE_0;
return 0; }
6350#ifdef IPV6_MULTICAST_HOPS
6351 if (
memcmp(
str,
"IPV6_MULTICAST_HOPS", 19) == 0) { *valp = IPV6_MULTICAST_HOPS;
return 0; }
6353#ifdef IPV6_MULTICAST_LOOP
6354 if (
memcmp(
str,
"IPV6_MULTICAST_LOOP", 19) == 0) { *valp = IPV6_MULTICAST_LOOP;
return 0; }
6359 if (!
str || !valp) {}
6372 if (
memcmp(
str,
"CORK", 4) == 0) { *valp = TCP_CORK;
return 0; }
6375 if (
memcmp(
str,
"INFO", 4) == 0) { *valp = TCP_INFO;
return 0; }
6381 if (
memcmp(
str,
"NOOPT", 5) == 0) { *valp = TCP_NOOPT;
return 0; }
6387 if (
memcmp(
str,
"MAXSEG", 6) == 0) { *valp = TCP_MAXSEG;
return 0; }
6390 if (
memcmp(
str,
"MD5SIG", 6) == 0) { *valp = TCP_MD5SIG;
return 0; }
6393 if (
memcmp(
str,
"NOPUSH", 6) == 0) { *valp = TCP_NOPUSH;
return 0; }
6396 if (
memcmp(
str,
"SYNCNT", 6) == 0) { *valp = TCP_SYNCNT;
return 0; }
6399 if (
memcmp(
str,
"REPAIR", 6) == 0) { *valp = TCP_REPAIR;
return 0; }
6405 if (
memcmp(
str,
"NODELAY", 7) == 0) { *valp = TCP_NODELAY;
return 0; }
6408 if (
memcmp(
str,
"KEEPCNT", 7) == 0) { *valp = TCP_KEEPCNT;
return 0; }
6411 if (
memcmp(
str,
"LINGER2", 7) == 0) { *valp = TCP_LINGER2;
return 0; }
6417 if (
memcmp(
str,
"TCP_CORK", 8) == 0) { *valp = TCP_CORK;
return 0; }
6420 if (
memcmp(
str,
"TCP_INFO", 8) == 0) { *valp = TCP_INFO;
return 0; }
6423 if (
memcmp(
str,
"KEEPIDLE", 8) == 0) { *valp = TCP_KEEPIDLE;
return 0; }
6426 if (
memcmp(
str,
"QUICKACK", 8) == 0) { *valp = TCP_QUICKACK;
return 0; }
6429 if (
memcmp(
str,
"FASTOPEN", 8) == 0) { *valp = TCP_FASTOPEN;
return 0; }
6435 if (
memcmp(
str,
"TCP_NOOPT", 9) == 0) { *valp = TCP_NOOPT;
return 0; }
6438 if (
memcmp(
str,
"KEEPINTVL", 9) == 0) { *valp = TCP_KEEPINTVL;
return 0; }
6441 if (
memcmp(
str,
"QUEUE_SEQ", 9) == 0) { *valp = TCP_QUEUE_SEQ;
return 0; }
6444 if (
memcmp(
str,
"TIMESTAMP", 9) == 0) { *valp = TCP_TIMESTAMP;
return 0; }
6450 if (
memcmp(
str,
"TCP_MAXSEG", 10) == 0) { *valp = TCP_MAXSEG;
return 0; }
6453 if (
memcmp(
str,
"TCP_MD5SIG", 10) == 0) { *valp = TCP_MD5SIG;
return 0; }
6456 if (
memcmp(
str,
"TCP_NOPUSH", 10) == 0) { *valp = TCP_NOPUSH;
return 0; }
6459 if (
memcmp(
str,
"TCP_SYNCNT", 10) == 0) { *valp = TCP_SYNCNT;
return 0; }
6462 if (
memcmp(
str,
"TCP_REPAIR", 10) == 0) { *valp = TCP_REPAIR;
return 0; }
6464#ifdef TCP_CONGESTION
6465 if (
memcmp(
str,
"CONGESTION", 10) == 0) { *valp = TCP_CONGESTION;
return 0; }
6471 if (
memcmp(
str,
"TCP_NODELAY", 11) == 0) { *valp = TCP_NODELAY;
return 0; }
6474 if (
memcmp(
str,
"TCP_KEEPCNT", 11) == 0) { *valp = TCP_KEEPCNT;
return 0; }
6477 if (
memcmp(
str,
"TCP_LINGER2", 11) == 0) { *valp = TCP_LINGER2;
return 0; }
6479#ifdef TCP_THIN_DUPACK
6480 if (
memcmp(
str,
"THIN_DUPACK", 11) == 0) { *valp = TCP_THIN_DUPACK;
return 0; }
6486 if (
memcmp(
str,
"TCP_KEEPIDLE", 12) == 0) { *valp = TCP_KEEPIDLE;
return 0; }
6489 if (
memcmp(
str,
"TCP_QUICKACK", 12) == 0) { *valp = TCP_QUICKACK;
return 0; }
6492 if (
memcmp(
str,
"TCP_FASTOPEN", 12) == 0) { *valp = TCP_FASTOPEN;
return 0; }
6494#ifdef TCP_DEFER_ACCEPT
6495 if (
memcmp(
str,
"DEFER_ACCEPT", 12) == 0) { *valp = TCP_DEFER_ACCEPT;
return 0; }
6497#ifdef TCP_WINDOW_CLAMP
6498 if (
memcmp(
str,
"WINDOW_CLAMP", 12) == 0) { *valp = TCP_WINDOW_CLAMP;
return 0; }
6500#ifdef TCP_REPAIR_QUEUE
6501 if (
memcmp(
str,
"REPAIR_QUEUE", 12) == 0) { *valp = TCP_REPAIR_QUEUE;
return 0; }
6503#ifdef TCP_USER_TIMEOUT
6504 if (
memcmp(
str,
"USER_TIMEOUT", 12) == 0) { *valp = TCP_USER_TIMEOUT;
return 0; }
6510 if (
memcmp(
str,
"TCP_KEEPINTVL", 13) == 0) { *valp = TCP_KEEPINTVL;
return 0; }
6513 if (
memcmp(
str,
"TCP_QUEUE_SEQ", 13) == 0) { *valp = TCP_QUEUE_SEQ;
return 0; }
6516 if (
memcmp(
str,
"TCP_TIMESTAMP", 13) == 0) { *valp = TCP_TIMESTAMP;
return 0; }
6521#ifdef TCP_CONGESTION
6522 if (
memcmp(
str,
"TCP_CONGESTION", 14) == 0) { *valp = TCP_CONGESTION;
return 0; }
6524#ifdef TCP_REPAIR_OPTIONS
6525 if (
memcmp(
str,
"REPAIR_OPTIONS", 14) == 0) { *valp = TCP_REPAIR_OPTIONS;
return 0; }
6530#ifdef TCP_THIN_DUPACK
6531 if (
memcmp(
str,
"TCP_THIN_DUPACK", 15) == 0) { *valp = TCP_THIN_DUPACK;
return 0; }
6536#ifdef TCP_DEFER_ACCEPT
6537 if (
memcmp(
str,
"TCP_DEFER_ACCEPT", 16) == 0) { *valp = TCP_DEFER_ACCEPT;
return 0; }
6539#ifdef TCP_WINDOW_CLAMP
6540 if (
memcmp(
str,
"TCP_WINDOW_CLAMP", 16) == 0) { *valp = TCP_WINDOW_CLAMP;
return 0; }
6542#ifdef TCP_REPAIR_QUEUE
6543 if (
memcmp(
str,
"TCP_REPAIR_QUEUE", 16) == 0) { *valp = TCP_REPAIR_QUEUE;
return 0; }
6545#ifdef TCP_USER_TIMEOUT
6546 if (
memcmp(
str,
"TCP_USER_TIMEOUT", 16) == 0) { *valp = TCP_USER_TIMEOUT;
return 0; }
6551#ifdef TCP_REPAIR_OPTIONS
6552 if (
memcmp(
str,
"TCP_REPAIR_OPTIONS", 18) == 0) { *valp = TCP_REPAIR_OPTIONS;
return 0; }
6557#ifdef TCP_COOKIE_TRANSACTIONS
6558 if (
memcmp(
str,
"COOKIE_TRANSACTIONS", 19) == 0) { *valp = TCP_COOKIE_TRANSACTIONS;
return 0; }
6563#ifdef TCP_THIN_LINEAR_TIMEOUTS
6564 if (
memcmp(
str,
"THIN_LINEAR_TIMEOUTS", 20) == 0) { *valp = TCP_THIN_LINEAR_TIMEOUTS;
return 0; }
6569#ifdef TCP_COOKIE_TRANSACTIONS
6570 if (
memcmp(
str,
"TCP_COOKIE_TRANSACTIONS", 23) == 0) { *valp = TCP_COOKIE_TRANSACTIONS;
return 0; }
6575#ifdef TCP_THIN_LINEAR_TIMEOUTS
6576 if (
memcmp(
str,
"TCP_THIN_LINEAR_TIMEOUTS", 24) == 0) { *valp = TCP_THIN_LINEAR_TIMEOUTS;
return 0; }
6581 if (!
str || !valp) {}
6593 if (
memcmp(
str,
"CORK", 4) == 0) { *valp = UDP_CORK;
return 0; }
6599 if (
memcmp(
str,
"UDP_CORK", 8) == 0) { *valp = UDP_CORK;
return 0; }
6604 if (!
str || !valp) {}
6645 if (!
str || !valp) {}
6657 if (
memcmp(
str,
"CREDS", 5) == 0) { *valp = SCM_CREDS;
return 0; }
6660 if (
memcmp(
str,
"UCRED", 5) == 0) { *valp = SCM_UCRED;
return 0; }
6666 if (
memcmp(
str,
"RIGHTS", 6) == 0) { *valp = SCM_RIGHTS;
return 0; }
6672 if (
memcmp(
str,
"BINTIME", 7) == 0) { *valp = SCM_BINTIME;
return 0; }
6678 if (
memcmp(
str,
"SCM_CREDS", 9) == 0) { *valp = SCM_CREDS;
return 0; }
6681 if (
memcmp(
str,
"SCM_UCRED", 9) == 0) { *valp = SCM_UCRED;
return 0; }
6684 if (
memcmp(
str,
"TIMESTAMP", 9) == 0) { *valp = SCM_TIMESTAMP;
return 0; }
6690 if (
memcmp(
str,
"SCM_RIGHTS", 10) == 0) { *valp = SCM_RIGHTS;
return 0; }
6696 if (
memcmp(
str,
"SCM_BINTIME", 11) == 0) { *valp = SCM_BINTIME;
return 0; }
6698#ifdef SCM_TIMESTAMPNS
6699 if (
memcmp(
str,
"TIMESTAMPNS", 11) == 0) { *valp = SCM_TIMESTAMPNS;
return 0; }
6701#ifdef SCM_CREDENTIALS
6702 if (
memcmp(
str,
"CREDENTIALS", 11) == 0) { *valp = SCM_CREDENTIALS;
return 0; }
6704#ifdef SCM_WIFI_STATUS
6705 if (
memcmp(
str,
"WIFI_STATUS", 11) == 0) { *valp = SCM_WIFI_STATUS;
return 0; }
6710#ifdef SCM_TIMESTAMPING
6711 if (
memcmp(
str,
"TIMESTAMPING", 12) == 0) { *valp = SCM_TIMESTAMPING;
return 0; }
6717 if (
memcmp(
str,
"SCM_TIMESTAMP", 13) == 0) { *valp = SCM_TIMESTAMP;
return 0; }
6722#ifdef SCM_TIMESTAMPNS
6723 if (
memcmp(
str,
"SCM_TIMESTAMPNS", 15) == 0) { *valp = SCM_TIMESTAMPNS;
return 0; }
6725#ifdef SCM_CREDENTIALS
6726 if (
memcmp(
str,
"SCM_CREDENTIALS", 15) == 0) { *valp = SCM_CREDENTIALS;
return 0; }
6728#ifdef SCM_WIFI_STATUS
6729 if (
memcmp(
str,
"SCM_WIFI_STATUS", 15) == 0) { *valp = SCM_WIFI_STATUS;
return 0; }
6734#ifdef SCM_TIMESTAMPING
6735 if (
memcmp(
str,
"SCM_TIMESTAMPING", 16) == 0) { *valp = SCM_TIMESTAMPING;
return 0; }
6740 if (!
str || !valp) {}
ID rsock_intern_ipv6_optname(int val)
ID rsock_intern_tcp_optname(int val)
ID rsock_intern_scm_optname(int val)
int rsock_family_to_int(const char *str, long len, int *valp)
int rsock_so_optname_to_int(const char *str, long len, int *valp)
int rsock_socktype_to_int(const char *str, long len, int *valp)
int rsock_ip_level_to_int(const char *str, long len, int *valp)
int rsock_scm_optname_to_int(const char *str, long len, int *valp)
ID rsock_intern_family(int val)
int rsock_ip_optname_to_int(const char *str, long len, int *valp)
ID rsock_intern_udp_optname(int val)
ID rsock_intern_socktype(int val)
ID rsock_intern_iplevel(int val)
ID rsock_intern_local_optname(int val)
int rsock_unknown_level_to_int(const char *str, long len, int *valp)
ID rsock_intern_ip_optname(int val)
ID rsock_intern_so_optname(int val)
int rsock_ipproto_to_int(const char *str, long len, int *valp)
ID rsock_intern_family_noprefix(int val)
int rsock_udp_optname_to_int(const char *str, long len, int *valp)
int rsock_tcp_optname_to_int(const char *str, long len, int *valp)
int rsock_shutdown_how_to_int(const char *str, long len, int *valp)
ID rsock_intern_ipproto(int val)
ID rsock_intern_protocol_family(int val)
char str[HTML_ESCAPE_MAX_LEN+1]
VALUE rb_define_module_under(VALUE, const char *)
#define INADDR_ALLHOSTS_GROUP
#define INADDR_MAX_LOCAL_GROUP
#define INADDR_UNSPEC_GROUP
#define IPPORT_USERRESERVED
st_table * st_init_numtable(void)
int st_insert(st_table *tab, st_data_t key, st_data_t value)
int st_lookup(st_table *tab, st_data_t key, st_data_t *value)