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)
49 rb_define_const(rb_mSockConst,
"SOCK_STREAM", INTEGER2NUM(SOCK_STREAM));
51#if defined(SOCK_DGRAM)
69#if defined(SOCK_SEQPACKET)
71 rb_define_const(rb_cSocket,
"SOCK_SEQPACKET", INTEGER2NUM(SOCK_SEQPACKET));
73 rb_define_const(rb_mSockConst,
"SOCK_SEQPACKET", INTEGER2NUM(SOCK_SEQPACKET));
75#if defined(SOCK_PACKET)
79 rb_define_const(rb_mSockConst,
"SOCK_PACKET", INTEGER2NUM(SOCK_PACKET));
81#if defined(SOCK_NONBLOCK)
83 rb_define_const(rb_cSocket,
"SOCK_NONBLOCK", INTEGER2NUM(SOCK_NONBLOCK));
85 rb_define_const(rb_mSockConst,
"SOCK_NONBLOCK", INTEGER2NUM(SOCK_NONBLOCK));
87#if defined(SOCK_CLOEXEC)
91 rb_define_const(rb_mSockConst,
"SOCK_CLOEXEC", INTEGER2NUM(SOCK_CLOEXEC));
169#if defined(AF_APPLETALK)
171 rb_define_const(rb_cSocket,
"AF_APPLETALK", INTEGER2NUM(AF_APPLETALK));
173 rb_define_const(rb_mSockConst,
"AF_APPLETALK", INTEGER2NUM(AF_APPLETALK));
175#if defined(PF_APPLETALK)
177 rb_define_const(rb_cSocket,
"PF_APPLETALK", INTEGER2NUM(PF_APPLETALK));
179 rb_define_const(rb_mSockConst,
"PF_APPLETALK", INTEGER2NUM(PF_APPLETALK));
193#if defined(AF_IMPLINK)
199#if defined(PF_IMPLINK)
277#if defined(AF_DATAKIT)
283#if defined(PF_DATAKIT)
325#if defined(AF_DECnet)
331#if defined(PF_DECnet)
361#if defined(AF_HYLINK)
367#if defined(PF_HYLINK)
469#if defined(AF_SYSTEM)
475#if defined(PF_SYSTEM)
481#if defined(AF_NETBIOS)
487#if defined(PF_NETBIOS)
517#if defined(AF_NETGRAPH)
521 rb_define_const(rb_mSockConst,
"AF_NETGRAPH", INTEGER2NUM(AF_NETGRAPH));
523#if defined(PF_NETGRAPH)
527 rb_define_const(rb_mSockConst,
"PF_NETGRAPH", INTEGER2NUM(PF_NETGRAPH));
541#if defined(AF_PACKET)
547#if defined(PF_PACKET)
589#if defined(AF_NETLINK)
595#if defined(PF_NETLINK)
685#if defined(AF_BLUETOOTH)
687 rb_define_const(rb_cSocket,
"AF_BLUETOOTH", INTEGER2NUM(AF_BLUETOOTH));
689 rb_define_const(rb_mSockConst,
"AF_BLUETOOTH", INTEGER2NUM(AF_BLUETOOTH));
691#if defined(PF_BLUETOOTH)
693 rb_define_const(rb_cSocket,
"PF_BLUETOOTH", INTEGER2NUM(PF_BLUETOOTH));
695 rb_define_const(rb_mSockConst,
"PF_BLUETOOTH", INTEGER2NUM(PF_BLUETOOTH));
757#if defined(MSG_DONTROUTE)
759 rb_define_const(rb_cSocket,
"MSG_DONTROUTE", INTEGER2NUM(MSG_DONTROUTE));
761 rb_define_const(rb_mSockConst,
"MSG_DONTROUTE", INTEGER2NUM(MSG_DONTROUTE));
769#if defined(MSG_TRUNC)
775#if defined(MSG_CTRUNC)
781#if defined(MSG_WAITALL)
785 rb_define_const(rb_mSockConst,
"MSG_WAITALL", INTEGER2NUM(MSG_WAITALL));
787#if defined(MSG_DONTWAIT)
789 rb_define_const(rb_cSocket,
"MSG_DONTWAIT", INTEGER2NUM(MSG_DONTWAIT));
791 rb_define_const(rb_mSockConst,
"MSG_DONTWAIT", INTEGER2NUM(MSG_DONTWAIT));
799#if defined(MSG_FLUSH)
817#if defined(MSG_HAVEMORE)
819 rb_define_const(rb_cSocket,
"MSG_HAVEMORE", INTEGER2NUM(MSG_HAVEMORE));
821 rb_define_const(rb_mSockConst,
"MSG_HAVEMORE", INTEGER2NUM(MSG_HAVEMORE));
823#if defined(MSG_RCVMORE)
827 rb_define_const(rb_mSockConst,
"MSG_RCVMORE", INTEGER2NUM(MSG_RCVMORE));
829#if defined(MSG_COMPAT)
835#if defined(MSG_PROXY)
853#if defined(MSG_CONFIRM)
857 rb_define_const(rb_mSockConst,
"MSG_CONFIRM", INTEGER2NUM(MSG_CONFIRM));
865#if defined(MSG_ERRQUEUE)
867 rb_define_const(rb_cSocket,
"MSG_ERRQUEUE", INTEGER2NUM(MSG_ERRQUEUE));
869 rb_define_const(rb_mSockConst,
"MSG_ERRQUEUE", INTEGER2NUM(MSG_ERRQUEUE));
871#if defined(MSG_NOSIGNAL)
873 rb_define_const(rb_cSocket,
"MSG_NOSIGNAL", INTEGER2NUM(MSG_NOSIGNAL));
875 rb_define_const(rb_mSockConst,
"MSG_NOSIGNAL", INTEGER2NUM(MSG_NOSIGNAL));
883#if defined(MSG_FASTOPEN)
885 rb_define_const(rb_cSocket,
"MSG_FASTOPEN", INTEGER2NUM(MSG_FASTOPEN));
887 rb_define_const(rb_mSockConst,
"MSG_FASTOPEN", INTEGER2NUM(MSG_FASTOPEN));
889#if defined(SOL_SOCKET)
913#if defined(SOL_ATALK)
931#if defined(IPPROTO_IP)
937#if defined(IPPROTO_ICMP)
939 rb_define_const(rb_cSocket,
"IPPROTO_ICMP", INTEGER2NUM(IPPROTO_ICMP));
941 rb_define_const(rb_mSockConst,
"IPPROTO_ICMP", INTEGER2NUM(IPPROTO_ICMP));
943#if defined(IPPROTO_IGMP)
945 rb_define_const(rb_cSocket,
"IPPROTO_IGMP", INTEGER2NUM(IPPROTO_IGMP));
947 rb_define_const(rb_mSockConst,
"IPPROTO_IGMP", INTEGER2NUM(IPPROTO_IGMP));
949#if defined(IPPROTO_GGP)
953 rb_define_const(rb_mSockConst,
"IPPROTO_GGP", INTEGER2NUM(IPPROTO_GGP));
955#if defined(IPPROTO_TCP)
959 rb_define_const(rb_mSockConst,
"IPPROTO_TCP", INTEGER2NUM(IPPROTO_TCP));
961#if defined(IPPROTO_EGP)
965 rb_define_const(rb_mSockConst,
"IPPROTO_EGP", INTEGER2NUM(IPPROTO_EGP));
967#if defined(IPPROTO_PUP)
971 rb_define_const(rb_mSockConst,
"IPPROTO_PUP", INTEGER2NUM(IPPROTO_PUP));
973#if defined(IPPROTO_UDP)
977 rb_define_const(rb_mSockConst,
"IPPROTO_UDP", INTEGER2NUM(IPPROTO_UDP));
979#if defined(IPPROTO_IDP)
983 rb_define_const(rb_mSockConst,
"IPPROTO_IDP", INTEGER2NUM(IPPROTO_IDP));
985#if defined(IPPROTO_HELLO)
987 rb_define_const(rb_cSocket,
"IPPROTO_HELLO", INTEGER2NUM(IPPROTO_HELLO));
989 rb_define_const(rb_mSockConst,
"IPPROTO_HELLO", INTEGER2NUM(IPPROTO_HELLO));
991#if defined(IPPROTO_ND)
997#if defined(IPPROTO_TP)
1001 rb_define_const(rb_mSockConst,
"IPPROTO_TP", INTEGER2NUM(IPPROTO_TP));
1003#if defined(IPPROTO_XTP)
1007 rb_define_const(rb_mSockConst,
"IPPROTO_XTP", INTEGER2NUM(IPPROTO_XTP));
1009#if defined(IPPROTO_EON)
1013 rb_define_const(rb_mSockConst,
"IPPROTO_EON", INTEGER2NUM(IPPROTO_EON));
1015#if defined(IPPROTO_BIP)
1019 rb_define_const(rb_mSockConst,
"IPPROTO_BIP", INTEGER2NUM(IPPROTO_BIP));
1021#if defined(IPPROTO_AH)
1025 rb_define_const(rb_mSockConst,
"IPPROTO_AH", INTEGER2NUM(IPPROTO_AH));
1027#if defined(IPPROTO_DSTOPTS)
1029 rb_define_const(rb_cSocket,
"IPPROTO_DSTOPTS", INTEGER2NUM(IPPROTO_DSTOPTS));
1031 rb_define_const(rb_mSockConst,
"IPPROTO_DSTOPTS", INTEGER2NUM(IPPROTO_DSTOPTS));
1033#if defined(IPPROTO_ESP)
1037 rb_define_const(rb_mSockConst,
"IPPROTO_ESP", INTEGER2NUM(IPPROTO_ESP));
1039#if defined(IPPROTO_FRAGMENT)
1041 rb_define_const(rb_cSocket,
"IPPROTO_FRAGMENT", INTEGER2NUM(IPPROTO_FRAGMENT));
1043 rb_define_const(rb_mSockConst,
"IPPROTO_FRAGMENT", INTEGER2NUM(IPPROTO_FRAGMENT));
1045#if defined(IPPROTO_HOPOPTS)
1047 rb_define_const(rb_cSocket,
"IPPROTO_HOPOPTS", INTEGER2NUM(IPPROTO_HOPOPTS));
1049 rb_define_const(rb_mSockConst,
"IPPROTO_HOPOPTS", INTEGER2NUM(IPPROTO_HOPOPTS));
1051#if defined(IPPROTO_ICMPV6)
1053 rb_define_const(rb_cSocket,
"IPPROTO_ICMPV6", INTEGER2NUM(IPPROTO_ICMPV6));
1055 rb_define_const(rb_mSockConst,
"IPPROTO_ICMPV6", INTEGER2NUM(IPPROTO_ICMPV6));
1057#if defined(IPPROTO_IPV6)
1059 rb_define_const(rb_cSocket,
"IPPROTO_IPV6", INTEGER2NUM(IPPROTO_IPV6));
1061 rb_define_const(rb_mSockConst,
"IPPROTO_IPV6", INTEGER2NUM(IPPROTO_IPV6));
1063#if defined(IPPROTO_NONE)
1065 rb_define_const(rb_cSocket,
"IPPROTO_NONE", INTEGER2NUM(IPPROTO_NONE));
1067 rb_define_const(rb_mSockConst,
"IPPROTO_NONE", INTEGER2NUM(IPPROTO_NONE));
1069#if defined(IPPROTO_ROUTING)
1071 rb_define_const(rb_cSocket,
"IPPROTO_ROUTING", INTEGER2NUM(IPPROTO_ROUTING));
1073 rb_define_const(rb_mSockConst,
"IPPROTO_ROUTING", INTEGER2NUM(IPPROTO_ROUTING));
1075#if defined(IPPROTO_RAW)
1079 rb_define_const(rb_mSockConst,
"IPPROTO_RAW", INTEGER2NUM(IPPROTO_RAW));
1081#if defined(IPPROTO_MAX)
1085 rb_define_const(rb_mSockConst,
"IPPROTO_MAX", INTEGER2NUM(IPPROTO_MAX));
1087#if defined(IPPORT_RESERVED)
1089 rb_define_const(rb_cSocket,
"IPPORT_RESERVED", INTEGER2NUM(IPPORT_RESERVED));
1091 rb_define_const(rb_mSockConst,
"IPPORT_RESERVED", INTEGER2NUM(IPPORT_RESERVED));
1093#if defined(IPPORT_USERRESERVED)
1095 rb_define_const(rb_cSocket,
"IPPORT_USERRESERVED", INTEGER2NUM(IPPORT_USERRESERVED));
1097 rb_define_const(rb_mSockConst,
"IPPORT_USERRESERVED", INTEGER2NUM(IPPORT_USERRESERVED));
1099#if defined(INADDR_ANY)
1103 rb_define_const(rb_mSockConst,
"INADDR_ANY", INTEGER2NUM(INADDR_ANY));
1105#if defined(INADDR_BROADCAST)
1107 rb_define_const(rb_cSocket,
"INADDR_BROADCAST", INTEGER2NUM(INADDR_BROADCAST));
1109 rb_define_const(rb_mSockConst,
"INADDR_BROADCAST", INTEGER2NUM(INADDR_BROADCAST));
1111#if defined(INADDR_LOOPBACK)
1113 rb_define_const(rb_cSocket,
"INADDR_LOOPBACK", INTEGER2NUM(INADDR_LOOPBACK));
1115 rb_define_const(rb_mSockConst,
"INADDR_LOOPBACK", INTEGER2NUM(INADDR_LOOPBACK));
1117#if defined(INADDR_UNSPEC_GROUP)
1119 rb_define_const(rb_cSocket,
"INADDR_UNSPEC_GROUP", INTEGER2NUM(INADDR_UNSPEC_GROUP));
1121 rb_define_const(rb_mSockConst,
"INADDR_UNSPEC_GROUP", INTEGER2NUM(INADDR_UNSPEC_GROUP));
1123#if defined(INADDR_ALLHOSTS_GROUP)
1125 rb_define_const(rb_cSocket,
"INADDR_ALLHOSTS_GROUP", INTEGER2NUM(INADDR_ALLHOSTS_GROUP));
1127 rb_define_const(rb_mSockConst,
"INADDR_ALLHOSTS_GROUP", INTEGER2NUM(INADDR_ALLHOSTS_GROUP));
1129#if defined(INADDR_MAX_LOCAL_GROUP)
1131 rb_define_const(rb_cSocket,
"INADDR_MAX_LOCAL_GROUP", INTEGER2NUM(INADDR_MAX_LOCAL_GROUP));
1133 rb_define_const(rb_mSockConst,
"INADDR_MAX_LOCAL_GROUP", INTEGER2NUM(INADDR_MAX_LOCAL_GROUP));
1135#if defined(INADDR_NONE)
1139 rb_define_const(rb_mSockConst,
"INADDR_NONE", INTEGER2NUM(INADDR_NONE));
1141#if defined(IP_OPTIONS)
1145 rb_define_const(rb_mSockConst,
"IP_OPTIONS", INTEGER2NUM(IP_OPTIONS));
1147#if defined(IP_HDRINCL)
1151 rb_define_const(rb_mSockConst,
"IP_HDRINCL", INTEGER2NUM(IP_HDRINCL));
1165#if defined(IP_RECVOPTS)
1169 rb_define_const(rb_mSockConst,
"IP_RECVOPTS", INTEGER2NUM(IP_RECVOPTS));
1171#if defined(IP_RECVRETOPTS)
1173 rb_define_const(rb_cSocket,
"IP_RECVRETOPTS", INTEGER2NUM(IP_RECVRETOPTS));
1175 rb_define_const(rb_mSockConst,
"IP_RECVRETOPTS", INTEGER2NUM(IP_RECVRETOPTS));
1177#if defined(IP_RECVDSTADDR)
1179 rb_define_const(rb_cSocket,
"IP_RECVDSTADDR", INTEGER2NUM(IP_RECVDSTADDR));
1181 rb_define_const(rb_mSockConst,
"IP_RECVDSTADDR", INTEGER2NUM(IP_RECVDSTADDR));
1183#if defined(IP_RETOPTS)
1187 rb_define_const(rb_mSockConst,
"IP_RETOPTS", INTEGER2NUM(IP_RETOPTS));
1189#if defined(IP_MINTTL)
1195#if defined(IP_DONTFRAG)
1199 rb_define_const(rb_mSockConst,
"IP_DONTFRAG", INTEGER2NUM(IP_DONTFRAG));
1201#if defined(IP_SENDSRCADDR)
1203 rb_define_const(rb_cSocket,
"IP_SENDSRCADDR", INTEGER2NUM(IP_SENDSRCADDR));
1205 rb_define_const(rb_mSockConst,
"IP_SENDSRCADDR", INTEGER2NUM(IP_SENDSRCADDR));
1207#if defined(IP_ONESBCAST)
1209 rb_define_const(rb_cSocket,
"IP_ONESBCAST", INTEGER2NUM(IP_ONESBCAST));
1211 rb_define_const(rb_mSockConst,
"IP_ONESBCAST", INTEGER2NUM(IP_ONESBCAST));
1213#if defined(IP_RECVTTL)
1217 rb_define_const(rb_mSockConst,
"IP_RECVTTL", INTEGER2NUM(IP_RECVTTL));
1219#if defined(IP_RECVIF)
1225#if defined(IP_RECVSLLA)
1229 rb_define_const(rb_mSockConst,
"IP_RECVSLLA", INTEGER2NUM(IP_RECVSLLA));
1231#if defined(IP_PORTRANGE)
1233 rb_define_const(rb_cSocket,
"IP_PORTRANGE", INTEGER2NUM(IP_PORTRANGE));
1235 rb_define_const(rb_mSockConst,
"IP_PORTRANGE", INTEGER2NUM(IP_PORTRANGE));
1237#if defined(IP_MULTICAST_IF)
1239 rb_define_const(rb_cSocket,
"IP_MULTICAST_IF", INTEGER2NUM(IP_MULTICAST_IF));
1241 rb_define_const(rb_mSockConst,
"IP_MULTICAST_IF", INTEGER2NUM(IP_MULTICAST_IF));
1243#if defined(IP_MULTICAST_TTL)
1245 rb_define_const(rb_cSocket,
"IP_MULTICAST_TTL", INTEGER2NUM(IP_MULTICAST_TTL));
1247 rb_define_const(rb_mSockConst,
"IP_MULTICAST_TTL", INTEGER2NUM(IP_MULTICAST_TTL));
1249#if defined(IP_MULTICAST_LOOP)
1251 rb_define_const(rb_cSocket,
"IP_MULTICAST_LOOP", INTEGER2NUM(IP_MULTICAST_LOOP));
1253 rb_define_const(rb_mSockConst,
"IP_MULTICAST_LOOP", INTEGER2NUM(IP_MULTICAST_LOOP));
1255#if defined(IP_ADD_MEMBERSHIP)
1257 rb_define_const(rb_cSocket,
"IP_ADD_MEMBERSHIP", INTEGER2NUM(IP_ADD_MEMBERSHIP));
1259 rb_define_const(rb_mSockConst,
"IP_ADD_MEMBERSHIP", INTEGER2NUM(IP_ADD_MEMBERSHIP));
1261#if defined(IP_DROP_MEMBERSHIP)
1263 rb_define_const(rb_cSocket,
"IP_DROP_MEMBERSHIP", INTEGER2NUM(IP_DROP_MEMBERSHIP));
1265 rb_define_const(rb_mSockConst,
"IP_DROP_MEMBERSHIP", INTEGER2NUM(IP_DROP_MEMBERSHIP));
1267#if defined(IP_DEFAULT_MULTICAST_TTL)
1269 rb_define_const(rb_cSocket,
"IP_DEFAULT_MULTICAST_TTL", INTEGER2NUM(IP_DEFAULT_MULTICAST_TTL));
1271 rb_define_const(rb_mSockConst,
"IP_DEFAULT_MULTICAST_TTL", INTEGER2NUM(IP_DEFAULT_MULTICAST_TTL));
1273#if defined(IP_DEFAULT_MULTICAST_LOOP)
1275 rb_define_const(rb_cSocket,
"IP_DEFAULT_MULTICAST_LOOP", INTEGER2NUM(IP_DEFAULT_MULTICAST_LOOP));
1277 rb_define_const(rb_mSockConst,
"IP_DEFAULT_MULTICAST_LOOP", INTEGER2NUM(IP_DEFAULT_MULTICAST_LOOP));
1279#if defined(IP_MAX_MEMBERSHIPS)
1281 rb_define_const(rb_cSocket,
"IP_MAX_MEMBERSHIPS", INTEGER2NUM(IP_MAX_MEMBERSHIPS));
1283 rb_define_const(rb_mSockConst,
"IP_MAX_MEMBERSHIPS", INTEGER2NUM(IP_MAX_MEMBERSHIPS));
1285#if defined(IP_ROUTER_ALERT)
1287 rb_define_const(rb_cSocket,
"IP_ROUTER_ALERT", INTEGER2NUM(IP_ROUTER_ALERT));
1289 rb_define_const(rb_mSockConst,
"IP_ROUTER_ALERT", INTEGER2NUM(IP_ROUTER_ALERT));
1291#if defined(IP_PKTINFO)
1295 rb_define_const(rb_mSockConst,
"IP_PKTINFO", INTEGER2NUM(IP_PKTINFO));
1297#if defined(IP_PKTOPTIONS)
1299 rb_define_const(rb_cSocket,
"IP_PKTOPTIONS", INTEGER2NUM(IP_PKTOPTIONS));
1301 rb_define_const(rb_mSockConst,
"IP_PKTOPTIONS", INTEGER2NUM(IP_PKTOPTIONS));
1303#if defined(IP_MTU_DISCOVER)
1305 rb_define_const(rb_cSocket,
"IP_MTU_DISCOVER", INTEGER2NUM(IP_MTU_DISCOVER));
1307 rb_define_const(rb_mSockConst,
"IP_MTU_DISCOVER", INTEGER2NUM(IP_MTU_DISCOVER));
1309#if defined(IP_RECVERR)
1313 rb_define_const(rb_mSockConst,
"IP_RECVERR", INTEGER2NUM(IP_RECVERR));
1315#if defined(IP_RECVTOS)
1319 rb_define_const(rb_mSockConst,
"IP_RECVTOS", INTEGER2NUM(IP_RECVTOS));
1327#if defined(IP_FREEBIND)
1331 rb_define_const(rb_mSockConst,
"IP_FREEBIND", INTEGER2NUM(IP_FREEBIND));
1333#if defined(IP_IPSEC_POLICY)
1335 rb_define_const(rb_cSocket,
"IP_IPSEC_POLICY", INTEGER2NUM(IP_IPSEC_POLICY));
1337 rb_define_const(rb_mSockConst,
"IP_IPSEC_POLICY", INTEGER2NUM(IP_IPSEC_POLICY));
1339#if defined(IP_XFRM_POLICY)
1341 rb_define_const(rb_cSocket,
"IP_XFRM_POLICY", INTEGER2NUM(IP_XFRM_POLICY));
1343 rb_define_const(rb_mSockConst,
"IP_XFRM_POLICY", INTEGER2NUM(IP_XFRM_POLICY));
1345#if defined(IP_PASSSEC)
1349 rb_define_const(rb_mSockConst,
"IP_PASSSEC", INTEGER2NUM(IP_PASSSEC));
1351#if defined(IP_TRANSPARENT)
1353 rb_define_const(rb_cSocket,
"IP_TRANSPARENT", INTEGER2NUM(IP_TRANSPARENT));
1355 rb_define_const(rb_mSockConst,
"IP_TRANSPARENT", INTEGER2NUM(IP_TRANSPARENT));
1357#if defined(IP_PMTUDISC_DONT)
1359 rb_define_const(rb_cSocket,
"IP_PMTUDISC_DONT", INTEGER2NUM(IP_PMTUDISC_DONT));
1361 rb_define_const(rb_mSockConst,
"IP_PMTUDISC_DONT", INTEGER2NUM(IP_PMTUDISC_DONT));
1363#if defined(IP_PMTUDISC_WANT)
1365 rb_define_const(rb_cSocket,
"IP_PMTUDISC_WANT", INTEGER2NUM(IP_PMTUDISC_WANT));
1367 rb_define_const(rb_mSockConst,
"IP_PMTUDISC_WANT", INTEGER2NUM(IP_PMTUDISC_WANT));
1369#if defined(IP_PMTUDISC_DO)
1371 rb_define_const(rb_cSocket,
"IP_PMTUDISC_DO", INTEGER2NUM(IP_PMTUDISC_DO));
1373 rb_define_const(rb_mSockConst,
"IP_PMTUDISC_DO", INTEGER2NUM(IP_PMTUDISC_DO));
1375#if defined(IP_UNBLOCK_SOURCE)
1377 rb_define_const(rb_cSocket,
"IP_UNBLOCK_SOURCE", INTEGER2NUM(IP_UNBLOCK_SOURCE));
1379 rb_define_const(rb_mSockConst,
"IP_UNBLOCK_SOURCE", INTEGER2NUM(IP_UNBLOCK_SOURCE));
1381#if defined(IP_BLOCK_SOURCE)
1383 rb_define_const(rb_cSocket,
"IP_BLOCK_SOURCE", INTEGER2NUM(IP_BLOCK_SOURCE));
1385 rb_define_const(rb_mSockConst,
"IP_BLOCK_SOURCE", INTEGER2NUM(IP_BLOCK_SOURCE));
1387#if defined(IP_ADD_SOURCE_MEMBERSHIP)
1389 rb_define_const(rb_cSocket,
"IP_ADD_SOURCE_MEMBERSHIP", INTEGER2NUM(IP_ADD_SOURCE_MEMBERSHIP));
1391 rb_define_const(rb_mSockConst,
"IP_ADD_SOURCE_MEMBERSHIP", INTEGER2NUM(IP_ADD_SOURCE_MEMBERSHIP));
1393#if defined(IP_DROP_SOURCE_MEMBERSHIP)
1395 rb_define_const(rb_cSocket,
"IP_DROP_SOURCE_MEMBERSHIP", INTEGER2NUM(IP_DROP_SOURCE_MEMBERSHIP));
1397 rb_define_const(rb_mSockConst,
"IP_DROP_SOURCE_MEMBERSHIP", INTEGER2NUM(IP_DROP_SOURCE_MEMBERSHIP));
1399#if defined(IP_MSFILTER)
1403 rb_define_const(rb_mSockConst,
"IP_MSFILTER", INTEGER2NUM(IP_MSFILTER));
1405#if defined(MCAST_JOIN_GROUP)
1407 rb_define_const(rb_cSocket,
"MCAST_JOIN_GROUP", INTEGER2NUM(MCAST_JOIN_GROUP));
1409 rb_define_const(rb_mSockConst,
"MCAST_JOIN_GROUP", INTEGER2NUM(MCAST_JOIN_GROUP));
1411#if defined(MCAST_BLOCK_SOURCE)
1413 rb_define_const(rb_cSocket,
"MCAST_BLOCK_SOURCE", INTEGER2NUM(MCAST_BLOCK_SOURCE));
1415 rb_define_const(rb_mSockConst,
"MCAST_BLOCK_SOURCE", INTEGER2NUM(MCAST_BLOCK_SOURCE));
1417#if defined(MCAST_UNBLOCK_SOURCE)
1419 rb_define_const(rb_cSocket,
"MCAST_UNBLOCK_SOURCE", INTEGER2NUM(MCAST_UNBLOCK_SOURCE));
1421 rb_define_const(rb_mSockConst,
"MCAST_UNBLOCK_SOURCE", INTEGER2NUM(MCAST_UNBLOCK_SOURCE));
1423#if defined(MCAST_LEAVE_GROUP)
1425 rb_define_const(rb_cSocket,
"MCAST_LEAVE_GROUP", INTEGER2NUM(MCAST_LEAVE_GROUP));
1427 rb_define_const(rb_mSockConst,
"MCAST_LEAVE_GROUP", INTEGER2NUM(MCAST_LEAVE_GROUP));
1429#if defined(MCAST_JOIN_SOURCE_GROUP)
1431 rb_define_const(rb_cSocket,
"MCAST_JOIN_SOURCE_GROUP", INTEGER2NUM(MCAST_JOIN_SOURCE_GROUP));
1433 rb_define_const(rb_mSockConst,
"MCAST_JOIN_SOURCE_GROUP", INTEGER2NUM(MCAST_JOIN_SOURCE_GROUP));
1435#if defined(MCAST_LEAVE_SOURCE_GROUP)
1437 rb_define_const(rb_cSocket,
"MCAST_LEAVE_SOURCE_GROUP", INTEGER2NUM(MCAST_LEAVE_SOURCE_GROUP));
1439 rb_define_const(rb_mSockConst,
"MCAST_LEAVE_SOURCE_GROUP", INTEGER2NUM(MCAST_LEAVE_SOURCE_GROUP));
1441#if defined(MCAST_MSFILTER)
1443 rb_define_const(rb_cSocket,
"MCAST_MSFILTER", INTEGER2NUM(MCAST_MSFILTER));
1445 rb_define_const(rb_mSockConst,
"MCAST_MSFILTER", INTEGER2NUM(MCAST_MSFILTER));
1447#if defined(MCAST_EXCLUDE)
1449 rb_define_const(rb_cSocket,
"MCAST_EXCLUDE", INTEGER2NUM(MCAST_EXCLUDE));
1451 rb_define_const(rb_mSockConst,
"MCAST_EXCLUDE", INTEGER2NUM(MCAST_EXCLUDE));
1453#if defined(MCAST_INCLUDE)
1455 rb_define_const(rb_cSocket,
"MCAST_INCLUDE", INTEGER2NUM(MCAST_INCLUDE));
1457 rb_define_const(rb_mSockConst,
"MCAST_INCLUDE", INTEGER2NUM(MCAST_INCLUDE));
1459#if defined(SO_DEBUG)
1465#if defined(SO_REUSEADDR)
1467 rb_define_const(rb_cSocket,
"SO_REUSEADDR", INTEGER2NUM(SO_REUSEADDR));
1469 rb_define_const(rb_mSockConst,
"SO_REUSEADDR", INTEGER2NUM(SO_REUSEADDR));
1471#if defined(SO_REUSEPORT)
1473 rb_define_const(rb_cSocket,
"SO_REUSEPORT", INTEGER2NUM(SO_REUSEPORT));
1475 rb_define_const(rb_mSockConst,
"SO_REUSEPORT", INTEGER2NUM(SO_REUSEPORT));
1483#if defined(SO_ERROR)
1489#if defined(SO_DONTROUTE)
1491 rb_define_const(rb_cSocket,
"SO_DONTROUTE", INTEGER2NUM(SO_DONTROUTE));
1493 rb_define_const(rb_mSockConst,
"SO_DONTROUTE", INTEGER2NUM(SO_DONTROUTE));
1495#if defined(SO_BROADCAST)
1497 rb_define_const(rb_cSocket,
"SO_BROADCAST", INTEGER2NUM(SO_BROADCAST));
1499 rb_define_const(rb_mSockConst,
"SO_BROADCAST", INTEGER2NUM(SO_BROADCAST));
1501#if defined(SO_SNDBUF)
1507#if defined(SO_RCVBUF)
1513#if defined(SO_SNDBUFFORCE)
1515 rb_define_const(rb_cSocket,
"SO_SNDBUFFORCE", INTEGER2NUM(SO_SNDBUFFORCE));
1517 rb_define_const(rb_mSockConst,
"SO_SNDBUFFORCE", INTEGER2NUM(SO_SNDBUFFORCE));
1519#if defined(SO_RCVBUFFORCE)
1521 rb_define_const(rb_cSocket,
"SO_RCVBUFFORCE", INTEGER2NUM(SO_RCVBUFFORCE));
1523 rb_define_const(rb_mSockConst,
"SO_RCVBUFFORCE", INTEGER2NUM(SO_RCVBUFFORCE));
1525#if defined(SO_KEEPALIVE)
1527 rb_define_const(rb_cSocket,
"SO_KEEPALIVE", INTEGER2NUM(SO_KEEPALIVE));
1529 rb_define_const(rb_mSockConst,
"SO_KEEPALIVE", INTEGER2NUM(SO_KEEPALIVE));
1531#if defined(SO_OOBINLINE)
1533 rb_define_const(rb_cSocket,
"SO_OOBINLINE", INTEGER2NUM(SO_OOBINLINE));
1535 rb_define_const(rb_mSockConst,
"SO_OOBINLINE", INTEGER2NUM(SO_OOBINLINE));
1537#if defined(SO_NO_CHECK)
1541 rb_define_const(rb_mSockConst,
"SO_NO_CHECK", INTEGER2NUM(SO_NO_CHECK));
1543#if defined(SO_PRIORITY)
1547 rb_define_const(rb_mSockConst,
"SO_PRIORITY", INTEGER2NUM(SO_PRIORITY));
1549#if defined(SO_LINGER)
1555#if defined(SO_PASSCRED)
1559 rb_define_const(rb_mSockConst,
"SO_PASSCRED", INTEGER2NUM(SO_PASSCRED));
1561#if defined(SO_PEERCRED)
1565 rb_define_const(rb_mSockConst,
"SO_PEERCRED", INTEGER2NUM(SO_PEERCRED));
1567#if defined(SO_RCVLOWAT)
1571 rb_define_const(rb_mSockConst,
"SO_RCVLOWAT", INTEGER2NUM(SO_RCVLOWAT));
1573#if defined(SO_SNDLOWAT)
1577 rb_define_const(rb_mSockConst,
"SO_SNDLOWAT", INTEGER2NUM(SO_SNDLOWAT));
1579#if defined(SO_RCVTIMEO)
1583 rb_define_const(rb_mSockConst,
"SO_RCVTIMEO", INTEGER2NUM(SO_RCVTIMEO));
1585#if defined(SO_SNDTIMEO)
1589 rb_define_const(rb_mSockConst,
"SO_SNDTIMEO", INTEGER2NUM(SO_SNDTIMEO));
1591#if defined(SO_ACCEPTCONN)
1593 rb_define_const(rb_cSocket,
"SO_ACCEPTCONN", INTEGER2NUM(SO_ACCEPTCONN));
1595 rb_define_const(rb_mSockConst,
"SO_ACCEPTCONN", INTEGER2NUM(SO_ACCEPTCONN));
1597#if defined(SO_USELOOPBACK)
1599 rb_define_const(rb_cSocket,
"SO_USELOOPBACK", INTEGER2NUM(SO_USELOOPBACK));
1601 rb_define_const(rb_mSockConst,
"SO_USELOOPBACK", INTEGER2NUM(SO_USELOOPBACK));
1603#if defined(SO_ACCEPTFILTER)
1605 rb_define_const(rb_cSocket,
"SO_ACCEPTFILTER", INTEGER2NUM(SO_ACCEPTFILTER));
1607 rb_define_const(rb_mSockConst,
"SO_ACCEPTFILTER", INTEGER2NUM(SO_ACCEPTFILTER));
1609#if defined(SO_DONTTRUNC)
1611 rb_define_const(rb_cSocket,
"SO_DONTTRUNC", INTEGER2NUM(SO_DONTTRUNC));
1613 rb_define_const(rb_mSockConst,
"SO_DONTTRUNC", INTEGER2NUM(SO_DONTTRUNC));
1615#if defined(SO_WANTMORE)
1619 rb_define_const(rb_mSockConst,
"SO_WANTMORE", INTEGER2NUM(SO_WANTMORE));
1621#if defined(SO_WANTOOBFLAG)
1623 rb_define_const(rb_cSocket,
"SO_WANTOOBFLAG", INTEGER2NUM(SO_WANTOOBFLAG));
1625 rb_define_const(rb_mSockConst,
"SO_WANTOOBFLAG", INTEGER2NUM(SO_WANTOOBFLAG));
1627#if defined(SO_NREAD)
1639#if defined(SO_NOSIGPIPE)
1641 rb_define_const(rb_cSocket,
"SO_NOSIGPIPE", INTEGER2NUM(SO_NOSIGPIPE));
1643 rb_define_const(rb_mSockConst,
"SO_NOSIGPIPE", INTEGER2NUM(SO_NOSIGPIPE));
1645#if defined(SO_SECURITY_AUTHENTICATION)
1647 rb_define_const(rb_cSocket,
"SO_SECURITY_AUTHENTICATION", INTEGER2NUM(SO_SECURITY_AUTHENTICATION));
1649 rb_define_const(rb_mSockConst,
"SO_SECURITY_AUTHENTICATION", INTEGER2NUM(SO_SECURITY_AUTHENTICATION));
1651#if defined(SO_SECURITY_ENCRYPTION_TRANSPORT)
1653 rb_define_const(rb_cSocket,
"SO_SECURITY_ENCRYPTION_TRANSPORT", INTEGER2NUM(SO_SECURITY_ENCRYPTION_TRANSPORT));
1655 rb_define_const(rb_mSockConst,
"SO_SECURITY_ENCRYPTION_TRANSPORT", INTEGER2NUM(SO_SECURITY_ENCRYPTION_TRANSPORT));
1657#if defined(SO_SECURITY_ENCRYPTION_NETWORK)
1659 rb_define_const(rb_cSocket,
"SO_SECURITY_ENCRYPTION_NETWORK", INTEGER2NUM(SO_SECURITY_ENCRYPTION_NETWORK));
1661 rb_define_const(rb_mSockConst,
"SO_SECURITY_ENCRYPTION_NETWORK", INTEGER2NUM(SO_SECURITY_ENCRYPTION_NETWORK));
1663#if defined(SO_BINDTODEVICE)
1665 rb_define_const(rb_cSocket,
"SO_BINDTODEVICE", INTEGER2NUM(SO_BINDTODEVICE));
1667 rb_define_const(rb_mSockConst,
"SO_BINDTODEVICE", INTEGER2NUM(SO_BINDTODEVICE));
1669#if defined(SO_ATTACH_FILTER)
1671 rb_define_const(rb_cSocket,
"SO_ATTACH_FILTER", INTEGER2NUM(SO_ATTACH_FILTER));
1673 rb_define_const(rb_mSockConst,
"SO_ATTACH_FILTER", INTEGER2NUM(SO_ATTACH_FILTER));
1675#if defined(SO_DETACH_FILTER)
1677 rb_define_const(rb_cSocket,
"SO_DETACH_FILTER", INTEGER2NUM(SO_DETACH_FILTER));
1679 rb_define_const(rb_mSockConst,
"SO_DETACH_FILTER", INTEGER2NUM(SO_DETACH_FILTER));
1681#if defined(SO_GET_FILTER)
1683 rb_define_const(rb_cSocket,
"SO_GET_FILTER", INTEGER2NUM(SO_GET_FILTER));
1685 rb_define_const(rb_mSockConst,
"SO_GET_FILTER", INTEGER2NUM(SO_GET_FILTER));
1687#if defined(SO_PEERNAME)
1691 rb_define_const(rb_mSockConst,
"SO_PEERNAME", INTEGER2NUM(SO_PEERNAME));
1693#if defined(SO_TIMESTAMP)
1695 rb_define_const(rb_cSocket,
"SO_TIMESTAMP", INTEGER2NUM(SO_TIMESTAMP));
1697 rb_define_const(rb_mSockConst,
"SO_TIMESTAMP", INTEGER2NUM(SO_TIMESTAMP));
1699#if defined(SO_TIMESTAMPNS)
1701 rb_define_const(rb_cSocket,
"SO_TIMESTAMPNS", INTEGER2NUM(SO_TIMESTAMPNS));
1703 rb_define_const(rb_mSockConst,
"SO_TIMESTAMPNS", INTEGER2NUM(SO_TIMESTAMPNS));
1705#if defined(SO_BINTIME)
1709 rb_define_const(rb_mSockConst,
"SO_BINTIME", INTEGER2NUM(SO_BINTIME));
1711#if defined(SO_RECVUCRED)
1713 rb_define_const(rb_cSocket,
"SO_RECVUCRED", INTEGER2NUM(SO_RECVUCRED));
1715 rb_define_const(rb_mSockConst,
"SO_RECVUCRED", INTEGER2NUM(SO_RECVUCRED));
1717#if defined(SO_MAC_EXEMPT)
1719 rb_define_const(rb_cSocket,
"SO_MAC_EXEMPT", INTEGER2NUM(SO_MAC_EXEMPT));
1721 rb_define_const(rb_mSockConst,
"SO_MAC_EXEMPT", INTEGER2NUM(SO_MAC_EXEMPT));
1723#if defined(SO_ALLZONES)
1727 rb_define_const(rb_mSockConst,
"SO_ALLZONES", INTEGER2NUM(SO_ALLZONES));
1729#if defined(SO_PEERSEC)
1733 rb_define_const(rb_mSockConst,
"SO_PEERSEC", INTEGER2NUM(SO_PEERSEC));
1735#if defined(SO_PASSSEC)
1739 rb_define_const(rb_mSockConst,
"SO_PASSSEC", INTEGER2NUM(SO_PASSSEC));
1747#if defined(SO_TIMESTAMPING)
1749 rb_define_const(rb_cSocket,
"SO_TIMESTAMPING", INTEGER2NUM(SO_TIMESTAMPING));
1751 rb_define_const(rb_mSockConst,
"SO_TIMESTAMPING", INTEGER2NUM(SO_TIMESTAMPING));
1753#if defined(SO_PROTOCOL)
1757 rb_define_const(rb_mSockConst,
"SO_PROTOCOL", INTEGER2NUM(SO_PROTOCOL));
1759#if defined(SO_DOMAIN)
1765#if defined(SO_RXQ_OVFL)
1769 rb_define_const(rb_mSockConst,
"SO_RXQ_OVFL", INTEGER2NUM(SO_RXQ_OVFL));
1771#if defined(SO_WIFI_STATUS)
1773 rb_define_const(rb_cSocket,
"SO_WIFI_STATUS", INTEGER2NUM(SO_WIFI_STATUS));
1775 rb_define_const(rb_mSockConst,
"SO_WIFI_STATUS", INTEGER2NUM(SO_WIFI_STATUS));
1777#if defined(SO_PEEK_OFF)
1781 rb_define_const(rb_mSockConst,
"SO_PEEK_OFF", INTEGER2NUM(SO_PEEK_OFF));
1783#if defined(SO_NOFCS)
1789#if defined(SO_LOCK_FILTER)
1791 rb_define_const(rb_cSocket,
"SO_LOCK_FILTER", INTEGER2NUM(SO_LOCK_FILTER));
1793 rb_define_const(rb_mSockConst,
"SO_LOCK_FILTER", INTEGER2NUM(SO_LOCK_FILTER));
1795#if defined(SO_SELECT_ERR_QUEUE)
1797 rb_define_const(rb_cSocket,
"SO_SELECT_ERR_QUEUE", INTEGER2NUM(SO_SELECT_ERR_QUEUE));
1799 rb_define_const(rb_mSockConst,
"SO_SELECT_ERR_QUEUE", INTEGER2NUM(SO_SELECT_ERR_QUEUE));
1801#if defined(SO_BUSY_POLL)
1803 rb_define_const(rb_cSocket,
"SO_BUSY_POLL", INTEGER2NUM(SO_BUSY_POLL));
1805 rb_define_const(rb_mSockConst,
"SO_BUSY_POLL", INTEGER2NUM(SO_BUSY_POLL));
1807#if defined(SO_MAX_PACING_RATE)
1809 rb_define_const(rb_cSocket,
"SO_MAX_PACING_RATE", INTEGER2NUM(SO_MAX_PACING_RATE));
1811 rb_define_const(rb_mSockConst,
"SO_MAX_PACING_RATE", INTEGER2NUM(SO_MAX_PACING_RATE));
1813#if defined(SO_BPF_EXTENSIONS)
1815 rb_define_const(rb_cSocket,
"SO_BPF_EXTENSIONS", INTEGER2NUM(SO_BPF_EXTENSIONS));
1817 rb_define_const(rb_mSockConst,
"SO_BPF_EXTENSIONS", INTEGER2NUM(SO_BPF_EXTENSIONS));
1819#if defined(SOPRI_INTERACTIVE)
1821 rb_define_const(rb_cSocket,
"SOPRI_INTERACTIVE", INTEGER2NUM(SOPRI_INTERACTIVE));
1823 rb_define_const(rb_mSockConst,
"SOPRI_INTERACTIVE", INTEGER2NUM(SOPRI_INTERACTIVE));
1825#if defined(SOPRI_NORMAL)
1827 rb_define_const(rb_cSocket,
"SOPRI_NORMAL", INTEGER2NUM(SOPRI_NORMAL));
1829 rb_define_const(rb_mSockConst,
"SOPRI_NORMAL", INTEGER2NUM(SOPRI_NORMAL));
1831#if defined(SOPRI_BACKGROUND)
1833 rb_define_const(rb_cSocket,
"SOPRI_BACKGROUND", INTEGER2NUM(SOPRI_BACKGROUND));
1835 rb_define_const(rb_mSockConst,
"SOPRI_BACKGROUND", INTEGER2NUM(SOPRI_BACKGROUND));
1837#if defined(IPX_TYPE)
1843#if defined(TCP_NODELAY)
1847 rb_define_const(rb_mSockConst,
"TCP_NODELAY", INTEGER2NUM(TCP_NODELAY));
1849#if defined(TCP_MAXSEG)
1853 rb_define_const(rb_mSockConst,
"TCP_MAXSEG", INTEGER2NUM(TCP_MAXSEG));
1855#if defined(TCP_CORK)
1861#if defined(TCP_DEFER_ACCEPT)
1863 rb_define_const(rb_cSocket,
"TCP_DEFER_ACCEPT", INTEGER2NUM(TCP_DEFER_ACCEPT));
1865 rb_define_const(rb_mSockConst,
"TCP_DEFER_ACCEPT", INTEGER2NUM(TCP_DEFER_ACCEPT));
1867#if defined(TCP_INFO)
1873#if defined(TCP_KEEPCNT)
1877 rb_define_const(rb_mSockConst,
"TCP_KEEPCNT", INTEGER2NUM(TCP_KEEPCNT));
1879#if defined(TCP_KEEPIDLE)
1881 rb_define_const(rb_cSocket,
"TCP_KEEPIDLE", INTEGER2NUM(TCP_KEEPIDLE));
1883 rb_define_const(rb_mSockConst,
"TCP_KEEPIDLE", INTEGER2NUM(TCP_KEEPIDLE));
1885#if defined(TCP_KEEPINTVL)
1887 rb_define_const(rb_cSocket,
"TCP_KEEPINTVL", INTEGER2NUM(TCP_KEEPINTVL));
1889 rb_define_const(rb_mSockConst,
"TCP_KEEPINTVL", INTEGER2NUM(TCP_KEEPINTVL));
1891#if defined(TCP_LINGER2)
1895 rb_define_const(rb_mSockConst,
"TCP_LINGER2", INTEGER2NUM(TCP_LINGER2));
1897#if defined(TCP_MD5SIG)
1901 rb_define_const(rb_mSockConst,
"TCP_MD5SIG", INTEGER2NUM(TCP_MD5SIG));
1903#if defined(TCP_NOOPT)
1909#if defined(TCP_NOPUSH)
1913 rb_define_const(rb_mSockConst,
"TCP_NOPUSH", INTEGER2NUM(TCP_NOPUSH));
1915#if defined(TCP_QUICKACK)
1917 rb_define_const(rb_cSocket,
"TCP_QUICKACK", INTEGER2NUM(TCP_QUICKACK));
1919 rb_define_const(rb_mSockConst,
"TCP_QUICKACK", INTEGER2NUM(TCP_QUICKACK));
1921#if defined(TCP_SYNCNT)
1925 rb_define_const(rb_mSockConst,
"TCP_SYNCNT", INTEGER2NUM(TCP_SYNCNT));
1927#if defined(TCP_WINDOW_CLAMP)
1929 rb_define_const(rb_cSocket,
"TCP_WINDOW_CLAMP", INTEGER2NUM(TCP_WINDOW_CLAMP));
1931 rb_define_const(rb_mSockConst,
"TCP_WINDOW_CLAMP", INTEGER2NUM(TCP_WINDOW_CLAMP));
1933#if defined(TCP_FASTOPEN)
1935 rb_define_const(rb_cSocket,
"TCP_FASTOPEN", INTEGER2NUM(TCP_FASTOPEN));
1937 rb_define_const(rb_mSockConst,
"TCP_FASTOPEN", INTEGER2NUM(TCP_FASTOPEN));
1939#if defined(TCP_CONGESTION)
1941 rb_define_const(rb_cSocket,
"TCP_CONGESTION", INTEGER2NUM(TCP_CONGESTION));
1943 rb_define_const(rb_mSockConst,
"TCP_CONGESTION", INTEGER2NUM(TCP_CONGESTION));
1945#if defined(TCP_COOKIE_TRANSACTIONS)
1947 rb_define_const(rb_cSocket,
"TCP_COOKIE_TRANSACTIONS", INTEGER2NUM(TCP_COOKIE_TRANSACTIONS));
1949 rb_define_const(rb_mSockConst,
"TCP_COOKIE_TRANSACTIONS", INTEGER2NUM(TCP_COOKIE_TRANSACTIONS));
1951#if defined(TCP_QUEUE_SEQ)
1953 rb_define_const(rb_cSocket,
"TCP_QUEUE_SEQ", INTEGER2NUM(TCP_QUEUE_SEQ));
1955 rb_define_const(rb_mSockConst,
"TCP_QUEUE_SEQ", INTEGER2NUM(TCP_QUEUE_SEQ));
1957#if defined(TCP_REPAIR)
1961 rb_define_const(rb_mSockConst,
"TCP_REPAIR", INTEGER2NUM(TCP_REPAIR));
1963#if defined(TCP_REPAIR_OPTIONS)
1965 rb_define_const(rb_cSocket,
"TCP_REPAIR_OPTIONS", INTEGER2NUM(TCP_REPAIR_OPTIONS));
1967 rb_define_const(rb_mSockConst,
"TCP_REPAIR_OPTIONS", INTEGER2NUM(TCP_REPAIR_OPTIONS));
1969#if defined(TCP_REPAIR_QUEUE)
1971 rb_define_const(rb_cSocket,
"TCP_REPAIR_QUEUE", INTEGER2NUM(TCP_REPAIR_QUEUE));
1973 rb_define_const(rb_mSockConst,
"TCP_REPAIR_QUEUE", INTEGER2NUM(TCP_REPAIR_QUEUE));
1975#if defined(TCP_THIN_DUPACK)
1977 rb_define_const(rb_cSocket,
"TCP_THIN_DUPACK", INTEGER2NUM(TCP_THIN_DUPACK));
1979 rb_define_const(rb_mSockConst,
"TCP_THIN_DUPACK", INTEGER2NUM(TCP_THIN_DUPACK));
1981#if defined(TCP_THIN_LINEAR_TIMEOUTS)
1983 rb_define_const(rb_cSocket,
"TCP_THIN_LINEAR_TIMEOUTS", INTEGER2NUM(TCP_THIN_LINEAR_TIMEOUTS));
1985 rb_define_const(rb_mSockConst,
"TCP_THIN_LINEAR_TIMEOUTS", INTEGER2NUM(TCP_THIN_LINEAR_TIMEOUTS));
1987#if defined(TCP_TIMESTAMP)
1989 rb_define_const(rb_cSocket,
"TCP_TIMESTAMP", INTEGER2NUM(TCP_TIMESTAMP));
1991 rb_define_const(rb_mSockConst,
"TCP_TIMESTAMP", INTEGER2NUM(TCP_TIMESTAMP));
1993#if defined(TCP_USER_TIMEOUT)
1995 rb_define_const(rb_cSocket,
"TCP_USER_TIMEOUT", INTEGER2NUM(TCP_USER_TIMEOUT));
1997 rb_define_const(rb_mSockConst,
"TCP_USER_TIMEOUT", INTEGER2NUM(TCP_USER_TIMEOUT));
1999#if defined(UDP_CORK)
2005#if defined(EAI_ADDRFAMILY)
2007 rb_define_const(rb_cSocket,
"EAI_ADDRFAMILY", INTEGER2NUM(EAI_ADDRFAMILY));
2009 rb_define_const(rb_mSockConst,
"EAI_ADDRFAMILY", INTEGER2NUM(EAI_ADDRFAMILY));
2011#if defined(EAI_AGAIN)
2017#if defined(EAI_BADFLAGS)
2019 rb_define_const(rb_cSocket,
"EAI_BADFLAGS", INTEGER2NUM(EAI_BADFLAGS));
2021 rb_define_const(rb_mSockConst,
"EAI_BADFLAGS", INTEGER2NUM(EAI_BADFLAGS));
2023#if defined(EAI_FAIL)
2029#if defined(EAI_FAMILY)
2033 rb_define_const(rb_mSockConst,
"EAI_FAMILY", INTEGER2NUM(EAI_FAMILY));
2035#if defined(EAI_MEMORY)
2039 rb_define_const(rb_mSockConst,
"EAI_MEMORY", INTEGER2NUM(EAI_MEMORY));
2041#if defined(EAI_NODATA)
2045 rb_define_const(rb_mSockConst,
"EAI_NODATA", INTEGER2NUM(EAI_NODATA));
2047#if defined(EAI_NONAME)
2051 rb_define_const(rb_mSockConst,
"EAI_NONAME", INTEGER2NUM(EAI_NONAME));
2053#if defined(EAI_OVERFLOW)
2055 rb_define_const(rb_cSocket,
"EAI_OVERFLOW", INTEGER2NUM(EAI_OVERFLOW));
2057 rb_define_const(rb_mSockConst,
"EAI_OVERFLOW", INTEGER2NUM(EAI_OVERFLOW));
2059#if defined(EAI_SERVICE)
2063 rb_define_const(rb_mSockConst,
"EAI_SERVICE", INTEGER2NUM(EAI_SERVICE));
2065#if defined(EAI_SOCKTYPE)
2067 rb_define_const(rb_cSocket,
"EAI_SOCKTYPE", INTEGER2NUM(EAI_SOCKTYPE));
2069 rb_define_const(rb_mSockConst,
"EAI_SOCKTYPE", INTEGER2NUM(EAI_SOCKTYPE));
2071#if defined(EAI_SYSTEM)
2075 rb_define_const(rb_mSockConst,
"EAI_SYSTEM", INTEGER2NUM(EAI_SYSTEM));
2077#if defined(EAI_BADHINTS)
2079 rb_define_const(rb_cSocket,
"EAI_BADHINTS", INTEGER2NUM(EAI_BADHINTS));
2081 rb_define_const(rb_mSockConst,
"EAI_BADHINTS", INTEGER2NUM(EAI_BADHINTS));
2083#if defined(EAI_PROTOCOL)
2085 rb_define_const(rb_cSocket,
"EAI_PROTOCOL", INTEGER2NUM(EAI_PROTOCOL));
2087 rb_define_const(rb_mSockConst,
"EAI_PROTOCOL", INTEGER2NUM(EAI_PROTOCOL));
2095#if defined(AI_PASSIVE)
2099 rb_define_const(rb_mSockConst,
"AI_PASSIVE", INTEGER2NUM(AI_PASSIVE));
2101#if defined(AI_CANONNAME)
2103 rb_define_const(rb_cSocket,
"AI_CANONNAME", INTEGER2NUM(AI_CANONNAME));
2105 rb_define_const(rb_mSockConst,
"AI_CANONNAME", INTEGER2NUM(AI_CANONNAME));
2107#if defined(AI_NUMERICHOST)
2109 rb_define_const(rb_cSocket,
"AI_NUMERICHOST", INTEGER2NUM(AI_NUMERICHOST));
2111 rb_define_const(rb_mSockConst,
"AI_NUMERICHOST", INTEGER2NUM(AI_NUMERICHOST));
2113#if defined(AI_NUMERICSERV)
2115 rb_define_const(rb_cSocket,
"AI_NUMERICSERV", INTEGER2NUM(AI_NUMERICSERV));
2117 rb_define_const(rb_mSockConst,
"AI_NUMERICSERV", INTEGER2NUM(AI_NUMERICSERV));
2131#if defined(AI_V4MAPPED_CFG)
2133 rb_define_const(rb_cSocket,
"AI_V4MAPPED_CFG", INTEGER2NUM(AI_V4MAPPED_CFG));
2135 rb_define_const(rb_mSockConst,
"AI_V4MAPPED_CFG", INTEGER2NUM(AI_V4MAPPED_CFG));
2137#if defined(AI_ADDRCONFIG)
2139 rb_define_const(rb_cSocket,
"AI_ADDRCONFIG", INTEGER2NUM(AI_ADDRCONFIG));
2141 rb_define_const(rb_mSockConst,
"AI_ADDRCONFIG", INTEGER2NUM(AI_ADDRCONFIG));
2143#if defined(AI_V4MAPPED)
2147 rb_define_const(rb_mSockConst,
"AI_V4MAPPED", INTEGER2NUM(AI_V4MAPPED));
2149#if defined(AI_DEFAULT)
2153 rb_define_const(rb_mSockConst,
"AI_DEFAULT", INTEGER2NUM(AI_DEFAULT));
2155#if defined(NI_MAXHOST)
2159 rb_define_const(rb_mSockConst,
"NI_MAXHOST", INTEGER2NUM(NI_MAXHOST));
2161#if defined(NI_MAXSERV)
2165 rb_define_const(rb_mSockConst,
"NI_MAXSERV", INTEGER2NUM(NI_MAXSERV));
2167#if defined(NI_NOFQDN)
2173#if defined(NI_NUMERICHOST)
2175 rb_define_const(rb_cSocket,
"NI_NUMERICHOST", INTEGER2NUM(NI_NUMERICHOST));
2177 rb_define_const(rb_mSockConst,
"NI_NUMERICHOST", INTEGER2NUM(NI_NUMERICHOST));
2179#if defined(NI_NAMEREQD)
2183 rb_define_const(rb_mSockConst,
"NI_NAMEREQD", INTEGER2NUM(NI_NAMEREQD));
2185#if defined(NI_NUMERICSERV)
2187 rb_define_const(rb_cSocket,
"NI_NUMERICSERV", INTEGER2NUM(NI_NUMERICSERV));
2189 rb_define_const(rb_mSockConst,
"NI_NUMERICSERV", INTEGER2NUM(NI_NUMERICSERV));
2191#if defined(NI_DGRAM)
2209#if defined(SHUT_RDWR)
2216#if defined(IPV6_JOIN_GROUP)
2218 rb_define_const(rb_cSocket,
"IPV6_JOIN_GROUP", INTEGER2NUM(IPV6_JOIN_GROUP));
2220 rb_define_const(rb_mSockConst,
"IPV6_JOIN_GROUP", INTEGER2NUM(IPV6_JOIN_GROUP));
2224#if defined(IPV6_LEAVE_GROUP)
2226 rb_define_const(rb_cSocket,
"IPV6_LEAVE_GROUP", INTEGER2NUM(IPV6_LEAVE_GROUP));
2228 rb_define_const(rb_mSockConst,
"IPV6_LEAVE_GROUP", INTEGER2NUM(IPV6_LEAVE_GROUP));
2232#if defined(IPV6_MULTICAST_HOPS)
2234 rb_define_const(rb_cSocket,
"IPV6_MULTICAST_HOPS", INTEGER2NUM(IPV6_MULTICAST_HOPS));
2236 rb_define_const(rb_mSockConst,
"IPV6_MULTICAST_HOPS", INTEGER2NUM(IPV6_MULTICAST_HOPS));
2240#if defined(IPV6_MULTICAST_IF)
2242 rb_define_const(rb_cSocket,
"IPV6_MULTICAST_IF", INTEGER2NUM(IPV6_MULTICAST_IF));
2244 rb_define_const(rb_mSockConst,
"IPV6_MULTICAST_IF", INTEGER2NUM(IPV6_MULTICAST_IF));
2248#if defined(IPV6_MULTICAST_LOOP)
2250 rb_define_const(rb_cSocket,
"IPV6_MULTICAST_LOOP", INTEGER2NUM(IPV6_MULTICAST_LOOP));
2252 rb_define_const(rb_mSockConst,
"IPV6_MULTICAST_LOOP", INTEGER2NUM(IPV6_MULTICAST_LOOP));
2256#if defined(IPV6_UNICAST_HOPS)
2258 rb_define_const(rb_cSocket,
"IPV6_UNICAST_HOPS", INTEGER2NUM(IPV6_UNICAST_HOPS));
2260 rb_define_const(rb_mSockConst,
"IPV6_UNICAST_HOPS", INTEGER2NUM(IPV6_UNICAST_HOPS));
2264#if defined(IPV6_V6ONLY)
2268 rb_define_const(rb_mSockConst,
"IPV6_V6ONLY", INTEGER2NUM(IPV6_V6ONLY));
2272#if defined(IPV6_CHECKSUM)
2274 rb_define_const(rb_cSocket,
"IPV6_CHECKSUM", INTEGER2NUM(IPV6_CHECKSUM));
2276 rb_define_const(rb_mSockConst,
"IPV6_CHECKSUM", INTEGER2NUM(IPV6_CHECKSUM));
2280#if defined(IPV6_DONTFRAG)
2282 rb_define_const(rb_cSocket,
"IPV6_DONTFRAG", INTEGER2NUM(IPV6_DONTFRAG));
2284 rb_define_const(rb_mSockConst,
"IPV6_DONTFRAG", INTEGER2NUM(IPV6_DONTFRAG));
2288#if defined(IPV6_DSTOPTS)
2290 rb_define_const(rb_cSocket,
"IPV6_DSTOPTS", INTEGER2NUM(IPV6_DSTOPTS));
2292 rb_define_const(rb_mSockConst,
"IPV6_DSTOPTS", INTEGER2NUM(IPV6_DSTOPTS));
2296#if defined(IPV6_HOPLIMIT)
2298 rb_define_const(rb_cSocket,
"IPV6_HOPLIMIT", INTEGER2NUM(IPV6_HOPLIMIT));
2300 rb_define_const(rb_mSockConst,
"IPV6_HOPLIMIT", INTEGER2NUM(IPV6_HOPLIMIT));
2304#if defined(IPV6_HOPOPTS)
2306 rb_define_const(rb_cSocket,
"IPV6_HOPOPTS", INTEGER2NUM(IPV6_HOPOPTS));
2308 rb_define_const(rb_mSockConst,
"IPV6_HOPOPTS", INTEGER2NUM(IPV6_HOPOPTS));
2312#if defined(IPV6_NEXTHOP)
2314 rb_define_const(rb_cSocket,
"IPV6_NEXTHOP", INTEGER2NUM(IPV6_NEXTHOP));
2316 rb_define_const(rb_mSockConst,
"IPV6_NEXTHOP", INTEGER2NUM(IPV6_NEXTHOP));
2320#if defined(IPV6_PATHMTU)
2322 rb_define_const(rb_cSocket,
"IPV6_PATHMTU", INTEGER2NUM(IPV6_PATHMTU));
2324 rb_define_const(rb_mSockConst,
"IPV6_PATHMTU", INTEGER2NUM(IPV6_PATHMTU));
2328#if defined(IPV6_PKTINFO)
2330 rb_define_const(rb_cSocket,
"IPV6_PKTINFO", INTEGER2NUM(IPV6_PKTINFO));
2332 rb_define_const(rb_mSockConst,
"IPV6_PKTINFO", INTEGER2NUM(IPV6_PKTINFO));
2336#if defined(IPV6_RECVDSTOPTS)
2338 rb_define_const(rb_cSocket,
"IPV6_RECVDSTOPTS", INTEGER2NUM(IPV6_RECVDSTOPTS));
2340 rb_define_const(rb_mSockConst,
"IPV6_RECVDSTOPTS", INTEGER2NUM(IPV6_RECVDSTOPTS));
2344#if defined(IPV6_RECVHOPLIMIT)
2346 rb_define_const(rb_cSocket,
"IPV6_RECVHOPLIMIT", INTEGER2NUM(IPV6_RECVHOPLIMIT));
2348 rb_define_const(rb_mSockConst,
"IPV6_RECVHOPLIMIT", INTEGER2NUM(IPV6_RECVHOPLIMIT));
2352#if defined(IPV6_RECVHOPOPTS)
2354 rb_define_const(rb_cSocket,
"IPV6_RECVHOPOPTS", INTEGER2NUM(IPV6_RECVHOPOPTS));
2356 rb_define_const(rb_mSockConst,
"IPV6_RECVHOPOPTS", INTEGER2NUM(IPV6_RECVHOPOPTS));
2360#if defined(IPV6_RECVPKTINFO)
2362 rb_define_const(rb_cSocket,
"IPV6_RECVPKTINFO", INTEGER2NUM(IPV6_RECVPKTINFO));
2364 rb_define_const(rb_mSockConst,
"IPV6_RECVPKTINFO", INTEGER2NUM(IPV6_RECVPKTINFO));
2368#if defined(IPV6_RECVRTHDR)
2370 rb_define_const(rb_cSocket,
"IPV6_RECVRTHDR", INTEGER2NUM(IPV6_RECVRTHDR));
2372 rb_define_const(rb_mSockConst,
"IPV6_RECVRTHDR", INTEGER2NUM(IPV6_RECVRTHDR));
2376#if defined(IPV6_RECVTCLASS)
2378 rb_define_const(rb_cSocket,
"IPV6_RECVTCLASS", INTEGER2NUM(IPV6_RECVTCLASS));
2380 rb_define_const(rb_mSockConst,
"IPV6_RECVTCLASS", INTEGER2NUM(IPV6_RECVTCLASS));
2384#if defined(IPV6_RTHDR)
2388 rb_define_const(rb_mSockConst,
"IPV6_RTHDR", INTEGER2NUM(IPV6_RTHDR));
2392#if defined(IPV6_RTHDRDSTOPTS)
2394 rb_define_const(rb_cSocket,
"IPV6_RTHDRDSTOPTS", INTEGER2NUM(IPV6_RTHDRDSTOPTS));
2396 rb_define_const(rb_mSockConst,
"IPV6_RTHDRDSTOPTS", INTEGER2NUM(IPV6_RTHDRDSTOPTS));
2400#if defined(IPV6_RTHDR_TYPE_0)
2402 rb_define_const(rb_cSocket,
"IPV6_RTHDR_TYPE_0", INTEGER2NUM(IPV6_RTHDR_TYPE_0));
2404 rb_define_const(rb_mSockConst,
"IPV6_RTHDR_TYPE_0", INTEGER2NUM(IPV6_RTHDR_TYPE_0));
2408#if defined(IPV6_RECVPATHMTU)
2410 rb_define_const(rb_cSocket,
"IPV6_RECVPATHMTU", INTEGER2NUM(IPV6_RECVPATHMTU));
2412 rb_define_const(rb_mSockConst,
"IPV6_RECVPATHMTU", INTEGER2NUM(IPV6_RECVPATHMTU));
2416#if defined(IPV6_TCLASS)
2420 rb_define_const(rb_mSockConst,
"IPV6_TCLASS", INTEGER2NUM(IPV6_TCLASS));
2424#if defined(IPV6_USE_MIN_MTU)
2426 rb_define_const(rb_cSocket,
"IPV6_USE_MIN_MTU", INTEGER2NUM(IPV6_USE_MIN_MTU));
2428 rb_define_const(rb_mSockConst,
"IPV6_USE_MIN_MTU", INTEGER2NUM(IPV6_USE_MIN_MTU));
2431#if defined(INET_ADDRSTRLEN)
2433 rb_define_const(rb_cSocket,
"INET_ADDRSTRLEN", INTEGER2NUM(INET_ADDRSTRLEN));
2435 rb_define_const(rb_mSockConst,
"INET_ADDRSTRLEN", INTEGER2NUM(INET_ADDRSTRLEN));
2437#if defined(INET6_ADDRSTRLEN)
2439 rb_define_const(rb_cSocket,
"INET6_ADDRSTRLEN", INTEGER2NUM(INET6_ADDRSTRLEN));
2441 rb_define_const(rb_mSockConst,
"INET6_ADDRSTRLEN", INTEGER2NUM(INET6_ADDRSTRLEN));
2443#if defined(IFNAMSIZ)
2449#if defined(IF_NAMESIZE)
2453 rb_define_const(rb_mSockConst,
"IF_NAMESIZE", INTEGER2NUM(IF_NAMESIZE));
2455#if defined(SOMAXCONN)
2461#if defined(SCM_RIGHTS)
2465 rb_define_const(rb_mSockConst,
"SCM_RIGHTS", INTEGER2NUM(SCM_RIGHTS));
2467#if defined(SCM_TIMESTAMP)
2469 rb_define_const(rb_cSocket,
"SCM_TIMESTAMP", INTEGER2NUM(SCM_TIMESTAMP));
2471 rb_define_const(rb_mSockConst,
"SCM_TIMESTAMP", INTEGER2NUM(SCM_TIMESTAMP));
2473#if defined(SCM_TIMESTAMPNS)
2475 rb_define_const(rb_cSocket,
"SCM_TIMESTAMPNS", INTEGER2NUM(SCM_TIMESTAMPNS));
2477 rb_define_const(rb_mSockConst,
"SCM_TIMESTAMPNS", INTEGER2NUM(SCM_TIMESTAMPNS));
2479#if defined(SCM_TIMESTAMPING)
2481 rb_define_const(rb_cSocket,
"SCM_TIMESTAMPING", INTEGER2NUM(SCM_TIMESTAMPING));
2483 rb_define_const(rb_mSockConst,
"SCM_TIMESTAMPING", INTEGER2NUM(SCM_TIMESTAMPING));
2485#if defined(SCM_BINTIME)
2489 rb_define_const(rb_mSockConst,
"SCM_BINTIME", INTEGER2NUM(SCM_BINTIME));
2491#if defined(SCM_CREDENTIALS)
2493 rb_define_const(rb_cSocket,
"SCM_CREDENTIALS", INTEGER2NUM(SCM_CREDENTIALS));
2495 rb_define_const(rb_mSockConst,
"SCM_CREDENTIALS", INTEGER2NUM(SCM_CREDENTIALS));
2497#if defined(SCM_CREDS)
2503#if defined(SCM_UCRED)
2509#if defined(SCM_WIFI_STATUS)
2511 rb_define_const(rb_cSocket,
"SCM_WIFI_STATUS", INTEGER2NUM(SCM_WIFI_STATUS));
2513 rb_define_const(rb_mSockConst,
"SCM_WIFI_STATUS", INTEGER2NUM(SCM_WIFI_STATUS));
2515#if defined(LOCAL_PEERCRED)
2517 rb_define_const(rb_cSocket,
"LOCAL_PEERCRED", INTEGER2NUM(LOCAL_PEERCRED));
2519 rb_define_const(rb_mSockConst,
"LOCAL_PEERCRED", INTEGER2NUM(LOCAL_PEERCRED));
2521#if defined(LOCAL_CREDS)
2525 rb_define_const(rb_mSockConst,
"LOCAL_CREDS", INTEGER2NUM(LOCAL_CREDS));
2527#if defined(LOCAL_CONNWAIT)
2529 rb_define_const(rb_cSocket,
"LOCAL_CONNWAIT", INTEGER2NUM(LOCAL_CONNWAIT));
2531 rb_define_const(rb_mSockConst,
"LOCAL_CONNWAIT", INTEGER2NUM(LOCAL_CONNWAIT));
2533#if defined(IFF_802_1Q_VLAN)
2535 rb_define_const(rb_cSocket,
"IFF_802_1Q_VLAN", INTEGER2NUM(IFF_802_1Q_VLAN));
2537 rb_define_const(rb_mSockConst,
"IFF_802_1Q_VLAN", INTEGER2NUM(IFF_802_1Q_VLAN));
2539#if defined(IFF_ALLMULTI)
2541 rb_define_const(rb_cSocket,
"IFF_ALLMULTI", INTEGER2NUM(IFF_ALLMULTI));
2543 rb_define_const(rb_mSockConst,
"IFF_ALLMULTI", INTEGER2NUM(IFF_ALLMULTI));
2545#if defined(IFF_ALTPHYS)
2549 rb_define_const(rb_mSockConst,
"IFF_ALTPHYS", INTEGER2NUM(IFF_ALTPHYS));
2551#if defined(IFF_AUTOMEDIA)
2553 rb_define_const(rb_cSocket,
"IFF_AUTOMEDIA", INTEGER2NUM(IFF_AUTOMEDIA));
2555 rb_define_const(rb_mSockConst,
"IFF_AUTOMEDIA", INTEGER2NUM(IFF_AUTOMEDIA));
2557#if defined(IFF_BONDING)
2561 rb_define_const(rb_mSockConst,
"IFF_BONDING", INTEGER2NUM(IFF_BONDING));
2563#if defined(IFF_BRIDGE_PORT)
2565 rb_define_const(rb_cSocket,
"IFF_BRIDGE_PORT", INTEGER2NUM(IFF_BRIDGE_PORT));
2567 rb_define_const(rb_mSockConst,
"IFF_BRIDGE_PORT", INTEGER2NUM(IFF_BRIDGE_PORT));
2569#if defined(IFF_BROADCAST)
2571 rb_define_const(rb_cSocket,
"IFF_BROADCAST", INTEGER2NUM(IFF_BROADCAST));
2573 rb_define_const(rb_mSockConst,
"IFF_BROADCAST", INTEGER2NUM(IFF_BROADCAST));
2575#if defined(IFF_CANTCONFIG)
2577 rb_define_const(rb_cSocket,
"IFF_CANTCONFIG", INTEGER2NUM(IFF_CANTCONFIG));
2579 rb_define_const(rb_mSockConst,
"IFF_CANTCONFIG", INTEGER2NUM(IFF_CANTCONFIG));
2581#if defined(IFF_DEBUG)
2587#if defined(IFF_DISABLE_NETPOLL)
2589 rb_define_const(rb_cSocket,
"IFF_DISABLE_NETPOLL", INTEGER2NUM(IFF_DISABLE_NETPOLL));
2591 rb_define_const(rb_mSockConst,
"IFF_DISABLE_NETPOLL", INTEGER2NUM(IFF_DISABLE_NETPOLL));
2593#if defined(IFF_DONT_BRIDGE)
2595 rb_define_const(rb_cSocket,
"IFF_DONT_BRIDGE", INTEGER2NUM(IFF_DONT_BRIDGE));
2597 rb_define_const(rb_mSockConst,
"IFF_DONT_BRIDGE", INTEGER2NUM(IFF_DONT_BRIDGE));
2599#if defined(IFF_DORMANT)
2603 rb_define_const(rb_mSockConst,
"IFF_DORMANT", INTEGER2NUM(IFF_DORMANT));
2605#if defined(IFF_DRV_OACTIVE)
2607 rb_define_const(rb_cSocket,
"IFF_DRV_OACTIVE", INTEGER2NUM(IFF_DRV_OACTIVE));
2609 rb_define_const(rb_mSockConst,
"IFF_DRV_OACTIVE", INTEGER2NUM(IFF_DRV_OACTIVE));
2611#if defined(IFF_DRV_RUNNING)
2613 rb_define_const(rb_cSocket,
"IFF_DRV_RUNNING", INTEGER2NUM(IFF_DRV_RUNNING));
2615 rb_define_const(rb_mSockConst,
"IFF_DRV_RUNNING", INTEGER2NUM(IFF_DRV_RUNNING));
2617#if defined(IFF_DYING)
2623#if defined(IFF_DYNAMIC)
2627 rb_define_const(rb_mSockConst,
"IFF_DYNAMIC", INTEGER2NUM(IFF_DYNAMIC));
2629#if defined(IFF_EBRIDGE)
2633 rb_define_const(rb_mSockConst,
"IFF_EBRIDGE", INTEGER2NUM(IFF_EBRIDGE));
2635#if defined(IFF_ECHO)
2641#if defined(IFF_ISATAP)
2645 rb_define_const(rb_mSockConst,
"IFF_ISATAP", INTEGER2NUM(IFF_ISATAP));
2647#if defined(IFF_LINK0)
2653#if defined(IFF_LINK1)
2659#if defined(IFF_LINK2)
2665#if defined(IFF_LIVE_ADDR_CHANGE)
2667 rb_define_const(rb_cSocket,
"IFF_LIVE_ADDR_CHANGE", INTEGER2NUM(IFF_LIVE_ADDR_CHANGE));
2669 rb_define_const(rb_mSockConst,
"IFF_LIVE_ADDR_CHANGE", INTEGER2NUM(IFF_LIVE_ADDR_CHANGE));
2671#if defined(IFF_LOOPBACK)
2673 rb_define_const(rb_cSocket,
"IFF_LOOPBACK", INTEGER2NUM(IFF_LOOPBACK));
2675 rb_define_const(rb_mSockConst,
"IFF_LOOPBACK", INTEGER2NUM(IFF_LOOPBACK));
2677#if defined(IFF_LOWER_UP)
2679 rb_define_const(rb_cSocket,
"IFF_LOWER_UP", INTEGER2NUM(IFF_LOWER_UP));
2681 rb_define_const(rb_mSockConst,
"IFF_LOWER_UP", INTEGER2NUM(IFF_LOWER_UP));
2683#if defined(IFF_MACVLAN_PORT)
2685 rb_define_const(rb_cSocket,
"IFF_MACVLAN_PORT", INTEGER2NUM(IFF_MACVLAN_PORT));
2687 rb_define_const(rb_mSockConst,
"IFF_MACVLAN_PORT", INTEGER2NUM(IFF_MACVLAN_PORT));
2689#if defined(IFF_MASTER)
2693 rb_define_const(rb_mSockConst,
"IFF_MASTER", INTEGER2NUM(IFF_MASTER));
2695#if defined(IFF_MASTER_8023AD)
2697 rb_define_const(rb_cSocket,
"IFF_MASTER_8023AD", INTEGER2NUM(IFF_MASTER_8023AD));
2699 rb_define_const(rb_mSockConst,
"IFF_MASTER_8023AD", INTEGER2NUM(IFF_MASTER_8023AD));
2701#if defined(IFF_MASTER_ALB)
2703 rb_define_const(rb_cSocket,
"IFF_MASTER_ALB", INTEGER2NUM(IFF_MASTER_ALB));
2705 rb_define_const(rb_mSockConst,
"IFF_MASTER_ALB", INTEGER2NUM(IFF_MASTER_ALB));
2707#if defined(IFF_MASTER_ARPMON)
2709 rb_define_const(rb_cSocket,
"IFF_MASTER_ARPMON", INTEGER2NUM(IFF_MASTER_ARPMON));
2711 rb_define_const(rb_mSockConst,
"IFF_MASTER_ARPMON", INTEGER2NUM(IFF_MASTER_ARPMON));
2713#if defined(IFF_MONITOR)
2717 rb_define_const(rb_mSockConst,
"IFF_MONITOR", INTEGER2NUM(IFF_MONITOR));
2719#if defined(IFF_MULTICAST)
2721 rb_define_const(rb_cSocket,
"IFF_MULTICAST", INTEGER2NUM(IFF_MULTICAST));
2723 rb_define_const(rb_mSockConst,
"IFF_MULTICAST", INTEGER2NUM(IFF_MULTICAST));
2725#if defined(IFF_NOARP)
2731#if defined(IFF_NOTRAILERS)
2733 rb_define_const(rb_cSocket,
"IFF_NOTRAILERS", INTEGER2NUM(IFF_NOTRAILERS));
2735 rb_define_const(rb_mSockConst,
"IFF_NOTRAILERS", INTEGER2NUM(IFF_NOTRAILERS));
2737#if defined(IFF_OACTIVE)
2741 rb_define_const(rb_mSockConst,
"IFF_OACTIVE", INTEGER2NUM(IFF_OACTIVE));
2743#if defined(IFF_OVS_DATAPATH)
2745 rb_define_const(rb_cSocket,
"IFF_OVS_DATAPATH", INTEGER2NUM(IFF_OVS_DATAPATH));
2747 rb_define_const(rb_mSockConst,
"IFF_OVS_DATAPATH", INTEGER2NUM(IFF_OVS_DATAPATH));
2749#if defined(IFF_POINTOPOINT)
2751 rb_define_const(rb_cSocket,
"IFF_POINTOPOINT", INTEGER2NUM(IFF_POINTOPOINT));
2753 rb_define_const(rb_mSockConst,
"IFF_POINTOPOINT", INTEGER2NUM(IFF_POINTOPOINT));
2755#if defined(IFF_PORTSEL)
2759 rb_define_const(rb_mSockConst,
"IFF_PORTSEL", INTEGER2NUM(IFF_PORTSEL));
2761#if defined(IFF_PPROMISC)
2763 rb_define_const(rb_cSocket,
"IFF_PPROMISC", INTEGER2NUM(IFF_PPROMISC));
2765 rb_define_const(rb_mSockConst,
"IFF_PPROMISC", INTEGER2NUM(IFF_PPROMISC));
2767#if defined(IFF_PROMISC)
2771 rb_define_const(rb_mSockConst,
"IFF_PROMISC", INTEGER2NUM(IFF_PROMISC));
2773#if defined(IFF_RENAMING)
2775 rb_define_const(rb_cSocket,
"IFF_RENAMING", INTEGER2NUM(IFF_RENAMING));
2777 rb_define_const(rb_mSockConst,
"IFF_RENAMING", INTEGER2NUM(IFF_RENAMING));
2779#if defined(IFF_ROUTE)
2785#if defined(IFF_RUNNING)
2789 rb_define_const(rb_mSockConst,
"IFF_RUNNING", INTEGER2NUM(IFF_RUNNING));
2791#if defined(IFF_SIMPLEX)
2795 rb_define_const(rb_mSockConst,
"IFF_SIMPLEX", INTEGER2NUM(IFF_SIMPLEX));
2797#if defined(IFF_SLAVE)
2803#if defined(IFF_SLAVE_INACTIVE)
2805 rb_define_const(rb_cSocket,
"IFF_SLAVE_INACTIVE", INTEGER2NUM(IFF_SLAVE_INACTIVE));
2807 rb_define_const(rb_mSockConst,
"IFF_SLAVE_INACTIVE", INTEGER2NUM(IFF_SLAVE_INACTIVE));
2809#if defined(IFF_SLAVE_NEEDARP)
2811 rb_define_const(rb_cSocket,
"IFF_SLAVE_NEEDARP", INTEGER2NUM(IFF_SLAVE_NEEDARP));
2813 rb_define_const(rb_mSockConst,
"IFF_SLAVE_NEEDARP", INTEGER2NUM(IFF_SLAVE_NEEDARP));
2815#if defined(IFF_SMART)
2821#if defined(IFF_STATICARP)
2823 rb_define_const(rb_cSocket,
"IFF_STATICARP", INTEGER2NUM(IFF_STATICARP));
2825 rb_define_const(rb_mSockConst,
"IFF_STATICARP", INTEGER2NUM(IFF_STATICARP));
2827#if defined(IFF_SUPP_NOFCS)
2829 rb_define_const(rb_cSocket,
"IFF_SUPP_NOFCS", INTEGER2NUM(IFF_SUPP_NOFCS));
2831 rb_define_const(rb_mSockConst,
"IFF_SUPP_NOFCS", INTEGER2NUM(IFF_SUPP_NOFCS));
2833#if defined(IFF_TEAM_PORT)
2835 rb_define_const(rb_cSocket,
"IFF_TEAM_PORT", INTEGER2NUM(IFF_TEAM_PORT));
2837 rb_define_const(rb_mSockConst,
"IFF_TEAM_PORT", INTEGER2NUM(IFF_TEAM_PORT));
2839#if defined(IFF_TX_SKB_SHARING)
2841 rb_define_const(rb_cSocket,
"IFF_TX_SKB_SHARING", INTEGER2NUM(IFF_TX_SKB_SHARING));
2843 rb_define_const(rb_mSockConst,
"IFF_TX_SKB_SHARING", INTEGER2NUM(IFF_TX_SKB_SHARING));
2845#if defined(IFF_UNICAST_FLT)
2847 rb_define_const(rb_cSocket,
"IFF_UNICAST_FLT", INTEGER2NUM(IFF_UNICAST_FLT));
2849 rb_define_const(rb_mSockConst,
"IFF_UNICAST_FLT", INTEGER2NUM(IFF_UNICAST_FLT));
2857#if defined(IFF_WAN_HDLC)
2859 rb_define_const(rb_cSocket,
"IFF_WAN_HDLC", INTEGER2NUM(IFF_WAN_HDLC));
2861 rb_define_const(rb_mSockConst,
"IFF_WAN_HDLC", INTEGER2NUM(IFF_WAN_HDLC));
2863#if defined(IFF_XMIT_DST_RELEASE)
2865 rb_define_const(rb_cSocket,
"IFF_XMIT_DST_RELEASE", INTEGER2NUM(IFF_XMIT_DST_RELEASE));
2867 rb_define_const(rb_mSockConst,
"IFF_XMIT_DST_RELEASE", INTEGER2NUM(IFF_XMIT_DST_RELEASE));
2869#if defined(IFF_VOLATILE)
2871 rb_define_const(rb_cSocket,
"IFF_VOLATILE", INTEGER2NUM(IFF_VOLATILE));
2873 rb_define_const(rb_mSockConst,
"IFF_VOLATILE", INTEGER2NUM(IFF_VOLATILE));
2875#if defined(IFF_CANTCHANGE)
2877 rb_define_const(rb_cSocket,
"IFF_CANTCHANGE", INTEGER2NUM(IFF_CANTCHANGE));
2879 rb_define_const(rb_mSockConst,
"IFF_CANTCHANGE", INTEGER2NUM(IFF_CANTCHANGE));
2882 rsock_intern_family_hash = st_init_numtable();
2884 st_insert(rsock_intern_family_hash, (st_data_t)AF_XDP, (st_data_t)
rb_intern2(
"AF_XDP", 6));
2887 st_insert(rsock_intern_family_hash, (st_data_t)AF_KCM, (st_data_t)
rb_intern2(
"AF_KCM", 6));
2890 st_insert(rsock_intern_family_hash, (st_data_t)AF_VSOCK, (st_data_t)
rb_intern2(
"AF_VSOCK", 8));
2893 st_insert(rsock_intern_family_hash, (st_data_t)AF_ALG, (st_data_t)
rb_intern2(
"AF_ALG", 6));
2896 st_insert(rsock_intern_family_hash, (st_data_t)AF_BLUETOOTH, (st_data_t)
rb_intern2(
"AF_BLUETOOTH", 12));
2899 st_insert(rsock_intern_family_hash, (st_data_t)AF_TIPC, (st_data_t)
rb_intern2(
"AF_TIPC", 7));
2902 st_insert(rsock_intern_family_hash, (st_data_t)AF_CAN, (st_data_t)
rb_intern2(
"AF_CAN", 6));
2905 st_insert(rsock_intern_family_hash, (st_data_t)AF_MPLS, (st_data_t)
rb_intern2(
"AF_MPLS", 7));
2908 st_insert(rsock_intern_family_hash, (st_data_t)AF_IB, (st_data_t)
rb_intern2(
"AF_IB", 5));
2911 st_insert(rsock_intern_family_hash, (st_data_t)AF_LLC, (st_data_t)
rb_intern2(
"AF_LLC", 6));
2914 st_insert(rsock_intern_family_hash, (st_data_t)AF_PPPOX, (st_data_t)
rb_intern2(
"AF_PPPOX", 8));
2917 st_insert(rsock_intern_family_hash, (st_data_t)AF_RDS, (st_data_t)
rb_intern2(
"AF_RDS", 6));
2920 st_insert(rsock_intern_family_hash, (st_data_t)AF_NETLINK, (st_data_t)
rb_intern2(
"AF_NETLINK", 10));
2923 st_insert(rsock_intern_family_hash, (st_data_t)AF_KEY, (st_data_t)
rb_intern2(
"AF_KEY", 6));
2926 st_insert(rsock_intern_family_hash, (st_data_t)AF_E164, (st_data_t)
rb_intern2(
"AF_E164", 7));
2929 st_insert(rsock_intern_family_hash, (st_data_t)AF_PACKET, (st_data_t)
rb_intern2(
"AF_PACKET", 9));
2932 st_insert(rsock_intern_family_hash, (st_data_t)AF_MAX, (st_data_t)
rb_intern2(
"AF_MAX", 6));
2935 st_insert(rsock_intern_family_hash, (st_data_t)AF_NETGRAPH, (st_data_t)
rb_intern2(
"AF_NETGRAPH", 11));
2938 st_insert(rsock_intern_family_hash, (st_data_t)AF_ATM, (st_data_t)
rb_intern2(
"AF_ATM", 6));
2941 st_insert(rsock_intern_family_hash, (st_data_t)AF_PPP, (st_data_t)
rb_intern2(
"AF_PPP", 6));
2944 st_insert(rsock_intern_family_hash, (st_data_t)AF_NETBIOS, (st_data_t)
rb_intern2(
"AF_NETBIOS", 10));
2947 st_insert(rsock_intern_family_hash, (st_data_t)AF_SYSTEM, (st_data_t)
rb_intern2(
"AF_SYSTEM", 9));
2950 st_insert(rsock_intern_family_hash, (st_data_t)AF_NATM, (st_data_t)
rb_intern2(
"AF_NATM", 7));
2953 st_insert(rsock_intern_family_hash, (st_data_t)AF_ISDN, (st_data_t)
rb_intern2(
"AF_ISDN", 7));
2956 st_insert(rsock_intern_family_hash, (st_data_t)AF_NDRV, (st_data_t)
rb_intern2(
"AF_NDRV", 7));
2959 st_insert(rsock_intern_family_hash, (st_data_t)AF_SIP, (st_data_t)
rb_intern2(
"AF_SIP", 6));
2962 st_insert(rsock_intern_family_hash, (st_data_t)AF_CNT, (st_data_t)
rb_intern2(
"AF_CNT", 6));
2965 st_insert(rsock_intern_family_hash, (st_data_t)AF_COIP, (st_data_t)
rb_intern2(
"AF_COIP", 7));
2968 st_insert(rsock_intern_family_hash, (st_data_t)AF_LINK, (st_data_t)
rb_intern2(
"AF_LINK", 7));
2971 st_insert(rsock_intern_family_hash, (st_data_t)AF_ROUTE, (st_data_t)
rb_intern2(
"AF_ROUTE", 8));
2974 st_insert(rsock_intern_family_hash, (st_data_t)AF_HYLINK, (st_data_t)
rb_intern2(
"AF_HYLINK", 9));
2977 st_insert(rsock_intern_family_hash, (st_data_t)AF_LAT, (st_data_t)
rb_intern2(
"AF_LAT", 6));
2980 st_insert(rsock_intern_family_hash, (st_data_t)AF_DLI, (st_data_t)
rb_intern2(
"AF_DLI", 6));
2983 st_insert(rsock_intern_family_hash, (st_data_t)AF_DECnet, (st_data_t)
rb_intern2(
"AF_DECnet", 9));
2986 st_insert(rsock_intern_family_hash, (st_data_t)AF_DEC, (st_data_t)
rb_intern2(
"AF_DEC", 6));
2989 st_insert(rsock_intern_family_hash, (st_data_t)AF_SNA, (st_data_t)
rb_intern2(
"AF_SNA", 6));
2992 st_insert(rsock_intern_family_hash, (st_data_t)AF_CCITT, (st_data_t)
rb_intern2(
"AF_CCITT", 8));
2995 st_insert(rsock_intern_family_hash, (st_data_t)AF_DATAKIT, (st_data_t)
rb_intern2(
"AF_DATAKIT", 10));
2998 st_insert(rsock_intern_family_hash, (st_data_t)AF_ECMA, (st_data_t)
rb_intern2(
"AF_ECMA", 7));
3001 st_insert(rsock_intern_family_hash, (st_data_t)AF_OSI, (st_data_t)
rb_intern2(
"AF_OSI", 6));
3004 st_insert(rsock_intern_family_hash, (st_data_t)AF_ISO, (st_data_t)
rb_intern2(
"AF_ISO", 6));
3007 st_insert(rsock_intern_family_hash, (st_data_t)AF_NS, (st_data_t)
rb_intern2(
"AF_NS", 5));
3010 st_insert(rsock_intern_family_hash, (st_data_t)AF_CHAOS, (st_data_t)
rb_intern2(
"AF_CHAOS", 8));
3013 st_insert(rsock_intern_family_hash, (st_data_t)AF_PUP, (st_data_t)
rb_intern2(
"AF_PUP", 6));
3016 st_insert(rsock_intern_family_hash, (st_data_t)AF_IMPLINK, (st_data_t)
rb_intern2(
"AF_IMPLINK", 10));
3019 st_insert(rsock_intern_family_hash, (st_data_t)AF_LOCAL, (st_data_t)
rb_intern2(
"AF_LOCAL", 8));
3022 st_insert(rsock_intern_family_hash, (st_data_t)AF_APPLETALK, (st_data_t)
rb_intern2(
"AF_APPLETALK", 12));
3025 st_insert(rsock_intern_family_hash, (st_data_t)AF_IPX, (st_data_t)
rb_intern2(
"AF_IPX", 6));
3028 st_insert(rsock_intern_family_hash, (st_data_t)AF_AX25, (st_data_t)
rb_intern2(
"AF_AX25", 7));
3031 st_insert(rsock_intern_family_hash, (st_data_t)AF_UNIX, (st_data_t)
rb_intern2(
"AF_UNIX", 7));
3034 st_insert(rsock_intern_family_hash, (st_data_t)AF_INET6, (st_data_t)
rb_intern2(
"AF_INET6", 8));
3037 st_insert(rsock_intern_family_hash, (st_data_t)AF_INET, (st_data_t)
rb_intern2(
"AF_INET", 7));
3040 st_insert(rsock_intern_family_hash, (st_data_t)AF_UNSPEC, (st_data_t)
rb_intern2(
"AF_UNSPEC", 9));
3043 rsock_intern_family_noprefix_hash = st_init_numtable();
3045 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_XDP, (st_data_t)
rb_intern2(
"AF_XDP", 6));
3048 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_KCM, (st_data_t)
rb_intern2(
"AF_KCM", 6));
3051 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_VSOCK, (st_data_t)
rb_intern2(
"AF_VSOCK", 8));
3054 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_ALG, (st_data_t)
rb_intern2(
"AF_ALG", 6));
3057 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_BLUETOOTH, (st_data_t)
rb_intern2(
"AF_BLUETOOTH", 12));
3060 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_TIPC, (st_data_t)
rb_intern2(
"AF_TIPC", 7));
3063 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_CAN, (st_data_t)
rb_intern2(
"AF_CAN", 6));
3066 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_MPLS, (st_data_t)
rb_intern2(
"AF_MPLS", 7));
3069 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_IB, (st_data_t)
rb_intern2(
"AF_IB", 5));
3072 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_LLC, (st_data_t)
rb_intern2(
"AF_LLC", 6));
3075 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_PPPOX, (st_data_t)
rb_intern2(
"AF_PPPOX", 8));
3078 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_RDS, (st_data_t)
rb_intern2(
"AF_RDS", 6));
3081 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_NETLINK, (st_data_t)
rb_intern2(
"AF_NETLINK", 10));
3084 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_KEY, (st_data_t)
rb_intern2(
"AF_KEY", 6));
3087 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_E164, (st_data_t)
rb_intern2(
"AF_E164", 7));
3090 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_PACKET, (st_data_t)
rb_intern2(
"AF_PACKET", 9));
3093 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_MAX, (st_data_t)
rb_intern2(
"AF_MAX", 6));
3096 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_NETGRAPH, (st_data_t)
rb_intern2(
"AF_NETGRAPH", 11));
3099 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_ATM, (st_data_t)
rb_intern2(
"AF_ATM", 6));
3102 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_PPP, (st_data_t)
rb_intern2(
"AF_PPP", 6));
3105 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_NETBIOS, (st_data_t)
rb_intern2(
"AF_NETBIOS", 10));
3108 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_SYSTEM, (st_data_t)
rb_intern2(
"AF_SYSTEM", 9));
3111 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_NATM, (st_data_t)
rb_intern2(
"AF_NATM", 7));
3114 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_ISDN, (st_data_t)
rb_intern2(
"AF_ISDN", 7));
3117 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_NDRV, (st_data_t)
rb_intern2(
"AF_NDRV", 7));
3120 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_SIP, (st_data_t)
rb_intern2(
"AF_SIP", 6));
3123 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_CNT, (st_data_t)
rb_intern2(
"AF_CNT", 6));
3126 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_COIP, (st_data_t)
rb_intern2(
"AF_COIP", 7));
3129 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_LINK, (st_data_t)
rb_intern2(
"AF_LINK", 7));
3132 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_ROUTE, (st_data_t)
rb_intern2(
"AF_ROUTE", 8));
3135 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_HYLINK, (st_data_t)
rb_intern2(
"AF_HYLINK", 9));
3138 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_LAT, (st_data_t)
rb_intern2(
"AF_LAT", 6));
3141 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_DLI, (st_data_t)
rb_intern2(
"AF_DLI", 6));
3144 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_DECnet, (st_data_t)
rb_intern2(
"AF_DECnet", 9));
3147 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_DEC, (st_data_t)
rb_intern2(
"AF_DEC", 6));
3150 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_SNA, (st_data_t)
rb_intern2(
"AF_SNA", 6));
3153 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_CCITT, (st_data_t)
rb_intern2(
"AF_CCITT", 8));
3156 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_DATAKIT, (st_data_t)
rb_intern2(
"AF_DATAKIT", 10));
3159 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_ECMA, (st_data_t)
rb_intern2(
"AF_ECMA", 7));
3162 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_OSI, (st_data_t)
rb_intern2(
"AF_OSI", 6));
3165 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_ISO, (st_data_t)
rb_intern2(
"AF_ISO", 6));
3168 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_NS, (st_data_t)
rb_intern2(
"AF_NS", 5));
3171 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_CHAOS, (st_data_t)
rb_intern2(
"AF_CHAOS", 8));
3174 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_PUP, (st_data_t)
rb_intern2(
"AF_PUP", 6));
3177 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_IMPLINK, (st_data_t)
rb_intern2(
"AF_IMPLINK", 10));
3180 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_LOCAL, (st_data_t)
rb_intern2(
"AF_LOCAL", 8));
3183 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_APPLETALK, (st_data_t)
rb_intern2(
"AF_APPLETALK", 12));
3186 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_IPX, (st_data_t)
rb_intern2(
"AF_IPX", 6));
3189 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_AX25, (st_data_t)
rb_intern2(
"AF_AX25", 7));
3192 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_UNIX, (st_data_t)
rb_intern2(
"AF_UNIX", 7));
3195 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_INET6, (st_data_t)
rb_intern2(
"AF_INET6", 8));
3198 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_INET, (st_data_t)
rb_intern2(
"AF_INET", 7));
3201 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_UNSPEC, (st_data_t)
rb_intern2(
"AF_UNSPEC", 9));
3204 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_XDP, (st_data_t)
rb_intern2(
"XDP", 3));
3207 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_KCM, (st_data_t)
rb_intern2(
"KCM", 3));
3210 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_VSOCK, (st_data_t)
rb_intern2(
"VSOCK", 5));
3213 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_ALG, (st_data_t)
rb_intern2(
"ALG", 3));
3216 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_BLUETOOTH, (st_data_t)
rb_intern2(
"BLUETOOTH", 9));
3219 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_TIPC, (st_data_t)
rb_intern2(
"TIPC", 4));
3222 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_CAN, (st_data_t)
rb_intern2(
"CAN", 3));
3225 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_MPLS, (st_data_t)
rb_intern2(
"MPLS", 4));
3228 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_IB, (st_data_t)
rb_intern2(
"IB", 2));
3231 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_LLC, (st_data_t)
rb_intern2(
"LLC", 3));
3234 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_PPPOX, (st_data_t)
rb_intern2(
"PPPOX", 5));
3237 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_RDS, (st_data_t)
rb_intern2(
"RDS", 3));
3240 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_NETLINK, (st_data_t)
rb_intern2(
"NETLINK", 7));
3243 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_KEY, (st_data_t)
rb_intern2(
"KEY", 3));
3246 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_E164, (st_data_t)
rb_intern2(
"E164", 4));
3249 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_PACKET, (st_data_t)
rb_intern2(
"PACKET", 6));
3252 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_MAX, (st_data_t)
rb_intern2(
"MAX", 3));
3255 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_NETGRAPH, (st_data_t)
rb_intern2(
"NETGRAPH", 8));
3258 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_ATM, (st_data_t)
rb_intern2(
"ATM", 3));
3261 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_PPP, (st_data_t)
rb_intern2(
"PPP", 3));
3264 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_NETBIOS, (st_data_t)
rb_intern2(
"NETBIOS", 7));
3267 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_SYSTEM, (st_data_t)
rb_intern2(
"SYSTEM", 6));
3270 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_NATM, (st_data_t)
rb_intern2(
"NATM", 4));
3273 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_ISDN, (st_data_t)
rb_intern2(
"ISDN", 4));
3276 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_NDRV, (st_data_t)
rb_intern2(
"NDRV", 4));
3279 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_SIP, (st_data_t)
rb_intern2(
"SIP", 3));
3282 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_CNT, (st_data_t)
rb_intern2(
"CNT", 3));
3285 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_COIP, (st_data_t)
rb_intern2(
"COIP", 4));
3288 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_LINK, (st_data_t)
rb_intern2(
"LINK", 4));
3291 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_ROUTE, (st_data_t)
rb_intern2(
"ROUTE", 5));
3294 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_HYLINK, (st_data_t)
rb_intern2(
"HYLINK", 6));
3297 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_LAT, (st_data_t)
rb_intern2(
"LAT", 3));
3300 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_DLI, (st_data_t)
rb_intern2(
"DLI", 3));
3303 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_DECnet, (st_data_t)
rb_intern2(
"DECnet", 6));
3306 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_DEC, (st_data_t)
rb_intern2(
"DEC", 3));
3309 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_SNA, (st_data_t)
rb_intern2(
"SNA", 3));
3312 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_CCITT, (st_data_t)
rb_intern2(
"CCITT", 5));
3315 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_DATAKIT, (st_data_t)
rb_intern2(
"DATAKIT", 7));
3318 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_ECMA, (st_data_t)
rb_intern2(
"ECMA", 4));
3321 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_OSI, (st_data_t)
rb_intern2(
"OSI", 3));
3324 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_ISO, (st_data_t)
rb_intern2(
"ISO", 3));
3327 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_NS, (st_data_t)
rb_intern2(
"NS", 2));
3330 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_CHAOS, (st_data_t)
rb_intern2(
"CHAOS", 5));
3333 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_PUP, (st_data_t)
rb_intern2(
"PUP", 3));
3336 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_IMPLINK, (st_data_t)
rb_intern2(
"IMPLINK", 7));
3339 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_LOCAL, (st_data_t)
rb_intern2(
"LOCAL", 5));
3342 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_APPLETALK, (st_data_t)
rb_intern2(
"APPLETALK", 9));
3345 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_IPX, (st_data_t)
rb_intern2(
"IPX", 3));
3348 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_AX25, (st_data_t)
rb_intern2(
"AX25", 4));
3351 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_UNIX, (st_data_t)
rb_intern2(
"UNIX", 4));
3354 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_INET6, (st_data_t)
rb_intern2(
"INET6", 5));
3357 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_INET, (st_data_t)
rb_intern2(
"INET", 4));
3360 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_UNSPEC, (st_data_t)
rb_intern2(
"UNSPEC", 6));
3363 rsock_intern_protocol_family_hash = st_init_numtable();
3365 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_XDP, (st_data_t)
rb_intern2(
"PF_XDP", 6));
3368 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_KCM, (st_data_t)
rb_intern2(
"PF_KCM", 6));
3371 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_VSOCK, (st_data_t)
rb_intern2(
"PF_VSOCK", 8));
3374 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_ALG, (st_data_t)
rb_intern2(
"PF_ALG", 6));
3377 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_BLUETOOTH, (st_data_t)
rb_intern2(
"PF_BLUETOOTH", 12));
3380 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_TIPC, (st_data_t)
rb_intern2(
"PF_TIPC", 7));
3383 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_CAN, (st_data_t)
rb_intern2(
"PF_CAN", 6));
3386 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_MPLS, (st_data_t)
rb_intern2(
"PF_MPLS", 7));
3389 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_IB, (st_data_t)
rb_intern2(
"PF_IB", 5));
3392 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_LLC, (st_data_t)
rb_intern2(
"PF_LLC", 6));
3395 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_PPPOX, (st_data_t)
rb_intern2(
"PF_PPPOX", 8));
3398 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_RDS, (st_data_t)
rb_intern2(
"PF_RDS", 6));
3401 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_NETLINK, (st_data_t)
rb_intern2(
"PF_NETLINK", 10));
3404 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_KEY, (st_data_t)
rb_intern2(
"PF_KEY", 6));
3407 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_PIP, (st_data_t)
rb_intern2(
"PF_PIP", 6));
3410 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_RTIP, (st_data_t)
rb_intern2(
"PF_RTIP", 7));
3413 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_XTP, (st_data_t)
rb_intern2(
"PF_XTP", 6));
3416 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_PACKET, (st_data_t)
rb_intern2(
"PF_PACKET", 9));
3419 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_MAX, (st_data_t)
rb_intern2(
"PF_MAX", 6));
3422 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_NETGRAPH, (st_data_t)
rb_intern2(
"PF_NETGRAPH", 11));
3425 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_ATM, (st_data_t)
rb_intern2(
"PF_ATM", 6));
3428 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_PPP, (st_data_t)
rb_intern2(
"PF_PPP", 6));
3431 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_NETBIOS, (st_data_t)
rb_intern2(
"PF_NETBIOS", 10));
3434 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_SYSTEM, (st_data_t)
rb_intern2(
"PF_SYSTEM", 9));
3437 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_NATM, (st_data_t)
rb_intern2(
"PF_NATM", 7));
3440 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_ISDN, (st_data_t)
rb_intern2(
"PF_ISDN", 7));
3443 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_NDRV, (st_data_t)
rb_intern2(
"PF_NDRV", 7));
3446 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_SIP, (st_data_t)
rb_intern2(
"PF_SIP", 6));
3449 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_CNT, (st_data_t)
rb_intern2(
"PF_CNT", 6));
3452 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_COIP, (st_data_t)
rb_intern2(
"PF_COIP", 7));
3455 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_LINK, (st_data_t)
rb_intern2(
"PF_LINK", 7));
3458 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_ROUTE, (st_data_t)
rb_intern2(
"PF_ROUTE", 8));
3461 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_HYLINK, (st_data_t)
rb_intern2(
"PF_HYLINK", 9));
3464 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_LAT, (st_data_t)
rb_intern2(
"PF_LAT", 6));
3467 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_DLI, (st_data_t)
rb_intern2(
"PF_DLI", 6));
3470 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_DECnet, (st_data_t)
rb_intern2(
"PF_DECnet", 9));
3473 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_DEC, (st_data_t)
rb_intern2(
"PF_DEC", 6));
3476 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_SNA, (st_data_t)
rb_intern2(
"PF_SNA", 6));
3479 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_CCITT, (st_data_t)
rb_intern2(
"PF_CCITT", 8));
3482 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_DATAKIT, (st_data_t)
rb_intern2(
"PF_DATAKIT", 10));
3485 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_ECMA, (st_data_t)
rb_intern2(
"PF_ECMA", 7));
3488 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_OSI, (st_data_t)
rb_intern2(
"PF_OSI", 6));
3491 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_ISO, (st_data_t)
rb_intern2(
"PF_ISO", 6));
3494 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_NS, (st_data_t)
rb_intern2(
"PF_NS", 5));
3497 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_CHAOS, (st_data_t)
rb_intern2(
"PF_CHAOS", 8));
3500 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_PUP, (st_data_t)
rb_intern2(
"PF_PUP", 6));
3503 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_IMPLINK, (st_data_t)
rb_intern2(
"PF_IMPLINK", 10));
3506 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_LOCAL, (st_data_t)
rb_intern2(
"PF_LOCAL", 8));
3509 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_APPLETALK, (st_data_t)
rb_intern2(
"PF_APPLETALK", 12));
3512 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_IPX, (st_data_t)
rb_intern2(
"PF_IPX", 6));
3515 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_AX25, (st_data_t)
rb_intern2(
"PF_AX25", 7));
3518 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_UNIX, (st_data_t)
rb_intern2(
"PF_UNIX", 7));
3521 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_INET6, (st_data_t)
rb_intern2(
"PF_INET6", 8));
3524 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_INET, (st_data_t)
rb_intern2(
"PF_INET", 7));
3527 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_UNSPEC, (st_data_t)
rb_intern2(
"PF_UNSPEC", 9));
3530 rsock_intern_socktype_hash = st_init_numtable();
3532 st_insert(rsock_intern_socktype_hash, (st_data_t)SOCK_CLOEXEC, (st_data_t)
rb_intern2(
"SOCK_CLOEXEC", 12));
3535 st_insert(rsock_intern_socktype_hash, (st_data_t)SOCK_NONBLOCK, (st_data_t)
rb_intern2(
"SOCK_NONBLOCK", 13));
3538 st_insert(rsock_intern_socktype_hash, (st_data_t)SOCK_PACKET, (st_data_t)
rb_intern2(
"SOCK_PACKET", 11));
3540#ifdef SOCK_SEQPACKET
3541 st_insert(rsock_intern_socktype_hash, (st_data_t)SOCK_SEQPACKET, (st_data_t)
rb_intern2(
"SOCK_SEQPACKET", 14));
3544 st_insert(rsock_intern_socktype_hash, (st_data_t)SOCK_RDM, (st_data_t)
rb_intern2(
"SOCK_RDM", 8));
3547 st_insert(rsock_intern_socktype_hash, (st_data_t)SOCK_RAW, (st_data_t)
rb_intern2(
"SOCK_RAW", 8));
3550 st_insert(rsock_intern_socktype_hash, (st_data_t)SOCK_DGRAM, (st_data_t)
rb_intern2(
"SOCK_DGRAM", 10));
3553 st_insert(rsock_intern_socktype_hash, (st_data_t)SOCK_STREAM, (st_data_t)
rb_intern2(
"SOCK_STREAM", 11));
3556 rsock_intern_ipproto_hash = st_init_numtable();
3558 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_MAX, (st_data_t)
rb_intern2(
"IPPROTO_MAX", 11));
3561 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_RAW, (st_data_t)
rb_intern2(
"IPPROTO_RAW", 11));
3563#ifdef IPPROTO_ROUTING
3564 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_ROUTING, (st_data_t)
rb_intern2(
"IPPROTO_ROUTING", 15));
3567 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_NONE, (st_data_t)
rb_intern2(
"IPPROTO_NONE", 12));
3570 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_IPV6, (st_data_t)
rb_intern2(
"IPPROTO_IPV6", 12));
3572#ifdef IPPROTO_ICMPV6
3573 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_ICMPV6, (st_data_t)
rb_intern2(
"IPPROTO_ICMPV6", 14));
3575#ifdef IPPROTO_HOPOPTS
3576 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_HOPOPTS, (st_data_t)
rb_intern2(
"IPPROTO_HOPOPTS", 15));
3578#ifdef IPPROTO_FRAGMENT
3579 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_FRAGMENT, (st_data_t)
rb_intern2(
"IPPROTO_FRAGMENT", 16));
3582 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_ESP, (st_data_t)
rb_intern2(
"IPPROTO_ESP", 11));
3584#ifdef IPPROTO_DSTOPTS
3585 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_DSTOPTS, (st_data_t)
rb_intern2(
"IPPROTO_DSTOPTS", 15));
3588 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_AH, (st_data_t)
rb_intern2(
"IPPROTO_AH", 10));
3591 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_BIP, (st_data_t)
rb_intern2(
"IPPROTO_BIP", 11));
3594 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_EON, (st_data_t)
rb_intern2(
"IPPROTO_EON", 11));
3597 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_XTP, (st_data_t)
rb_intern2(
"IPPROTO_XTP", 11));
3600 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_TP, (st_data_t)
rb_intern2(
"IPPROTO_TP", 10));
3603 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_ND, (st_data_t)
rb_intern2(
"IPPROTO_ND", 10));
3606 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_HELLO, (st_data_t)
rb_intern2(
"IPPROTO_HELLO", 13));
3609 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_IDP, (st_data_t)
rb_intern2(
"IPPROTO_IDP", 11));
3612 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_UDP, (st_data_t)
rb_intern2(
"IPPROTO_UDP", 11));
3615 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_PUP, (st_data_t)
rb_intern2(
"IPPROTO_PUP", 11));
3618 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_EGP, (st_data_t)
rb_intern2(
"IPPROTO_EGP", 11));
3621 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_TCP, (st_data_t)
rb_intern2(
"IPPROTO_TCP", 11));
3624 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_GGP, (st_data_t)
rb_intern2(
"IPPROTO_GGP", 11));
3627 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_IGMP, (st_data_t)
rb_intern2(
"IPPROTO_IGMP", 12));
3630 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_ICMP, (st_data_t)
rb_intern2(
"IPPROTO_ICMP", 12));
3633 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_IP, (st_data_t)
rb_intern2(
"IPPROTO_IP", 10));
3636 rsock_intern_iplevel_hash = st_init_numtable();
3638 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_MAX, (st_data_t)
rb_intern2(
"IPPROTO_MAX", 11));
3641 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_RAW, (st_data_t)
rb_intern2(
"IPPROTO_RAW", 11));
3643#ifdef IPPROTO_ROUTING
3644 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_ROUTING, (st_data_t)
rb_intern2(
"IPPROTO_ROUTING", 15));
3647 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_NONE, (st_data_t)
rb_intern2(
"IPPROTO_NONE", 12));
3650 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_IPV6, (st_data_t)
rb_intern2(
"IPPROTO_IPV6", 12));
3652#ifdef IPPROTO_ICMPV6
3653 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_ICMPV6, (st_data_t)
rb_intern2(
"IPPROTO_ICMPV6", 14));
3655#ifdef IPPROTO_HOPOPTS
3656 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_HOPOPTS, (st_data_t)
rb_intern2(
"IPPROTO_HOPOPTS", 15));
3658#ifdef IPPROTO_FRAGMENT
3659 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_FRAGMENT, (st_data_t)
rb_intern2(
"IPPROTO_FRAGMENT", 16));
3662 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_ESP, (st_data_t)
rb_intern2(
"IPPROTO_ESP", 11));
3664#ifdef IPPROTO_DSTOPTS
3665 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_DSTOPTS, (st_data_t)
rb_intern2(
"IPPROTO_DSTOPTS", 15));
3668 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_AH, (st_data_t)
rb_intern2(
"IPPROTO_AH", 10));
3671 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_BIP, (st_data_t)
rb_intern2(
"IPPROTO_BIP", 11));
3674 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_EON, (st_data_t)
rb_intern2(
"IPPROTO_EON", 11));
3677 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_XTP, (st_data_t)
rb_intern2(
"IPPROTO_XTP", 11));
3680 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_TP, (st_data_t)
rb_intern2(
"IPPROTO_TP", 10));
3683 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_ND, (st_data_t)
rb_intern2(
"IPPROTO_ND", 10));
3686 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_HELLO, (st_data_t)
rb_intern2(
"IPPROTO_HELLO", 13));
3689 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_IDP, (st_data_t)
rb_intern2(
"IPPROTO_IDP", 11));
3692 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_UDP, (st_data_t)
rb_intern2(
"IPPROTO_UDP", 11));
3695 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_PUP, (st_data_t)
rb_intern2(
"IPPROTO_PUP", 11));
3698 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_EGP, (st_data_t)
rb_intern2(
"IPPROTO_EGP", 11));
3701 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_TCP, (st_data_t)
rb_intern2(
"IPPROTO_TCP", 11));
3704 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_GGP, (st_data_t)
rb_intern2(
"IPPROTO_GGP", 11));
3707 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_IGMP, (st_data_t)
rb_intern2(
"IPPROTO_IGMP", 12));
3710 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_ICMP, (st_data_t)
rb_intern2(
"IPPROTO_ICMP", 12));
3713 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_IP, (st_data_t)
rb_intern2(
"IPPROTO_IP", 10));
3716 st_insert(rsock_intern_iplevel_hash, (st_data_t)SOL_SOCKET, (st_data_t)
rb_intern2(
"SOL_SOCKET", 10));
3719 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_MAX, (st_data_t)
rb_intern2(
"MAX", 3));
3722 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_RAW, (st_data_t)
rb_intern2(
"RAW", 3));
3724#ifdef IPPROTO_ROUTING
3725 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_ROUTING, (st_data_t)
rb_intern2(
"ROUTING", 7));
3728 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_NONE, (st_data_t)
rb_intern2(
"NONE", 4));
3731 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_IPV6, (st_data_t)
rb_intern2(
"IPV6", 4));
3733#ifdef IPPROTO_ICMPV6
3734 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_ICMPV6, (st_data_t)
rb_intern2(
"ICMPV6", 6));
3736#ifdef IPPROTO_HOPOPTS
3737 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_HOPOPTS, (st_data_t)
rb_intern2(
"HOPOPTS", 7));
3739#ifdef IPPROTO_FRAGMENT
3740 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_FRAGMENT, (st_data_t)
rb_intern2(
"FRAGMENT", 8));
3743 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_ESP, (st_data_t)
rb_intern2(
"ESP", 3));
3745#ifdef IPPROTO_DSTOPTS
3746 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_DSTOPTS, (st_data_t)
rb_intern2(
"DSTOPTS", 7));
3749 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_AH, (st_data_t)
rb_intern2(
"AH", 2));
3752 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_BIP, (st_data_t)
rb_intern2(
"BIP", 3));
3755 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_EON, (st_data_t)
rb_intern2(
"EON", 3));
3758 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_XTP, (st_data_t)
rb_intern2(
"XTP", 3));
3761 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_TP, (st_data_t)
rb_intern2(
"TP", 2));
3764 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_ND, (st_data_t)
rb_intern2(
"ND", 2));
3767 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_HELLO, (st_data_t)
rb_intern2(
"HELLO", 5));
3770 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_IDP, (st_data_t)
rb_intern2(
"IDP", 3));
3773 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_UDP, (st_data_t)
rb_intern2(
"UDP", 3));
3776 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_PUP, (st_data_t)
rb_intern2(
"PUP", 3));
3779 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_EGP, (st_data_t)
rb_intern2(
"EGP", 3));
3782 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_TCP, (st_data_t)
rb_intern2(
"TCP", 3));
3785 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_GGP, (st_data_t)
rb_intern2(
"GGP", 3));
3788 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_IGMP, (st_data_t)
rb_intern2(
"IGMP", 4));
3791 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_ICMP, (st_data_t)
rb_intern2(
"ICMP", 4));
3794 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_IP, (st_data_t)
rb_intern2(
"IP", 2));
3797 st_insert(rsock_intern_iplevel_hash, (st_data_t)SOL_SOCKET, (st_data_t)
rb_intern2(
"SOCKET", 6));
3800 rsock_intern_so_optname_hash = st_init_numtable();
3801#ifdef SO_BPF_EXTENSIONS
3802 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_BPF_EXTENSIONS, (st_data_t)
rb_intern2(
"SO_BPF_EXTENSIONS", 17));
3804#ifdef SO_MAX_PACING_RATE
3805 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_MAX_PACING_RATE, (st_data_t)
rb_intern2(
"SO_MAX_PACING_RATE", 18));
3808 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_BUSY_POLL, (st_data_t)
rb_intern2(
"SO_BUSY_POLL", 12));
3810#ifdef SO_SELECT_ERR_QUEUE
3811 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_SELECT_ERR_QUEUE, (st_data_t)
rb_intern2(
"SO_SELECT_ERR_QUEUE", 19));
3813#ifdef SO_LOCK_FILTER
3814 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_LOCK_FILTER, (st_data_t)
rb_intern2(
"SO_LOCK_FILTER", 14));
3817 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_NOFCS, (st_data_t)
rb_intern2(
"SO_NOFCS", 8));
3820 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_PEEK_OFF, (st_data_t)
rb_intern2(
"SO_PEEK_OFF", 11));
3822#ifdef SO_WIFI_STATUS
3823 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_WIFI_STATUS, (st_data_t)
rb_intern2(
"SO_WIFI_STATUS", 14));
3826 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_RXQ_OVFL, (st_data_t)
rb_intern2(
"SO_RXQ_OVFL", 11));
3829 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_DOMAIN, (st_data_t)
rb_intern2(
"SO_DOMAIN", 9));
3832 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_PROTOCOL, (st_data_t)
rb_intern2(
"SO_PROTOCOL", 11));
3834#ifdef SO_TIMESTAMPING
3835 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_TIMESTAMPING, (st_data_t)
rb_intern2(
"SO_TIMESTAMPING", 15));
3838 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_MARK, (st_data_t)
rb_intern2(
"SO_MARK", 7));
3841 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_PASSSEC, (st_data_t)
rb_intern2(
"SO_PASSSEC", 10));
3844 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_PEERSEC, (st_data_t)
rb_intern2(
"SO_PEERSEC", 10));
3847 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_ALLZONES, (st_data_t)
rb_intern2(
"SO_ALLZONES", 11));
3850 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_MAC_EXEMPT, (st_data_t)
rb_intern2(
"SO_MAC_EXEMPT", 13));
3853 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_RECVUCRED, (st_data_t)
rb_intern2(
"SO_RECVUCRED", 12));
3856 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_BINTIME, (st_data_t)
rb_intern2(
"SO_BINTIME", 10));
3858#ifdef SO_TIMESTAMPNS
3859 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_TIMESTAMPNS, (st_data_t)
rb_intern2(
"SO_TIMESTAMPNS", 14));
3862 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_TIMESTAMP, (st_data_t)
rb_intern2(
"SO_TIMESTAMP", 12));
3865 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_PEERNAME, (st_data_t)
rb_intern2(
"SO_PEERNAME", 11));
3868 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_GET_FILTER, (st_data_t)
rb_intern2(
"SO_GET_FILTER", 13));
3870#ifdef SO_DETACH_FILTER
3871 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_DETACH_FILTER, (st_data_t)
rb_intern2(
"SO_DETACH_FILTER", 16));
3873#ifdef SO_ATTACH_FILTER
3874 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_ATTACH_FILTER, (st_data_t)
rb_intern2(
"SO_ATTACH_FILTER", 16));
3876#ifdef SO_BINDTODEVICE
3877 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_BINDTODEVICE, (st_data_t)
rb_intern2(
"SO_BINDTODEVICE", 15));
3879#ifdef SO_SECURITY_ENCRYPTION_NETWORK
3880 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_SECURITY_ENCRYPTION_NETWORK, (st_data_t)
rb_intern2(
"SO_SECURITY_ENCRYPTION_NETWORK", 30));
3882#ifdef SO_SECURITY_ENCRYPTION_TRANSPORT
3883 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_SECURITY_ENCRYPTION_TRANSPORT, (st_data_t)
rb_intern2(
"SO_SECURITY_ENCRYPTION_TRANSPORT", 32));
3885#ifdef SO_SECURITY_AUTHENTICATION
3886 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_SECURITY_AUTHENTICATION, (st_data_t)
rb_intern2(
"SO_SECURITY_AUTHENTICATION", 26));
3889 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_NOSIGPIPE, (st_data_t)
rb_intern2(
"SO_NOSIGPIPE", 12));
3892 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_NKE, (st_data_t)
rb_intern2(
"SO_NKE", 6));
3895 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_NREAD, (st_data_t)
rb_intern2(
"SO_NREAD", 8));
3897#ifdef SO_WANTOOBFLAG
3898 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_WANTOOBFLAG, (st_data_t)
rb_intern2(
"SO_WANTOOBFLAG", 14));
3901 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_WANTMORE, (st_data_t)
rb_intern2(
"SO_WANTMORE", 11));
3904 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_DONTTRUNC, (st_data_t)
rb_intern2(
"SO_DONTTRUNC", 12));
3906#ifdef SO_ACCEPTFILTER
3907 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_ACCEPTFILTER, (st_data_t)
rb_intern2(
"SO_ACCEPTFILTER", 15));
3909#ifdef SO_USELOOPBACK
3910 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_USELOOPBACK, (st_data_t)
rb_intern2(
"SO_USELOOPBACK", 14));
3913 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_ACCEPTCONN, (st_data_t)
rb_intern2(
"SO_ACCEPTCONN", 13));
3916 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_SNDTIMEO, (st_data_t)
rb_intern2(
"SO_SNDTIMEO", 11));
3919 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_RCVTIMEO, (st_data_t)
rb_intern2(
"SO_RCVTIMEO", 11));
3922 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_SNDLOWAT, (st_data_t)
rb_intern2(
"SO_SNDLOWAT", 11));
3925 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_RCVLOWAT, (st_data_t)
rb_intern2(
"SO_RCVLOWAT", 11));
3928 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_PEERCRED, (st_data_t)
rb_intern2(
"SO_PEERCRED", 11));
3931 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_PASSCRED, (st_data_t)
rb_intern2(
"SO_PASSCRED", 11));
3934 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_LINGER, (st_data_t)
rb_intern2(
"SO_LINGER", 9));
3937 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_PRIORITY, (st_data_t)
rb_intern2(
"SO_PRIORITY", 11));
3940 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_NO_CHECK, (st_data_t)
rb_intern2(
"SO_NO_CHECK", 11));
3943 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_OOBINLINE, (st_data_t)
rb_intern2(
"SO_OOBINLINE", 12));
3946 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_KEEPALIVE, (st_data_t)
rb_intern2(
"SO_KEEPALIVE", 12));
3948#ifdef SO_RCVBUFFORCE
3949 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_RCVBUFFORCE, (st_data_t)
rb_intern2(
"SO_RCVBUFFORCE", 14));
3951#ifdef SO_SNDBUFFORCE
3952 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_SNDBUFFORCE, (st_data_t)
rb_intern2(
"SO_SNDBUFFORCE", 14));
3955 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_RCVBUF, (st_data_t)
rb_intern2(
"SO_RCVBUF", 9));
3958 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_SNDBUF, (st_data_t)
rb_intern2(
"SO_SNDBUF", 9));
3961 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_BROADCAST, (st_data_t)
rb_intern2(
"SO_BROADCAST", 12));
3964 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_DONTROUTE, (st_data_t)
rb_intern2(
"SO_DONTROUTE", 12));
3967 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_ERROR, (st_data_t)
rb_intern2(
"SO_ERROR", 8));
3970 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_TYPE, (st_data_t)
rb_intern2(
"SO_TYPE", 7));
3973 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_REUSEPORT, (st_data_t)
rb_intern2(
"SO_REUSEPORT", 12));
3976 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_REUSEADDR, (st_data_t)
rb_intern2(
"SO_REUSEADDR", 12));
3979 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_DEBUG, (st_data_t)
rb_intern2(
"SO_DEBUG", 8));
3981#ifdef SO_BPF_EXTENSIONS
3982 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_BPF_EXTENSIONS, (st_data_t)
rb_intern2(
"BPF_EXTENSIONS", 14));
3984#ifdef SO_MAX_PACING_RATE
3985 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_MAX_PACING_RATE, (st_data_t)
rb_intern2(
"MAX_PACING_RATE", 15));
3988 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_BUSY_POLL, (st_data_t)
rb_intern2(
"BUSY_POLL", 9));
3990#ifdef SO_SELECT_ERR_QUEUE
3991 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_SELECT_ERR_QUEUE, (st_data_t)
rb_intern2(
"SELECT_ERR_QUEUE", 16));
3993#ifdef SO_LOCK_FILTER
3994 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_LOCK_FILTER, (st_data_t)
rb_intern2(
"LOCK_FILTER", 11));
3997 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_NOFCS, (st_data_t)
rb_intern2(
"NOFCS", 5));
4000 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_PEEK_OFF, (st_data_t)
rb_intern2(
"PEEK_OFF", 8));
4002#ifdef SO_WIFI_STATUS
4003 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_WIFI_STATUS, (st_data_t)
rb_intern2(
"WIFI_STATUS", 11));
4006 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_RXQ_OVFL, (st_data_t)
rb_intern2(
"RXQ_OVFL", 8));
4009 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_DOMAIN, (st_data_t)
rb_intern2(
"DOMAIN", 6));
4012 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_PROTOCOL, (st_data_t)
rb_intern2(
"PROTOCOL", 8));
4014#ifdef SO_TIMESTAMPING
4015 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_TIMESTAMPING, (st_data_t)
rb_intern2(
"TIMESTAMPING", 12));
4018 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_MARK, (st_data_t)
rb_intern2(
"MARK", 4));
4021 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_PASSSEC, (st_data_t)
rb_intern2(
"PASSSEC", 7));
4024 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_PEERSEC, (st_data_t)
rb_intern2(
"PEERSEC", 7));
4027 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_ALLZONES, (st_data_t)
rb_intern2(
"ALLZONES", 8));
4030 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_MAC_EXEMPT, (st_data_t)
rb_intern2(
"MAC_EXEMPT", 10));
4033 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_RECVUCRED, (st_data_t)
rb_intern2(
"RECVUCRED", 9));
4036 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_BINTIME, (st_data_t)
rb_intern2(
"BINTIME", 7));
4038#ifdef SO_TIMESTAMPNS
4039 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_TIMESTAMPNS, (st_data_t)
rb_intern2(
"TIMESTAMPNS", 11));
4042 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_TIMESTAMP, (st_data_t)
rb_intern2(
"TIMESTAMP", 9));
4045 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_PEERNAME, (st_data_t)
rb_intern2(
"PEERNAME", 8));
4048 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_GET_FILTER, (st_data_t)
rb_intern2(
"GET_FILTER", 10));
4050#ifdef SO_DETACH_FILTER
4051 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_DETACH_FILTER, (st_data_t)
rb_intern2(
"DETACH_FILTER", 13));
4053#ifdef SO_ATTACH_FILTER
4054 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_ATTACH_FILTER, (st_data_t)
rb_intern2(
"ATTACH_FILTER", 13));
4056#ifdef SO_BINDTODEVICE
4057 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_BINDTODEVICE, (st_data_t)
rb_intern2(
"BINDTODEVICE", 12));
4059#ifdef SO_SECURITY_ENCRYPTION_NETWORK
4060 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_SECURITY_ENCRYPTION_NETWORK, (st_data_t)
rb_intern2(
"SECURITY_ENCRYPTION_NETWORK", 27));
4062#ifdef SO_SECURITY_ENCRYPTION_TRANSPORT
4063 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_SECURITY_ENCRYPTION_TRANSPORT, (st_data_t)
rb_intern2(
"SECURITY_ENCRYPTION_TRANSPORT", 29));
4065#ifdef SO_SECURITY_AUTHENTICATION
4066 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_SECURITY_AUTHENTICATION, (st_data_t)
rb_intern2(
"SECURITY_AUTHENTICATION", 23));
4069 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_NOSIGPIPE, (st_data_t)
rb_intern2(
"NOSIGPIPE", 9));
4072 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_NKE, (st_data_t)
rb_intern2(
"NKE", 3));
4075 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_NREAD, (st_data_t)
rb_intern2(
"NREAD", 5));
4077#ifdef SO_WANTOOBFLAG
4078 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_WANTOOBFLAG, (st_data_t)
rb_intern2(
"WANTOOBFLAG", 11));
4081 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_WANTMORE, (st_data_t)
rb_intern2(
"WANTMORE", 8));
4084 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_DONTTRUNC, (st_data_t)
rb_intern2(
"DONTTRUNC", 9));
4086#ifdef SO_ACCEPTFILTER
4087 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_ACCEPTFILTER, (st_data_t)
rb_intern2(
"ACCEPTFILTER", 12));
4089#ifdef SO_USELOOPBACK
4090 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_USELOOPBACK, (st_data_t)
rb_intern2(
"USELOOPBACK", 11));
4093 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_ACCEPTCONN, (st_data_t)
rb_intern2(
"ACCEPTCONN", 10));
4096 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_SNDTIMEO, (st_data_t)
rb_intern2(
"SNDTIMEO", 8));
4099 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_RCVTIMEO, (st_data_t)
rb_intern2(
"RCVTIMEO", 8));
4102 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_SNDLOWAT, (st_data_t)
rb_intern2(
"SNDLOWAT", 8));
4105 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_RCVLOWAT, (st_data_t)
rb_intern2(
"RCVLOWAT", 8));
4108 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_PEERCRED, (st_data_t)
rb_intern2(
"PEERCRED", 8));
4111 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_PASSCRED, (st_data_t)
rb_intern2(
"PASSCRED", 8));
4114 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_LINGER, (st_data_t)
rb_intern2(
"LINGER", 6));
4117 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_PRIORITY, (st_data_t)
rb_intern2(
"PRIORITY", 8));
4120 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_NO_CHECK, (st_data_t)
rb_intern2(
"NO_CHECK", 8));
4123 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_OOBINLINE, (st_data_t)
rb_intern2(
"OOBINLINE", 9));
4126 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_KEEPALIVE, (st_data_t)
rb_intern2(
"KEEPALIVE", 9));
4128#ifdef SO_RCVBUFFORCE
4129 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_RCVBUFFORCE, (st_data_t)
rb_intern2(
"RCVBUFFORCE", 11));
4131#ifdef SO_SNDBUFFORCE
4132 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_SNDBUFFORCE, (st_data_t)
rb_intern2(
"SNDBUFFORCE", 11));
4135 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_RCVBUF, (st_data_t)
rb_intern2(
"RCVBUF", 6));
4138 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_SNDBUF, (st_data_t)
rb_intern2(
"SNDBUF", 6));
4141 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_BROADCAST, (st_data_t)
rb_intern2(
"BROADCAST", 9));
4144 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_DONTROUTE, (st_data_t)
rb_intern2(
"DONTROUTE", 9));
4147 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_ERROR, (st_data_t)
rb_intern2(
"ERROR", 5));
4150 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_TYPE, (st_data_t)
rb_intern2(
"TYPE", 4));
4153 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_REUSEPORT, (st_data_t)
rb_intern2(
"REUSEPORT", 9));
4156 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_REUSEADDR, (st_data_t)
rb_intern2(
"REUSEADDR", 9));
4159 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_DEBUG, (st_data_t)
rb_intern2(
"DEBUG", 5));
4162 rsock_intern_ip_optname_hash = st_init_numtable();
4164 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_MSFILTER, (st_data_t)
rb_intern2(
"IP_MSFILTER", 11));
4166#ifdef IP_DROP_SOURCE_MEMBERSHIP
4167 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_DROP_SOURCE_MEMBERSHIP, (st_data_t)
rb_intern2(
"IP_DROP_SOURCE_MEMBERSHIP", 25));
4169#ifdef IP_ADD_SOURCE_MEMBERSHIP
4170 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_ADD_SOURCE_MEMBERSHIP, (st_data_t)
rb_intern2(
"IP_ADD_SOURCE_MEMBERSHIP", 24));
4172#ifdef IP_BLOCK_SOURCE
4173 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_BLOCK_SOURCE, (st_data_t)
rb_intern2(
"IP_BLOCK_SOURCE", 15));
4175#ifdef IP_UNBLOCK_SOURCE
4176 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_UNBLOCK_SOURCE, (st_data_t)
rb_intern2(
"IP_UNBLOCK_SOURCE", 17));
4178#ifdef IP_PMTUDISC_DO
4179 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_PMTUDISC_DO, (st_data_t)
rb_intern2(
"IP_PMTUDISC_DO", 14));
4181#ifdef IP_PMTUDISC_WANT
4182 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_PMTUDISC_WANT, (st_data_t)
rb_intern2(
"IP_PMTUDISC_WANT", 16));
4184#ifdef IP_PMTUDISC_DONT
4185 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_PMTUDISC_DONT, (st_data_t)
rb_intern2(
"IP_PMTUDISC_DONT", 16));
4187#ifdef IP_TRANSPARENT
4188 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_TRANSPARENT, (st_data_t)
rb_intern2(
"IP_TRANSPARENT", 14));
4191 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_PASSSEC, (st_data_t)
rb_intern2(
"IP_PASSSEC", 10));
4193#ifdef IP_XFRM_POLICY
4194 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_XFRM_POLICY, (st_data_t)
rb_intern2(
"IP_XFRM_POLICY", 14));
4196#ifdef IP_IPSEC_POLICY
4197 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_IPSEC_POLICY, (st_data_t)
rb_intern2(
"IP_IPSEC_POLICY", 15));
4200 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_FREEBIND, (st_data_t)
rb_intern2(
"IP_FREEBIND", 11));
4203 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_MTU, (st_data_t)
rb_intern2(
"IP_MTU", 6));
4206 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_RECVTOS, (st_data_t)
rb_intern2(
"IP_RECVTOS", 10));
4209 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_RECVERR, (st_data_t)
rb_intern2(
"IP_RECVERR", 10));
4211#ifdef IP_MTU_DISCOVER
4212 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_MTU_DISCOVER, (st_data_t)
rb_intern2(
"IP_MTU_DISCOVER", 15));
4215 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_PKTOPTIONS, (st_data_t)
rb_intern2(
"IP_PKTOPTIONS", 13));
4218 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_PKTINFO, (st_data_t)
rb_intern2(
"IP_PKTINFO", 10));
4220#ifdef IP_ROUTER_ALERT
4221 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_ROUTER_ALERT, (st_data_t)
rb_intern2(
"IP_ROUTER_ALERT", 15));
4223#ifdef IP_MAX_MEMBERSHIPS
4224 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_MAX_MEMBERSHIPS, (st_data_t)
rb_intern2(
"IP_MAX_MEMBERSHIPS", 18));
4226#ifdef IP_DEFAULT_MULTICAST_LOOP
4227 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_DEFAULT_MULTICAST_LOOP, (st_data_t)
rb_intern2(
"IP_DEFAULT_MULTICAST_LOOP", 25));
4229#ifdef IP_DEFAULT_MULTICAST_TTL
4230 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_DEFAULT_MULTICAST_TTL, (st_data_t)
rb_intern2(
"IP_DEFAULT_MULTICAST_TTL", 24));
4232#ifdef IP_DROP_MEMBERSHIP
4233 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_DROP_MEMBERSHIP, (st_data_t)
rb_intern2(
"IP_DROP_MEMBERSHIP", 18));
4235#ifdef IP_ADD_MEMBERSHIP
4236 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_ADD_MEMBERSHIP, (st_data_t)
rb_intern2(
"IP_ADD_MEMBERSHIP", 17));
4238#ifdef IP_MULTICAST_LOOP
4239 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_MULTICAST_LOOP, (st_data_t)
rb_intern2(
"IP_MULTICAST_LOOP", 17));
4241#ifdef IP_MULTICAST_TTL
4242 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_MULTICAST_TTL, (st_data_t)
rb_intern2(
"IP_MULTICAST_TTL", 16));
4244#ifdef IP_MULTICAST_IF
4245 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_MULTICAST_IF, (st_data_t)
rb_intern2(
"IP_MULTICAST_IF", 15));
4248 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_PORTRANGE, (st_data_t)
rb_intern2(
"IP_PORTRANGE", 12));
4251 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_RECVSLLA, (st_data_t)
rb_intern2(
"IP_RECVSLLA", 11));
4254 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_RECVIF, (st_data_t)
rb_intern2(
"IP_RECVIF", 9));
4257 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_RECVTTL, (st_data_t)
rb_intern2(
"IP_RECVTTL", 10));
4260 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_ONESBCAST, (st_data_t)
rb_intern2(
"IP_ONESBCAST", 12));
4262#ifdef IP_SENDSRCADDR
4263 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_SENDSRCADDR, (st_data_t)
rb_intern2(
"IP_SENDSRCADDR", 14));
4266 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_DONTFRAG, (st_data_t)
rb_intern2(
"IP_DONTFRAG", 11));
4269 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_MINTTL, (st_data_t)
rb_intern2(
"IP_MINTTL", 9));
4272 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_RETOPTS, (st_data_t)
rb_intern2(
"IP_RETOPTS", 10));
4274#ifdef IP_RECVDSTADDR
4275 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_RECVDSTADDR, (st_data_t)
rb_intern2(
"IP_RECVDSTADDR", 14));
4277#ifdef IP_RECVRETOPTS
4278 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_RECVRETOPTS, (st_data_t)
rb_intern2(
"IP_RECVRETOPTS", 14));
4281 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_RECVOPTS, (st_data_t)
rb_intern2(
"IP_RECVOPTS", 11));
4284 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_TTL, (st_data_t)
rb_intern2(
"IP_TTL", 6));
4287 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_TOS, (st_data_t)
rb_intern2(
"IP_TOS", 6));
4290 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_HDRINCL, (st_data_t)
rb_intern2(
"IP_HDRINCL", 10));
4293 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_OPTIONS, (st_data_t)
rb_intern2(
"IP_OPTIONS", 10));
4296 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_MSFILTER, (st_data_t)
rb_intern2(
"MSFILTER", 8));
4298#ifdef IP_DROP_SOURCE_MEMBERSHIP
4299 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_DROP_SOURCE_MEMBERSHIP, (st_data_t)
rb_intern2(
"DROP_SOURCE_MEMBERSHIP", 22));
4301#ifdef IP_ADD_SOURCE_MEMBERSHIP
4302 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_ADD_SOURCE_MEMBERSHIP, (st_data_t)
rb_intern2(
"ADD_SOURCE_MEMBERSHIP", 21));
4304#ifdef IP_BLOCK_SOURCE
4305 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_BLOCK_SOURCE, (st_data_t)
rb_intern2(
"BLOCK_SOURCE", 12));
4307#ifdef IP_UNBLOCK_SOURCE
4308 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_UNBLOCK_SOURCE, (st_data_t)
rb_intern2(
"UNBLOCK_SOURCE", 14));
4310#ifdef IP_PMTUDISC_DO
4311 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_PMTUDISC_DO, (st_data_t)
rb_intern2(
"PMTUDISC_DO", 11));
4313#ifdef IP_PMTUDISC_WANT
4314 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_PMTUDISC_WANT, (st_data_t)
rb_intern2(
"PMTUDISC_WANT", 13));
4316#ifdef IP_PMTUDISC_DONT
4317 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_PMTUDISC_DONT, (st_data_t)
rb_intern2(
"PMTUDISC_DONT", 13));
4319#ifdef IP_TRANSPARENT
4320 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_TRANSPARENT, (st_data_t)
rb_intern2(
"TRANSPARENT", 11));
4323 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_PASSSEC, (st_data_t)
rb_intern2(
"PASSSEC", 7));
4325#ifdef IP_XFRM_POLICY
4326 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_XFRM_POLICY, (st_data_t)
rb_intern2(
"XFRM_POLICY", 11));
4328#ifdef IP_IPSEC_POLICY
4329 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_IPSEC_POLICY, (st_data_t)
rb_intern2(
"IPSEC_POLICY", 12));
4332 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_FREEBIND, (st_data_t)
rb_intern2(
"FREEBIND", 8));
4335 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_MTU, (st_data_t)
rb_intern2(
"MTU", 3));
4338 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_RECVTOS, (st_data_t)
rb_intern2(
"RECVTOS", 7));
4341 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_RECVERR, (st_data_t)
rb_intern2(
"RECVERR", 7));
4343#ifdef IP_MTU_DISCOVER
4344 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_MTU_DISCOVER, (st_data_t)
rb_intern2(
"MTU_DISCOVER", 12));
4347 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_PKTOPTIONS, (st_data_t)
rb_intern2(
"PKTOPTIONS", 10));
4350 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_PKTINFO, (st_data_t)
rb_intern2(
"PKTINFO", 7));
4352#ifdef IP_ROUTER_ALERT
4353 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_ROUTER_ALERT, (st_data_t)
rb_intern2(
"ROUTER_ALERT", 12));
4355#ifdef IP_MAX_MEMBERSHIPS
4356 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_MAX_MEMBERSHIPS, (st_data_t)
rb_intern2(
"MAX_MEMBERSHIPS", 15));
4358#ifdef IP_DEFAULT_MULTICAST_LOOP
4359 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_DEFAULT_MULTICAST_LOOP, (st_data_t)
rb_intern2(
"DEFAULT_MULTICAST_LOOP", 22));
4361#ifdef IP_DEFAULT_MULTICAST_TTL
4362 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_DEFAULT_MULTICAST_TTL, (st_data_t)
rb_intern2(
"DEFAULT_MULTICAST_TTL", 21));
4364#ifdef IP_DROP_MEMBERSHIP
4365 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_DROP_MEMBERSHIP, (st_data_t)
rb_intern2(
"DROP_MEMBERSHIP", 15));
4367#ifdef IP_ADD_MEMBERSHIP
4368 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_ADD_MEMBERSHIP, (st_data_t)
rb_intern2(
"ADD_MEMBERSHIP", 14));
4370#ifdef IP_MULTICAST_LOOP
4371 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_MULTICAST_LOOP, (st_data_t)
rb_intern2(
"MULTICAST_LOOP", 14));
4373#ifdef IP_MULTICAST_TTL
4374 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_MULTICAST_TTL, (st_data_t)
rb_intern2(
"MULTICAST_TTL", 13));
4376#ifdef IP_MULTICAST_IF
4377 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_MULTICAST_IF, (st_data_t)
rb_intern2(
"MULTICAST_IF", 12));
4380 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_PORTRANGE, (st_data_t)
rb_intern2(
"PORTRANGE", 9));
4383 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_RECVSLLA, (st_data_t)
rb_intern2(
"RECVSLLA", 8));
4386 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_RECVIF, (st_data_t)
rb_intern2(
"RECVIF", 6));
4389 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_RECVTTL, (st_data_t)
rb_intern2(
"RECVTTL", 7));
4392 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_ONESBCAST, (st_data_t)
rb_intern2(
"ONESBCAST", 9));
4394#ifdef IP_SENDSRCADDR
4395 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_SENDSRCADDR, (st_data_t)
rb_intern2(
"SENDSRCADDR", 11));
4398 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_DONTFRAG, (st_data_t)
rb_intern2(
"DONTFRAG", 8));
4401 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_MINTTL, (st_data_t)
rb_intern2(
"MINTTL", 6));
4404 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_RETOPTS, (st_data_t)
rb_intern2(
"RETOPTS", 7));
4406#ifdef IP_RECVDSTADDR
4407 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_RECVDSTADDR, (st_data_t)
rb_intern2(
"RECVDSTADDR", 11));
4409#ifdef IP_RECVRETOPTS
4410 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_RECVRETOPTS, (st_data_t)
rb_intern2(
"RECVRETOPTS", 11));
4413 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_RECVOPTS, (st_data_t)
rb_intern2(
"RECVOPTS", 8));
4416 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_TTL, (st_data_t)
rb_intern2(
"TTL", 3));
4419 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_TOS, (st_data_t)
rb_intern2(
"TOS", 3));
4422 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_HDRINCL, (st_data_t)
rb_intern2(
"HDRINCL", 7));
4425 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_OPTIONS, (st_data_t)
rb_intern2(
"OPTIONS", 7));
4428 rsock_intern_ipv6_optname_hash = st_init_numtable();
4429#ifdef IPV6_USE_MIN_MTU
4430 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_USE_MIN_MTU, (st_data_t)
rb_intern2(
"IPV6_USE_MIN_MTU", 16));
4433 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_TCLASS, (st_data_t)
rb_intern2(
"IPV6_TCLASS", 11));
4435#ifdef IPV6_RECVPATHMTU
4436 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_RECVPATHMTU, (st_data_t)
rb_intern2(
"IPV6_RECVPATHMTU", 16));
4438#ifdef IPV6_RTHDR_TYPE_0
4439 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_RTHDR_TYPE_0, (st_data_t)
rb_intern2(
"IPV6_RTHDR_TYPE_0", 17));
4441#ifdef IPV6_RTHDRDSTOPTS
4442 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_RTHDRDSTOPTS, (st_data_t)
rb_intern2(
"IPV6_RTHDRDSTOPTS", 17));
4445 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_RTHDR, (st_data_t)
rb_intern2(
"IPV6_RTHDR", 10));
4447#ifdef IPV6_RECVTCLASS
4448 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_RECVTCLASS, (st_data_t)
rb_intern2(
"IPV6_RECVTCLASS", 15));
4450#ifdef IPV6_RECVRTHDR
4451 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_RECVRTHDR, (st_data_t)
rb_intern2(
"IPV6_RECVRTHDR", 14));
4453#ifdef IPV6_RECVPKTINFO
4454 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_RECVPKTINFO, (st_data_t)
rb_intern2(
"IPV6_RECVPKTINFO", 16));
4456#ifdef IPV6_RECVHOPOPTS
4457 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_RECVHOPOPTS, (st_data_t)
rb_intern2(
"IPV6_RECVHOPOPTS", 16));
4459#ifdef IPV6_RECVHOPLIMIT
4460 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_RECVHOPLIMIT, (st_data_t)
rb_intern2(
"IPV6_RECVHOPLIMIT", 17));
4462#ifdef IPV6_RECVDSTOPTS
4463 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_RECVDSTOPTS, (st_data_t)
rb_intern2(
"IPV6_RECVDSTOPTS", 16));
4466 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_PKTINFO, (st_data_t)
rb_intern2(
"IPV6_PKTINFO", 12));
4469 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_PATHMTU, (st_data_t)
rb_intern2(
"IPV6_PATHMTU", 12));
4472 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_NEXTHOP, (st_data_t)
rb_intern2(
"IPV6_NEXTHOP", 12));
4475 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_HOPOPTS, (st_data_t)
rb_intern2(
"IPV6_HOPOPTS", 12));
4478 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_HOPLIMIT, (st_data_t)
rb_intern2(
"IPV6_HOPLIMIT", 13));
4481 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_DSTOPTS, (st_data_t)
rb_intern2(
"IPV6_DSTOPTS", 12));
4484 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_DONTFRAG, (st_data_t)
rb_intern2(
"IPV6_DONTFRAG", 13));
4487 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_CHECKSUM, (st_data_t)
rb_intern2(
"IPV6_CHECKSUM", 13));
4490 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_V6ONLY, (st_data_t)
rb_intern2(
"IPV6_V6ONLY", 11));
4492#ifdef IPV6_UNICAST_HOPS
4493 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_UNICAST_HOPS, (st_data_t)
rb_intern2(
"IPV6_UNICAST_HOPS", 17));
4495#ifdef IPV6_MULTICAST_LOOP
4496 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_MULTICAST_LOOP, (st_data_t)
rb_intern2(
"IPV6_MULTICAST_LOOP", 19));
4498#ifdef IPV6_MULTICAST_IF
4499 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_MULTICAST_IF, (st_data_t)
rb_intern2(
"IPV6_MULTICAST_IF", 17));
4501#ifdef IPV6_MULTICAST_HOPS
4502 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_MULTICAST_HOPS, (st_data_t)
rb_intern2(
"IPV6_MULTICAST_HOPS", 19));
4504#ifdef IPV6_LEAVE_GROUP
4505 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_LEAVE_GROUP, (st_data_t)
rb_intern2(
"IPV6_LEAVE_GROUP", 16));
4507#ifdef IPV6_JOIN_GROUP
4508 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_JOIN_GROUP, (st_data_t)
rb_intern2(
"IPV6_JOIN_GROUP", 15));
4510#ifdef IPV6_USE_MIN_MTU
4511 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_USE_MIN_MTU, (st_data_t)
rb_intern2(
"USE_MIN_MTU", 11));
4514 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_TCLASS, (st_data_t)
rb_intern2(
"TCLASS", 6));
4516#ifdef IPV6_RECVPATHMTU
4517 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_RECVPATHMTU, (st_data_t)
rb_intern2(
"RECVPATHMTU", 11));
4519#ifdef IPV6_RTHDR_TYPE_0
4520 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_RTHDR_TYPE_0, (st_data_t)
rb_intern2(
"RTHDR_TYPE_0", 12));
4522#ifdef IPV6_RTHDRDSTOPTS
4523 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_RTHDRDSTOPTS, (st_data_t)
rb_intern2(
"RTHDRDSTOPTS", 12));
4526 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_RTHDR, (st_data_t)
rb_intern2(
"RTHDR", 5));
4528#ifdef IPV6_RECVTCLASS
4529 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_RECVTCLASS, (st_data_t)
rb_intern2(
"RECVTCLASS", 10));
4531#ifdef IPV6_RECVRTHDR
4532 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_RECVRTHDR, (st_data_t)
rb_intern2(
"RECVRTHDR", 9));
4534#ifdef IPV6_RECVPKTINFO
4535 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_RECVPKTINFO, (st_data_t)
rb_intern2(
"RECVPKTINFO", 11));
4537#ifdef IPV6_RECVHOPOPTS
4538 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_RECVHOPOPTS, (st_data_t)
rb_intern2(
"RECVHOPOPTS", 11));
4540#ifdef IPV6_RECVHOPLIMIT
4541 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_RECVHOPLIMIT, (st_data_t)
rb_intern2(
"RECVHOPLIMIT", 12));
4543#ifdef IPV6_RECVDSTOPTS
4544 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_RECVDSTOPTS, (st_data_t)
rb_intern2(
"RECVDSTOPTS", 11));
4547 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_PKTINFO, (st_data_t)
rb_intern2(
"PKTINFO", 7));
4550 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_PATHMTU, (st_data_t)
rb_intern2(
"PATHMTU", 7));
4553 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_NEXTHOP, (st_data_t)
rb_intern2(
"NEXTHOP", 7));
4556 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_HOPOPTS, (st_data_t)
rb_intern2(
"HOPOPTS", 7));
4559 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_HOPLIMIT, (st_data_t)
rb_intern2(
"HOPLIMIT", 8));
4562 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_DSTOPTS, (st_data_t)
rb_intern2(
"DSTOPTS", 7));
4565 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_DONTFRAG, (st_data_t)
rb_intern2(
"DONTFRAG", 8));
4568 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_CHECKSUM, (st_data_t)
rb_intern2(
"CHECKSUM", 8));
4571 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_V6ONLY, (st_data_t)
rb_intern2(
"V6ONLY", 6));
4573#ifdef IPV6_UNICAST_HOPS
4574 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_UNICAST_HOPS, (st_data_t)
rb_intern2(
"UNICAST_HOPS", 12));
4576#ifdef IPV6_MULTICAST_LOOP
4577 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_MULTICAST_LOOP, (st_data_t)
rb_intern2(
"MULTICAST_LOOP", 14));
4579#ifdef IPV6_MULTICAST_IF
4580 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_MULTICAST_IF, (st_data_t)
rb_intern2(
"MULTICAST_IF", 12));
4582#ifdef IPV6_MULTICAST_HOPS
4583 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_MULTICAST_HOPS, (st_data_t)
rb_intern2(
"MULTICAST_HOPS", 14));
4585#ifdef IPV6_LEAVE_GROUP
4586 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_LEAVE_GROUP, (st_data_t)
rb_intern2(
"LEAVE_GROUP", 11));
4588#ifdef IPV6_JOIN_GROUP
4589 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_JOIN_GROUP, (st_data_t)
rb_intern2(
"JOIN_GROUP", 10));
4592 rsock_intern_tcp_optname_hash = st_init_numtable();
4593#ifdef TCP_USER_TIMEOUT
4594 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_USER_TIMEOUT, (st_data_t)
rb_intern2(
"TCP_USER_TIMEOUT", 16));
4597 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_TIMESTAMP, (st_data_t)
rb_intern2(
"TCP_TIMESTAMP", 13));
4599#ifdef TCP_THIN_LINEAR_TIMEOUTS
4600 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_THIN_LINEAR_TIMEOUTS, (st_data_t)
rb_intern2(
"TCP_THIN_LINEAR_TIMEOUTS", 24));
4602#ifdef TCP_THIN_DUPACK
4603 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_THIN_DUPACK, (st_data_t)
rb_intern2(
"TCP_THIN_DUPACK", 15));
4605#ifdef TCP_REPAIR_QUEUE
4606 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_REPAIR_QUEUE, (st_data_t)
rb_intern2(
"TCP_REPAIR_QUEUE", 16));
4608#ifdef TCP_REPAIR_OPTIONS
4609 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_REPAIR_OPTIONS, (st_data_t)
rb_intern2(
"TCP_REPAIR_OPTIONS", 18));
4612 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_REPAIR, (st_data_t)
rb_intern2(
"TCP_REPAIR", 10));
4615 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_QUEUE_SEQ, (st_data_t)
rb_intern2(
"TCP_QUEUE_SEQ", 13));
4617#ifdef TCP_COOKIE_TRANSACTIONS
4618 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_COOKIE_TRANSACTIONS, (st_data_t)
rb_intern2(
"TCP_COOKIE_TRANSACTIONS", 23));
4620#ifdef TCP_CONGESTION
4621 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_CONGESTION, (st_data_t)
rb_intern2(
"TCP_CONGESTION", 14));
4624 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_FASTOPEN, (st_data_t)
rb_intern2(
"TCP_FASTOPEN", 12));
4626#ifdef TCP_WINDOW_CLAMP
4627 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_WINDOW_CLAMP, (st_data_t)
rb_intern2(
"TCP_WINDOW_CLAMP", 16));
4630 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_SYNCNT, (st_data_t)
rb_intern2(
"TCP_SYNCNT", 10));
4633 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_QUICKACK, (st_data_t)
rb_intern2(
"TCP_QUICKACK", 12));
4636 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_NOPUSH, (st_data_t)
rb_intern2(
"TCP_NOPUSH", 10));
4639 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_NOOPT, (st_data_t)
rb_intern2(
"TCP_NOOPT", 9));
4642 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_MD5SIG, (st_data_t)
rb_intern2(
"TCP_MD5SIG", 10));
4645 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_LINGER2, (st_data_t)
rb_intern2(
"TCP_LINGER2", 11));
4648 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_KEEPINTVL, (st_data_t)
rb_intern2(
"TCP_KEEPINTVL", 13));
4651 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_KEEPIDLE, (st_data_t)
rb_intern2(
"TCP_KEEPIDLE", 12));
4654 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_KEEPCNT, (st_data_t)
rb_intern2(
"TCP_KEEPCNT", 11));
4657 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_INFO, (st_data_t)
rb_intern2(
"TCP_INFO", 8));
4659#ifdef TCP_DEFER_ACCEPT
4660 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_DEFER_ACCEPT, (st_data_t)
rb_intern2(
"TCP_DEFER_ACCEPT", 16));
4663 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_CORK, (st_data_t)
rb_intern2(
"TCP_CORK", 8));
4666 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_MAXSEG, (st_data_t)
rb_intern2(
"TCP_MAXSEG", 10));
4669 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_NODELAY, (st_data_t)
rb_intern2(
"TCP_NODELAY", 11));
4671#ifdef TCP_USER_TIMEOUT
4672 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_USER_TIMEOUT, (st_data_t)
rb_intern2(
"USER_TIMEOUT", 12));
4675 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_TIMESTAMP, (st_data_t)
rb_intern2(
"TIMESTAMP", 9));
4677#ifdef TCP_THIN_LINEAR_TIMEOUTS
4678 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_THIN_LINEAR_TIMEOUTS, (st_data_t)
rb_intern2(
"THIN_LINEAR_TIMEOUTS", 20));
4680#ifdef TCP_THIN_DUPACK
4681 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_THIN_DUPACK, (st_data_t)
rb_intern2(
"THIN_DUPACK", 11));
4683#ifdef TCP_REPAIR_QUEUE
4684 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_REPAIR_QUEUE, (st_data_t)
rb_intern2(
"REPAIR_QUEUE", 12));
4686#ifdef TCP_REPAIR_OPTIONS
4687 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_REPAIR_OPTIONS, (st_data_t)
rb_intern2(
"REPAIR_OPTIONS", 14));
4690 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_REPAIR, (st_data_t)
rb_intern2(
"REPAIR", 6));
4693 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_QUEUE_SEQ, (st_data_t)
rb_intern2(
"QUEUE_SEQ", 9));
4695#ifdef TCP_COOKIE_TRANSACTIONS
4696 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_COOKIE_TRANSACTIONS, (st_data_t)
rb_intern2(
"COOKIE_TRANSACTIONS", 19));
4698#ifdef TCP_CONGESTION
4699 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_CONGESTION, (st_data_t)
rb_intern2(
"CONGESTION", 10));
4702 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_FASTOPEN, (st_data_t)
rb_intern2(
"FASTOPEN", 8));
4704#ifdef TCP_WINDOW_CLAMP
4705 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_WINDOW_CLAMP, (st_data_t)
rb_intern2(
"WINDOW_CLAMP", 12));
4708 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_SYNCNT, (st_data_t)
rb_intern2(
"SYNCNT", 6));
4711 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_QUICKACK, (st_data_t)
rb_intern2(
"QUICKACK", 8));
4714 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_NOPUSH, (st_data_t)
rb_intern2(
"NOPUSH", 6));
4717 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_NOOPT, (st_data_t)
rb_intern2(
"NOOPT", 5));
4720 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_MD5SIG, (st_data_t)
rb_intern2(
"MD5SIG", 6));
4723 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_LINGER2, (st_data_t)
rb_intern2(
"LINGER2", 7));
4726 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_KEEPINTVL, (st_data_t)
rb_intern2(
"KEEPINTVL", 9));
4729 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_KEEPIDLE, (st_data_t)
rb_intern2(
"KEEPIDLE", 8));
4732 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_KEEPCNT, (st_data_t)
rb_intern2(
"KEEPCNT", 7));
4735 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_INFO, (st_data_t)
rb_intern2(
"INFO", 4));
4737#ifdef TCP_DEFER_ACCEPT
4738 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_DEFER_ACCEPT, (st_data_t)
rb_intern2(
"DEFER_ACCEPT", 12));
4741 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_CORK, (st_data_t)
rb_intern2(
"CORK", 4));
4744 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_MAXSEG, (st_data_t)
rb_intern2(
"MAXSEG", 6));
4747 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_NODELAY, (st_data_t)
rb_intern2(
"NODELAY", 7));
4750 rsock_intern_udp_optname_hash = st_init_numtable();
4752 st_insert(rsock_intern_udp_optname_hash, (st_data_t)UDP_CORK, (st_data_t)
rb_intern2(
"UDP_CORK", 8));
4755 st_insert(rsock_intern_udp_optname_hash, (st_data_t)UDP_CORK, (st_data_t)
rb_intern2(
"CORK", 4));
4758 rsock_intern_scm_optname_hash = st_init_numtable();
4759#ifdef SCM_WIFI_STATUS
4760 st_insert(rsock_intern_scm_optname_hash, (st_data_t)SCM_WIFI_STATUS, (st_data_t)
rb_intern2(
"SCM_WIFI_STATUS", 15));
4763 st_insert(rsock_intern_scm_optname_hash, (st_data_t)SCM_UCRED, (st_data_t)
rb_intern2(
"SCM_UCRED", 9));
4766 st_insert(rsock_intern_scm_optname_hash, (st_data_t)SCM_CREDS, (st_data_t)
rb_intern2(
"SCM_CREDS", 9));
4768#ifdef SCM_CREDENTIALS
4769 st_insert(rsock_intern_scm_optname_hash, (st_data_t)SCM_CREDENTIALS, (st_data_t)
rb_intern2(
"SCM_CREDENTIALS", 15));
4772 st_insert(rsock_intern_scm_optname_hash, (st_data_t)SCM_BINTIME, (st_data_t)
rb_intern2(
"SCM_BINTIME", 11));
4774#ifdef SCM_TIMESTAMPING
4775 st_insert(rsock_intern_scm_optname_hash, (st_data_t)SCM_TIMESTAMPING, (st_data_t)
rb_intern2(
"SCM_TIMESTAMPING", 16));
4777#ifdef SCM_TIMESTAMPNS
4778 st_insert(rsock_intern_scm_optname_hash, (st_data_t)SCM_TIMESTAMPNS, (st_data_t)
rb_intern2(
"SCM_TIMESTAMPNS", 15));
4781 st_insert(rsock_intern_scm_optname_hash, (st_data_t)SCM_TIMESTAMP, (st_data_t)
rb_intern2(
"SCM_TIMESTAMP", 13));
4784 st_insert(rsock_intern_scm_optname_hash, (st_data_t)SCM_RIGHTS, (st_data_t)
rb_intern2(
"SCM_RIGHTS", 10));
4786#ifdef SCM_WIFI_STATUS
4787 st_insert(rsock_intern_scm_optname_hash, (st_data_t)SCM_WIFI_STATUS, (st_data_t)
rb_intern2(
"WIFI_STATUS", 11));
4790 st_insert(rsock_intern_scm_optname_hash, (st_data_t)SCM_UCRED, (st_data_t)
rb_intern2(
"UCRED", 5));
4793 st_insert(rsock_intern_scm_optname_hash, (st_data_t)SCM_CREDS, (st_data_t)
rb_intern2(
"CREDS", 5));
4795#ifdef SCM_CREDENTIALS
4796 st_insert(rsock_intern_scm_optname_hash, (st_data_t)SCM_CREDENTIALS, (st_data_t)
rb_intern2(
"CREDENTIALS", 11));
4799 st_insert(rsock_intern_scm_optname_hash, (st_data_t)SCM_BINTIME, (st_data_t)
rb_intern2(
"BINTIME", 7));
4801#ifdef SCM_TIMESTAMPING
4802 st_insert(rsock_intern_scm_optname_hash, (st_data_t)SCM_TIMESTAMPING, (st_data_t)
rb_intern2(
"TIMESTAMPING", 12));
4804#ifdef SCM_TIMESTAMPNS
4805 st_insert(rsock_intern_scm_optname_hash, (st_data_t)SCM_TIMESTAMPNS, (st_data_t)
rb_intern2(
"TIMESTAMPNS", 11));
4808 st_insert(rsock_intern_scm_optname_hash, (st_data_t)SCM_TIMESTAMP, (st_data_t)
rb_intern2(
"TIMESTAMP", 9));
4811 st_insert(rsock_intern_scm_optname_hash, (st_data_t)SCM_RIGHTS, (st_data_t)
rb_intern2(
"RIGHTS", 6));
4814 rsock_intern_local_optname_hash = st_init_numtable();
4815#ifdef LOCAL_CONNWAIT
4816 st_insert(rsock_intern_local_optname_hash, (st_data_t)LOCAL_CONNWAIT, (st_data_t)
rb_intern2(
"LOCAL_CONNWAIT", 14));
4819 st_insert(rsock_intern_local_optname_hash, (st_data_t)LOCAL_CREDS, (st_data_t)
rb_intern2(
"LOCAL_CREDS", 11));
4821#ifdef LOCAL_PEERCRED
4822 st_insert(rsock_intern_local_optname_hash, (st_data_t)LOCAL_PEERCRED, (st_data_t)
rb_intern2(
"LOCAL_PEERCRED", 14));
4824#ifdef LOCAL_CONNWAIT
4825 st_insert(rsock_intern_local_optname_hash, (st_data_t)LOCAL_CONNWAIT, (st_data_t)
rb_intern2(
"CONNWAIT", 8));
4828 st_insert(rsock_intern_local_optname_hash, (st_data_t)LOCAL_CREDS, (st_data_t)
rb_intern2(
"CREDS", 5));
4830#ifdef LOCAL_PEERCRED
4831 st_insert(rsock_intern_local_optname_hash, (st_data_t)LOCAL_PEERCRED, (st_data_t)
rb_intern2(
"PEERCRED", 8));
4837rsock_family_to_int(
const char *str,
long len,
int *valp)
4842 if (memcmp(str,
"NS", 2) == 0) { *valp = AF_NS;
return 0; }
4845 if (memcmp(str,
"IB", 2) == 0) { *valp = AF_IB;
return 0; }
4851 if (memcmp(str,
"IPX", 3) == 0) { *valp = AF_IPX;
return 0; }
4854 if (memcmp(str,
"PUP", 3) == 0) { *valp = AF_PUP;
return 0; }
4857 if (memcmp(str,
"ISO", 3) == 0) { *valp = AF_ISO;
return 0; }
4860 if (memcmp(str,
"OSI", 3) == 0) { *valp = AF_OSI;
return 0; }
4863 if (memcmp(str,
"SNA", 3) == 0) { *valp = AF_SNA;
return 0; }
4866 if (memcmp(str,
"DEC", 3) == 0) { *valp = AF_DEC;
return 0; }
4869 if (memcmp(str,
"DLI", 3) == 0) { *valp = AF_DLI;
return 0; }
4872 if (memcmp(str,
"LAT", 3) == 0) { *valp = AF_LAT;
return 0; }
4875 if (memcmp(str,
"CNT", 3) == 0) { *valp = AF_CNT;
return 0; }
4878 if (memcmp(str,
"SIP", 3) == 0) { *valp = AF_SIP;
return 0; }
4881 if (memcmp(str,
"PPP", 3) == 0) { *valp = AF_PPP;
return 0; }
4884 if (memcmp(str,
"ATM", 3) == 0) { *valp = AF_ATM;
return 0; }
4887 if (memcmp(str,
"MAX", 3) == 0) { *valp = AF_MAX;
return 0; }
4890 if (memcmp(str,
"KEY", 3) == 0) { *valp = AF_KEY;
return 0; }
4893 if (memcmp(str,
"RDS", 3) == 0) { *valp = AF_RDS;
return 0; }
4896 if (memcmp(str,
"LLC", 3) == 0) { *valp = AF_LLC;
return 0; }
4899 if (memcmp(str,
"CAN", 3) == 0) { *valp = AF_CAN;
return 0; }
4902 if (memcmp(str,
"ALG", 3) == 0) { *valp = AF_ALG;
return 0; }
4905 if (memcmp(str,
"KCM", 3) == 0) { *valp = AF_KCM;
return 0; }
4908 if (memcmp(str,
"XDP", 3) == 0) { *valp = AF_XDP;
return 0; }
4914 if (memcmp(str,
"INET", 4) == 0) { *valp = AF_INET;
return 0; }
4917 if (memcmp(str,
"UNIX", 4) == 0) { *valp = AF_UNIX;
return 0; }
4920 if (memcmp(str,
"AX25", 4) == 0) { *valp = AF_AX25;
return 0; }
4923 if (memcmp(str,
"ECMA", 4) == 0) { *valp = AF_ECMA;
return 0; }
4926 if (memcmp(str,
"LINK", 4) == 0) { *valp = AF_LINK;
return 0; }
4929 if (memcmp(str,
"COIP", 4) == 0) { *valp = AF_COIP;
return 0; }
4932 if (memcmp(str,
"NDRV", 4) == 0) { *valp = AF_NDRV;
return 0; }
4935 if (memcmp(str,
"ISDN", 4) == 0) { *valp = AF_ISDN;
return 0; }
4938 if (memcmp(str,
"NATM", 4) == 0) { *valp = AF_NATM;
return 0; }
4941 if (memcmp(str,
"E164", 4) == 0) { *valp = AF_E164;
return 0; }
4944 if (memcmp(str,
"MPLS", 4) == 0) { *valp = AF_MPLS;
return 0; }
4947 if (memcmp(str,
"TIPC", 4) == 0) { *valp = AF_TIPC;
return 0; }
4953 if (memcmp(str,
"AF_NS", 5) == 0) { *valp = AF_NS;
return 0; }
4956 if (memcmp(str,
"PF_NS", 5) == 0) { *valp = PF_NS;
return 0; }
4959 if (memcmp(str,
"AF_IB", 5) == 0) { *valp = AF_IB;
return 0; }
4962 if (memcmp(str,
"PF_IB", 5) == 0) { *valp = PF_IB;
return 0; }
4965 if (memcmp(str,
"INET6", 5) == 0) { *valp = AF_INET6;
return 0; }
4968 if (memcmp(str,
"LOCAL", 5) == 0) { *valp = AF_LOCAL;
return 0; }
4971 if (memcmp(str,
"CHAOS", 5) == 0) { *valp = AF_CHAOS;
return 0; }
4974 if (memcmp(str,
"CCITT", 5) == 0) { *valp = AF_CCITT;
return 0; }
4977 if (memcmp(str,
"ROUTE", 5) == 0) { *valp = AF_ROUTE;
return 0; }
4980 if (memcmp(str,
"PPPOX", 5) == 0) { *valp = AF_PPPOX;
return 0; }
4983 if (memcmp(str,
"VSOCK", 5) == 0) { *valp = AF_VSOCK;
return 0; }
4989 if (memcmp(str,
"AF_IPX", 6) == 0) { *valp = AF_IPX;
return 0; }
4992 if (memcmp(str,
"PF_IPX", 6) == 0) { *valp = PF_IPX;
return 0; }
4995 if (memcmp(str,
"AF_PUP", 6) == 0) { *valp = AF_PUP;
return 0; }
4998 if (memcmp(str,
"PF_PUP", 6) == 0) { *valp = PF_PUP;
return 0; }
5001 if (memcmp(str,
"AF_ISO", 6) == 0) { *valp = AF_ISO;
return 0; }
5004 if (memcmp(str,
"PF_ISO", 6) == 0) { *valp = PF_ISO;
return 0; }
5007 if (memcmp(str,
"AF_OSI", 6) == 0) { *valp = AF_OSI;
return 0; }
5010 if (memcmp(str,
"PF_OSI", 6) == 0) { *valp = PF_OSI;
return 0; }
5013 if (memcmp(str,
"AF_SNA", 6) == 0) { *valp = AF_SNA;
return 0; }
5016 if (memcmp(str,
"PF_SNA", 6) == 0) { *valp = PF_SNA;
return 0; }
5019 if (memcmp(str,
"AF_DEC", 6) == 0) { *valp = AF_DEC;
return 0; }
5022 if (memcmp(str,
"PF_DEC", 6) == 0) { *valp = PF_DEC;
return 0; }
5025 if (memcmp(str,
"AF_DLI", 6) == 0) { *valp = AF_DLI;
return 0; }
5028 if (memcmp(str,
"PF_DLI", 6) == 0) { *valp = PF_DLI;
return 0; }
5031 if (memcmp(str,
"AF_LAT", 6) == 0) { *valp = AF_LAT;
return 0; }
5034 if (memcmp(str,
"PF_LAT", 6) == 0) { *valp = PF_LAT;
return 0; }
5037 if (memcmp(str,
"AF_CNT", 6) == 0) { *valp = AF_CNT;
return 0; }
5040 if (memcmp(str,
"PF_CNT", 6) == 0) { *valp = PF_CNT;
return 0; }
5043 if (memcmp(str,
"AF_SIP", 6) == 0) { *valp = AF_SIP;
return 0; }
5046 if (memcmp(str,
"PF_SIP", 6) == 0) { *valp = PF_SIP;
return 0; }
5049 if (memcmp(str,
"AF_PPP", 6) == 0) { *valp = AF_PPP;
return 0; }
5052 if (memcmp(str,
"PF_PPP", 6) == 0) { *valp = PF_PPP;
return 0; }
5055 if (memcmp(str,
"AF_ATM", 6) == 0) { *valp = AF_ATM;
return 0; }
5058 if (memcmp(str,
"PF_ATM", 6) == 0) { *valp = PF_ATM;
return 0; }
5061 if (memcmp(str,
"AF_MAX", 6) == 0) { *valp = AF_MAX;
return 0; }
5064 if (memcmp(str,
"PF_MAX", 6) == 0) { *valp = PF_MAX;
return 0; }
5067 if (memcmp(str,
"PF_XTP", 6) == 0) { *valp = PF_XTP;
return 0; }
5070 if (memcmp(str,
"PF_PIP", 6) == 0) { *valp = PF_PIP;
return 0; }
5073 if (memcmp(str,
"AF_KEY", 6) == 0) { *valp = AF_KEY;
return 0; }
5076 if (memcmp(str,
"PF_KEY", 6) == 0) { *valp = PF_KEY;
return 0; }
5079 if (memcmp(str,
"AF_RDS", 6) == 0) { *valp = AF_RDS;
return 0; }
5082 if (memcmp(str,
"PF_RDS", 6) == 0) { *valp = PF_RDS;
return 0; }
5085 if (memcmp(str,
"AF_LLC", 6) == 0) { *valp = AF_LLC;
return 0; }
5088 if (memcmp(str,
"PF_LLC", 6) == 0) { *valp = PF_LLC;
return 0; }
5091 if (memcmp(str,
"AF_CAN", 6) == 0) { *valp = AF_CAN;
return 0; }
5094 if (memcmp(str,
"PF_CAN", 6) == 0) { *valp = PF_CAN;
return 0; }
5097 if (memcmp(str,
"AF_ALG", 6) == 0) { *valp = AF_ALG;
return 0; }
5100 if (memcmp(str,
"PF_ALG", 6) == 0) { *valp = PF_ALG;
return 0; }
5103 if (memcmp(str,
"AF_KCM", 6) == 0) { *valp = AF_KCM;
return 0; }
5106 if (memcmp(str,
"PF_KCM", 6) == 0) { *valp = PF_KCM;
return 0; }
5109 if (memcmp(str,
"AF_XDP", 6) == 0) { *valp = AF_XDP;
return 0; }
5112 if (memcmp(str,
"PF_XDP", 6) == 0) { *valp = PF_XDP;
return 0; }
5115 if (memcmp(str,
"UNSPEC", 6) == 0) { *valp = AF_UNSPEC;
return 0; }
5118 if (memcmp(str,
"DECnet", 6) == 0) { *valp = AF_DECnet;
return 0; }
5121 if (memcmp(str,
"HYLINK", 6) == 0) { *valp = AF_HYLINK;
return 0; }
5124 if (memcmp(str,
"SYSTEM", 6) == 0) { *valp = AF_SYSTEM;
return 0; }
5127 if (memcmp(str,
"PACKET", 6) == 0) { *valp = AF_PACKET;
return 0; }
5133 if (memcmp(str,
"AF_INET", 7) == 0) { *valp = AF_INET;
return 0; }
5136 if (memcmp(str,
"PF_INET", 7) == 0) { *valp = PF_INET;
return 0; }
5139 if (memcmp(str,
"AF_UNIX", 7) == 0) { *valp = AF_UNIX;
return 0; }
5142 if (memcmp(str,
"PF_UNIX", 7) == 0) { *valp = PF_UNIX;
return 0; }
5145 if (memcmp(str,
"AF_AX25", 7) == 0) { *valp = AF_AX25;
return 0; }
5148 if (memcmp(str,
"PF_AX25", 7) == 0) { *valp = PF_AX25;
return 0; }
5151 if (memcmp(str,
"AF_ECMA", 7) == 0) { *valp = AF_ECMA;
return 0; }
5154 if (memcmp(str,
"PF_ECMA", 7) == 0) { *valp = PF_ECMA;
return 0; }
5157 if (memcmp(str,
"AF_LINK", 7) == 0) { *valp = AF_LINK;
return 0; }
5160 if (memcmp(str,
"PF_LINK", 7) == 0) { *valp = PF_LINK;
return 0; }
5163 if (memcmp(str,
"AF_COIP", 7) == 0) { *valp = AF_COIP;
return 0; }
5166 if (memcmp(str,
"PF_COIP", 7) == 0) { *valp = PF_COIP;
return 0; }
5169 if (memcmp(str,
"AF_NDRV", 7) == 0) { *valp = AF_NDRV;
return 0; }
5172 if (memcmp(str,
"PF_NDRV", 7) == 0) { *valp = PF_NDRV;
return 0; }
5175 if (memcmp(str,
"AF_ISDN", 7) == 0) { *valp = AF_ISDN;
return 0; }
5178 if (memcmp(str,
"PF_ISDN", 7) == 0) { *valp = PF_ISDN;
return 0; }
5181 if (memcmp(str,
"AF_NATM", 7) == 0) { *valp = AF_NATM;
return 0; }
5184 if (memcmp(str,
"PF_NATM", 7) == 0) { *valp = PF_NATM;
return 0; }
5187 if (memcmp(str,
"AF_E164", 7) == 0) { *valp = AF_E164;
return 0; }
5190 if (memcmp(str,
"PF_RTIP", 7) == 0) { *valp = PF_RTIP;
return 0; }
5193 if (memcmp(str,
"AF_MPLS", 7) == 0) { *valp = AF_MPLS;
return 0; }
5196 if (memcmp(str,
"PF_MPLS", 7) == 0) { *valp = PF_MPLS;
return 0; }
5199 if (memcmp(str,
"AF_TIPC", 7) == 0) { *valp = AF_TIPC;
return 0; }
5202 if (memcmp(str,
"PF_TIPC", 7) == 0) { *valp = PF_TIPC;
return 0; }
5205 if (memcmp(str,
"IMPLINK", 7) == 0) { *valp = AF_IMPLINK;
return 0; }
5208 if (memcmp(str,
"DATAKIT", 7) == 0) { *valp = AF_DATAKIT;
return 0; }
5211 if (memcmp(str,
"NETBIOS", 7) == 0) { *valp = AF_NETBIOS;
return 0; }
5214 if (memcmp(str,
"NETLINK", 7) == 0) { *valp = AF_NETLINK;
return 0; }
5220 if (memcmp(str,
"AF_INET6", 8) == 0) { *valp = AF_INET6;
return 0; }
5223 if (memcmp(str,
"PF_INET6", 8) == 0) { *valp = PF_INET6;
return 0; }
5226 if (memcmp(str,
"AF_LOCAL", 8) == 0) { *valp = AF_LOCAL;
return 0; }
5229 if (memcmp(str,
"PF_LOCAL", 8) == 0) { *valp = PF_LOCAL;
return 0; }
5232 if (memcmp(str,
"AF_CHAOS", 8) == 0) { *valp = AF_CHAOS;
return 0; }
5235 if (memcmp(str,
"PF_CHAOS", 8) == 0) { *valp = PF_CHAOS;
return 0; }
5238 if (memcmp(str,
"AF_CCITT", 8) == 0) { *valp = AF_CCITT;
return 0; }
5241 if (memcmp(str,
"PF_CCITT", 8) == 0) { *valp = PF_CCITT;
return 0; }
5244 if (memcmp(str,
"AF_ROUTE", 8) == 0) { *valp = AF_ROUTE;
return 0; }
5247 if (memcmp(str,
"PF_ROUTE", 8) == 0) { *valp = PF_ROUTE;
return 0; }
5250 if (memcmp(str,
"AF_PPPOX", 8) == 0) { *valp = AF_PPPOX;
return 0; }
5253 if (memcmp(str,
"PF_PPPOX", 8) == 0) { *valp = PF_PPPOX;
return 0; }
5256 if (memcmp(str,
"AF_VSOCK", 8) == 0) { *valp = AF_VSOCK;
return 0; }
5259 if (memcmp(str,
"PF_VSOCK", 8) == 0) { *valp = PF_VSOCK;
return 0; }
5262 if (memcmp(str,
"NETGRAPH", 8) == 0) { *valp = AF_NETGRAPH;
return 0; }
5268 if (memcmp(str,
"AF_UNSPEC", 9) == 0) { *valp = AF_UNSPEC;
return 0; }
5271 if (memcmp(str,
"PF_UNSPEC", 9) == 0) { *valp = PF_UNSPEC;
return 0; }
5274 if (memcmp(str,
"AF_DECnet", 9) == 0) { *valp = AF_DECnet;
return 0; }
5277 if (memcmp(str,
"PF_DECnet", 9) == 0) { *valp = PF_DECnet;
return 0; }
5280 if (memcmp(str,
"AF_HYLINK", 9) == 0) { *valp = AF_HYLINK;
return 0; }
5283 if (memcmp(str,
"PF_HYLINK", 9) == 0) { *valp = PF_HYLINK;
return 0; }
5286 if (memcmp(str,
"AF_SYSTEM", 9) == 0) { *valp = AF_SYSTEM;
return 0; }
5289 if (memcmp(str,
"PF_SYSTEM", 9) == 0) { *valp = PF_SYSTEM;
return 0; }
5292 if (memcmp(str,
"AF_PACKET", 9) == 0) { *valp = AF_PACKET;
return 0; }
5295 if (memcmp(str,
"PF_PACKET", 9) == 0) { *valp = PF_PACKET;
return 0; }
5298 if (memcmp(str,
"APPLETALK", 9) == 0) { *valp = AF_APPLETALK;
return 0; }
5301 if (memcmp(str,
"BLUETOOTH", 9) == 0) { *valp = AF_BLUETOOTH;
return 0; }
5307 if (memcmp(str,
"AF_IMPLINK", 10) == 0) { *valp = AF_IMPLINK;
return 0; }
5310 if (memcmp(str,
"PF_IMPLINK", 10) == 0) { *valp = PF_IMPLINK;
return 0; }
5313 if (memcmp(str,
"AF_DATAKIT", 10) == 0) { *valp = AF_DATAKIT;
return 0; }
5316 if (memcmp(str,
"PF_DATAKIT", 10) == 0) { *valp = PF_DATAKIT;
return 0; }
5319 if (memcmp(str,
"AF_NETBIOS", 10) == 0) { *valp = AF_NETBIOS;
return 0; }
5322 if (memcmp(str,
"PF_NETBIOS", 10) == 0) { *valp = PF_NETBIOS;
return 0; }
5325 if (memcmp(str,
"AF_NETLINK", 10) == 0) { *valp = AF_NETLINK;
return 0; }
5328 if (memcmp(str,
"PF_NETLINK", 10) == 0) { *valp = PF_NETLINK;
return 0; }
5334 if (memcmp(str,
"AF_NETGRAPH", 11) == 0) { *valp = AF_NETGRAPH;
return 0; }
5337 if (memcmp(str,
"PF_NETGRAPH", 11) == 0) { *valp = PF_NETGRAPH;
return 0; }
5343 if (memcmp(str,
"AF_APPLETALK", 12) == 0) { *valp = AF_APPLETALK;
return 0; }
5346 if (memcmp(str,
"PF_APPLETALK", 12) == 0) { *valp = PF_APPLETALK;
return 0; }
5349 if (memcmp(str,
"AF_BLUETOOTH", 12) == 0) { *valp = AF_BLUETOOTH;
return 0; }
5352 if (memcmp(str,
"PF_BLUETOOTH", 12) == 0) { *valp = PF_BLUETOOTH;
return 0; }
5357 if (!str || !valp) {}
5364rsock_socktype_to_int(
const char *str,
long len,
int *valp)
5369 if (memcmp(str,
"RAW", 3) == 0) { *valp = SOCK_RAW;
return 0; }
5372 if (memcmp(str,
"RDM", 3) == 0) { *valp = SOCK_RDM;
return 0; }
5378 if (memcmp(str,
"DGRAM", 5) == 0) { *valp = SOCK_DGRAM;
return 0; }
5384 if (memcmp(str,
"STREAM", 6) == 0) { *valp = SOCK_STREAM;
return 0; }
5387 if (memcmp(str,
"PACKET", 6) == 0) { *valp = SOCK_PACKET;
return 0; }
5393 if (memcmp(str,
"CLOEXEC", 7) == 0) { *valp = SOCK_CLOEXEC;
return 0; }
5399 if (memcmp(str,
"SOCK_RAW", 8) == 0) { *valp = SOCK_RAW;
return 0; }
5402 if (memcmp(str,
"SOCK_RDM", 8) == 0) { *valp = SOCK_RDM;
return 0; }
5405 if (memcmp(str,
"NONBLOCK", 8) == 0) { *valp = SOCK_NONBLOCK;
return 0; }
5410#ifdef SOCK_SEQPACKET
5411 if (memcmp(str,
"SEQPACKET", 9) == 0) { *valp = SOCK_SEQPACKET;
return 0; }
5417 if (memcmp(str,
"SOCK_DGRAM", 10) == 0) { *valp = SOCK_DGRAM;
return 0; }
5423 if (memcmp(str,
"SOCK_STREAM", 11) == 0) { *valp = SOCK_STREAM;
return 0; }
5426 if (memcmp(str,
"SOCK_PACKET", 11) == 0) { *valp = SOCK_PACKET;
return 0; }
5432 if (memcmp(str,
"SOCK_CLOEXEC", 12) == 0) { *valp = SOCK_CLOEXEC;
return 0; }
5438 if (memcmp(str,
"SOCK_NONBLOCK", 13) == 0) { *valp = SOCK_NONBLOCK;
return 0; }
5443#ifdef SOCK_SEQPACKET
5444 if (memcmp(str,
"SOCK_SEQPACKET", 14) == 0) { *valp = SOCK_SEQPACKET;
return 0; }
5449 if (!str || !valp) {}
5456rsock_ipproto_to_int(
const char *str,
long len,
int *valp)
5461 if (memcmp(str,
"IP", 2) == 0) { *valp = IPPROTO_IP;
return 0; }
5464 if (memcmp(str,
"ND", 2) == 0) { *valp = IPPROTO_ND;
return 0; }
5467 if (memcmp(str,
"TP", 2) == 0) { *valp = IPPROTO_TP;
return 0; }
5470 if (memcmp(str,
"AH", 2) == 0) { *valp = IPPROTO_AH;
return 0; }
5476 if (memcmp(str,
"GGP", 3) == 0) { *valp = IPPROTO_GGP;
return 0; }
5479 if (memcmp(str,
"TCP", 3) == 0) { *valp = IPPROTO_TCP;
return 0; }
5482 if (memcmp(str,
"EGP", 3) == 0) { *valp = IPPROTO_EGP;
return 0; }
5485 if (memcmp(str,
"PUP", 3) == 0) { *valp = IPPROTO_PUP;
return 0; }
5488 if (memcmp(str,
"UDP", 3) == 0) { *valp = IPPROTO_UDP;
return 0; }
5491 if (memcmp(str,
"IDP", 3) == 0) { *valp = IPPROTO_IDP;
return 0; }
5494 if (memcmp(str,
"XTP", 3) == 0) { *valp = IPPROTO_XTP;
return 0; }
5497 if (memcmp(str,
"EON", 3) == 0) { *valp = IPPROTO_EON;
return 0; }
5500 if (memcmp(str,
"BIP", 3) == 0) { *valp = IPPROTO_BIP;
return 0; }
5503 if (memcmp(str,
"ESP", 3) == 0) { *valp = IPPROTO_ESP;
return 0; }
5506 if (memcmp(str,
"RAW", 3) == 0) { *valp = IPPROTO_RAW;
return 0; }
5509 if (memcmp(str,
"MAX", 3) == 0) { *valp = IPPROTO_MAX;
return 0; }
5515 if (memcmp(str,
"ICMP", 4) == 0) { *valp = IPPROTO_ICMP;
return 0; }
5518 if (memcmp(str,
"IGMP", 4) == 0) { *valp = IPPROTO_IGMP;
return 0; }
5521 if (memcmp(str,
"IPV6", 4) == 0) { *valp = IPPROTO_IPV6;
return 0; }
5524 if (memcmp(str,
"NONE", 4) == 0) { *valp = IPPROTO_NONE;
return 0; }
5530 if (memcmp(str,
"HELLO", 5) == 0) { *valp = IPPROTO_HELLO;
return 0; }
5535#ifdef IPPROTO_ICMPV6
5536 if (memcmp(str,
"ICMPV6", 6) == 0) { *valp = IPPROTO_ICMPV6;
return 0; }
5541#ifdef IPPROTO_DSTOPTS
5542 if (memcmp(str,
"DSTOPTS", 7) == 0) { *valp = IPPROTO_DSTOPTS;
return 0; }
5544#ifdef IPPROTO_HOPOPTS
5545 if (memcmp(str,
"HOPOPTS", 7) == 0) { *valp = IPPROTO_HOPOPTS;
return 0; }
5547#ifdef IPPROTO_ROUTING
5548 if (memcmp(str,
"ROUTING", 7) == 0) { *valp = IPPROTO_ROUTING;
return 0; }
5553#ifdef IPPROTO_FRAGMENT
5554 if (memcmp(str,
"FRAGMENT", 8) == 0) { *valp = IPPROTO_FRAGMENT;
return 0; }
5560 if (memcmp(str,
"IPPROTO_IP", 10) == 0) { *valp = IPPROTO_IP;
return 0; }
5563 if (memcmp(str,
"IPPROTO_ND", 10) == 0) { *valp = IPPROTO_ND;
return 0; }
5566 if (memcmp(str,
"IPPROTO_TP", 10) == 0) { *valp = IPPROTO_TP;
return 0; }
5569 if (memcmp(str,
"IPPROTO_AH", 10) == 0) { *valp = IPPROTO_AH;
return 0; }
5575 if (memcmp(str,
"IPPROTO_GGP", 11) == 0) { *valp = IPPROTO_GGP;
return 0; }
5578 if (memcmp(str,
"IPPROTO_TCP", 11) == 0) { *valp = IPPROTO_TCP;
return 0; }
5581 if (memcmp(str,
"IPPROTO_EGP", 11) == 0) { *valp = IPPROTO_EGP;
return 0; }
5584 if (memcmp(str,
"IPPROTO_PUP", 11) == 0) { *valp = IPPROTO_PUP;
return 0; }
5587 if (memcmp(str,
"IPPROTO_UDP", 11) == 0) { *valp = IPPROTO_UDP;
return 0; }
5590 if (memcmp(str,
"IPPROTO_IDP", 11) == 0) { *valp = IPPROTO_IDP;
return 0; }
5593 if (memcmp(str,
"IPPROTO_XTP", 11) == 0) { *valp = IPPROTO_XTP;
return 0; }
5596 if (memcmp(str,
"IPPROTO_EON", 11) == 0) { *valp = IPPROTO_EON;
return 0; }
5599 if (memcmp(str,
"IPPROTO_BIP", 11) == 0) { *valp = IPPROTO_BIP;
return 0; }
5602 if (memcmp(str,
"IPPROTO_ESP", 11) == 0) { *valp = IPPROTO_ESP;
return 0; }
5605 if (memcmp(str,
"IPPROTO_RAW", 11) == 0) { *valp = IPPROTO_RAW;
return 0; }
5608 if (memcmp(str,
"IPPROTO_MAX", 11) == 0) { *valp = IPPROTO_MAX;
return 0; }
5614 if (memcmp(str,
"IPPROTO_ICMP", 12) == 0) { *valp = IPPROTO_ICMP;
return 0; }
5617 if (memcmp(str,
"IPPROTO_IGMP", 12) == 0) { *valp = IPPROTO_IGMP;
return 0; }
5620 if (memcmp(str,
"IPPROTO_IPV6", 12) == 0) { *valp = IPPROTO_IPV6;
return 0; }
5623 if (memcmp(str,
"IPPROTO_NONE", 12) == 0) { *valp = IPPROTO_NONE;
return 0; }
5629 if (memcmp(str,
"IPPROTO_HELLO", 13) == 0) { *valp = IPPROTO_HELLO;
return 0; }
5634#ifdef IPPROTO_ICMPV6
5635 if (memcmp(str,
"IPPROTO_ICMPV6", 14) == 0) { *valp = IPPROTO_ICMPV6;
return 0; }
5640#ifdef IPPROTO_DSTOPTS
5641 if (memcmp(str,
"IPPROTO_DSTOPTS", 15) == 0) { *valp = IPPROTO_DSTOPTS;
return 0; }
5643#ifdef IPPROTO_HOPOPTS
5644 if (memcmp(str,
"IPPROTO_HOPOPTS", 15) == 0) { *valp = IPPROTO_HOPOPTS;
return 0; }
5646#ifdef IPPROTO_ROUTING
5647 if (memcmp(str,
"IPPROTO_ROUTING", 15) == 0) { *valp = IPPROTO_ROUTING;
return 0; }
5652#ifdef IPPROTO_FRAGMENT
5653 if (memcmp(str,
"IPPROTO_FRAGMENT", 16) == 0) { *valp = IPPROTO_FRAGMENT;
return 0; }
5658 if (!str || !valp) {}
5665rsock_unknown_level_to_int(
const char *str,
long len,
int *valp)
5670 if (memcmp(str,
"SOCKET", 6) == 0) { *valp = SOL_SOCKET;
return 0; }
5676 if (memcmp(str,
"SOL_SOCKET", 10) == 0) { *valp = SOL_SOCKET;
return 0; }
5681 if (!str || !valp) {}
5688rsock_ip_level_to_int(
const char *str,
long len,
int *valp)
5693 if (memcmp(str,
"IP", 2) == 0) { *valp = IPPROTO_IP;
return 0; }
5696 if (memcmp(str,
"ND", 2) == 0) { *valp = IPPROTO_ND;
return 0; }
5699 if (memcmp(str,
"TP", 2) == 0) { *valp = IPPROTO_TP;
return 0; }
5702 if (memcmp(str,
"AH", 2) == 0) { *valp = IPPROTO_AH;
return 0; }
5708 if (memcmp(str,
"GGP", 3) == 0) { *valp = IPPROTO_GGP;
return 0; }
5711 if (memcmp(str,
"TCP", 3) == 0) { *valp = IPPROTO_TCP;
return 0; }
5714 if (memcmp(str,
"EGP", 3) == 0) { *valp = IPPROTO_EGP;
return 0; }
5717 if (memcmp(str,
"PUP", 3) == 0) { *valp = IPPROTO_PUP;
return 0; }
5720 if (memcmp(str,
"UDP", 3) == 0) { *valp = IPPROTO_UDP;
return 0; }
5723 if (memcmp(str,
"IDP", 3) == 0) { *valp = IPPROTO_IDP;
return 0; }
5726 if (memcmp(str,
"XTP", 3) == 0) { *valp = IPPROTO_XTP;
return 0; }
5729 if (memcmp(str,
"EON", 3) == 0) { *valp = IPPROTO_EON;
return 0; }
5732 if (memcmp(str,
"BIP", 3) == 0) { *valp = IPPROTO_BIP;
return 0; }
5735 if (memcmp(str,
"ESP", 3) == 0) { *valp = IPPROTO_ESP;
return 0; }
5738 if (memcmp(str,
"RAW", 3) == 0) { *valp = IPPROTO_RAW;
return 0; }
5741 if (memcmp(str,
"MAX", 3) == 0) { *valp = IPPROTO_MAX;
return 0; }
5747 if (memcmp(str,
"ICMP", 4) == 0) { *valp = IPPROTO_ICMP;
return 0; }
5750 if (memcmp(str,
"IGMP", 4) == 0) { *valp = IPPROTO_IGMP;
return 0; }
5753 if (memcmp(str,
"IPV6", 4) == 0) { *valp = IPPROTO_IPV6;
return 0; }
5756 if (memcmp(str,
"NONE", 4) == 0) { *valp = IPPROTO_NONE;
return 0; }
5762 if (memcmp(str,
"HELLO", 5) == 0) { *valp = IPPROTO_HELLO;
return 0; }
5768 if (memcmp(str,
"SOCKET", 6) == 0) { *valp = SOL_SOCKET;
return 0; }
5770#ifdef IPPROTO_ICMPV6
5771 if (memcmp(str,
"ICMPV6", 6) == 0) { *valp = IPPROTO_ICMPV6;
return 0; }
5776#ifdef IPPROTO_DSTOPTS
5777 if (memcmp(str,
"DSTOPTS", 7) == 0) { *valp = IPPROTO_DSTOPTS;
return 0; }
5779#ifdef IPPROTO_HOPOPTS
5780 if (memcmp(str,
"HOPOPTS", 7) == 0) { *valp = IPPROTO_HOPOPTS;
return 0; }
5782#ifdef IPPROTO_ROUTING
5783 if (memcmp(str,
"ROUTING", 7) == 0) { *valp = IPPROTO_ROUTING;
return 0; }
5788#ifdef IPPROTO_FRAGMENT
5789 if (memcmp(str,
"FRAGMENT", 8) == 0) { *valp = IPPROTO_FRAGMENT;
return 0; }
5795 if (memcmp(str,
"SOL_SOCKET", 10) == 0) { *valp = SOL_SOCKET;
return 0; }
5798 if (memcmp(str,
"IPPROTO_IP", 10) == 0) { *valp = IPPROTO_IP;
return 0; }
5801 if (memcmp(str,
"IPPROTO_ND", 10) == 0) { *valp = IPPROTO_ND;
return 0; }
5804 if (memcmp(str,
"IPPROTO_TP", 10) == 0) { *valp = IPPROTO_TP;
return 0; }
5807 if (memcmp(str,
"IPPROTO_AH", 10) == 0) { *valp = IPPROTO_AH;
return 0; }
5813 if (memcmp(str,
"IPPROTO_GGP", 11) == 0) { *valp = IPPROTO_GGP;
return 0; }
5816 if (memcmp(str,
"IPPROTO_TCP", 11) == 0) { *valp = IPPROTO_TCP;
return 0; }
5819 if (memcmp(str,
"IPPROTO_EGP", 11) == 0) { *valp = IPPROTO_EGP;
return 0; }
5822 if (memcmp(str,
"IPPROTO_PUP", 11) == 0) { *valp = IPPROTO_PUP;
return 0; }
5825 if (memcmp(str,
"IPPROTO_UDP", 11) == 0) { *valp = IPPROTO_UDP;
return 0; }
5828 if (memcmp(str,
"IPPROTO_IDP", 11) == 0) { *valp = IPPROTO_IDP;
return 0; }
5831 if (memcmp(str,
"IPPROTO_XTP", 11) == 0) { *valp = IPPROTO_XTP;
return 0; }
5834 if (memcmp(str,
"IPPROTO_EON", 11) == 0) { *valp = IPPROTO_EON;
return 0; }
5837 if (memcmp(str,
"IPPROTO_BIP", 11) == 0) { *valp = IPPROTO_BIP;
return 0; }
5840 if (memcmp(str,
"IPPROTO_ESP", 11) == 0) { *valp = IPPROTO_ESP;
return 0; }
5843 if (memcmp(str,
"IPPROTO_RAW", 11) == 0) { *valp = IPPROTO_RAW;
return 0; }
5846 if (memcmp(str,
"IPPROTO_MAX", 11) == 0) { *valp = IPPROTO_MAX;
return 0; }
5852 if (memcmp(str,
"IPPROTO_ICMP", 12) == 0) { *valp = IPPROTO_ICMP;
return 0; }
5855 if (memcmp(str,
"IPPROTO_IGMP", 12) == 0) { *valp = IPPROTO_IGMP;
return 0; }
5858 if (memcmp(str,
"IPPROTO_IPV6", 12) == 0) { *valp = IPPROTO_IPV6;
return 0; }
5861 if (memcmp(str,
"IPPROTO_NONE", 12) == 0) { *valp = IPPROTO_NONE;
return 0; }
5867 if (memcmp(str,
"IPPROTO_HELLO", 13) == 0) { *valp = IPPROTO_HELLO;
return 0; }
5872#ifdef IPPROTO_ICMPV6
5873 if (memcmp(str,
"IPPROTO_ICMPV6", 14) == 0) { *valp = IPPROTO_ICMPV6;
return 0; }
5878#ifdef IPPROTO_DSTOPTS
5879 if (memcmp(str,
"IPPROTO_DSTOPTS", 15) == 0) { *valp = IPPROTO_DSTOPTS;
return 0; }
5881#ifdef IPPROTO_HOPOPTS
5882 if (memcmp(str,
"IPPROTO_HOPOPTS", 15) == 0) { *valp = IPPROTO_HOPOPTS;
return 0; }
5884#ifdef IPPROTO_ROUTING
5885 if (memcmp(str,
"IPPROTO_ROUTING", 15) == 0) { *valp = IPPROTO_ROUTING;
return 0; }
5890#ifdef IPPROTO_FRAGMENT
5891 if (memcmp(str,
"IPPROTO_FRAGMENT", 16) == 0) { *valp = IPPROTO_FRAGMENT;
return 0; }
5896 if (!str || !valp) {}
5903rsock_so_optname_to_int(
const char *str,
long len,
int *valp)
5908 if (memcmp(str,
"NKE", 3) == 0) { *valp = SO_NKE;
return 0; }
5914 if (memcmp(str,
"TYPE", 4) == 0) { *valp = SO_TYPE;
return 0; }
5917 if (memcmp(str,
"MARK", 4) == 0) { *valp = SO_MARK;
return 0; }
5923 if (memcmp(str,
"DEBUG", 5) == 0) { *valp = SO_DEBUG;
return 0; }
5926 if (memcmp(str,
"ERROR", 5) == 0) { *valp = SO_ERROR;
return 0; }
5929 if (memcmp(str,
"NREAD", 5) == 0) { *valp = SO_NREAD;
return 0; }
5932 if (memcmp(str,
"NOFCS", 5) == 0) { *valp = SO_NOFCS;
return 0; }
5938 if (memcmp(str,
"SO_NKE", 6) == 0) { *valp = SO_NKE;
return 0; }
5941 if (memcmp(str,
"SNDBUF", 6) == 0) { *valp = SO_SNDBUF;
return 0; }
5944 if (memcmp(str,
"RCVBUF", 6) == 0) { *valp = SO_RCVBUF;
return 0; }
5947 if (memcmp(str,
"LINGER", 6) == 0) { *valp = SO_LINGER;
return 0; }
5950 if (memcmp(str,
"DOMAIN", 6) == 0) { *valp = SO_DOMAIN;
return 0; }
5956 if (memcmp(str,
"SO_TYPE", 7) == 0) { *valp = SO_TYPE;
return 0; }
5959 if (memcmp(str,
"SO_MARK", 7) == 0) { *valp = SO_MARK;
return 0; }
5962 if (memcmp(str,
"BINTIME", 7) == 0) { *valp = SO_BINTIME;
return 0; }
5965 if (memcmp(str,
"PEERSEC", 7) == 0) { *valp = SO_PEERSEC;
return 0; }
5968 if (memcmp(str,
"PASSSEC", 7) == 0) { *valp = SO_PASSSEC;
return 0; }
5974 if (memcmp(str,
"SO_DEBUG", 8) == 0) { *valp = SO_DEBUG;
return 0; }
5977 if (memcmp(str,
"SO_ERROR", 8) == 0) { *valp = SO_ERROR;
return 0; }
5980 if (memcmp(str,
"SO_NREAD", 8) == 0) { *valp = SO_NREAD;
return 0; }
5983 if (memcmp(str,
"SO_NOFCS", 8) == 0) { *valp = SO_NOFCS;
return 0; }
5986 if (memcmp(str,
"NO_CHECK", 8) == 0) { *valp = SO_NO_CHECK;
return 0; }
5989 if (memcmp(str,
"PRIORITY", 8) == 0) { *valp = SO_PRIORITY;
return 0; }
5992 if (memcmp(str,
"PASSCRED", 8) == 0) { *valp = SO_PASSCRED;
return 0; }
5995 if (memcmp(str,
"PEERCRED", 8) == 0) { *valp = SO_PEERCRED;
return 0; }
5998 if (memcmp(str,
"RCVLOWAT", 8) == 0) { *valp = SO_RCVLOWAT;
return 0; }
6001 if (memcmp(str,
"SNDLOWAT", 8) == 0) { *valp = SO_SNDLOWAT;
return 0; }
6004 if (memcmp(str,
"RCVTIMEO", 8) == 0) { *valp = SO_RCVTIMEO;
return 0; }
6007 if (memcmp(str,
"SNDTIMEO", 8) == 0) { *valp = SO_SNDTIMEO;
return 0; }
6010 if (memcmp(str,
"WANTMORE", 8) == 0) { *valp = SO_WANTMORE;
return 0; }
6013 if (memcmp(str,
"PEERNAME", 8) == 0) { *valp = SO_PEERNAME;
return 0; }
6016 if (memcmp(str,
"ALLZONES", 8) == 0) { *valp = SO_ALLZONES;
return 0; }
6019 if (memcmp(str,
"PROTOCOL", 8) == 0) { *valp = SO_PROTOCOL;
return 0; }
6022 if (memcmp(str,
"RXQ_OVFL", 8) == 0) { *valp = SO_RXQ_OVFL;
return 0; }
6025 if (memcmp(str,
"PEEK_OFF", 8) == 0) { *valp = SO_PEEK_OFF;
return 0; }
6031 if (memcmp(str,
"SO_SNDBUF", 9) == 0) { *valp = SO_SNDBUF;
return 0; }
6034 if (memcmp(str,
"SO_RCVBUF", 9) == 0) { *valp = SO_RCVBUF;
return 0; }
6037 if (memcmp(str,
"SO_LINGER", 9) == 0) { *valp = SO_LINGER;
return 0; }
6040 if (memcmp(str,
"SO_DOMAIN", 9) == 0) { *valp = SO_DOMAIN;
return 0; }
6043 if (memcmp(str,
"REUSEADDR", 9) == 0) { *valp = SO_REUSEADDR;
return 0; }
6046 if (memcmp(str,
"REUSEPORT", 9) == 0) { *valp = SO_REUSEPORT;
return 0; }
6049 if (memcmp(str,
"DONTROUTE", 9) == 0) { *valp = SO_DONTROUTE;
return 0; }
6052 if (memcmp(str,
"BROADCAST", 9) == 0) { *valp = SO_BROADCAST;
return 0; }
6055 if (memcmp(str,
"KEEPALIVE", 9) == 0) { *valp = SO_KEEPALIVE;
return 0; }
6058 if (memcmp(str,
"OOBINLINE", 9) == 0) { *valp = SO_OOBINLINE;
return 0; }
6061 if (memcmp(str,
"DONTTRUNC", 9) == 0) { *valp = SO_DONTTRUNC;
return 0; }
6064 if (memcmp(str,
"NOSIGPIPE", 9) == 0) { *valp = SO_NOSIGPIPE;
return 0; }
6067 if (memcmp(str,
"TIMESTAMP", 9) == 0) { *valp = SO_TIMESTAMP;
return 0; }
6070 if (memcmp(str,
"RECVUCRED", 9) == 0) { *valp = SO_RECVUCRED;
return 0; }
6073 if (memcmp(str,
"BUSY_POLL", 9) == 0) { *valp = SO_BUSY_POLL;
return 0; }
6079 if (memcmp(str,
"SO_BINTIME", 10) == 0) { *valp = SO_BINTIME;
return 0; }
6082 if (memcmp(str,
"SO_PEERSEC", 10) == 0) { *valp = SO_PEERSEC;
return 0; }
6085 if (memcmp(str,
"SO_PASSSEC", 10) == 0) { *valp = SO_PASSSEC;
return 0; }
6088 if (memcmp(str,
"ACCEPTCONN", 10) == 0) { *valp = SO_ACCEPTCONN;
return 0; }
6091 if (memcmp(str,
"GET_FILTER", 10) == 0) { *valp = SO_GET_FILTER;
return 0; }
6094 if (memcmp(str,
"MAC_EXEMPT", 10) == 0) { *valp = SO_MAC_EXEMPT;
return 0; }
6100 if (memcmp(str,
"SO_NO_CHECK", 11) == 0) { *valp = SO_NO_CHECK;
return 0; }
6103 if (memcmp(str,
"SO_PRIORITY", 11) == 0) { *valp = SO_PRIORITY;
return 0; }
6106 if (memcmp(str,
"SO_PASSCRED", 11) == 0) { *valp = SO_PASSCRED;
return 0; }
6109 if (memcmp(str,
"SO_PEERCRED", 11) == 0) { *valp = SO_PEERCRED;
return 0; }
6112 if (memcmp(str,
"SO_RCVLOWAT", 11) == 0) { *valp = SO_RCVLOWAT;
return 0; }
6115 if (memcmp(str,
"SO_SNDLOWAT", 11) == 0) { *valp = SO_SNDLOWAT;
return 0; }
6118 if (memcmp(str,
"SO_RCVTIMEO", 11) == 0) { *valp = SO_RCVTIMEO;
return 0; }
6121 if (memcmp(str,
"SO_SNDTIMEO", 11) == 0) { *valp = SO_SNDTIMEO;
return 0; }
6124 if (memcmp(str,
"SO_WANTMORE", 11) == 0) { *valp = SO_WANTMORE;
return 0; }
6127 if (memcmp(str,
"SO_PEERNAME", 11) == 0) { *valp = SO_PEERNAME;
return 0; }
6130 if (memcmp(str,
"SO_ALLZONES", 11) == 0) { *valp = SO_ALLZONES;
return 0; }
6133 if (memcmp(str,
"SO_PROTOCOL", 11) == 0) { *valp = SO_PROTOCOL;
return 0; }
6136 if (memcmp(str,
"SO_RXQ_OVFL", 11) == 0) { *valp = SO_RXQ_OVFL;
return 0; }
6139 if (memcmp(str,
"SO_PEEK_OFF", 11) == 0) { *valp = SO_PEEK_OFF;
return 0; }
6141#ifdef SO_SNDBUFFORCE
6142 if (memcmp(str,
"SNDBUFFORCE", 11) == 0) { *valp = SO_SNDBUFFORCE;
return 0; }
6144#ifdef SO_RCVBUFFORCE
6145 if (memcmp(str,
"RCVBUFFORCE", 11) == 0) { *valp = SO_RCVBUFFORCE;
return 0; }
6147#ifdef SO_USELOOPBACK
6148 if (memcmp(str,
"USELOOPBACK", 11) == 0) { *valp = SO_USELOOPBACK;
return 0; }
6150#ifdef SO_WANTOOBFLAG
6151 if (memcmp(str,
"WANTOOBFLAG", 11) == 0) { *valp = SO_WANTOOBFLAG;
return 0; }
6153#ifdef SO_TIMESTAMPNS
6154 if (memcmp(str,
"TIMESTAMPNS", 11) == 0) { *valp = SO_TIMESTAMPNS;
return 0; }
6156#ifdef SO_WIFI_STATUS
6157 if (memcmp(str,
"WIFI_STATUS", 11) == 0) { *valp = SO_WIFI_STATUS;
return 0; }
6159#ifdef SO_LOCK_FILTER
6160 if (memcmp(str,
"LOCK_FILTER", 11) == 0) { *valp = SO_LOCK_FILTER;
return 0; }
6166 if (memcmp(str,
"SO_REUSEADDR", 12) == 0) { *valp = SO_REUSEADDR;
return 0; }
6169 if (memcmp(str,
"SO_REUSEPORT", 12) == 0) { *valp = SO_REUSEPORT;
return 0; }
6172 if (memcmp(str,
"SO_DONTROUTE", 12) == 0) { *valp = SO_DONTROUTE;
return 0; }
6175 if (memcmp(str,
"SO_BROADCAST", 12) == 0) { *valp = SO_BROADCAST;
return 0; }
6178 if (memcmp(str,
"SO_KEEPALIVE", 12) == 0) { *valp = SO_KEEPALIVE;
return 0; }
6181 if (memcmp(str,
"SO_OOBINLINE", 12) == 0) { *valp = SO_OOBINLINE;
return 0; }
6184 if (memcmp(str,
"SO_DONTTRUNC", 12) == 0) { *valp = SO_DONTTRUNC;
return 0; }
6187 if (memcmp(str,
"SO_NOSIGPIPE", 12) == 0) { *valp = SO_NOSIGPIPE;
return 0; }
6190 if (memcmp(str,
"SO_TIMESTAMP", 12) == 0) { *valp = SO_TIMESTAMP;
return 0; }
6193 if (memcmp(str,
"SO_RECVUCRED", 12) == 0) { *valp = SO_RECVUCRED;
return 0; }
6196 if (memcmp(str,
"SO_BUSY_POLL", 12) == 0) { *valp = SO_BUSY_POLL;
return 0; }
6198#ifdef SO_ACCEPTFILTER
6199 if (memcmp(str,
"ACCEPTFILTER", 12) == 0) { *valp = SO_ACCEPTFILTER;
return 0; }
6201#ifdef SO_BINDTODEVICE
6202 if (memcmp(str,
"BINDTODEVICE", 12) == 0) { *valp = SO_BINDTODEVICE;
return 0; }
6204#ifdef SO_TIMESTAMPING
6205 if (memcmp(str,
"TIMESTAMPING", 12) == 0) { *valp = SO_TIMESTAMPING;
return 0; }
6211 if (memcmp(str,
"SO_ACCEPTCONN", 13) == 0) { *valp = SO_ACCEPTCONN;
return 0; }
6214 if (memcmp(str,
"SO_GET_FILTER", 13) == 0) { *valp = SO_GET_FILTER;
return 0; }
6217 if (memcmp(str,
"SO_MAC_EXEMPT", 13) == 0) { *valp = SO_MAC_EXEMPT;
return 0; }
6219#ifdef SO_ATTACH_FILTER
6220 if (memcmp(str,
"ATTACH_FILTER", 13) == 0) { *valp = SO_ATTACH_FILTER;
return 0; }
6222#ifdef SO_DETACH_FILTER
6223 if (memcmp(str,
"DETACH_FILTER", 13) == 0) { *valp = SO_DETACH_FILTER;
return 0; }
6228#ifdef SO_SNDBUFFORCE
6229 if (memcmp(str,
"SO_SNDBUFFORCE", 14) == 0) { *valp = SO_SNDBUFFORCE;
return 0; }
6231#ifdef SO_RCVBUFFORCE
6232 if (memcmp(str,
"SO_RCVBUFFORCE", 14) == 0) { *valp = SO_RCVBUFFORCE;
return 0; }
6234#ifdef SO_USELOOPBACK
6235 if (memcmp(str,
"SO_USELOOPBACK", 14) == 0) { *valp = SO_USELOOPBACK;
return 0; }
6237#ifdef SO_WANTOOBFLAG
6238 if (memcmp(str,
"SO_WANTOOBFLAG", 14) == 0) { *valp = SO_WANTOOBFLAG;
return 0; }
6240#ifdef SO_TIMESTAMPNS
6241 if (memcmp(str,
"SO_TIMESTAMPNS", 14) == 0) { *valp = SO_TIMESTAMPNS;
return 0; }
6243#ifdef SO_WIFI_STATUS
6244 if (memcmp(str,
"SO_WIFI_STATUS", 14) == 0) { *valp = SO_WIFI_STATUS;
return 0; }
6246#ifdef SO_LOCK_FILTER
6247 if (memcmp(str,
"SO_LOCK_FILTER", 14) == 0) { *valp = SO_LOCK_FILTER;
return 0; }
6249#ifdef SO_BPF_EXTENSIONS
6250 if (memcmp(str,
"BPF_EXTENSIONS", 14) == 0) { *valp = SO_BPF_EXTENSIONS;
return 0; }
6255#ifdef SO_ACCEPTFILTER
6256 if (memcmp(str,
"SO_ACCEPTFILTER", 15) == 0) { *valp = SO_ACCEPTFILTER;
return 0; }
6258#ifdef SO_BINDTODEVICE
6259 if (memcmp(str,
"SO_BINDTODEVICE", 15) == 0) { *valp = SO_BINDTODEVICE;
return 0; }
6261#ifdef SO_TIMESTAMPING
6262 if (memcmp(str,
"SO_TIMESTAMPING", 15) == 0) { *valp = SO_TIMESTAMPING;
return 0; }
6264#ifdef SO_MAX_PACING_RATE
6265 if (memcmp(str,
"MAX_PACING_RATE", 15) == 0) { *valp = SO_MAX_PACING_RATE;
return 0; }
6270#ifdef SO_ATTACH_FILTER
6271 if (memcmp(str,
"SO_ATTACH_FILTER", 16) == 0) { *valp = SO_ATTACH_FILTER;
return 0; }
6273#ifdef SO_DETACH_FILTER
6274 if (memcmp(str,
"SO_DETACH_FILTER", 16) == 0) { *valp = SO_DETACH_FILTER;
return 0; }
6276#ifdef SO_SELECT_ERR_QUEUE
6277 if (memcmp(str,
"SELECT_ERR_QUEUE", 16) == 0) { *valp = SO_SELECT_ERR_QUEUE;
return 0; }
6282#ifdef SO_BPF_EXTENSIONS
6283 if (memcmp(str,
"SO_BPF_EXTENSIONS", 17) == 0) { *valp = SO_BPF_EXTENSIONS;
return 0; }
6288#ifdef SO_MAX_PACING_RATE
6289 if (memcmp(str,
"SO_MAX_PACING_RATE", 18) == 0) { *valp = SO_MAX_PACING_RATE;
return 0; }
6294#ifdef SO_SELECT_ERR_QUEUE
6295 if (memcmp(str,
"SO_SELECT_ERR_QUEUE", 19) == 0) { *valp = SO_SELECT_ERR_QUEUE;
return 0; }
6300#ifdef SO_SECURITY_AUTHENTICATION
6301 if (memcmp(str,
"SECURITY_AUTHENTICATION", 23) == 0) { *valp = SO_SECURITY_AUTHENTICATION;
return 0; }
6306#ifdef SO_SECURITY_AUTHENTICATION
6307 if (memcmp(str,
"SO_SECURITY_AUTHENTICATION", 26) == 0) { *valp = SO_SECURITY_AUTHENTICATION;
return 0; }
6312#ifdef SO_SECURITY_ENCRYPTION_NETWORK
6313 if (memcmp(str,
"SECURITY_ENCRYPTION_NETWORK", 27) == 0) { *valp = SO_SECURITY_ENCRYPTION_NETWORK;
return 0; }
6318#ifdef SO_SECURITY_ENCRYPTION_TRANSPORT
6319 if (memcmp(str,
"SECURITY_ENCRYPTION_TRANSPORT", 29) == 0) { *valp = SO_SECURITY_ENCRYPTION_TRANSPORT;
return 0; }
6324#ifdef SO_SECURITY_ENCRYPTION_NETWORK
6325 if (memcmp(str,
"SO_SECURITY_ENCRYPTION_NETWORK", 30) == 0) { *valp = SO_SECURITY_ENCRYPTION_NETWORK;
return 0; }
6330#ifdef SO_SECURITY_ENCRYPTION_TRANSPORT
6331 if (memcmp(str,
"SO_SECURITY_ENCRYPTION_TRANSPORT", 32) == 0) { *valp = SO_SECURITY_ENCRYPTION_TRANSPORT;
return 0; }
6336 if (!str || !valp) {}
6343rsock_ip_optname_to_int(
const char *str,
long len,
int *valp)
6348 if (memcmp(str,
"TOS", 3) == 0) { *valp = IP_TOS;
return 0; }
6351 if (memcmp(str,
"TTL", 3) == 0) { *valp = IP_TTL;
return 0; }
6354 if (memcmp(str,
"MTU", 3) == 0) { *valp = IP_MTU;
return 0; }
6360 if (memcmp(str,
"IP_TOS", 6) == 0) { *valp = IP_TOS;
return 0; }
6363 if (memcmp(str,
"IP_TTL", 6) == 0) { *valp = IP_TTL;
return 0; }
6366 if (memcmp(str,
"IP_MTU", 6) == 0) { *valp = IP_MTU;
return 0; }
6369 if (memcmp(str,
"MINTTL", 6) == 0) { *valp = IP_MINTTL;
return 0; }
6372 if (memcmp(str,
"RECVIF", 6) == 0) { *valp = IP_RECVIF;
return 0; }
6378 if (memcmp(str,
"OPTIONS", 7) == 0) { *valp = IP_OPTIONS;
return 0; }
6381 if (memcmp(str,
"HDRINCL", 7) == 0) { *valp = IP_HDRINCL;
return 0; }
6384 if (memcmp(str,
"RETOPTS", 7) == 0) { *valp = IP_RETOPTS;
return 0; }
6387 if (memcmp(str,
"RECVTTL", 7) == 0) { *valp = IP_RECVTTL;
return 0; }
6390 if (memcmp(str,
"PKTINFO", 7) == 0) { *valp = IP_PKTINFO;
return 0; }
6393 if (memcmp(str,
"RECVERR", 7) == 0) { *valp = IP_RECVERR;
return 0; }
6396 if (memcmp(str,
"RECVTOS", 7) == 0) { *valp = IP_RECVTOS;
return 0; }
6399 if (memcmp(str,
"PASSSEC", 7) == 0) { *valp = IP_PASSSEC;
return 0; }
6405 if (memcmp(str,
"RECVOPTS", 8) == 0) { *valp = IP_RECVOPTS;
return 0; }
6408 if (memcmp(str,
"DONTFRAG", 8) == 0) { *valp = IP_DONTFRAG;
return 0; }
6411 if (memcmp(str,
"RECVSLLA", 8) == 0) { *valp = IP_RECVSLLA;
return 0; }
6414 if (memcmp(str,
"FREEBIND", 8) == 0) { *valp = IP_FREEBIND;
return 0; }
6417 if (memcmp(str,
"MSFILTER", 8) == 0) { *valp = IP_MSFILTER;
return 0; }
6423 if (memcmp(str,
"IP_MINTTL", 9) == 0) { *valp = IP_MINTTL;
return 0; }
6426 if (memcmp(str,
"IP_RECVIF", 9) == 0) { *valp = IP_RECVIF;
return 0; }
6429 if (memcmp(str,
"ONESBCAST", 9) == 0) { *valp = IP_ONESBCAST;
return 0; }
6432 if (memcmp(str,
"PORTRANGE", 9) == 0) { *valp = IP_PORTRANGE;
return 0; }
6438 if (memcmp(str,
"IP_OPTIONS", 10) == 0) { *valp = IP_OPTIONS;
return 0; }
6441 if (memcmp(str,
"IP_HDRINCL", 10) == 0) { *valp = IP_HDRINCL;
return 0; }
6444 if (memcmp(str,
"IP_RETOPTS", 10) == 0) { *valp = IP_RETOPTS;
return 0; }
6447 if (memcmp(str,
"IP_RECVTTL", 10) == 0) { *valp = IP_RECVTTL;
return 0; }
6450 if (memcmp(str,
"IP_PKTINFO", 10) == 0) { *valp = IP_PKTINFO;
return 0; }
6453 if (memcmp(str,
"IP_RECVERR", 10) == 0) { *valp = IP_RECVERR;
return 0; }
6456 if (memcmp(str,
"IP_RECVTOS", 10) == 0) { *valp = IP_RECVTOS;
return 0; }
6459 if (memcmp(str,
"IP_PASSSEC", 10) == 0) { *valp = IP_PASSSEC;
return 0; }
6462 if (memcmp(str,
"PKTOPTIONS", 10) == 0) { *valp = IP_PKTOPTIONS;
return 0; }
6468 if (memcmp(str,
"IP_RECVOPTS", 11) == 0) { *valp = IP_RECVOPTS;
return 0; }
6471 if (memcmp(str,
"IP_DONTFRAG", 11) == 0) { *valp = IP_DONTFRAG;
return 0; }
6474 if (memcmp(str,
"IP_RECVSLLA", 11) == 0) { *valp = IP_RECVSLLA;
return 0; }
6477 if (memcmp(str,
"IP_FREEBIND", 11) == 0) { *valp = IP_FREEBIND;
return 0; }
6480 if (memcmp(str,
"IP_MSFILTER", 11) == 0) { *valp = IP_MSFILTER;
return 0; }
6482#ifdef IP_RECVRETOPTS
6483 if (memcmp(str,
"RECVRETOPTS", 11) == 0) { *valp = IP_RECVRETOPTS;
return 0; }
6485#ifdef IP_RECVDSTADDR
6486 if (memcmp(str,
"RECVDSTADDR", 11) == 0) { *valp = IP_RECVDSTADDR;
return 0; }
6488#ifdef IP_SENDSRCADDR
6489 if (memcmp(str,
"SENDSRCADDR", 11) == 0) { *valp = IP_SENDSRCADDR;
return 0; }
6491#ifdef IP_XFRM_POLICY
6492 if (memcmp(str,
"XFRM_POLICY", 11) == 0) { *valp = IP_XFRM_POLICY;
return 0; }
6494#ifdef IP_TRANSPARENT
6495 if (memcmp(str,
"TRANSPARENT", 11) == 0) { *valp = IP_TRANSPARENT;
return 0; }
6497#ifdef IP_PMTUDISC_DO
6498 if (memcmp(str,
"PMTUDISC_DO", 11) == 0) { *valp = IP_PMTUDISC_DO;
return 0; }
6504 if (memcmp(str,
"IP_ONESBCAST", 12) == 0) { *valp = IP_ONESBCAST;
return 0; }
6507 if (memcmp(str,
"IP_PORTRANGE", 12) == 0) { *valp = IP_PORTRANGE;
return 0; }
6509#ifdef IP_MULTICAST_IF
6510 if (memcmp(str,
"MULTICAST_IF", 12) == 0) { *valp = IP_MULTICAST_IF;
return 0; }
6512#ifdef IP_ROUTER_ALERT
6513 if (memcmp(str,
"ROUTER_ALERT", 12) == 0) { *valp = IP_ROUTER_ALERT;
return 0; }
6515#ifdef IP_MTU_DISCOVER
6516 if (memcmp(str,
"MTU_DISCOVER", 12) == 0) { *valp = IP_MTU_DISCOVER;
return 0; }
6518#ifdef IP_IPSEC_POLICY
6519 if (memcmp(str,
"IPSEC_POLICY", 12) == 0) { *valp = IP_IPSEC_POLICY;
return 0; }
6521#ifdef IP_BLOCK_SOURCE
6522 if (memcmp(str,
"BLOCK_SOURCE", 12) == 0) { *valp = IP_BLOCK_SOURCE;
return 0; }
6528 if (memcmp(str,
"IP_PKTOPTIONS", 13) == 0) { *valp = IP_PKTOPTIONS;
return 0; }
6530#ifdef IP_MULTICAST_TTL
6531 if (memcmp(str,
"MULTICAST_TTL", 13) == 0) { *valp = IP_MULTICAST_TTL;
return 0; }
6533#ifdef IP_PMTUDISC_DONT
6534 if (memcmp(str,
"PMTUDISC_DONT", 13) == 0) { *valp = IP_PMTUDISC_DONT;
return 0; }
6536#ifdef IP_PMTUDISC_WANT
6537 if (memcmp(str,
"PMTUDISC_WANT", 13) == 0) { *valp = IP_PMTUDISC_WANT;
return 0; }
6542#ifdef IP_RECVRETOPTS
6543 if (memcmp(str,
"IP_RECVRETOPTS", 14) == 0) { *valp = IP_RECVRETOPTS;
return 0; }
6545#ifdef IP_RECVDSTADDR
6546 if (memcmp(str,
"IP_RECVDSTADDR", 14) == 0) { *valp = IP_RECVDSTADDR;
return 0; }
6548#ifdef IP_SENDSRCADDR
6549 if (memcmp(str,
"IP_SENDSRCADDR", 14) == 0) { *valp = IP_SENDSRCADDR;
return 0; }
6551#ifdef IP_XFRM_POLICY
6552 if (memcmp(str,
"IP_XFRM_POLICY", 14) == 0) { *valp = IP_XFRM_POLICY;
return 0; }
6554#ifdef IP_TRANSPARENT
6555 if (memcmp(str,
"IP_TRANSPARENT", 14) == 0) { *valp = IP_TRANSPARENT;
return 0; }
6557#ifdef IP_PMTUDISC_DO
6558 if (memcmp(str,
"IP_PMTUDISC_DO", 14) == 0) { *valp = IP_PMTUDISC_DO;
return 0; }
6560#ifdef IP_MULTICAST_LOOP
6561 if (memcmp(str,
"MULTICAST_LOOP", 14) == 0) { *valp = IP_MULTICAST_LOOP;
return 0; }
6563#ifdef IP_ADD_MEMBERSHIP
6564 if (memcmp(str,
"ADD_MEMBERSHIP", 14) == 0) { *valp = IP_ADD_MEMBERSHIP;
return 0; }
6566#ifdef IP_UNBLOCK_SOURCE
6567 if (memcmp(str,
"UNBLOCK_SOURCE", 14) == 0) { *valp = IP_UNBLOCK_SOURCE;
return 0; }
6572#ifdef IP_MULTICAST_IF
6573 if (memcmp(str,
"IP_MULTICAST_IF", 15) == 0) { *valp = IP_MULTICAST_IF;
return 0; }
6575#ifdef IP_ROUTER_ALERT
6576 if (memcmp(str,
"IP_ROUTER_ALERT", 15) == 0) { *valp = IP_ROUTER_ALERT;
return 0; }
6578#ifdef IP_MTU_DISCOVER
6579 if (memcmp(str,
"IP_MTU_DISCOVER", 15) == 0) { *valp = IP_MTU_DISCOVER;
return 0; }
6581#ifdef IP_IPSEC_POLICY
6582 if (memcmp(str,
"IP_IPSEC_POLICY", 15) == 0) { *valp = IP_IPSEC_POLICY;
return 0; }
6584#ifdef IP_BLOCK_SOURCE
6585 if (memcmp(str,
"IP_BLOCK_SOURCE", 15) == 0) { *valp = IP_BLOCK_SOURCE;
return 0; }
6587#ifdef IP_DROP_MEMBERSHIP
6588 if (memcmp(str,
"DROP_MEMBERSHIP", 15) == 0) { *valp = IP_DROP_MEMBERSHIP;
return 0; }
6590#ifdef IP_MAX_MEMBERSHIPS
6591 if (memcmp(str,
"MAX_MEMBERSHIPS", 15) == 0) { *valp = IP_MAX_MEMBERSHIPS;
return 0; }
6596#ifdef IP_MULTICAST_TTL
6597 if (memcmp(str,
"IP_MULTICAST_TTL", 16) == 0) { *valp = IP_MULTICAST_TTL;
return 0; }
6599#ifdef IP_PMTUDISC_DONT
6600 if (memcmp(str,
"IP_PMTUDISC_DONT", 16) == 0) { *valp = IP_PMTUDISC_DONT;
return 0; }
6602#ifdef IP_PMTUDISC_WANT
6603 if (memcmp(str,
"IP_PMTUDISC_WANT", 16) == 0) { *valp = IP_PMTUDISC_WANT;
return 0; }
6608#ifdef IP_MULTICAST_LOOP
6609 if (memcmp(str,
"IP_MULTICAST_LOOP", 17) == 0) { *valp = IP_MULTICAST_LOOP;
return 0; }
6611#ifdef IP_ADD_MEMBERSHIP
6612 if (memcmp(str,
"IP_ADD_MEMBERSHIP", 17) == 0) { *valp = IP_ADD_MEMBERSHIP;
return 0; }
6614#ifdef IP_UNBLOCK_SOURCE
6615 if (memcmp(str,
"IP_UNBLOCK_SOURCE", 17) == 0) { *valp = IP_UNBLOCK_SOURCE;
return 0; }
6620#ifdef IP_DROP_MEMBERSHIP
6621 if (memcmp(str,
"IP_DROP_MEMBERSHIP", 18) == 0) { *valp = IP_DROP_MEMBERSHIP;
return 0; }
6623#ifdef IP_MAX_MEMBERSHIPS
6624 if (memcmp(str,
"IP_MAX_MEMBERSHIPS", 18) == 0) { *valp = IP_MAX_MEMBERSHIPS;
return 0; }
6629#ifdef IP_DEFAULT_MULTICAST_TTL
6630 if (memcmp(str,
"DEFAULT_MULTICAST_TTL", 21) == 0) { *valp = IP_DEFAULT_MULTICAST_TTL;
return 0; }
6632#ifdef IP_ADD_SOURCE_MEMBERSHIP
6633 if (memcmp(str,
"ADD_SOURCE_MEMBERSHIP", 21) == 0) { *valp = IP_ADD_SOURCE_MEMBERSHIP;
return 0; }
6638#ifdef IP_DEFAULT_MULTICAST_LOOP
6639 if (memcmp(str,
"DEFAULT_MULTICAST_LOOP", 22) == 0) { *valp = IP_DEFAULT_MULTICAST_LOOP;
return 0; }
6641#ifdef IP_DROP_SOURCE_MEMBERSHIP
6642 if (memcmp(str,
"DROP_SOURCE_MEMBERSHIP", 22) == 0) { *valp = IP_DROP_SOURCE_MEMBERSHIP;
return 0; }
6647#ifdef IP_DEFAULT_MULTICAST_TTL
6648 if (memcmp(str,
"IP_DEFAULT_MULTICAST_TTL", 24) == 0) { *valp = IP_DEFAULT_MULTICAST_TTL;
return 0; }
6650#ifdef IP_ADD_SOURCE_MEMBERSHIP
6651 if (memcmp(str,
"IP_ADD_SOURCE_MEMBERSHIP", 24) == 0) { *valp = IP_ADD_SOURCE_MEMBERSHIP;
return 0; }
6656#ifdef IP_DEFAULT_MULTICAST_LOOP
6657 if (memcmp(str,
"IP_DEFAULT_MULTICAST_LOOP", 25) == 0) { *valp = IP_DEFAULT_MULTICAST_LOOP;
return 0; }
6659#ifdef IP_DROP_SOURCE_MEMBERSHIP
6660 if (memcmp(str,
"IP_DROP_SOURCE_MEMBERSHIP", 25) == 0) { *valp = IP_DROP_SOURCE_MEMBERSHIP;
return 0; }
6665 if (!str || !valp) {}
6673rsock_ipv6_optname_to_int(
const char *str,
long len,
int *valp)
6678 if (memcmp(str,
"RTHDR", 5) == 0) { *valp = IPV6_RTHDR;
return 0; }
6684 if (memcmp(str,
"V6ONLY", 6) == 0) { *valp = IPV6_V6ONLY;
return 0; }
6687 if (memcmp(str,
"TCLASS", 6) == 0) { *valp = IPV6_TCLASS;
return 0; }
6693 if (memcmp(str,
"DSTOPTS", 7) == 0) { *valp = IPV6_DSTOPTS;
return 0; }
6696 if (memcmp(str,
"HOPOPTS", 7) == 0) { *valp = IPV6_HOPOPTS;
return 0; }
6699 if (memcmp(str,
"NEXTHOP", 7) == 0) { *valp = IPV6_NEXTHOP;
return 0; }
6702 if (memcmp(str,
"PATHMTU", 7) == 0) { *valp = IPV6_PATHMTU;
return 0; }
6705 if (memcmp(str,
"PKTINFO", 7) == 0) { *valp = IPV6_PKTINFO;
return 0; }
6711 if (memcmp(str,
"CHECKSUM", 8) == 0) { *valp = IPV6_CHECKSUM;
return 0; }
6714 if (memcmp(str,
"DONTFRAG", 8) == 0) { *valp = IPV6_DONTFRAG;
return 0; }
6717 if (memcmp(str,
"HOPLIMIT", 8) == 0) { *valp = IPV6_HOPLIMIT;
return 0; }
6722#ifdef IPV6_RECVRTHDR
6723 if (memcmp(str,
"RECVRTHDR", 9) == 0) { *valp = IPV6_RECVRTHDR;
return 0; }
6729 if (memcmp(str,
"IPV6_RTHDR", 10) == 0) { *valp = IPV6_RTHDR;
return 0; }
6731#ifdef IPV6_JOIN_GROUP
6732 if (memcmp(str,
"JOIN_GROUP", 10) == 0) { *valp = IPV6_JOIN_GROUP;
return 0; }
6734#ifdef IPV6_RECVTCLASS
6735 if (memcmp(str,
"RECVTCLASS", 10) == 0) { *valp = IPV6_RECVTCLASS;
return 0; }
6741 if (memcmp(str,
"IPV6_V6ONLY", 11) == 0) { *valp = IPV6_V6ONLY;
return 0; }
6744 if (memcmp(str,
"IPV6_TCLASS", 11) == 0) { *valp = IPV6_TCLASS;
return 0; }
6746#ifdef IPV6_LEAVE_GROUP
6747 if (memcmp(str,
"LEAVE_GROUP", 11) == 0) { *valp = IPV6_LEAVE_GROUP;
return 0; }
6749#ifdef IPV6_RECVDSTOPTS
6750 if (memcmp(str,
"RECVDSTOPTS", 11) == 0) { *valp = IPV6_RECVDSTOPTS;
return 0; }
6752#ifdef IPV6_RECVHOPOPTS
6753 if (memcmp(str,
"RECVHOPOPTS", 11) == 0) { *valp = IPV6_RECVHOPOPTS;
return 0; }
6755#ifdef IPV6_RECVPKTINFO
6756 if (memcmp(str,
"RECVPKTINFO", 11) == 0) { *valp = IPV6_RECVPKTINFO;
return 0; }
6758#ifdef IPV6_RECVPATHMTU
6759 if (memcmp(str,
"RECVPATHMTU", 11) == 0) { *valp = IPV6_RECVPATHMTU;
return 0; }
6761#ifdef IPV6_USE_MIN_MTU
6762 if (memcmp(str,
"USE_MIN_MTU", 11) == 0) { *valp = IPV6_USE_MIN_MTU;
return 0; }
6768 if (memcmp(str,
"IPV6_DSTOPTS", 12) == 0) { *valp = IPV6_DSTOPTS;
return 0; }
6771 if (memcmp(str,
"IPV6_HOPOPTS", 12) == 0) { *valp = IPV6_HOPOPTS;
return 0; }
6774 if (memcmp(str,
"IPV6_NEXTHOP", 12) == 0) { *valp = IPV6_NEXTHOP;
return 0; }
6777 if (memcmp(str,
"IPV6_PATHMTU", 12) == 0) { *valp = IPV6_PATHMTU;
return 0; }
6780 if (memcmp(str,
"IPV6_PKTINFO", 12) == 0) { *valp = IPV6_PKTINFO;
return 0; }
6782#ifdef IPV6_MULTICAST_IF
6783 if (memcmp(str,
"MULTICAST_IF", 12) == 0) { *valp = IPV6_MULTICAST_IF;
return 0; }
6785#ifdef IPV6_UNICAST_HOPS
6786 if (memcmp(str,
"UNICAST_HOPS", 12) == 0) { *valp = IPV6_UNICAST_HOPS;
return 0; }
6788#ifdef IPV6_RECVHOPLIMIT
6789 if (memcmp(str,
"RECVHOPLIMIT", 12) == 0) { *valp = IPV6_RECVHOPLIMIT;
return 0; }
6791#ifdef IPV6_RTHDRDSTOPTS
6792 if (memcmp(str,
"RTHDRDSTOPTS", 12) == 0) { *valp = IPV6_RTHDRDSTOPTS;
return 0; }
6794#ifdef IPV6_RTHDR_TYPE_0
6795 if (memcmp(str,
"RTHDR_TYPE_0", 12) == 0) { *valp = IPV6_RTHDR_TYPE_0;
return 0; }
6801 if (memcmp(str,
"IPV6_CHECKSUM", 13) == 0) { *valp = IPV6_CHECKSUM;
return 0; }
6804 if (memcmp(str,
"IPV6_DONTFRAG", 13) == 0) { *valp = IPV6_DONTFRAG;
return 0; }
6807 if (memcmp(str,
"IPV6_HOPLIMIT", 13) == 0) { *valp = IPV6_HOPLIMIT;
return 0; }
6812#ifdef IPV6_RECVRTHDR
6813 if (memcmp(str,
"IPV6_RECVRTHDR", 14) == 0) { *valp = IPV6_RECVRTHDR;
return 0; }
6815#ifdef IPV6_MULTICAST_HOPS
6816 if (memcmp(str,
"MULTICAST_HOPS", 14) == 0) { *valp = IPV6_MULTICAST_HOPS;
return 0; }
6818#ifdef IPV6_MULTICAST_LOOP
6819 if (memcmp(str,
"MULTICAST_LOOP", 14) == 0) { *valp = IPV6_MULTICAST_LOOP;
return 0; }
6824#ifdef IPV6_JOIN_GROUP
6825 if (memcmp(str,
"IPV6_JOIN_GROUP", 15) == 0) { *valp = IPV6_JOIN_GROUP;
return 0; }
6827#ifdef IPV6_RECVTCLASS
6828 if (memcmp(str,
"IPV6_RECVTCLASS", 15) == 0) { *valp = IPV6_RECVTCLASS;
return 0; }
6833#ifdef IPV6_LEAVE_GROUP
6834 if (memcmp(str,
"IPV6_LEAVE_GROUP", 16) == 0) { *valp = IPV6_LEAVE_GROUP;
return 0; }
6836#ifdef IPV6_RECVDSTOPTS
6837 if (memcmp(str,
"IPV6_RECVDSTOPTS", 16) == 0) { *valp = IPV6_RECVDSTOPTS;
return 0; }
6839#ifdef IPV6_RECVHOPOPTS
6840 if (memcmp(str,
"IPV6_RECVHOPOPTS", 16) == 0) { *valp = IPV6_RECVHOPOPTS;
return 0; }
6842#ifdef IPV6_RECVPKTINFO
6843 if (memcmp(str,
"IPV6_RECVPKTINFO", 16) == 0) { *valp = IPV6_RECVPKTINFO;
return 0; }
6845#ifdef IPV6_RECVPATHMTU
6846 if (memcmp(str,
"IPV6_RECVPATHMTU", 16) == 0) { *valp = IPV6_RECVPATHMTU;
return 0; }
6848#ifdef IPV6_USE_MIN_MTU
6849 if (memcmp(str,
"IPV6_USE_MIN_MTU", 16) == 0) { *valp = IPV6_USE_MIN_MTU;
return 0; }
6854#ifdef IPV6_MULTICAST_IF
6855 if (memcmp(str,
"IPV6_MULTICAST_IF", 17) == 0) { *valp = IPV6_MULTICAST_IF;
return 0; }
6857#ifdef IPV6_UNICAST_HOPS
6858 if (memcmp(str,
"IPV6_UNICAST_HOPS", 17) == 0) { *valp = IPV6_UNICAST_HOPS;
return 0; }
6860#ifdef IPV6_RECVHOPLIMIT
6861 if (memcmp(str,
"IPV6_RECVHOPLIMIT", 17) == 0) { *valp = IPV6_RECVHOPLIMIT;
return 0; }
6863#ifdef IPV6_RTHDRDSTOPTS
6864 if (memcmp(str,
"IPV6_RTHDRDSTOPTS", 17) == 0) { *valp = IPV6_RTHDRDSTOPTS;
return 0; }
6866#ifdef IPV6_RTHDR_TYPE_0
6867 if (memcmp(str,
"IPV6_RTHDR_TYPE_0", 17) == 0) { *valp = IPV6_RTHDR_TYPE_0;
return 0; }
6872#ifdef IPV6_MULTICAST_HOPS
6873 if (memcmp(str,
"IPV6_MULTICAST_HOPS", 19) == 0) { *valp = IPV6_MULTICAST_HOPS;
return 0; }
6875#ifdef IPV6_MULTICAST_LOOP
6876 if (memcmp(str,
"IPV6_MULTICAST_LOOP", 19) == 0) { *valp = IPV6_MULTICAST_LOOP;
return 0; }
6881 if (!str || !valp) {}
6889rsock_tcp_optname_to_int(
const char *str,
long len,
int *valp)
6894 if (memcmp(str,
"CORK", 4) == 0) { *valp = TCP_CORK;
return 0; }
6897 if (memcmp(str,
"INFO", 4) == 0) { *valp = TCP_INFO;
return 0; }
6903 if (memcmp(str,
"NOOPT", 5) == 0) { *valp = TCP_NOOPT;
return 0; }
6909 if (memcmp(str,
"MAXSEG", 6) == 0) { *valp = TCP_MAXSEG;
return 0; }
6912 if (memcmp(str,
"MD5SIG", 6) == 0) { *valp = TCP_MD5SIG;
return 0; }
6915 if (memcmp(str,
"NOPUSH", 6) == 0) { *valp = TCP_NOPUSH;
return 0; }
6918 if (memcmp(str,
"SYNCNT", 6) == 0) { *valp = TCP_SYNCNT;
return 0; }
6921 if (memcmp(str,
"REPAIR", 6) == 0) { *valp = TCP_REPAIR;
return 0; }
6927 if (memcmp(str,
"NODELAY", 7) == 0) { *valp = TCP_NODELAY;
return 0; }
6930 if (memcmp(str,
"KEEPCNT", 7) == 0) { *valp = TCP_KEEPCNT;
return 0; }
6933 if (memcmp(str,
"LINGER2", 7) == 0) { *valp = TCP_LINGER2;
return 0; }
6939 if (memcmp(str,
"TCP_CORK", 8) == 0) { *valp = TCP_CORK;
return 0; }
6942 if (memcmp(str,
"TCP_INFO", 8) == 0) { *valp = TCP_INFO;
return 0; }
6945 if (memcmp(str,
"KEEPIDLE", 8) == 0) { *valp = TCP_KEEPIDLE;
return 0; }
6948 if (memcmp(str,
"QUICKACK", 8) == 0) { *valp = TCP_QUICKACK;
return 0; }
6951 if (memcmp(str,
"FASTOPEN", 8) == 0) { *valp = TCP_FASTOPEN;
return 0; }
6957 if (memcmp(str,
"TCP_NOOPT", 9) == 0) { *valp = TCP_NOOPT;
return 0; }
6960 if (memcmp(str,
"KEEPINTVL", 9) == 0) { *valp = TCP_KEEPINTVL;
return 0; }
6963 if (memcmp(str,
"QUEUE_SEQ", 9) == 0) { *valp = TCP_QUEUE_SEQ;
return 0; }
6966 if (memcmp(str,
"TIMESTAMP", 9) == 0) { *valp = TCP_TIMESTAMP;
return 0; }
6972 if (memcmp(str,
"TCP_MAXSEG", 10) == 0) { *valp = TCP_MAXSEG;
return 0; }
6975 if (memcmp(str,
"TCP_MD5SIG", 10) == 0) { *valp = TCP_MD5SIG;
return 0; }
6978 if (memcmp(str,
"TCP_NOPUSH", 10) == 0) { *valp = TCP_NOPUSH;
return 0; }
6981 if (memcmp(str,
"TCP_SYNCNT", 10) == 0) { *valp = TCP_SYNCNT;
return 0; }
6984 if (memcmp(str,
"TCP_REPAIR", 10) == 0) { *valp = TCP_REPAIR;
return 0; }
6986#ifdef TCP_CONGESTION
6987 if (memcmp(str,
"CONGESTION", 10) == 0) { *valp = TCP_CONGESTION;
return 0; }
6993 if (memcmp(str,
"TCP_NODELAY", 11) == 0) { *valp = TCP_NODELAY;
return 0; }
6996 if (memcmp(str,
"TCP_KEEPCNT", 11) == 0) { *valp = TCP_KEEPCNT;
return 0; }
6999 if (memcmp(str,
"TCP_LINGER2", 11) == 0) { *valp = TCP_LINGER2;
return 0; }
7001#ifdef TCP_THIN_DUPACK
7002 if (memcmp(str,
"THIN_DUPACK", 11) == 0) { *valp = TCP_THIN_DUPACK;
return 0; }
7008 if (memcmp(str,
"TCP_KEEPIDLE", 12) == 0) { *valp = TCP_KEEPIDLE;
return 0; }
7011 if (memcmp(str,
"TCP_QUICKACK", 12) == 0) { *valp = TCP_QUICKACK;
return 0; }
7014 if (memcmp(str,
"TCP_FASTOPEN", 12) == 0) { *valp = TCP_FASTOPEN;
return 0; }
7016#ifdef TCP_DEFER_ACCEPT
7017 if (memcmp(str,
"DEFER_ACCEPT", 12) == 0) { *valp = TCP_DEFER_ACCEPT;
return 0; }
7019#ifdef TCP_WINDOW_CLAMP
7020 if (memcmp(str,
"WINDOW_CLAMP", 12) == 0) { *valp = TCP_WINDOW_CLAMP;
return 0; }
7022#ifdef TCP_REPAIR_QUEUE
7023 if (memcmp(str,
"REPAIR_QUEUE", 12) == 0) { *valp = TCP_REPAIR_QUEUE;
return 0; }
7025#ifdef TCP_USER_TIMEOUT
7026 if (memcmp(str,
"USER_TIMEOUT", 12) == 0) { *valp = TCP_USER_TIMEOUT;
return 0; }
7032 if (memcmp(str,
"TCP_KEEPINTVL", 13) == 0) { *valp = TCP_KEEPINTVL;
return 0; }
7035 if (memcmp(str,
"TCP_QUEUE_SEQ", 13) == 0) { *valp = TCP_QUEUE_SEQ;
return 0; }
7038 if (memcmp(str,
"TCP_TIMESTAMP", 13) == 0) { *valp = TCP_TIMESTAMP;
return 0; }
7043#ifdef TCP_CONGESTION
7044 if (memcmp(str,
"TCP_CONGESTION", 14) == 0) { *valp = TCP_CONGESTION;
return 0; }
7046#ifdef TCP_REPAIR_OPTIONS
7047 if (memcmp(str,
"REPAIR_OPTIONS", 14) == 0) { *valp = TCP_REPAIR_OPTIONS;
return 0; }
7052#ifdef TCP_THIN_DUPACK
7053 if (memcmp(str,
"TCP_THIN_DUPACK", 15) == 0) { *valp = TCP_THIN_DUPACK;
return 0; }
7058#ifdef TCP_DEFER_ACCEPT
7059 if (memcmp(str,
"TCP_DEFER_ACCEPT", 16) == 0) { *valp = TCP_DEFER_ACCEPT;
return 0; }
7061#ifdef TCP_WINDOW_CLAMP
7062 if (memcmp(str,
"TCP_WINDOW_CLAMP", 16) == 0) { *valp = TCP_WINDOW_CLAMP;
return 0; }
7064#ifdef TCP_REPAIR_QUEUE
7065 if (memcmp(str,
"TCP_REPAIR_QUEUE", 16) == 0) { *valp = TCP_REPAIR_QUEUE;
return 0; }
7067#ifdef TCP_USER_TIMEOUT
7068 if (memcmp(str,
"TCP_USER_TIMEOUT", 16) == 0) { *valp = TCP_USER_TIMEOUT;
return 0; }
7073#ifdef TCP_REPAIR_OPTIONS
7074 if (memcmp(str,
"TCP_REPAIR_OPTIONS", 18) == 0) { *valp = TCP_REPAIR_OPTIONS;
return 0; }
7079#ifdef TCP_COOKIE_TRANSACTIONS
7080 if (memcmp(str,
"COOKIE_TRANSACTIONS", 19) == 0) { *valp = TCP_COOKIE_TRANSACTIONS;
return 0; }
7085#ifdef TCP_THIN_LINEAR_TIMEOUTS
7086 if (memcmp(str,
"THIN_LINEAR_TIMEOUTS", 20) == 0) { *valp = TCP_THIN_LINEAR_TIMEOUTS;
return 0; }
7091#ifdef TCP_COOKIE_TRANSACTIONS
7092 if (memcmp(str,
"TCP_COOKIE_TRANSACTIONS", 23) == 0) { *valp = TCP_COOKIE_TRANSACTIONS;
return 0; }
7097#ifdef TCP_THIN_LINEAR_TIMEOUTS
7098 if (memcmp(str,
"TCP_THIN_LINEAR_TIMEOUTS", 24) == 0) { *valp = TCP_THIN_LINEAR_TIMEOUTS;
return 0; }
7103 if (!str || !valp) {}
7110rsock_udp_optname_to_int(
const char *str,
long len,
int *valp)
7115 if (memcmp(str,
"CORK", 4) == 0) { *valp = UDP_CORK;
return 0; }
7121 if (memcmp(str,
"UDP_CORK", 8) == 0) { *valp = UDP_CORK;
return 0; }
7126 if (!str || !valp) {}
7133rsock_shutdown_how_to_int(
const char *str,
long len,
int *valp)
7138 if (memcmp(str,
"RD", 2) == 0) { *valp = SHUT_RD;
return 0; }
7141 if (memcmp(str,
"WR", 2) == 0) { *valp = SHUT_WR;
return 0; }
7147 if (memcmp(str,
"RDWR", 4) == 0) { *valp = SHUT_RDWR;
return 0; }
7153 if (memcmp(str,
"SHUT_RD", 7) == 0) { *valp = SHUT_RD;
return 0; }
7156 if (memcmp(str,
"SHUT_WR", 7) == 0) { *valp = SHUT_WR;
return 0; }
7162 if (memcmp(str,
"SHUT_RDWR", 9) == 0) { *valp = SHUT_RDWR;
return 0; }
7167 if (!str || !valp) {}
7174rsock_scm_optname_to_int(
const char *str,
long len,
int *valp)
7179 if (memcmp(str,
"CREDS", 5) == 0) { *valp = SCM_CREDS;
return 0; }
7182 if (memcmp(str,
"UCRED", 5) == 0) { *valp = SCM_UCRED;
return 0; }
7188 if (memcmp(str,
"RIGHTS", 6) == 0) { *valp = SCM_RIGHTS;
return 0; }
7194 if (memcmp(str,
"BINTIME", 7) == 0) { *valp = SCM_BINTIME;
return 0; }
7200 if (memcmp(str,
"SCM_CREDS", 9) == 0) { *valp = SCM_CREDS;
return 0; }
7203 if (memcmp(str,
"SCM_UCRED", 9) == 0) { *valp = SCM_UCRED;
return 0; }
7206 if (memcmp(str,
"TIMESTAMP", 9) == 0) { *valp = SCM_TIMESTAMP;
return 0; }
7212 if (memcmp(str,
"SCM_RIGHTS", 10) == 0) { *valp = SCM_RIGHTS;
return 0; }
7218 if (memcmp(str,
"SCM_BINTIME", 11) == 0) { *valp = SCM_BINTIME;
return 0; }
7220#ifdef SCM_TIMESTAMPNS
7221 if (memcmp(str,
"TIMESTAMPNS", 11) == 0) { *valp = SCM_TIMESTAMPNS;
return 0; }
7223#ifdef SCM_CREDENTIALS
7224 if (memcmp(str,
"CREDENTIALS", 11) == 0) { *valp = SCM_CREDENTIALS;
return 0; }
7226#ifdef SCM_WIFI_STATUS
7227 if (memcmp(str,
"WIFI_STATUS", 11) == 0) { *valp = SCM_WIFI_STATUS;
return 0; }
7232#ifdef SCM_TIMESTAMPING
7233 if (memcmp(str,
"TIMESTAMPING", 12) == 0) { *valp = SCM_TIMESTAMPING;
return 0; }
7239 if (memcmp(str,
"SCM_TIMESTAMP", 13) == 0) { *valp = SCM_TIMESTAMP;
return 0; }
7244#ifdef SCM_TIMESTAMPNS
7245 if (memcmp(str,
"SCM_TIMESTAMPNS", 15) == 0) { *valp = SCM_TIMESTAMPNS;
return 0; }
7247#ifdef SCM_CREDENTIALS
7248 if (memcmp(str,
"SCM_CREDENTIALS", 15) == 0) { *valp = SCM_CREDENTIALS;
return 0; }
7250#ifdef SCM_WIFI_STATUS
7251 if (memcmp(str,
"SCM_WIFI_STATUS", 15) == 0) { *valp = SCM_WIFI_STATUS;
return 0; }
7256#ifdef SCM_TIMESTAMPING
7257 if (memcmp(str,
"SCM_TIMESTAMPING", 16) == 0) { *valp = SCM_TIMESTAMPING;
return 0; }
7262 if (!str || !valp) {}
7270rsock_intern_family(
int val)
7273 if (st_lookup(rsock_intern_family_hash, (st_data_t)val, &name))
7279rsock_intern_family_noprefix(
int val)
7282 if (st_lookup(rsock_intern_family_noprefix_hash, (st_data_t)val, &name))
7288rsock_intern_protocol_family(
int val)
7291 if (st_lookup(rsock_intern_protocol_family_hash, (st_data_t)val, &name))
7297rsock_intern_socktype(
int val)
7300 if (st_lookup(rsock_intern_socktype_hash, (st_data_t)val, &name))
7306rsock_intern_ipproto(
int val)
7309 if (st_lookup(rsock_intern_ipproto_hash, (st_data_t)val, &name))
7315rsock_intern_iplevel(
int val)
7318 if (st_lookup(rsock_intern_iplevel_hash, (st_data_t)val, &name))
7324rsock_intern_so_optname(
int val)
7327 if (st_lookup(rsock_intern_so_optname_hash, (st_data_t)val, &name))
7333rsock_intern_ip_optname(
int val)
7336 if (st_lookup(rsock_intern_ip_optname_hash, (st_data_t)val, &name))
7342rsock_intern_ipv6_optname(
int val)
7345 if (st_lookup(rsock_intern_ipv6_optname_hash, (st_data_t)val, &name))
7351rsock_intern_tcp_optname(
int val)
7354 if (st_lookup(rsock_intern_tcp_optname_hash, (st_data_t)val, &name))
7360rsock_intern_udp_optname(
int val)
7363 if (st_lookup(rsock_intern_udp_optname_hash, (st_data_t)val, &name))
7369rsock_intern_scm_optname(
int val)
7372 if (st_lookup(rsock_intern_scm_optname_hash, (st_data_t)val, &name))
7378rsock_intern_local_optname(
int val)
7381 if (st_lookup(rsock_intern_local_optname_hash, (st_data_t)val, &name))
VALUE rb_define_module_under(VALUE outer, const char *name)
Defines a module under the namespace of outer.
ID rb_intern2(const char *name, long len)
Identical to rb_intern(), except it additionally takes the length of the string.
void rb_define_const(VALUE klass, const char *name, VALUE val)
Defines a Ruby level constant under a namespace.
uintptr_t ID
Type that represents a Ruby identifier such as a variable name.