00001
00002
00003 static st_table *rsock_intern_family_hash;
00004 static st_table *rsock_intern_family_noprefix_hash;
00005 static st_table *rsock_intern_protocol_family_hash;
00006 static st_table *rsock_intern_socktype_hash;
00007 static st_table *rsock_intern_ipproto_hash;
00008 static st_table *rsock_intern_iplevel_hash;
00009 static st_table *rsock_intern_so_optname_hash;
00010 static st_table *rsock_intern_ip_optname_hash;
00011 static st_table *rsock_intern_ipv6_optname_hash;
00012 static st_table *rsock_intern_tcp_optname_hash;
00013 static st_table *rsock_intern_udp_optname_hash;
00014 static st_table *rsock_intern_scm_optname_hash;
00015 static st_table *rsock_intern_local_optname_hash;
00016
00017 #ifdef HAVE_LONG_LONG
00018 #define INTEGER2NUM(n) \
00019 (FIXNUM_MAX < (n) ? ULL2NUM(n) : \
00020 FIXNUM_MIN > (LONG_LONG)(n) ? LL2NUM(n) : \
00021 LONG2FIX(n))
00022 #else
00023 #define INTEGER2NUM(n) \
00024 (FIXNUM_MAX < (n) ? ULONG2NUM(n) : \
00025 FIXNUM_MIN > (long)(n) ? LONG2NUM(n) : \
00026 LONG2FIX(n))
00027 #endif
00028
00029 static void
00030 init_constants(void)
00031 {
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043 rb_mSockConst = rb_define_module_under(rb_cSocket, "Constants");
00044
00045 #if defined(SOCK_STREAM)
00046
00047 rb_define_const(rb_cSocket, "SOCK_STREAM", INTEGER2NUM(SOCK_STREAM));
00048
00049 rb_define_const(rb_mSockConst, "SOCK_STREAM", INTEGER2NUM(SOCK_STREAM));
00050 #endif
00051 #if defined(SOCK_DGRAM)
00052
00053 rb_define_const(rb_cSocket, "SOCK_DGRAM", INTEGER2NUM(SOCK_DGRAM));
00054
00055 rb_define_const(rb_mSockConst, "SOCK_DGRAM", INTEGER2NUM(SOCK_DGRAM));
00056 #endif
00057 #if defined(SOCK_RAW)
00058
00059 rb_define_const(rb_cSocket, "SOCK_RAW", INTEGER2NUM(SOCK_RAW));
00060
00061 rb_define_const(rb_mSockConst, "SOCK_RAW", INTEGER2NUM(SOCK_RAW));
00062 #endif
00063 #if defined(SOCK_RDM)
00064
00065 rb_define_const(rb_cSocket, "SOCK_RDM", INTEGER2NUM(SOCK_RDM));
00066
00067 rb_define_const(rb_mSockConst, "SOCK_RDM", INTEGER2NUM(SOCK_RDM));
00068 #endif
00069 #if defined(SOCK_SEQPACKET)
00070
00071 rb_define_const(rb_cSocket, "SOCK_SEQPACKET", INTEGER2NUM(SOCK_SEQPACKET));
00072
00073 rb_define_const(rb_mSockConst, "SOCK_SEQPACKET", INTEGER2NUM(SOCK_SEQPACKET));
00074 #endif
00075 #if defined(SOCK_PACKET)
00076
00077 rb_define_const(rb_cSocket, "SOCK_PACKET", INTEGER2NUM(SOCK_PACKET));
00078
00079 rb_define_const(rb_mSockConst, "SOCK_PACKET", INTEGER2NUM(SOCK_PACKET));
00080 #endif
00081 #if defined(AF_UNSPEC)
00082
00083 rb_define_const(rb_cSocket, "AF_UNSPEC", INTEGER2NUM(AF_UNSPEC));
00084
00085 rb_define_const(rb_mSockConst, "AF_UNSPEC", INTEGER2NUM(AF_UNSPEC));
00086 #endif
00087 #if defined(PF_UNSPEC)
00088
00089 rb_define_const(rb_cSocket, "PF_UNSPEC", INTEGER2NUM(PF_UNSPEC));
00090
00091 rb_define_const(rb_mSockConst, "PF_UNSPEC", INTEGER2NUM(PF_UNSPEC));
00092 #endif
00093 #if defined(AF_INET)
00094
00095 rb_define_const(rb_cSocket, "AF_INET", INTEGER2NUM(AF_INET));
00096
00097 rb_define_const(rb_mSockConst, "AF_INET", INTEGER2NUM(AF_INET));
00098 #endif
00099 #if defined(PF_INET)
00100
00101 rb_define_const(rb_cSocket, "PF_INET", INTEGER2NUM(PF_INET));
00102
00103 rb_define_const(rb_mSockConst, "PF_INET", INTEGER2NUM(PF_INET));
00104 #endif
00105 #if defined(INET6)
00106 #if defined(AF_INET6)
00107
00108 rb_define_const(rb_cSocket, "AF_INET6", INTEGER2NUM(AF_INET6));
00109
00110 rb_define_const(rb_mSockConst, "AF_INET6", INTEGER2NUM(AF_INET6));
00111 #endif
00112 #endif
00113 #if defined(INET6)
00114 #if defined(PF_INET6)
00115
00116 rb_define_const(rb_cSocket, "PF_INET6", INTEGER2NUM(PF_INET6));
00117
00118 rb_define_const(rb_mSockConst, "PF_INET6", INTEGER2NUM(PF_INET6));
00119 #endif
00120 #endif
00121 #if defined(AF_UNIX)
00122
00123 rb_define_const(rb_cSocket, "AF_UNIX", INTEGER2NUM(AF_UNIX));
00124
00125 rb_define_const(rb_mSockConst, "AF_UNIX", INTEGER2NUM(AF_UNIX));
00126 #endif
00127 #if defined(PF_UNIX)
00128
00129 rb_define_const(rb_cSocket, "PF_UNIX", INTEGER2NUM(PF_UNIX));
00130
00131 rb_define_const(rb_mSockConst, "PF_UNIX", INTEGER2NUM(PF_UNIX));
00132 #endif
00133 #if defined(AF_AX25)
00134
00135 rb_define_const(rb_cSocket, "AF_AX25", INTEGER2NUM(AF_AX25));
00136
00137 rb_define_const(rb_mSockConst, "AF_AX25", INTEGER2NUM(AF_AX25));
00138 #endif
00139 #if defined(PF_AX25)
00140
00141 rb_define_const(rb_cSocket, "PF_AX25", INTEGER2NUM(PF_AX25));
00142
00143 rb_define_const(rb_mSockConst, "PF_AX25", INTEGER2NUM(PF_AX25));
00144 #endif
00145 #if defined(AF_IPX)
00146
00147 rb_define_const(rb_cSocket, "AF_IPX", INTEGER2NUM(AF_IPX));
00148
00149 rb_define_const(rb_mSockConst, "AF_IPX", INTEGER2NUM(AF_IPX));
00150 #endif
00151 #if defined(PF_IPX)
00152
00153 rb_define_const(rb_cSocket, "PF_IPX", INTEGER2NUM(PF_IPX));
00154
00155 rb_define_const(rb_mSockConst, "PF_IPX", INTEGER2NUM(PF_IPX));
00156 #endif
00157 #if defined(AF_APPLETALK)
00158
00159 rb_define_const(rb_cSocket, "AF_APPLETALK", INTEGER2NUM(AF_APPLETALK));
00160
00161 rb_define_const(rb_mSockConst, "AF_APPLETALK", INTEGER2NUM(AF_APPLETALK));
00162 #endif
00163 #if defined(PF_APPLETALK)
00164
00165 rb_define_const(rb_cSocket, "PF_APPLETALK", INTEGER2NUM(PF_APPLETALK));
00166
00167 rb_define_const(rb_mSockConst, "PF_APPLETALK", INTEGER2NUM(PF_APPLETALK));
00168 #endif
00169 #if defined(AF_LOCAL)
00170
00171 rb_define_const(rb_cSocket, "AF_LOCAL", INTEGER2NUM(AF_LOCAL));
00172
00173 rb_define_const(rb_mSockConst, "AF_LOCAL", INTEGER2NUM(AF_LOCAL));
00174 #endif
00175 #if defined(PF_LOCAL)
00176
00177 rb_define_const(rb_cSocket, "PF_LOCAL", INTEGER2NUM(PF_LOCAL));
00178
00179 rb_define_const(rb_mSockConst, "PF_LOCAL", INTEGER2NUM(PF_LOCAL));
00180 #endif
00181 #if defined(AF_IMPLINK)
00182
00183 rb_define_const(rb_cSocket, "AF_IMPLINK", INTEGER2NUM(AF_IMPLINK));
00184
00185 rb_define_const(rb_mSockConst, "AF_IMPLINK", INTEGER2NUM(AF_IMPLINK));
00186 #endif
00187 #if defined(PF_IMPLINK)
00188
00189 rb_define_const(rb_cSocket, "PF_IMPLINK", INTEGER2NUM(PF_IMPLINK));
00190
00191 rb_define_const(rb_mSockConst, "PF_IMPLINK", INTEGER2NUM(PF_IMPLINK));
00192 #endif
00193 #if defined(AF_PUP)
00194
00195 rb_define_const(rb_cSocket, "AF_PUP", INTEGER2NUM(AF_PUP));
00196
00197 rb_define_const(rb_mSockConst, "AF_PUP", INTEGER2NUM(AF_PUP));
00198 #endif
00199 #if defined(PF_PUP)
00200
00201 rb_define_const(rb_cSocket, "PF_PUP", INTEGER2NUM(PF_PUP));
00202
00203 rb_define_const(rb_mSockConst, "PF_PUP", INTEGER2NUM(PF_PUP));
00204 #endif
00205 #if defined(AF_CHAOS)
00206
00207 rb_define_const(rb_cSocket, "AF_CHAOS", INTEGER2NUM(AF_CHAOS));
00208
00209 rb_define_const(rb_mSockConst, "AF_CHAOS", INTEGER2NUM(AF_CHAOS));
00210 #endif
00211 #if defined(PF_CHAOS)
00212
00213 rb_define_const(rb_cSocket, "PF_CHAOS", INTEGER2NUM(PF_CHAOS));
00214
00215 rb_define_const(rb_mSockConst, "PF_CHAOS", INTEGER2NUM(PF_CHAOS));
00216 #endif
00217 #if defined(AF_NS)
00218
00219 rb_define_const(rb_cSocket, "AF_NS", INTEGER2NUM(AF_NS));
00220
00221 rb_define_const(rb_mSockConst, "AF_NS", INTEGER2NUM(AF_NS));
00222 #endif
00223 #if defined(PF_NS)
00224
00225 rb_define_const(rb_cSocket, "PF_NS", INTEGER2NUM(PF_NS));
00226
00227 rb_define_const(rb_mSockConst, "PF_NS", INTEGER2NUM(PF_NS));
00228 #endif
00229 #if defined(AF_ISO)
00230
00231 rb_define_const(rb_cSocket, "AF_ISO", INTEGER2NUM(AF_ISO));
00232
00233 rb_define_const(rb_mSockConst, "AF_ISO", INTEGER2NUM(AF_ISO));
00234 #endif
00235 #if defined(PF_ISO)
00236
00237 rb_define_const(rb_cSocket, "PF_ISO", INTEGER2NUM(PF_ISO));
00238
00239 rb_define_const(rb_mSockConst, "PF_ISO", INTEGER2NUM(PF_ISO));
00240 #endif
00241 #if defined(AF_OSI)
00242
00243 rb_define_const(rb_cSocket, "AF_OSI", INTEGER2NUM(AF_OSI));
00244
00245 rb_define_const(rb_mSockConst, "AF_OSI", INTEGER2NUM(AF_OSI));
00246 #endif
00247 #if defined(PF_OSI)
00248
00249 rb_define_const(rb_cSocket, "PF_OSI", INTEGER2NUM(PF_OSI));
00250
00251 rb_define_const(rb_mSockConst, "PF_OSI", INTEGER2NUM(PF_OSI));
00252 #endif
00253 #if defined(AF_ECMA)
00254
00255 rb_define_const(rb_cSocket, "AF_ECMA", INTEGER2NUM(AF_ECMA));
00256
00257 rb_define_const(rb_mSockConst, "AF_ECMA", INTEGER2NUM(AF_ECMA));
00258 #endif
00259 #if defined(PF_ECMA)
00260
00261 rb_define_const(rb_cSocket, "PF_ECMA", INTEGER2NUM(PF_ECMA));
00262
00263 rb_define_const(rb_mSockConst, "PF_ECMA", INTEGER2NUM(PF_ECMA));
00264 #endif
00265 #if defined(AF_DATAKIT)
00266
00267 rb_define_const(rb_cSocket, "AF_DATAKIT", INTEGER2NUM(AF_DATAKIT));
00268
00269 rb_define_const(rb_mSockConst, "AF_DATAKIT", INTEGER2NUM(AF_DATAKIT));
00270 #endif
00271 #if defined(PF_DATAKIT)
00272
00273 rb_define_const(rb_cSocket, "PF_DATAKIT", INTEGER2NUM(PF_DATAKIT));
00274
00275 rb_define_const(rb_mSockConst, "PF_DATAKIT", INTEGER2NUM(PF_DATAKIT));
00276 #endif
00277 #if defined(AF_CCITT)
00278
00279 rb_define_const(rb_cSocket, "AF_CCITT", INTEGER2NUM(AF_CCITT));
00280
00281 rb_define_const(rb_mSockConst, "AF_CCITT", INTEGER2NUM(AF_CCITT));
00282 #endif
00283 #if defined(PF_CCITT)
00284
00285 rb_define_const(rb_cSocket, "PF_CCITT", INTEGER2NUM(PF_CCITT));
00286
00287 rb_define_const(rb_mSockConst, "PF_CCITT", INTEGER2NUM(PF_CCITT));
00288 #endif
00289 #if defined(AF_SNA)
00290
00291 rb_define_const(rb_cSocket, "AF_SNA", INTEGER2NUM(AF_SNA));
00292
00293 rb_define_const(rb_mSockConst, "AF_SNA", INTEGER2NUM(AF_SNA));
00294 #endif
00295 #if defined(PF_SNA)
00296
00297 rb_define_const(rb_cSocket, "PF_SNA", INTEGER2NUM(PF_SNA));
00298
00299 rb_define_const(rb_mSockConst, "PF_SNA", INTEGER2NUM(PF_SNA));
00300 #endif
00301 #if defined(AF_DEC)
00302
00303 rb_define_const(rb_cSocket, "AF_DEC", INTEGER2NUM(AF_DEC));
00304
00305 rb_define_const(rb_mSockConst, "AF_DEC", INTEGER2NUM(AF_DEC));
00306 #endif
00307 #if defined(PF_DEC)
00308
00309 rb_define_const(rb_cSocket, "PF_DEC", INTEGER2NUM(PF_DEC));
00310
00311 rb_define_const(rb_mSockConst, "PF_DEC", INTEGER2NUM(PF_DEC));
00312 #endif
00313 #if defined(AF_DLI)
00314
00315 rb_define_const(rb_cSocket, "AF_DLI", INTEGER2NUM(AF_DLI));
00316
00317 rb_define_const(rb_mSockConst, "AF_DLI", INTEGER2NUM(AF_DLI));
00318 #endif
00319 #if defined(PF_DLI)
00320
00321 rb_define_const(rb_cSocket, "PF_DLI", INTEGER2NUM(PF_DLI));
00322
00323 rb_define_const(rb_mSockConst, "PF_DLI", INTEGER2NUM(PF_DLI));
00324 #endif
00325 #if defined(AF_LAT)
00326
00327 rb_define_const(rb_cSocket, "AF_LAT", INTEGER2NUM(AF_LAT));
00328
00329 rb_define_const(rb_mSockConst, "AF_LAT", INTEGER2NUM(AF_LAT));
00330 #endif
00331 #if defined(PF_LAT)
00332
00333 rb_define_const(rb_cSocket, "PF_LAT", INTEGER2NUM(PF_LAT));
00334
00335 rb_define_const(rb_mSockConst, "PF_LAT", INTEGER2NUM(PF_LAT));
00336 #endif
00337 #if defined(AF_HYLINK)
00338
00339 rb_define_const(rb_cSocket, "AF_HYLINK", INTEGER2NUM(AF_HYLINK));
00340
00341 rb_define_const(rb_mSockConst, "AF_HYLINK", INTEGER2NUM(AF_HYLINK));
00342 #endif
00343 #if defined(PF_HYLINK)
00344
00345 rb_define_const(rb_cSocket, "PF_HYLINK", INTEGER2NUM(PF_HYLINK));
00346
00347 rb_define_const(rb_mSockConst, "PF_HYLINK", INTEGER2NUM(PF_HYLINK));
00348 #endif
00349 #if defined(AF_ROUTE)
00350
00351 rb_define_const(rb_cSocket, "AF_ROUTE", INTEGER2NUM(AF_ROUTE));
00352
00353 rb_define_const(rb_mSockConst, "AF_ROUTE", INTEGER2NUM(AF_ROUTE));
00354 #endif
00355 #if defined(PF_ROUTE)
00356
00357 rb_define_const(rb_cSocket, "PF_ROUTE", INTEGER2NUM(PF_ROUTE));
00358
00359 rb_define_const(rb_mSockConst, "PF_ROUTE", INTEGER2NUM(PF_ROUTE));
00360 #endif
00361 #if defined(AF_LINK)
00362
00363 rb_define_const(rb_cSocket, "AF_LINK", INTEGER2NUM(AF_LINK));
00364
00365 rb_define_const(rb_mSockConst, "AF_LINK", INTEGER2NUM(AF_LINK));
00366 #endif
00367 #if defined(PF_LINK)
00368
00369 rb_define_const(rb_cSocket, "PF_LINK", INTEGER2NUM(PF_LINK));
00370
00371 rb_define_const(rb_mSockConst, "PF_LINK", INTEGER2NUM(PF_LINK));
00372 #endif
00373 #if defined(AF_COIP)
00374
00375 rb_define_const(rb_cSocket, "AF_COIP", INTEGER2NUM(AF_COIP));
00376
00377 rb_define_const(rb_mSockConst, "AF_COIP", INTEGER2NUM(AF_COIP));
00378 #endif
00379 #if defined(PF_COIP)
00380
00381 rb_define_const(rb_cSocket, "PF_COIP", INTEGER2NUM(PF_COIP));
00382
00383 rb_define_const(rb_mSockConst, "PF_COIP", INTEGER2NUM(PF_COIP));
00384 #endif
00385 #if defined(AF_CNT)
00386
00387 rb_define_const(rb_cSocket, "AF_CNT", INTEGER2NUM(AF_CNT));
00388
00389 rb_define_const(rb_mSockConst, "AF_CNT", INTEGER2NUM(AF_CNT));
00390 #endif
00391 #if defined(PF_CNT)
00392
00393 rb_define_const(rb_cSocket, "PF_CNT", INTEGER2NUM(PF_CNT));
00394
00395 rb_define_const(rb_mSockConst, "PF_CNT", INTEGER2NUM(PF_CNT));
00396 #endif
00397 #if defined(AF_SIP)
00398
00399 rb_define_const(rb_cSocket, "AF_SIP", INTEGER2NUM(AF_SIP));
00400
00401 rb_define_const(rb_mSockConst, "AF_SIP", INTEGER2NUM(AF_SIP));
00402 #endif
00403 #if defined(PF_SIP)
00404
00405 rb_define_const(rb_cSocket, "PF_SIP", INTEGER2NUM(PF_SIP));
00406
00407 rb_define_const(rb_mSockConst, "PF_SIP", INTEGER2NUM(PF_SIP));
00408 #endif
00409 #if defined(AF_NDRV)
00410
00411 rb_define_const(rb_cSocket, "AF_NDRV", INTEGER2NUM(AF_NDRV));
00412
00413 rb_define_const(rb_mSockConst, "AF_NDRV", INTEGER2NUM(AF_NDRV));
00414 #endif
00415 #if defined(PF_NDRV)
00416
00417 rb_define_const(rb_cSocket, "PF_NDRV", INTEGER2NUM(PF_NDRV));
00418
00419 rb_define_const(rb_mSockConst, "PF_NDRV", INTEGER2NUM(PF_NDRV));
00420 #endif
00421 #if defined(AF_ISDN)
00422
00423 rb_define_const(rb_cSocket, "AF_ISDN", INTEGER2NUM(AF_ISDN));
00424
00425 rb_define_const(rb_mSockConst, "AF_ISDN", INTEGER2NUM(AF_ISDN));
00426 #endif
00427 #if defined(PF_ISDN)
00428
00429 rb_define_const(rb_cSocket, "PF_ISDN", INTEGER2NUM(PF_ISDN));
00430
00431 rb_define_const(rb_mSockConst, "PF_ISDN", INTEGER2NUM(PF_ISDN));
00432 #endif
00433 #if defined(AF_NATM)
00434
00435 rb_define_const(rb_cSocket, "AF_NATM", INTEGER2NUM(AF_NATM));
00436
00437 rb_define_const(rb_mSockConst, "AF_NATM", INTEGER2NUM(AF_NATM));
00438 #endif
00439 #if defined(PF_NATM)
00440
00441 rb_define_const(rb_cSocket, "PF_NATM", INTEGER2NUM(PF_NATM));
00442
00443 rb_define_const(rb_mSockConst, "PF_NATM", INTEGER2NUM(PF_NATM));
00444 #endif
00445 #if defined(AF_SYSTEM)
00446
00447 rb_define_const(rb_cSocket, "AF_SYSTEM", INTEGER2NUM(AF_SYSTEM));
00448
00449 rb_define_const(rb_mSockConst, "AF_SYSTEM", INTEGER2NUM(AF_SYSTEM));
00450 #endif
00451 #if defined(PF_SYSTEM)
00452
00453 rb_define_const(rb_cSocket, "PF_SYSTEM", INTEGER2NUM(PF_SYSTEM));
00454
00455 rb_define_const(rb_mSockConst, "PF_SYSTEM", INTEGER2NUM(PF_SYSTEM));
00456 #endif
00457 #if defined(AF_NETBIOS)
00458
00459 rb_define_const(rb_cSocket, "AF_NETBIOS", INTEGER2NUM(AF_NETBIOS));
00460
00461 rb_define_const(rb_mSockConst, "AF_NETBIOS", INTEGER2NUM(AF_NETBIOS));
00462 #endif
00463 #if defined(PF_NETBIOS)
00464
00465 rb_define_const(rb_cSocket, "PF_NETBIOS", INTEGER2NUM(PF_NETBIOS));
00466
00467 rb_define_const(rb_mSockConst, "PF_NETBIOS", INTEGER2NUM(PF_NETBIOS));
00468 #endif
00469 #if defined(AF_PPP)
00470
00471 rb_define_const(rb_cSocket, "AF_PPP", INTEGER2NUM(AF_PPP));
00472
00473 rb_define_const(rb_mSockConst, "AF_PPP", INTEGER2NUM(AF_PPP));
00474 #endif
00475 #if defined(PF_PPP)
00476
00477 rb_define_const(rb_cSocket, "PF_PPP", INTEGER2NUM(PF_PPP));
00478
00479 rb_define_const(rb_mSockConst, "PF_PPP", INTEGER2NUM(PF_PPP));
00480 #endif
00481 #if defined(AF_ATM)
00482
00483 rb_define_const(rb_cSocket, "AF_ATM", INTEGER2NUM(AF_ATM));
00484
00485 rb_define_const(rb_mSockConst, "AF_ATM", INTEGER2NUM(AF_ATM));
00486 #endif
00487 #if defined(PF_ATM)
00488
00489 rb_define_const(rb_cSocket, "PF_ATM", INTEGER2NUM(PF_ATM));
00490
00491 rb_define_const(rb_mSockConst, "PF_ATM", INTEGER2NUM(PF_ATM));
00492 #endif
00493 #if defined(AF_NETGRAPH)
00494
00495 rb_define_const(rb_cSocket, "AF_NETGRAPH", INTEGER2NUM(AF_NETGRAPH));
00496
00497 rb_define_const(rb_mSockConst, "AF_NETGRAPH", INTEGER2NUM(AF_NETGRAPH));
00498 #endif
00499 #if defined(PF_NETGRAPH)
00500
00501 rb_define_const(rb_cSocket, "PF_NETGRAPH", INTEGER2NUM(PF_NETGRAPH));
00502
00503 rb_define_const(rb_mSockConst, "PF_NETGRAPH", INTEGER2NUM(PF_NETGRAPH));
00504 #endif
00505 #if defined(AF_MAX)
00506
00507 rb_define_const(rb_cSocket, "AF_MAX", INTEGER2NUM(AF_MAX));
00508
00509 rb_define_const(rb_mSockConst, "AF_MAX", INTEGER2NUM(AF_MAX));
00510 #endif
00511 #if defined(PF_MAX)
00512
00513 rb_define_const(rb_cSocket, "PF_MAX", INTEGER2NUM(PF_MAX));
00514
00515 rb_define_const(rb_mSockConst, "PF_MAX", INTEGER2NUM(PF_MAX));
00516 #endif
00517 #if defined(AF_PACKET)
00518
00519 rb_define_const(rb_cSocket, "AF_PACKET", INTEGER2NUM(AF_PACKET));
00520
00521 rb_define_const(rb_mSockConst, "AF_PACKET", INTEGER2NUM(AF_PACKET));
00522 #endif
00523 #if defined(PF_PACKET)
00524
00525 rb_define_const(rb_cSocket, "PF_PACKET", INTEGER2NUM(PF_PACKET));
00526
00527 rb_define_const(rb_mSockConst, "PF_PACKET", INTEGER2NUM(PF_PACKET));
00528 #endif
00529 #if defined(AF_E164)
00530
00531 rb_define_const(rb_cSocket, "AF_E164", INTEGER2NUM(AF_E164));
00532
00533 rb_define_const(rb_mSockConst, "AF_E164", INTEGER2NUM(AF_E164));
00534 #endif
00535 #if defined(PF_XTP)
00536
00537 rb_define_const(rb_cSocket, "PF_XTP", INTEGER2NUM(PF_XTP));
00538
00539 rb_define_const(rb_mSockConst, "PF_XTP", INTEGER2NUM(PF_XTP));
00540 #endif
00541 #if defined(PF_RTIP)
00542
00543 rb_define_const(rb_cSocket, "PF_RTIP", INTEGER2NUM(PF_RTIP));
00544
00545 rb_define_const(rb_mSockConst, "PF_RTIP", INTEGER2NUM(PF_RTIP));
00546 #endif
00547 #if defined(PF_PIP)
00548
00549 rb_define_const(rb_cSocket, "PF_PIP", INTEGER2NUM(PF_PIP));
00550
00551 rb_define_const(rb_mSockConst, "PF_PIP", INTEGER2NUM(PF_PIP));
00552 #endif
00553 #if defined(PF_KEY)
00554
00555 rb_define_const(rb_cSocket, "PF_KEY", INTEGER2NUM(PF_KEY));
00556
00557 rb_define_const(rb_mSockConst, "PF_KEY", INTEGER2NUM(PF_KEY));
00558 #endif
00559 #if defined(MSG_OOB)
00560
00561 rb_define_const(rb_cSocket, "MSG_OOB", INTEGER2NUM(MSG_OOB));
00562
00563 rb_define_const(rb_mSockConst, "MSG_OOB", INTEGER2NUM(MSG_OOB));
00564 #endif
00565 #if defined(MSG_PEEK)
00566
00567 rb_define_const(rb_cSocket, "MSG_PEEK", INTEGER2NUM(MSG_PEEK));
00568
00569 rb_define_const(rb_mSockConst, "MSG_PEEK", INTEGER2NUM(MSG_PEEK));
00570 #endif
00571 #if defined(MSG_DONTROUTE)
00572
00573 rb_define_const(rb_cSocket, "MSG_DONTROUTE", INTEGER2NUM(MSG_DONTROUTE));
00574
00575 rb_define_const(rb_mSockConst, "MSG_DONTROUTE", INTEGER2NUM(MSG_DONTROUTE));
00576 #endif
00577 #if defined(MSG_EOR)
00578
00579 rb_define_const(rb_cSocket, "MSG_EOR", INTEGER2NUM(MSG_EOR));
00580
00581 rb_define_const(rb_mSockConst, "MSG_EOR", INTEGER2NUM(MSG_EOR));
00582 #endif
00583 #if defined(MSG_TRUNC)
00584
00585 rb_define_const(rb_cSocket, "MSG_TRUNC", INTEGER2NUM(MSG_TRUNC));
00586
00587 rb_define_const(rb_mSockConst, "MSG_TRUNC", INTEGER2NUM(MSG_TRUNC));
00588 #endif
00589 #if defined(MSG_CTRUNC)
00590
00591 rb_define_const(rb_cSocket, "MSG_CTRUNC", INTEGER2NUM(MSG_CTRUNC));
00592
00593 rb_define_const(rb_mSockConst, "MSG_CTRUNC", INTEGER2NUM(MSG_CTRUNC));
00594 #endif
00595 #if defined(MSG_WAITALL)
00596
00597 rb_define_const(rb_cSocket, "MSG_WAITALL", INTEGER2NUM(MSG_WAITALL));
00598
00599 rb_define_const(rb_mSockConst, "MSG_WAITALL", INTEGER2NUM(MSG_WAITALL));
00600 #endif
00601 #if defined(MSG_DONTWAIT)
00602
00603 rb_define_const(rb_cSocket, "MSG_DONTWAIT", INTEGER2NUM(MSG_DONTWAIT));
00604
00605 rb_define_const(rb_mSockConst, "MSG_DONTWAIT", INTEGER2NUM(MSG_DONTWAIT));
00606 #endif
00607 #if defined(MSG_EOF)
00608
00609 rb_define_const(rb_cSocket, "MSG_EOF", INTEGER2NUM(MSG_EOF));
00610
00611 rb_define_const(rb_mSockConst, "MSG_EOF", INTEGER2NUM(MSG_EOF));
00612 #endif
00613 #if defined(MSG_FLUSH)
00614
00615 rb_define_const(rb_cSocket, "MSG_FLUSH", INTEGER2NUM(MSG_FLUSH));
00616
00617 rb_define_const(rb_mSockConst, "MSG_FLUSH", INTEGER2NUM(MSG_FLUSH));
00618 #endif
00619 #if defined(MSG_HOLD)
00620
00621 rb_define_const(rb_cSocket, "MSG_HOLD", INTEGER2NUM(MSG_HOLD));
00622
00623 rb_define_const(rb_mSockConst, "MSG_HOLD", INTEGER2NUM(MSG_HOLD));
00624 #endif
00625 #if defined(MSG_SEND)
00626
00627 rb_define_const(rb_cSocket, "MSG_SEND", INTEGER2NUM(MSG_SEND));
00628
00629 rb_define_const(rb_mSockConst, "MSG_SEND", INTEGER2NUM(MSG_SEND));
00630 #endif
00631 #if defined(MSG_HAVEMORE)
00632
00633 rb_define_const(rb_cSocket, "MSG_HAVEMORE", INTEGER2NUM(MSG_HAVEMORE));
00634
00635 rb_define_const(rb_mSockConst, "MSG_HAVEMORE", INTEGER2NUM(MSG_HAVEMORE));
00636 #endif
00637 #if defined(MSG_RCVMORE)
00638
00639 rb_define_const(rb_cSocket, "MSG_RCVMORE", INTEGER2NUM(MSG_RCVMORE));
00640
00641 rb_define_const(rb_mSockConst, "MSG_RCVMORE", INTEGER2NUM(MSG_RCVMORE));
00642 #endif
00643 #if defined(MSG_COMPAT)
00644
00645 rb_define_const(rb_cSocket, "MSG_COMPAT", INTEGER2NUM(MSG_COMPAT));
00646
00647 rb_define_const(rb_mSockConst, "MSG_COMPAT", INTEGER2NUM(MSG_COMPAT));
00648 #endif
00649 #if defined(MSG_PROXY)
00650
00651 rb_define_const(rb_cSocket, "MSG_PROXY", INTEGER2NUM(MSG_PROXY));
00652
00653 rb_define_const(rb_mSockConst, "MSG_PROXY", INTEGER2NUM(MSG_PROXY));
00654 #endif
00655 #if defined(MSG_FIN)
00656
00657 rb_define_const(rb_cSocket, "MSG_FIN", INTEGER2NUM(MSG_FIN));
00658
00659 rb_define_const(rb_mSockConst, "MSG_FIN", INTEGER2NUM(MSG_FIN));
00660 #endif
00661 #if defined(MSG_SYN)
00662
00663 rb_define_const(rb_cSocket, "MSG_SYN", INTEGER2NUM(MSG_SYN));
00664
00665 rb_define_const(rb_mSockConst, "MSG_SYN", INTEGER2NUM(MSG_SYN));
00666 #endif
00667 #if defined(MSG_CONFIRM)
00668
00669 rb_define_const(rb_cSocket, "MSG_CONFIRM", INTEGER2NUM(MSG_CONFIRM));
00670
00671 rb_define_const(rb_mSockConst, "MSG_CONFIRM", INTEGER2NUM(MSG_CONFIRM));
00672 #endif
00673 #if defined(MSG_RST)
00674
00675 rb_define_const(rb_cSocket, "MSG_RST", INTEGER2NUM(MSG_RST));
00676
00677 rb_define_const(rb_mSockConst, "MSG_RST", INTEGER2NUM(MSG_RST));
00678 #endif
00679 #if defined(MSG_ERRQUEUE)
00680
00681 rb_define_const(rb_cSocket, "MSG_ERRQUEUE", INTEGER2NUM(MSG_ERRQUEUE));
00682
00683 rb_define_const(rb_mSockConst, "MSG_ERRQUEUE", INTEGER2NUM(MSG_ERRQUEUE));
00684 #endif
00685 #if defined(MSG_NOSIGNAL)
00686
00687 rb_define_const(rb_cSocket, "MSG_NOSIGNAL", INTEGER2NUM(MSG_NOSIGNAL));
00688
00689 rb_define_const(rb_mSockConst, "MSG_NOSIGNAL", INTEGER2NUM(MSG_NOSIGNAL));
00690 #endif
00691 #if defined(MSG_MORE)
00692
00693 rb_define_const(rb_cSocket, "MSG_MORE", INTEGER2NUM(MSG_MORE));
00694
00695 rb_define_const(rb_mSockConst, "MSG_MORE", INTEGER2NUM(MSG_MORE));
00696 #endif
00697 #if defined(MSG_FASTOPEN)
00698
00699 rb_define_const(rb_cSocket, "MSG_FASTOPEN", INTEGER2NUM(MSG_FASTOPEN));
00700
00701 rb_define_const(rb_mSockConst, "MSG_FASTOPEN", INTEGER2NUM(MSG_FASTOPEN));
00702 #endif
00703 #if defined(SOL_SOCKET)
00704
00705 rb_define_const(rb_cSocket, "SOL_SOCKET", INTEGER2NUM(SOL_SOCKET));
00706
00707 rb_define_const(rb_mSockConst, "SOL_SOCKET", INTEGER2NUM(SOL_SOCKET));
00708 #endif
00709 #if defined(SOL_IP)
00710
00711 rb_define_const(rb_cSocket, "SOL_IP", INTEGER2NUM(SOL_IP));
00712
00713 rb_define_const(rb_mSockConst, "SOL_IP", INTEGER2NUM(SOL_IP));
00714 #endif
00715 #if defined(SOL_IPX)
00716
00717 rb_define_const(rb_cSocket, "SOL_IPX", INTEGER2NUM(SOL_IPX));
00718
00719 rb_define_const(rb_mSockConst, "SOL_IPX", INTEGER2NUM(SOL_IPX));
00720 #endif
00721 #if defined(SOL_AX25)
00722
00723 rb_define_const(rb_cSocket, "SOL_AX25", INTEGER2NUM(SOL_AX25));
00724
00725 rb_define_const(rb_mSockConst, "SOL_AX25", INTEGER2NUM(SOL_AX25));
00726 #endif
00727 #if defined(SOL_ATALK)
00728
00729 rb_define_const(rb_cSocket, "SOL_ATALK", INTEGER2NUM(SOL_ATALK));
00730
00731 rb_define_const(rb_mSockConst, "SOL_ATALK", INTEGER2NUM(SOL_ATALK));
00732 #endif
00733 #if defined(SOL_TCP)
00734
00735 rb_define_const(rb_cSocket, "SOL_TCP", INTEGER2NUM(SOL_TCP));
00736
00737 rb_define_const(rb_mSockConst, "SOL_TCP", INTEGER2NUM(SOL_TCP));
00738 #endif
00739 #if defined(SOL_UDP)
00740
00741 rb_define_const(rb_cSocket, "SOL_UDP", INTEGER2NUM(SOL_UDP));
00742
00743 rb_define_const(rb_mSockConst, "SOL_UDP", INTEGER2NUM(SOL_UDP));
00744 #endif
00745 #if defined(IPPROTO_IP)
00746
00747 rb_define_const(rb_cSocket, "IPPROTO_IP", INTEGER2NUM(IPPROTO_IP));
00748
00749 rb_define_const(rb_mSockConst, "IPPROTO_IP", INTEGER2NUM(IPPROTO_IP));
00750 #endif
00751 #if defined(IPPROTO_ICMP)
00752
00753 rb_define_const(rb_cSocket, "IPPROTO_ICMP", INTEGER2NUM(IPPROTO_ICMP));
00754
00755 rb_define_const(rb_mSockConst, "IPPROTO_ICMP", INTEGER2NUM(IPPROTO_ICMP));
00756 #endif
00757 #if defined(IPPROTO_IGMP)
00758
00759 rb_define_const(rb_cSocket, "IPPROTO_IGMP", INTEGER2NUM(IPPROTO_IGMP));
00760
00761 rb_define_const(rb_mSockConst, "IPPROTO_IGMP", INTEGER2NUM(IPPROTO_IGMP));
00762 #endif
00763 #if defined(IPPROTO_GGP)
00764
00765 rb_define_const(rb_cSocket, "IPPROTO_GGP", INTEGER2NUM(IPPROTO_GGP));
00766
00767 rb_define_const(rb_mSockConst, "IPPROTO_GGP", INTEGER2NUM(IPPROTO_GGP));
00768 #endif
00769 #if defined(IPPROTO_TCP)
00770
00771 rb_define_const(rb_cSocket, "IPPROTO_TCP", INTEGER2NUM(IPPROTO_TCP));
00772
00773 rb_define_const(rb_mSockConst, "IPPROTO_TCP", INTEGER2NUM(IPPROTO_TCP));
00774 #endif
00775 #if defined(IPPROTO_EGP)
00776
00777 rb_define_const(rb_cSocket, "IPPROTO_EGP", INTEGER2NUM(IPPROTO_EGP));
00778
00779 rb_define_const(rb_mSockConst, "IPPROTO_EGP", INTEGER2NUM(IPPROTO_EGP));
00780 #endif
00781 #if defined(IPPROTO_PUP)
00782
00783 rb_define_const(rb_cSocket, "IPPROTO_PUP", INTEGER2NUM(IPPROTO_PUP));
00784
00785 rb_define_const(rb_mSockConst, "IPPROTO_PUP", INTEGER2NUM(IPPROTO_PUP));
00786 #endif
00787 #if defined(IPPROTO_UDP)
00788
00789 rb_define_const(rb_cSocket, "IPPROTO_UDP", INTEGER2NUM(IPPROTO_UDP));
00790
00791 rb_define_const(rb_mSockConst, "IPPROTO_UDP", INTEGER2NUM(IPPROTO_UDP));
00792 #endif
00793 #if defined(IPPROTO_IDP)
00794
00795 rb_define_const(rb_cSocket, "IPPROTO_IDP", INTEGER2NUM(IPPROTO_IDP));
00796
00797 rb_define_const(rb_mSockConst, "IPPROTO_IDP", INTEGER2NUM(IPPROTO_IDP));
00798 #endif
00799 #if defined(IPPROTO_HELLO)
00800
00801 rb_define_const(rb_cSocket, "IPPROTO_HELLO", INTEGER2NUM(IPPROTO_HELLO));
00802
00803 rb_define_const(rb_mSockConst, "IPPROTO_HELLO", INTEGER2NUM(IPPROTO_HELLO));
00804 #endif
00805 #if defined(IPPROTO_ND)
00806
00807 rb_define_const(rb_cSocket, "IPPROTO_ND", INTEGER2NUM(IPPROTO_ND));
00808
00809 rb_define_const(rb_mSockConst, "IPPROTO_ND", INTEGER2NUM(IPPROTO_ND));
00810 #endif
00811 #if defined(IPPROTO_TP)
00812
00813 rb_define_const(rb_cSocket, "IPPROTO_TP", INTEGER2NUM(IPPROTO_TP));
00814
00815 rb_define_const(rb_mSockConst, "IPPROTO_TP", INTEGER2NUM(IPPROTO_TP));
00816 #endif
00817 #if defined(IPPROTO_XTP)
00818
00819 rb_define_const(rb_cSocket, "IPPROTO_XTP", INTEGER2NUM(IPPROTO_XTP));
00820
00821 rb_define_const(rb_mSockConst, "IPPROTO_XTP", INTEGER2NUM(IPPROTO_XTP));
00822 #endif
00823 #if defined(IPPROTO_EON)
00824
00825 rb_define_const(rb_cSocket, "IPPROTO_EON", INTEGER2NUM(IPPROTO_EON));
00826
00827 rb_define_const(rb_mSockConst, "IPPROTO_EON", INTEGER2NUM(IPPROTO_EON));
00828 #endif
00829 #if defined(IPPROTO_BIP)
00830
00831 rb_define_const(rb_cSocket, "IPPROTO_BIP", INTEGER2NUM(IPPROTO_BIP));
00832
00833 rb_define_const(rb_mSockConst, "IPPROTO_BIP", INTEGER2NUM(IPPROTO_BIP));
00834 #endif
00835 #if defined(IPPROTO_AH)
00836
00837 rb_define_const(rb_cSocket, "IPPROTO_AH", INTEGER2NUM(IPPROTO_AH));
00838
00839 rb_define_const(rb_mSockConst, "IPPROTO_AH", INTEGER2NUM(IPPROTO_AH));
00840 #endif
00841 #if defined(IPPROTO_DSTOPTS)
00842
00843 rb_define_const(rb_cSocket, "IPPROTO_DSTOPTS", INTEGER2NUM(IPPROTO_DSTOPTS));
00844
00845 rb_define_const(rb_mSockConst, "IPPROTO_DSTOPTS", INTEGER2NUM(IPPROTO_DSTOPTS));
00846 #endif
00847 #if defined(IPPROTO_ESP)
00848
00849 rb_define_const(rb_cSocket, "IPPROTO_ESP", INTEGER2NUM(IPPROTO_ESP));
00850
00851 rb_define_const(rb_mSockConst, "IPPROTO_ESP", INTEGER2NUM(IPPROTO_ESP));
00852 #endif
00853 #if defined(IPPROTO_FRAGMENT)
00854
00855 rb_define_const(rb_cSocket, "IPPROTO_FRAGMENT", INTEGER2NUM(IPPROTO_FRAGMENT));
00856
00857 rb_define_const(rb_mSockConst, "IPPROTO_FRAGMENT", INTEGER2NUM(IPPROTO_FRAGMENT));
00858 #endif
00859 #if defined(IPPROTO_HOPOPTS)
00860
00861 rb_define_const(rb_cSocket, "IPPROTO_HOPOPTS", INTEGER2NUM(IPPROTO_HOPOPTS));
00862
00863 rb_define_const(rb_mSockConst, "IPPROTO_HOPOPTS", INTEGER2NUM(IPPROTO_HOPOPTS));
00864 #endif
00865 #if defined(IPPROTO_ICMPV6)
00866
00867 rb_define_const(rb_cSocket, "IPPROTO_ICMPV6", INTEGER2NUM(IPPROTO_ICMPV6));
00868
00869 rb_define_const(rb_mSockConst, "IPPROTO_ICMPV6", INTEGER2NUM(IPPROTO_ICMPV6));
00870 #endif
00871 #if defined(IPPROTO_IPV6)
00872
00873 rb_define_const(rb_cSocket, "IPPROTO_IPV6", INTEGER2NUM(IPPROTO_IPV6));
00874
00875 rb_define_const(rb_mSockConst, "IPPROTO_IPV6", INTEGER2NUM(IPPROTO_IPV6));
00876 #endif
00877 #if defined(IPPROTO_NONE)
00878
00879 rb_define_const(rb_cSocket, "IPPROTO_NONE", INTEGER2NUM(IPPROTO_NONE));
00880
00881 rb_define_const(rb_mSockConst, "IPPROTO_NONE", INTEGER2NUM(IPPROTO_NONE));
00882 #endif
00883 #if defined(IPPROTO_ROUTING)
00884
00885 rb_define_const(rb_cSocket, "IPPROTO_ROUTING", INTEGER2NUM(IPPROTO_ROUTING));
00886
00887 rb_define_const(rb_mSockConst, "IPPROTO_ROUTING", INTEGER2NUM(IPPROTO_ROUTING));
00888 #endif
00889 #if defined(IPPROTO_RAW)
00890
00891 rb_define_const(rb_cSocket, "IPPROTO_RAW", INTEGER2NUM(IPPROTO_RAW));
00892
00893 rb_define_const(rb_mSockConst, "IPPROTO_RAW", INTEGER2NUM(IPPROTO_RAW));
00894 #endif
00895 #if defined(IPPROTO_MAX)
00896
00897 rb_define_const(rb_cSocket, "IPPROTO_MAX", INTEGER2NUM(IPPROTO_MAX));
00898
00899 rb_define_const(rb_mSockConst, "IPPROTO_MAX", INTEGER2NUM(IPPROTO_MAX));
00900 #endif
00901 #if defined(IPPORT_RESERVED)
00902
00903 rb_define_const(rb_cSocket, "IPPORT_RESERVED", INTEGER2NUM(IPPORT_RESERVED));
00904
00905 rb_define_const(rb_mSockConst, "IPPORT_RESERVED", INTEGER2NUM(IPPORT_RESERVED));
00906 #endif
00907 #if defined(IPPORT_USERRESERVED)
00908
00909 rb_define_const(rb_cSocket, "IPPORT_USERRESERVED", INTEGER2NUM(IPPORT_USERRESERVED));
00910
00911 rb_define_const(rb_mSockConst, "IPPORT_USERRESERVED", INTEGER2NUM(IPPORT_USERRESERVED));
00912 #endif
00913 #if defined(INADDR_ANY)
00914
00915 rb_define_const(rb_cSocket, "INADDR_ANY", INTEGER2NUM(INADDR_ANY));
00916
00917 rb_define_const(rb_mSockConst, "INADDR_ANY", INTEGER2NUM(INADDR_ANY));
00918 #endif
00919 #if defined(INADDR_BROADCAST)
00920
00921 rb_define_const(rb_cSocket, "INADDR_BROADCAST", INTEGER2NUM(INADDR_BROADCAST));
00922
00923 rb_define_const(rb_mSockConst, "INADDR_BROADCAST", INTEGER2NUM(INADDR_BROADCAST));
00924 #endif
00925 #if defined(INADDR_LOOPBACK)
00926
00927 rb_define_const(rb_cSocket, "INADDR_LOOPBACK", INTEGER2NUM(INADDR_LOOPBACK));
00928
00929 rb_define_const(rb_mSockConst, "INADDR_LOOPBACK", INTEGER2NUM(INADDR_LOOPBACK));
00930 #endif
00931 #if defined(INADDR_UNSPEC_GROUP)
00932
00933 rb_define_const(rb_cSocket, "INADDR_UNSPEC_GROUP", INTEGER2NUM(INADDR_UNSPEC_GROUP));
00934
00935 rb_define_const(rb_mSockConst, "INADDR_UNSPEC_GROUP", INTEGER2NUM(INADDR_UNSPEC_GROUP));
00936 #endif
00937 #if defined(INADDR_ALLHOSTS_GROUP)
00938
00939 rb_define_const(rb_cSocket, "INADDR_ALLHOSTS_GROUP", INTEGER2NUM(INADDR_ALLHOSTS_GROUP));
00940
00941 rb_define_const(rb_mSockConst, "INADDR_ALLHOSTS_GROUP", INTEGER2NUM(INADDR_ALLHOSTS_GROUP));
00942 #endif
00943 #if defined(INADDR_MAX_LOCAL_GROUP)
00944
00945 rb_define_const(rb_cSocket, "INADDR_MAX_LOCAL_GROUP", INTEGER2NUM(INADDR_MAX_LOCAL_GROUP));
00946
00947 rb_define_const(rb_mSockConst, "INADDR_MAX_LOCAL_GROUP", INTEGER2NUM(INADDR_MAX_LOCAL_GROUP));
00948 #endif
00949 #if defined(INADDR_NONE)
00950
00951 rb_define_const(rb_cSocket, "INADDR_NONE", INTEGER2NUM(INADDR_NONE));
00952
00953 rb_define_const(rb_mSockConst, "INADDR_NONE", INTEGER2NUM(INADDR_NONE));
00954 #endif
00955 #if defined(IP_OPTIONS)
00956
00957 rb_define_const(rb_cSocket, "IP_OPTIONS", INTEGER2NUM(IP_OPTIONS));
00958
00959 rb_define_const(rb_mSockConst, "IP_OPTIONS", INTEGER2NUM(IP_OPTIONS));
00960 #endif
00961 #if defined(IP_HDRINCL)
00962
00963 rb_define_const(rb_cSocket, "IP_HDRINCL", INTEGER2NUM(IP_HDRINCL));
00964
00965 rb_define_const(rb_mSockConst, "IP_HDRINCL", INTEGER2NUM(IP_HDRINCL));
00966 #endif
00967 #if defined(IP_TOS)
00968
00969 rb_define_const(rb_cSocket, "IP_TOS", INTEGER2NUM(IP_TOS));
00970
00971 rb_define_const(rb_mSockConst, "IP_TOS", INTEGER2NUM(IP_TOS));
00972 #endif
00973 #if defined(IP_TTL)
00974
00975 rb_define_const(rb_cSocket, "IP_TTL", INTEGER2NUM(IP_TTL));
00976
00977 rb_define_const(rb_mSockConst, "IP_TTL", INTEGER2NUM(IP_TTL));
00978 #endif
00979 #if defined(IP_RECVOPTS)
00980
00981 rb_define_const(rb_cSocket, "IP_RECVOPTS", INTEGER2NUM(IP_RECVOPTS));
00982
00983 rb_define_const(rb_mSockConst, "IP_RECVOPTS", INTEGER2NUM(IP_RECVOPTS));
00984 #endif
00985 #if defined(IP_RECVRETOPTS)
00986
00987 rb_define_const(rb_cSocket, "IP_RECVRETOPTS", INTEGER2NUM(IP_RECVRETOPTS));
00988
00989 rb_define_const(rb_mSockConst, "IP_RECVRETOPTS", INTEGER2NUM(IP_RECVRETOPTS));
00990 #endif
00991 #if defined(IP_RECVDSTADDR)
00992
00993 rb_define_const(rb_cSocket, "IP_RECVDSTADDR", INTEGER2NUM(IP_RECVDSTADDR));
00994
00995 rb_define_const(rb_mSockConst, "IP_RECVDSTADDR", INTEGER2NUM(IP_RECVDSTADDR));
00996 #endif
00997 #if defined(IP_RETOPTS)
00998
00999 rb_define_const(rb_cSocket, "IP_RETOPTS", INTEGER2NUM(IP_RETOPTS));
01000
01001 rb_define_const(rb_mSockConst, "IP_RETOPTS", INTEGER2NUM(IP_RETOPTS));
01002 #endif
01003 #if defined(IP_MINTTL)
01004
01005 rb_define_const(rb_cSocket, "IP_MINTTL", INTEGER2NUM(IP_MINTTL));
01006
01007 rb_define_const(rb_mSockConst, "IP_MINTTL", INTEGER2NUM(IP_MINTTL));
01008 #endif
01009 #if defined(IP_DONTFRAG)
01010
01011 rb_define_const(rb_cSocket, "IP_DONTFRAG", INTEGER2NUM(IP_DONTFRAG));
01012
01013 rb_define_const(rb_mSockConst, "IP_DONTFRAG", INTEGER2NUM(IP_DONTFRAG));
01014 #endif
01015 #if defined(IP_SENDSRCADDR)
01016
01017 rb_define_const(rb_cSocket, "IP_SENDSRCADDR", INTEGER2NUM(IP_SENDSRCADDR));
01018
01019 rb_define_const(rb_mSockConst, "IP_SENDSRCADDR", INTEGER2NUM(IP_SENDSRCADDR));
01020 #endif
01021 #if defined(IP_ONESBCAST)
01022
01023 rb_define_const(rb_cSocket, "IP_ONESBCAST", INTEGER2NUM(IP_ONESBCAST));
01024
01025 rb_define_const(rb_mSockConst, "IP_ONESBCAST", INTEGER2NUM(IP_ONESBCAST));
01026 #endif
01027 #if defined(IP_RECVTTL)
01028
01029 rb_define_const(rb_cSocket, "IP_RECVTTL", INTEGER2NUM(IP_RECVTTL));
01030
01031 rb_define_const(rb_mSockConst, "IP_RECVTTL", INTEGER2NUM(IP_RECVTTL));
01032 #endif
01033 #if defined(IP_RECVIF)
01034
01035 rb_define_const(rb_cSocket, "IP_RECVIF", INTEGER2NUM(IP_RECVIF));
01036
01037 rb_define_const(rb_mSockConst, "IP_RECVIF", INTEGER2NUM(IP_RECVIF));
01038 #endif
01039 #if defined(IP_RECVSLLA)
01040
01041 rb_define_const(rb_cSocket, "IP_RECVSLLA", INTEGER2NUM(IP_RECVSLLA));
01042
01043 rb_define_const(rb_mSockConst, "IP_RECVSLLA", INTEGER2NUM(IP_RECVSLLA));
01044 #endif
01045 #if defined(IP_PORTRANGE)
01046
01047 rb_define_const(rb_cSocket, "IP_PORTRANGE", INTEGER2NUM(IP_PORTRANGE));
01048
01049 rb_define_const(rb_mSockConst, "IP_PORTRANGE", INTEGER2NUM(IP_PORTRANGE));
01050 #endif
01051 #if defined(IP_MULTICAST_IF)
01052
01053 rb_define_const(rb_cSocket, "IP_MULTICAST_IF", INTEGER2NUM(IP_MULTICAST_IF));
01054
01055 rb_define_const(rb_mSockConst, "IP_MULTICAST_IF", INTEGER2NUM(IP_MULTICAST_IF));
01056 #endif
01057 #if defined(IP_MULTICAST_TTL)
01058
01059 rb_define_const(rb_cSocket, "IP_MULTICAST_TTL", INTEGER2NUM(IP_MULTICAST_TTL));
01060
01061 rb_define_const(rb_mSockConst, "IP_MULTICAST_TTL", INTEGER2NUM(IP_MULTICAST_TTL));
01062 #endif
01063 #if defined(IP_MULTICAST_LOOP)
01064
01065 rb_define_const(rb_cSocket, "IP_MULTICAST_LOOP", INTEGER2NUM(IP_MULTICAST_LOOP));
01066
01067 rb_define_const(rb_mSockConst, "IP_MULTICAST_LOOP", INTEGER2NUM(IP_MULTICAST_LOOP));
01068 #endif
01069 #if defined(IP_ADD_MEMBERSHIP)
01070
01071 rb_define_const(rb_cSocket, "IP_ADD_MEMBERSHIP", INTEGER2NUM(IP_ADD_MEMBERSHIP));
01072
01073 rb_define_const(rb_mSockConst, "IP_ADD_MEMBERSHIP", INTEGER2NUM(IP_ADD_MEMBERSHIP));
01074 #endif
01075 #if defined(IP_DROP_MEMBERSHIP)
01076
01077 rb_define_const(rb_cSocket, "IP_DROP_MEMBERSHIP", INTEGER2NUM(IP_DROP_MEMBERSHIP));
01078
01079 rb_define_const(rb_mSockConst, "IP_DROP_MEMBERSHIP", INTEGER2NUM(IP_DROP_MEMBERSHIP));
01080 #endif
01081 #if defined(IP_DEFAULT_MULTICAST_TTL)
01082
01083 rb_define_const(rb_cSocket, "IP_DEFAULT_MULTICAST_TTL", INTEGER2NUM(IP_DEFAULT_MULTICAST_TTL));
01084
01085 rb_define_const(rb_mSockConst, "IP_DEFAULT_MULTICAST_TTL", INTEGER2NUM(IP_DEFAULT_MULTICAST_TTL));
01086 #endif
01087 #if defined(IP_DEFAULT_MULTICAST_LOOP)
01088
01089 rb_define_const(rb_cSocket, "IP_DEFAULT_MULTICAST_LOOP", INTEGER2NUM(IP_DEFAULT_MULTICAST_LOOP));
01090
01091 rb_define_const(rb_mSockConst, "IP_DEFAULT_MULTICAST_LOOP", INTEGER2NUM(IP_DEFAULT_MULTICAST_LOOP));
01092 #endif
01093 #if defined(IP_MAX_MEMBERSHIPS)
01094
01095 rb_define_const(rb_cSocket, "IP_MAX_MEMBERSHIPS", INTEGER2NUM(IP_MAX_MEMBERSHIPS));
01096
01097 rb_define_const(rb_mSockConst, "IP_MAX_MEMBERSHIPS", INTEGER2NUM(IP_MAX_MEMBERSHIPS));
01098 #endif
01099 #if defined(IP_ROUTER_ALERT)
01100
01101 rb_define_const(rb_cSocket, "IP_ROUTER_ALERT", INTEGER2NUM(IP_ROUTER_ALERT));
01102
01103 rb_define_const(rb_mSockConst, "IP_ROUTER_ALERT", INTEGER2NUM(IP_ROUTER_ALERT));
01104 #endif
01105 #if defined(IP_PKTINFO)
01106
01107 rb_define_const(rb_cSocket, "IP_PKTINFO", INTEGER2NUM(IP_PKTINFO));
01108
01109 rb_define_const(rb_mSockConst, "IP_PKTINFO", INTEGER2NUM(IP_PKTINFO));
01110 #endif
01111 #if defined(IP_PKTOPTIONS)
01112
01113 rb_define_const(rb_cSocket, "IP_PKTOPTIONS", INTEGER2NUM(IP_PKTOPTIONS));
01114
01115 rb_define_const(rb_mSockConst, "IP_PKTOPTIONS", INTEGER2NUM(IP_PKTOPTIONS));
01116 #endif
01117 #if defined(IP_MTU_DISCOVER)
01118
01119 rb_define_const(rb_cSocket, "IP_MTU_DISCOVER", INTEGER2NUM(IP_MTU_DISCOVER));
01120
01121 rb_define_const(rb_mSockConst, "IP_MTU_DISCOVER", INTEGER2NUM(IP_MTU_DISCOVER));
01122 #endif
01123 #if defined(IP_RECVERR)
01124
01125 rb_define_const(rb_cSocket, "IP_RECVERR", INTEGER2NUM(IP_RECVERR));
01126
01127 rb_define_const(rb_mSockConst, "IP_RECVERR", INTEGER2NUM(IP_RECVERR));
01128 #endif
01129 #if defined(IP_RECVTOS)
01130
01131 rb_define_const(rb_cSocket, "IP_RECVTOS", INTEGER2NUM(IP_RECVTOS));
01132
01133 rb_define_const(rb_mSockConst, "IP_RECVTOS", INTEGER2NUM(IP_RECVTOS));
01134 #endif
01135 #if defined(IP_MTU)
01136
01137 rb_define_const(rb_cSocket, "IP_MTU", INTEGER2NUM(IP_MTU));
01138
01139 rb_define_const(rb_mSockConst, "IP_MTU", INTEGER2NUM(IP_MTU));
01140 #endif
01141 #if defined(IP_FREEBIND)
01142
01143 rb_define_const(rb_cSocket, "IP_FREEBIND", INTEGER2NUM(IP_FREEBIND));
01144
01145 rb_define_const(rb_mSockConst, "IP_FREEBIND", INTEGER2NUM(IP_FREEBIND));
01146 #endif
01147 #if defined(IP_IPSEC_POLICY)
01148
01149 rb_define_const(rb_cSocket, "IP_IPSEC_POLICY", INTEGER2NUM(IP_IPSEC_POLICY));
01150
01151 rb_define_const(rb_mSockConst, "IP_IPSEC_POLICY", INTEGER2NUM(IP_IPSEC_POLICY));
01152 #endif
01153 #if defined(IP_XFRM_POLICY)
01154
01155 rb_define_const(rb_cSocket, "IP_XFRM_POLICY", INTEGER2NUM(IP_XFRM_POLICY));
01156
01157 rb_define_const(rb_mSockConst, "IP_XFRM_POLICY", INTEGER2NUM(IP_XFRM_POLICY));
01158 #endif
01159 #if defined(IP_PASSSEC)
01160
01161 rb_define_const(rb_cSocket, "IP_PASSSEC", INTEGER2NUM(IP_PASSSEC));
01162
01163 rb_define_const(rb_mSockConst, "IP_PASSSEC", INTEGER2NUM(IP_PASSSEC));
01164 #endif
01165 #if defined(IP_PMTUDISC_DONT)
01166
01167 rb_define_const(rb_cSocket, "IP_PMTUDISC_DONT", INTEGER2NUM(IP_PMTUDISC_DONT));
01168
01169 rb_define_const(rb_mSockConst, "IP_PMTUDISC_DONT", INTEGER2NUM(IP_PMTUDISC_DONT));
01170 #endif
01171 #if defined(IP_PMTUDISC_WANT)
01172
01173 rb_define_const(rb_cSocket, "IP_PMTUDISC_WANT", INTEGER2NUM(IP_PMTUDISC_WANT));
01174
01175 rb_define_const(rb_mSockConst, "IP_PMTUDISC_WANT", INTEGER2NUM(IP_PMTUDISC_WANT));
01176 #endif
01177 #if defined(IP_PMTUDISC_DO)
01178
01179 rb_define_const(rb_cSocket, "IP_PMTUDISC_DO", INTEGER2NUM(IP_PMTUDISC_DO));
01180
01181 rb_define_const(rb_mSockConst, "IP_PMTUDISC_DO", INTEGER2NUM(IP_PMTUDISC_DO));
01182 #endif
01183 #if defined(IP_UNBLOCK_SOURCE)
01184
01185 rb_define_const(rb_cSocket, "IP_UNBLOCK_SOURCE", INTEGER2NUM(IP_UNBLOCK_SOURCE));
01186
01187 rb_define_const(rb_mSockConst, "IP_UNBLOCK_SOURCE", INTEGER2NUM(IP_UNBLOCK_SOURCE));
01188 #endif
01189 #if defined(IP_BLOCK_SOURCE)
01190
01191 rb_define_const(rb_cSocket, "IP_BLOCK_SOURCE", INTEGER2NUM(IP_BLOCK_SOURCE));
01192
01193 rb_define_const(rb_mSockConst, "IP_BLOCK_SOURCE", INTEGER2NUM(IP_BLOCK_SOURCE));
01194 #endif
01195 #if defined(IP_ADD_SOURCE_MEMBERSHIP)
01196
01197 rb_define_const(rb_cSocket, "IP_ADD_SOURCE_MEMBERSHIP", INTEGER2NUM(IP_ADD_SOURCE_MEMBERSHIP));
01198
01199 rb_define_const(rb_mSockConst, "IP_ADD_SOURCE_MEMBERSHIP", INTEGER2NUM(IP_ADD_SOURCE_MEMBERSHIP));
01200 #endif
01201 #if defined(IP_DROP_SOURCE_MEMBERSHIP)
01202
01203 rb_define_const(rb_cSocket, "IP_DROP_SOURCE_MEMBERSHIP", INTEGER2NUM(IP_DROP_SOURCE_MEMBERSHIP));
01204
01205 rb_define_const(rb_mSockConst, "IP_DROP_SOURCE_MEMBERSHIP", INTEGER2NUM(IP_DROP_SOURCE_MEMBERSHIP));
01206 #endif
01207 #if defined(IP_MSFILTER)
01208
01209 rb_define_const(rb_cSocket, "IP_MSFILTER", INTEGER2NUM(IP_MSFILTER));
01210
01211 rb_define_const(rb_mSockConst, "IP_MSFILTER", INTEGER2NUM(IP_MSFILTER));
01212 #endif
01213 #if defined(MCAST_JOIN_GROUP)
01214
01215 rb_define_const(rb_cSocket, "MCAST_JOIN_GROUP", INTEGER2NUM(MCAST_JOIN_GROUP));
01216
01217 rb_define_const(rb_mSockConst, "MCAST_JOIN_GROUP", INTEGER2NUM(MCAST_JOIN_GROUP));
01218 #endif
01219 #if defined(MCAST_BLOCK_SOURCE)
01220
01221 rb_define_const(rb_cSocket, "MCAST_BLOCK_SOURCE", INTEGER2NUM(MCAST_BLOCK_SOURCE));
01222
01223 rb_define_const(rb_mSockConst, "MCAST_BLOCK_SOURCE", INTEGER2NUM(MCAST_BLOCK_SOURCE));
01224 #endif
01225 #if defined(MCAST_UNBLOCK_SOURCE)
01226
01227 rb_define_const(rb_cSocket, "MCAST_UNBLOCK_SOURCE", INTEGER2NUM(MCAST_UNBLOCK_SOURCE));
01228
01229 rb_define_const(rb_mSockConst, "MCAST_UNBLOCK_SOURCE", INTEGER2NUM(MCAST_UNBLOCK_SOURCE));
01230 #endif
01231 #if defined(MCAST_LEAVE_GROUP)
01232
01233 rb_define_const(rb_cSocket, "MCAST_LEAVE_GROUP", INTEGER2NUM(MCAST_LEAVE_GROUP));
01234
01235 rb_define_const(rb_mSockConst, "MCAST_LEAVE_GROUP", INTEGER2NUM(MCAST_LEAVE_GROUP));
01236 #endif
01237 #if defined(MCAST_JOIN_SOURCE_GROUP)
01238
01239 rb_define_const(rb_cSocket, "MCAST_JOIN_SOURCE_GROUP", INTEGER2NUM(MCAST_JOIN_SOURCE_GROUP));
01240
01241 rb_define_const(rb_mSockConst, "MCAST_JOIN_SOURCE_GROUP", INTEGER2NUM(MCAST_JOIN_SOURCE_GROUP));
01242 #endif
01243 #if defined(MCAST_LEAVE_SOURCE_GROUP)
01244
01245 rb_define_const(rb_cSocket, "MCAST_LEAVE_SOURCE_GROUP", INTEGER2NUM(MCAST_LEAVE_SOURCE_GROUP));
01246
01247 rb_define_const(rb_mSockConst, "MCAST_LEAVE_SOURCE_GROUP", INTEGER2NUM(MCAST_LEAVE_SOURCE_GROUP));
01248 #endif
01249 #if defined(MCAST_MSFILTER)
01250
01251 rb_define_const(rb_cSocket, "MCAST_MSFILTER", INTEGER2NUM(MCAST_MSFILTER));
01252
01253 rb_define_const(rb_mSockConst, "MCAST_MSFILTER", INTEGER2NUM(MCAST_MSFILTER));
01254 #endif
01255 #if defined(MCAST_EXCLUDE)
01256
01257 rb_define_const(rb_cSocket, "MCAST_EXCLUDE", INTEGER2NUM(MCAST_EXCLUDE));
01258
01259 rb_define_const(rb_mSockConst, "MCAST_EXCLUDE", INTEGER2NUM(MCAST_EXCLUDE));
01260 #endif
01261 #if defined(MCAST_INCLUDE)
01262
01263 rb_define_const(rb_cSocket, "MCAST_INCLUDE", INTEGER2NUM(MCAST_INCLUDE));
01264
01265 rb_define_const(rb_mSockConst, "MCAST_INCLUDE", INTEGER2NUM(MCAST_INCLUDE));
01266 #endif
01267 #if defined(SO_DEBUG)
01268
01269 rb_define_const(rb_cSocket, "SO_DEBUG", INTEGER2NUM(SO_DEBUG));
01270
01271 rb_define_const(rb_mSockConst, "SO_DEBUG", INTEGER2NUM(SO_DEBUG));
01272 #endif
01273 #if defined(SO_REUSEADDR)
01274
01275 rb_define_const(rb_cSocket, "SO_REUSEADDR", INTEGER2NUM(SO_REUSEADDR));
01276
01277 rb_define_const(rb_mSockConst, "SO_REUSEADDR", INTEGER2NUM(SO_REUSEADDR));
01278 #endif
01279 #if defined(SO_REUSEPORT)
01280
01281 rb_define_const(rb_cSocket, "SO_REUSEPORT", INTEGER2NUM(SO_REUSEPORT));
01282
01283 rb_define_const(rb_mSockConst, "SO_REUSEPORT", INTEGER2NUM(SO_REUSEPORT));
01284 #endif
01285 #if defined(SO_TYPE)
01286
01287 rb_define_const(rb_cSocket, "SO_TYPE", INTEGER2NUM(SO_TYPE));
01288
01289 rb_define_const(rb_mSockConst, "SO_TYPE", INTEGER2NUM(SO_TYPE));
01290 #endif
01291 #if defined(SO_ERROR)
01292
01293 rb_define_const(rb_cSocket, "SO_ERROR", INTEGER2NUM(SO_ERROR));
01294
01295 rb_define_const(rb_mSockConst, "SO_ERROR", INTEGER2NUM(SO_ERROR));
01296 #endif
01297 #if defined(SO_DONTROUTE)
01298
01299 rb_define_const(rb_cSocket, "SO_DONTROUTE", INTEGER2NUM(SO_DONTROUTE));
01300
01301 rb_define_const(rb_mSockConst, "SO_DONTROUTE", INTEGER2NUM(SO_DONTROUTE));
01302 #endif
01303 #if defined(SO_BROADCAST)
01304
01305 rb_define_const(rb_cSocket, "SO_BROADCAST", INTEGER2NUM(SO_BROADCAST));
01306
01307 rb_define_const(rb_mSockConst, "SO_BROADCAST", INTEGER2NUM(SO_BROADCAST));
01308 #endif
01309 #if defined(SO_SNDBUF)
01310
01311 rb_define_const(rb_cSocket, "SO_SNDBUF", INTEGER2NUM(SO_SNDBUF));
01312
01313 rb_define_const(rb_mSockConst, "SO_SNDBUF", INTEGER2NUM(SO_SNDBUF));
01314 #endif
01315 #if defined(SO_RCVBUF)
01316
01317 rb_define_const(rb_cSocket, "SO_RCVBUF", INTEGER2NUM(SO_RCVBUF));
01318
01319 rb_define_const(rb_mSockConst, "SO_RCVBUF", INTEGER2NUM(SO_RCVBUF));
01320 #endif
01321 #if defined(SO_KEEPALIVE)
01322
01323 rb_define_const(rb_cSocket, "SO_KEEPALIVE", INTEGER2NUM(SO_KEEPALIVE));
01324
01325 rb_define_const(rb_mSockConst, "SO_KEEPALIVE", INTEGER2NUM(SO_KEEPALIVE));
01326 #endif
01327 #if defined(SO_OOBINLINE)
01328
01329 rb_define_const(rb_cSocket, "SO_OOBINLINE", INTEGER2NUM(SO_OOBINLINE));
01330
01331 rb_define_const(rb_mSockConst, "SO_OOBINLINE", INTEGER2NUM(SO_OOBINLINE));
01332 #endif
01333 #if defined(SO_NO_CHECK)
01334
01335 rb_define_const(rb_cSocket, "SO_NO_CHECK", INTEGER2NUM(SO_NO_CHECK));
01336
01337 rb_define_const(rb_mSockConst, "SO_NO_CHECK", INTEGER2NUM(SO_NO_CHECK));
01338 #endif
01339 #if defined(SO_PRIORITY)
01340
01341 rb_define_const(rb_cSocket, "SO_PRIORITY", INTEGER2NUM(SO_PRIORITY));
01342
01343 rb_define_const(rb_mSockConst, "SO_PRIORITY", INTEGER2NUM(SO_PRIORITY));
01344 #endif
01345 #if defined(SO_LINGER)
01346
01347 rb_define_const(rb_cSocket, "SO_LINGER", INTEGER2NUM(SO_LINGER));
01348
01349 rb_define_const(rb_mSockConst, "SO_LINGER", INTEGER2NUM(SO_LINGER));
01350 #endif
01351 #if defined(SO_PASSCRED)
01352
01353 rb_define_const(rb_cSocket, "SO_PASSCRED", INTEGER2NUM(SO_PASSCRED));
01354
01355 rb_define_const(rb_mSockConst, "SO_PASSCRED", INTEGER2NUM(SO_PASSCRED));
01356 #endif
01357 #if defined(SO_PEERCRED)
01358
01359 rb_define_const(rb_cSocket, "SO_PEERCRED", INTEGER2NUM(SO_PEERCRED));
01360
01361 rb_define_const(rb_mSockConst, "SO_PEERCRED", INTEGER2NUM(SO_PEERCRED));
01362 #endif
01363 #if defined(SO_RCVLOWAT)
01364
01365 rb_define_const(rb_cSocket, "SO_RCVLOWAT", INTEGER2NUM(SO_RCVLOWAT));
01366
01367 rb_define_const(rb_mSockConst, "SO_RCVLOWAT", INTEGER2NUM(SO_RCVLOWAT));
01368 #endif
01369 #if defined(SO_SNDLOWAT)
01370
01371 rb_define_const(rb_cSocket, "SO_SNDLOWAT", INTEGER2NUM(SO_SNDLOWAT));
01372
01373 rb_define_const(rb_mSockConst, "SO_SNDLOWAT", INTEGER2NUM(SO_SNDLOWAT));
01374 #endif
01375 #if defined(SO_RCVTIMEO)
01376
01377 rb_define_const(rb_cSocket, "SO_RCVTIMEO", INTEGER2NUM(SO_RCVTIMEO));
01378
01379 rb_define_const(rb_mSockConst, "SO_RCVTIMEO", INTEGER2NUM(SO_RCVTIMEO));
01380 #endif
01381 #if defined(SO_SNDTIMEO)
01382
01383 rb_define_const(rb_cSocket, "SO_SNDTIMEO", INTEGER2NUM(SO_SNDTIMEO));
01384
01385 rb_define_const(rb_mSockConst, "SO_SNDTIMEO", INTEGER2NUM(SO_SNDTIMEO));
01386 #endif
01387 #if defined(SO_ACCEPTCONN)
01388
01389 rb_define_const(rb_cSocket, "SO_ACCEPTCONN", INTEGER2NUM(SO_ACCEPTCONN));
01390
01391 rb_define_const(rb_mSockConst, "SO_ACCEPTCONN", INTEGER2NUM(SO_ACCEPTCONN));
01392 #endif
01393 #if defined(SO_USELOOPBACK)
01394
01395 rb_define_const(rb_cSocket, "SO_USELOOPBACK", INTEGER2NUM(SO_USELOOPBACK));
01396
01397 rb_define_const(rb_mSockConst, "SO_USELOOPBACK", INTEGER2NUM(SO_USELOOPBACK));
01398 #endif
01399 #if defined(SO_ACCEPTFILTER)
01400
01401 rb_define_const(rb_cSocket, "SO_ACCEPTFILTER", INTEGER2NUM(SO_ACCEPTFILTER));
01402
01403 rb_define_const(rb_mSockConst, "SO_ACCEPTFILTER", INTEGER2NUM(SO_ACCEPTFILTER));
01404 #endif
01405 #if defined(SO_DONTTRUNC)
01406
01407 rb_define_const(rb_cSocket, "SO_DONTTRUNC", INTEGER2NUM(SO_DONTTRUNC));
01408
01409 rb_define_const(rb_mSockConst, "SO_DONTTRUNC", INTEGER2NUM(SO_DONTTRUNC));
01410 #endif
01411 #if defined(SO_WANTMORE)
01412
01413 rb_define_const(rb_cSocket, "SO_WANTMORE", INTEGER2NUM(SO_WANTMORE));
01414
01415 rb_define_const(rb_mSockConst, "SO_WANTMORE", INTEGER2NUM(SO_WANTMORE));
01416 #endif
01417 #if defined(SO_WANTOOBFLAG)
01418
01419 rb_define_const(rb_cSocket, "SO_WANTOOBFLAG", INTEGER2NUM(SO_WANTOOBFLAG));
01420
01421 rb_define_const(rb_mSockConst, "SO_WANTOOBFLAG", INTEGER2NUM(SO_WANTOOBFLAG));
01422 #endif
01423 #if defined(SO_NREAD)
01424
01425 rb_define_const(rb_cSocket, "SO_NREAD", INTEGER2NUM(SO_NREAD));
01426
01427 rb_define_const(rb_mSockConst, "SO_NREAD", INTEGER2NUM(SO_NREAD));
01428 #endif
01429 #if defined(SO_NKE)
01430
01431 rb_define_const(rb_cSocket, "SO_NKE", INTEGER2NUM(SO_NKE));
01432
01433 rb_define_const(rb_mSockConst, "SO_NKE", INTEGER2NUM(SO_NKE));
01434 #endif
01435 #if defined(SO_NOSIGPIPE)
01436
01437 rb_define_const(rb_cSocket, "SO_NOSIGPIPE", INTEGER2NUM(SO_NOSIGPIPE));
01438
01439 rb_define_const(rb_mSockConst, "SO_NOSIGPIPE", INTEGER2NUM(SO_NOSIGPIPE));
01440 #endif
01441 #if defined(SO_SECURITY_AUTHENTICATION)
01442
01443 rb_define_const(rb_cSocket, "SO_SECURITY_AUTHENTICATION", INTEGER2NUM(SO_SECURITY_AUTHENTICATION));
01444
01445 rb_define_const(rb_mSockConst, "SO_SECURITY_AUTHENTICATION", INTEGER2NUM(SO_SECURITY_AUTHENTICATION));
01446 #endif
01447 #if defined(SO_SECURITY_ENCRYPTION_TRANSPORT)
01448
01449 rb_define_const(rb_cSocket, "SO_SECURITY_ENCRYPTION_TRANSPORT", INTEGER2NUM(SO_SECURITY_ENCRYPTION_TRANSPORT));
01450
01451 rb_define_const(rb_mSockConst, "SO_SECURITY_ENCRYPTION_TRANSPORT", INTEGER2NUM(SO_SECURITY_ENCRYPTION_TRANSPORT));
01452 #endif
01453 #if defined(SO_SECURITY_ENCRYPTION_NETWORK)
01454
01455 rb_define_const(rb_cSocket, "SO_SECURITY_ENCRYPTION_NETWORK", INTEGER2NUM(SO_SECURITY_ENCRYPTION_NETWORK));
01456
01457 rb_define_const(rb_mSockConst, "SO_SECURITY_ENCRYPTION_NETWORK", INTEGER2NUM(SO_SECURITY_ENCRYPTION_NETWORK));
01458 #endif
01459 #if defined(SO_BINDTODEVICE)
01460
01461 rb_define_const(rb_cSocket, "SO_BINDTODEVICE", INTEGER2NUM(SO_BINDTODEVICE));
01462
01463 rb_define_const(rb_mSockConst, "SO_BINDTODEVICE", INTEGER2NUM(SO_BINDTODEVICE));
01464 #endif
01465 #if defined(SO_ATTACH_FILTER)
01466
01467 rb_define_const(rb_cSocket, "SO_ATTACH_FILTER", INTEGER2NUM(SO_ATTACH_FILTER));
01468
01469 rb_define_const(rb_mSockConst, "SO_ATTACH_FILTER", INTEGER2NUM(SO_ATTACH_FILTER));
01470 #endif
01471 #if defined(SO_DETACH_FILTER)
01472
01473 rb_define_const(rb_cSocket, "SO_DETACH_FILTER", INTEGER2NUM(SO_DETACH_FILTER));
01474
01475 rb_define_const(rb_mSockConst, "SO_DETACH_FILTER", INTEGER2NUM(SO_DETACH_FILTER));
01476 #endif
01477 #if defined(SO_PEERNAME)
01478
01479 rb_define_const(rb_cSocket, "SO_PEERNAME", INTEGER2NUM(SO_PEERNAME));
01480
01481 rb_define_const(rb_mSockConst, "SO_PEERNAME", INTEGER2NUM(SO_PEERNAME));
01482 #endif
01483 #if defined(SO_TIMESTAMP)
01484
01485 rb_define_const(rb_cSocket, "SO_TIMESTAMP", INTEGER2NUM(SO_TIMESTAMP));
01486
01487 rb_define_const(rb_mSockConst, "SO_TIMESTAMP", INTEGER2NUM(SO_TIMESTAMP));
01488 #endif
01489 #if defined(SO_TIMESTAMPNS)
01490
01491 rb_define_const(rb_cSocket, "SO_TIMESTAMPNS", INTEGER2NUM(SO_TIMESTAMPNS));
01492
01493 rb_define_const(rb_mSockConst, "SO_TIMESTAMPNS", INTEGER2NUM(SO_TIMESTAMPNS));
01494 #endif
01495 #if defined(SO_BINTIME)
01496
01497 rb_define_const(rb_cSocket, "SO_BINTIME", INTEGER2NUM(SO_BINTIME));
01498
01499 rb_define_const(rb_mSockConst, "SO_BINTIME", INTEGER2NUM(SO_BINTIME));
01500 #endif
01501 #if defined(SO_RECVUCRED)
01502
01503 rb_define_const(rb_cSocket, "SO_RECVUCRED", INTEGER2NUM(SO_RECVUCRED));
01504
01505 rb_define_const(rb_mSockConst, "SO_RECVUCRED", INTEGER2NUM(SO_RECVUCRED));
01506 #endif
01507 #if defined(SO_MAC_EXEMPT)
01508
01509 rb_define_const(rb_cSocket, "SO_MAC_EXEMPT", INTEGER2NUM(SO_MAC_EXEMPT));
01510
01511 rb_define_const(rb_mSockConst, "SO_MAC_EXEMPT", INTEGER2NUM(SO_MAC_EXEMPT));
01512 #endif
01513 #if defined(SO_ALLZONES)
01514
01515 rb_define_const(rb_cSocket, "SO_ALLZONES", INTEGER2NUM(SO_ALLZONES));
01516
01517 rb_define_const(rb_mSockConst, "SO_ALLZONES", INTEGER2NUM(SO_ALLZONES));
01518 #endif
01519 #if defined(SOPRI_INTERACTIVE)
01520
01521 rb_define_const(rb_cSocket, "SOPRI_INTERACTIVE", INTEGER2NUM(SOPRI_INTERACTIVE));
01522
01523 rb_define_const(rb_mSockConst, "SOPRI_INTERACTIVE", INTEGER2NUM(SOPRI_INTERACTIVE));
01524 #endif
01525 #if defined(SOPRI_NORMAL)
01526
01527 rb_define_const(rb_cSocket, "SOPRI_NORMAL", INTEGER2NUM(SOPRI_NORMAL));
01528
01529 rb_define_const(rb_mSockConst, "SOPRI_NORMAL", INTEGER2NUM(SOPRI_NORMAL));
01530 #endif
01531 #if defined(SOPRI_BACKGROUND)
01532
01533 rb_define_const(rb_cSocket, "SOPRI_BACKGROUND", INTEGER2NUM(SOPRI_BACKGROUND));
01534
01535 rb_define_const(rb_mSockConst, "SOPRI_BACKGROUND", INTEGER2NUM(SOPRI_BACKGROUND));
01536 #endif
01537 #if defined(IPX_TYPE)
01538
01539 rb_define_const(rb_cSocket, "IPX_TYPE", INTEGER2NUM(IPX_TYPE));
01540
01541 rb_define_const(rb_mSockConst, "IPX_TYPE", INTEGER2NUM(IPX_TYPE));
01542 #endif
01543 #if defined(TCP_NODELAY)
01544
01545 rb_define_const(rb_cSocket, "TCP_NODELAY", INTEGER2NUM(TCP_NODELAY));
01546
01547 rb_define_const(rb_mSockConst, "TCP_NODELAY", INTEGER2NUM(TCP_NODELAY));
01548 #endif
01549 #if defined(TCP_MAXSEG)
01550
01551 rb_define_const(rb_cSocket, "TCP_MAXSEG", INTEGER2NUM(TCP_MAXSEG));
01552
01553 rb_define_const(rb_mSockConst, "TCP_MAXSEG", INTEGER2NUM(TCP_MAXSEG));
01554 #endif
01555 #if defined(TCP_CORK)
01556
01557 rb_define_const(rb_cSocket, "TCP_CORK", INTEGER2NUM(TCP_CORK));
01558
01559 rb_define_const(rb_mSockConst, "TCP_CORK", INTEGER2NUM(TCP_CORK));
01560 #endif
01561 #if defined(TCP_DEFER_ACCEPT)
01562
01563 rb_define_const(rb_cSocket, "TCP_DEFER_ACCEPT", INTEGER2NUM(TCP_DEFER_ACCEPT));
01564
01565 rb_define_const(rb_mSockConst, "TCP_DEFER_ACCEPT", INTEGER2NUM(TCP_DEFER_ACCEPT));
01566 #endif
01567 #if defined(TCP_INFO)
01568
01569 rb_define_const(rb_cSocket, "TCP_INFO", INTEGER2NUM(TCP_INFO));
01570
01571 rb_define_const(rb_mSockConst, "TCP_INFO", INTEGER2NUM(TCP_INFO));
01572 #endif
01573 #if defined(TCP_KEEPCNT)
01574
01575 rb_define_const(rb_cSocket, "TCP_KEEPCNT", INTEGER2NUM(TCP_KEEPCNT));
01576
01577 rb_define_const(rb_mSockConst, "TCP_KEEPCNT", INTEGER2NUM(TCP_KEEPCNT));
01578 #endif
01579 #if defined(TCP_KEEPIDLE)
01580
01581 rb_define_const(rb_cSocket, "TCP_KEEPIDLE", INTEGER2NUM(TCP_KEEPIDLE));
01582
01583 rb_define_const(rb_mSockConst, "TCP_KEEPIDLE", INTEGER2NUM(TCP_KEEPIDLE));
01584 #endif
01585 #if defined(TCP_KEEPINTVL)
01586
01587 rb_define_const(rb_cSocket, "TCP_KEEPINTVL", INTEGER2NUM(TCP_KEEPINTVL));
01588
01589 rb_define_const(rb_mSockConst, "TCP_KEEPINTVL", INTEGER2NUM(TCP_KEEPINTVL));
01590 #endif
01591 #if defined(TCP_LINGER2)
01592
01593 rb_define_const(rb_cSocket, "TCP_LINGER2", INTEGER2NUM(TCP_LINGER2));
01594
01595 rb_define_const(rb_mSockConst, "TCP_LINGER2", INTEGER2NUM(TCP_LINGER2));
01596 #endif
01597 #if defined(TCP_MD5SIG)
01598
01599 rb_define_const(rb_cSocket, "TCP_MD5SIG", INTEGER2NUM(TCP_MD5SIG));
01600
01601 rb_define_const(rb_mSockConst, "TCP_MD5SIG", INTEGER2NUM(TCP_MD5SIG));
01602 #endif
01603 #if defined(TCP_NOOPT)
01604
01605 rb_define_const(rb_cSocket, "TCP_NOOPT", INTEGER2NUM(TCP_NOOPT));
01606
01607 rb_define_const(rb_mSockConst, "TCP_NOOPT", INTEGER2NUM(TCP_NOOPT));
01608 #endif
01609 #if defined(TCP_NOPUSH)
01610
01611 rb_define_const(rb_cSocket, "TCP_NOPUSH", INTEGER2NUM(TCP_NOPUSH));
01612
01613 rb_define_const(rb_mSockConst, "TCP_NOPUSH", INTEGER2NUM(TCP_NOPUSH));
01614 #endif
01615 #if defined(TCP_QUICKACK)
01616
01617 rb_define_const(rb_cSocket, "TCP_QUICKACK", INTEGER2NUM(TCP_QUICKACK));
01618
01619 rb_define_const(rb_mSockConst, "TCP_QUICKACK", INTEGER2NUM(TCP_QUICKACK));
01620 #endif
01621 #if defined(TCP_SYNCNT)
01622
01623 rb_define_const(rb_cSocket, "TCP_SYNCNT", INTEGER2NUM(TCP_SYNCNT));
01624
01625 rb_define_const(rb_mSockConst, "TCP_SYNCNT", INTEGER2NUM(TCP_SYNCNT));
01626 #endif
01627 #if defined(TCP_WINDOW_CLAMP)
01628
01629 rb_define_const(rb_cSocket, "TCP_WINDOW_CLAMP", INTEGER2NUM(TCP_WINDOW_CLAMP));
01630
01631 rb_define_const(rb_mSockConst, "TCP_WINDOW_CLAMP", INTEGER2NUM(TCP_WINDOW_CLAMP));
01632 #endif
01633 #if defined(TCP_FASTOPEN)
01634
01635 rb_define_const(rb_cSocket, "TCP_FASTOPEN", INTEGER2NUM(TCP_FASTOPEN));
01636
01637 rb_define_const(rb_mSockConst, "TCP_FASTOPEN", INTEGER2NUM(TCP_FASTOPEN));
01638 #endif
01639 #if defined(UDP_CORK)
01640
01641 rb_define_const(rb_cSocket, "UDP_CORK", INTEGER2NUM(UDP_CORK));
01642
01643 rb_define_const(rb_mSockConst, "UDP_CORK", INTEGER2NUM(UDP_CORK));
01644 #endif
01645 #if defined(EAI_ADDRFAMILY)
01646
01647 rb_define_const(rb_cSocket, "EAI_ADDRFAMILY", INTEGER2NUM(EAI_ADDRFAMILY));
01648
01649 rb_define_const(rb_mSockConst, "EAI_ADDRFAMILY", INTEGER2NUM(EAI_ADDRFAMILY));
01650 #endif
01651 #if defined(EAI_AGAIN)
01652
01653 rb_define_const(rb_cSocket, "EAI_AGAIN", INTEGER2NUM(EAI_AGAIN));
01654
01655 rb_define_const(rb_mSockConst, "EAI_AGAIN", INTEGER2NUM(EAI_AGAIN));
01656 #endif
01657 #if defined(EAI_BADFLAGS)
01658
01659 rb_define_const(rb_cSocket, "EAI_BADFLAGS", INTEGER2NUM(EAI_BADFLAGS));
01660
01661 rb_define_const(rb_mSockConst, "EAI_BADFLAGS", INTEGER2NUM(EAI_BADFLAGS));
01662 #endif
01663 #if defined(EAI_FAIL)
01664
01665 rb_define_const(rb_cSocket, "EAI_FAIL", INTEGER2NUM(EAI_FAIL));
01666
01667 rb_define_const(rb_mSockConst, "EAI_FAIL", INTEGER2NUM(EAI_FAIL));
01668 #endif
01669 #if defined(EAI_FAMILY)
01670
01671 rb_define_const(rb_cSocket, "EAI_FAMILY", INTEGER2NUM(EAI_FAMILY));
01672
01673 rb_define_const(rb_mSockConst, "EAI_FAMILY", INTEGER2NUM(EAI_FAMILY));
01674 #endif
01675 #if defined(EAI_MEMORY)
01676
01677 rb_define_const(rb_cSocket, "EAI_MEMORY", INTEGER2NUM(EAI_MEMORY));
01678
01679 rb_define_const(rb_mSockConst, "EAI_MEMORY", INTEGER2NUM(EAI_MEMORY));
01680 #endif
01681 #if defined(EAI_NODATA)
01682
01683 rb_define_const(rb_cSocket, "EAI_NODATA", INTEGER2NUM(EAI_NODATA));
01684
01685 rb_define_const(rb_mSockConst, "EAI_NODATA", INTEGER2NUM(EAI_NODATA));
01686 #endif
01687 #if defined(EAI_NONAME)
01688
01689 rb_define_const(rb_cSocket, "EAI_NONAME", INTEGER2NUM(EAI_NONAME));
01690
01691 rb_define_const(rb_mSockConst, "EAI_NONAME", INTEGER2NUM(EAI_NONAME));
01692 #endif
01693 #if defined(EAI_OVERFLOW)
01694
01695 rb_define_const(rb_cSocket, "EAI_OVERFLOW", INTEGER2NUM(EAI_OVERFLOW));
01696
01697 rb_define_const(rb_mSockConst, "EAI_OVERFLOW", INTEGER2NUM(EAI_OVERFLOW));
01698 #endif
01699 #if defined(EAI_SERVICE)
01700
01701 rb_define_const(rb_cSocket, "EAI_SERVICE", INTEGER2NUM(EAI_SERVICE));
01702
01703 rb_define_const(rb_mSockConst, "EAI_SERVICE", INTEGER2NUM(EAI_SERVICE));
01704 #endif
01705 #if defined(EAI_SOCKTYPE)
01706
01707 rb_define_const(rb_cSocket, "EAI_SOCKTYPE", INTEGER2NUM(EAI_SOCKTYPE));
01708
01709 rb_define_const(rb_mSockConst, "EAI_SOCKTYPE", INTEGER2NUM(EAI_SOCKTYPE));
01710 #endif
01711 #if defined(EAI_SYSTEM)
01712
01713 rb_define_const(rb_cSocket, "EAI_SYSTEM", INTEGER2NUM(EAI_SYSTEM));
01714
01715 rb_define_const(rb_mSockConst, "EAI_SYSTEM", INTEGER2NUM(EAI_SYSTEM));
01716 #endif
01717 #if defined(EAI_BADHINTS)
01718
01719 rb_define_const(rb_cSocket, "EAI_BADHINTS", INTEGER2NUM(EAI_BADHINTS));
01720
01721 rb_define_const(rb_mSockConst, "EAI_BADHINTS", INTEGER2NUM(EAI_BADHINTS));
01722 #endif
01723 #if defined(EAI_PROTOCOL)
01724
01725 rb_define_const(rb_cSocket, "EAI_PROTOCOL", INTEGER2NUM(EAI_PROTOCOL));
01726
01727 rb_define_const(rb_mSockConst, "EAI_PROTOCOL", INTEGER2NUM(EAI_PROTOCOL));
01728 #endif
01729 #if defined(EAI_MAX)
01730
01731 rb_define_const(rb_cSocket, "EAI_MAX", INTEGER2NUM(EAI_MAX));
01732
01733 rb_define_const(rb_mSockConst, "EAI_MAX", INTEGER2NUM(EAI_MAX));
01734 #endif
01735 #if defined(AI_PASSIVE)
01736
01737 rb_define_const(rb_cSocket, "AI_PASSIVE", INTEGER2NUM(AI_PASSIVE));
01738
01739 rb_define_const(rb_mSockConst, "AI_PASSIVE", INTEGER2NUM(AI_PASSIVE));
01740 #endif
01741 #if defined(AI_CANONNAME)
01742
01743 rb_define_const(rb_cSocket, "AI_CANONNAME", INTEGER2NUM(AI_CANONNAME));
01744
01745 rb_define_const(rb_mSockConst, "AI_CANONNAME", INTEGER2NUM(AI_CANONNAME));
01746 #endif
01747 #if defined(AI_NUMERICHOST)
01748
01749 rb_define_const(rb_cSocket, "AI_NUMERICHOST", INTEGER2NUM(AI_NUMERICHOST));
01750
01751 rb_define_const(rb_mSockConst, "AI_NUMERICHOST", INTEGER2NUM(AI_NUMERICHOST));
01752 #endif
01753 #if defined(AI_NUMERICSERV)
01754
01755 rb_define_const(rb_cSocket, "AI_NUMERICSERV", INTEGER2NUM(AI_NUMERICSERV));
01756
01757 rb_define_const(rb_mSockConst, "AI_NUMERICSERV", INTEGER2NUM(AI_NUMERICSERV));
01758 #endif
01759 #if defined(AI_MASK)
01760
01761 rb_define_const(rb_cSocket, "AI_MASK", INTEGER2NUM(AI_MASK));
01762
01763 rb_define_const(rb_mSockConst, "AI_MASK", INTEGER2NUM(AI_MASK));
01764 #endif
01765 #if defined(AI_ALL)
01766
01767 rb_define_const(rb_cSocket, "AI_ALL", INTEGER2NUM(AI_ALL));
01768
01769 rb_define_const(rb_mSockConst, "AI_ALL", INTEGER2NUM(AI_ALL));
01770 #endif
01771 #if defined(AI_V4MAPPED_CFG)
01772
01773 rb_define_const(rb_cSocket, "AI_V4MAPPED_CFG", INTEGER2NUM(AI_V4MAPPED_CFG));
01774
01775 rb_define_const(rb_mSockConst, "AI_V4MAPPED_CFG", INTEGER2NUM(AI_V4MAPPED_CFG));
01776 #endif
01777 #if defined(AI_ADDRCONFIG)
01778
01779 rb_define_const(rb_cSocket, "AI_ADDRCONFIG", INTEGER2NUM(AI_ADDRCONFIG));
01780
01781 rb_define_const(rb_mSockConst, "AI_ADDRCONFIG", INTEGER2NUM(AI_ADDRCONFIG));
01782 #endif
01783 #if defined(AI_V4MAPPED)
01784
01785 rb_define_const(rb_cSocket, "AI_V4MAPPED", INTEGER2NUM(AI_V4MAPPED));
01786
01787 rb_define_const(rb_mSockConst, "AI_V4MAPPED", INTEGER2NUM(AI_V4MAPPED));
01788 #endif
01789 #if defined(AI_DEFAULT)
01790
01791 rb_define_const(rb_cSocket, "AI_DEFAULT", INTEGER2NUM(AI_DEFAULT));
01792
01793 rb_define_const(rb_mSockConst, "AI_DEFAULT", INTEGER2NUM(AI_DEFAULT));
01794 #endif
01795 #if defined(NI_MAXHOST)
01796
01797 rb_define_const(rb_cSocket, "NI_MAXHOST", INTEGER2NUM(NI_MAXHOST));
01798
01799 rb_define_const(rb_mSockConst, "NI_MAXHOST", INTEGER2NUM(NI_MAXHOST));
01800 #endif
01801 #if defined(NI_MAXSERV)
01802
01803 rb_define_const(rb_cSocket, "NI_MAXSERV", INTEGER2NUM(NI_MAXSERV));
01804
01805 rb_define_const(rb_mSockConst, "NI_MAXSERV", INTEGER2NUM(NI_MAXSERV));
01806 #endif
01807 #if defined(NI_NOFQDN)
01808
01809 rb_define_const(rb_cSocket, "NI_NOFQDN", INTEGER2NUM(NI_NOFQDN));
01810
01811 rb_define_const(rb_mSockConst, "NI_NOFQDN", INTEGER2NUM(NI_NOFQDN));
01812 #endif
01813 #if defined(NI_NUMERICHOST)
01814
01815 rb_define_const(rb_cSocket, "NI_NUMERICHOST", INTEGER2NUM(NI_NUMERICHOST));
01816
01817 rb_define_const(rb_mSockConst, "NI_NUMERICHOST", INTEGER2NUM(NI_NUMERICHOST));
01818 #endif
01819 #if defined(NI_NAMEREQD)
01820
01821 rb_define_const(rb_cSocket, "NI_NAMEREQD", INTEGER2NUM(NI_NAMEREQD));
01822
01823 rb_define_const(rb_mSockConst, "NI_NAMEREQD", INTEGER2NUM(NI_NAMEREQD));
01824 #endif
01825 #if defined(NI_NUMERICSERV)
01826
01827 rb_define_const(rb_cSocket, "NI_NUMERICSERV", INTEGER2NUM(NI_NUMERICSERV));
01828
01829 rb_define_const(rb_mSockConst, "NI_NUMERICSERV", INTEGER2NUM(NI_NUMERICSERV));
01830 #endif
01831 #if defined(NI_DGRAM)
01832
01833 rb_define_const(rb_cSocket, "NI_DGRAM", INTEGER2NUM(NI_DGRAM));
01834
01835 rb_define_const(rb_mSockConst, "NI_DGRAM", INTEGER2NUM(NI_DGRAM));
01836 #endif
01837 #if defined(SHUT_RD)
01838
01839 rb_define_const(rb_cSocket, "SHUT_RD", INTEGER2NUM(SHUT_RD));
01840
01841 rb_define_const(rb_mSockConst, "SHUT_RD", INTEGER2NUM(SHUT_RD));
01842 #endif
01843 #if defined(SHUT_WR)
01844
01845 rb_define_const(rb_cSocket, "SHUT_WR", INTEGER2NUM(SHUT_WR));
01846
01847 rb_define_const(rb_mSockConst, "SHUT_WR", INTEGER2NUM(SHUT_WR));
01848 #endif
01849 #if defined(SHUT_RDWR)
01850
01851 rb_define_const(rb_cSocket, "SHUT_RDWR", INTEGER2NUM(SHUT_RDWR));
01852
01853 rb_define_const(rb_mSockConst, "SHUT_RDWR", INTEGER2NUM(SHUT_RDWR));
01854 #endif
01855 #if defined(INET6)
01856 #if defined(IPV6_JOIN_GROUP)
01857
01858 rb_define_const(rb_cSocket, "IPV6_JOIN_GROUP", INTEGER2NUM(IPV6_JOIN_GROUP));
01859
01860 rb_define_const(rb_mSockConst, "IPV6_JOIN_GROUP", INTEGER2NUM(IPV6_JOIN_GROUP));
01861 #endif
01862 #endif
01863 #if defined(INET6)
01864 #if defined(IPV6_LEAVE_GROUP)
01865
01866 rb_define_const(rb_cSocket, "IPV6_LEAVE_GROUP", INTEGER2NUM(IPV6_LEAVE_GROUP));
01867
01868 rb_define_const(rb_mSockConst, "IPV6_LEAVE_GROUP", INTEGER2NUM(IPV6_LEAVE_GROUP));
01869 #endif
01870 #endif
01871 #if defined(INET6)
01872 #if defined(IPV6_MULTICAST_HOPS)
01873
01874 rb_define_const(rb_cSocket, "IPV6_MULTICAST_HOPS", INTEGER2NUM(IPV6_MULTICAST_HOPS));
01875
01876 rb_define_const(rb_mSockConst, "IPV6_MULTICAST_HOPS", INTEGER2NUM(IPV6_MULTICAST_HOPS));
01877 #endif
01878 #endif
01879 #if defined(INET6)
01880 #if defined(IPV6_MULTICAST_IF)
01881
01882 rb_define_const(rb_cSocket, "IPV6_MULTICAST_IF", INTEGER2NUM(IPV6_MULTICAST_IF));
01883
01884 rb_define_const(rb_mSockConst, "IPV6_MULTICAST_IF", INTEGER2NUM(IPV6_MULTICAST_IF));
01885 #endif
01886 #endif
01887 #if defined(INET6)
01888 #if defined(IPV6_MULTICAST_LOOP)
01889
01890 rb_define_const(rb_cSocket, "IPV6_MULTICAST_LOOP", INTEGER2NUM(IPV6_MULTICAST_LOOP));
01891
01892 rb_define_const(rb_mSockConst, "IPV6_MULTICAST_LOOP", INTEGER2NUM(IPV6_MULTICAST_LOOP));
01893 #endif
01894 #endif
01895 #if defined(INET6)
01896 #if defined(IPV6_UNICAST_HOPS)
01897
01898 rb_define_const(rb_cSocket, "IPV6_UNICAST_HOPS", INTEGER2NUM(IPV6_UNICAST_HOPS));
01899
01900 rb_define_const(rb_mSockConst, "IPV6_UNICAST_HOPS", INTEGER2NUM(IPV6_UNICAST_HOPS));
01901 #endif
01902 #endif
01903 #if defined(INET6)
01904 #if defined(IPV6_V6ONLY)
01905
01906 rb_define_const(rb_cSocket, "IPV6_V6ONLY", INTEGER2NUM(IPV6_V6ONLY));
01907
01908 rb_define_const(rb_mSockConst, "IPV6_V6ONLY", INTEGER2NUM(IPV6_V6ONLY));
01909 #endif
01910 #endif
01911 #if defined(INET6)
01912 #if defined(IPV6_CHECKSUM)
01913
01914 rb_define_const(rb_cSocket, "IPV6_CHECKSUM", INTEGER2NUM(IPV6_CHECKSUM));
01915
01916 rb_define_const(rb_mSockConst, "IPV6_CHECKSUM", INTEGER2NUM(IPV6_CHECKSUM));
01917 #endif
01918 #endif
01919 #if defined(INET6)
01920 #if defined(IPV6_DONTFRAG)
01921
01922 rb_define_const(rb_cSocket, "IPV6_DONTFRAG", INTEGER2NUM(IPV6_DONTFRAG));
01923
01924 rb_define_const(rb_mSockConst, "IPV6_DONTFRAG", INTEGER2NUM(IPV6_DONTFRAG));
01925 #endif
01926 #endif
01927 #if defined(INET6)
01928 #if defined(IPV6_DSTOPTS)
01929
01930 rb_define_const(rb_cSocket, "IPV6_DSTOPTS", INTEGER2NUM(IPV6_DSTOPTS));
01931
01932 rb_define_const(rb_mSockConst, "IPV6_DSTOPTS", INTEGER2NUM(IPV6_DSTOPTS));
01933 #endif
01934 #endif
01935 #if defined(INET6)
01936 #if defined(IPV6_HOPLIMIT)
01937
01938 rb_define_const(rb_cSocket, "IPV6_HOPLIMIT", INTEGER2NUM(IPV6_HOPLIMIT));
01939
01940 rb_define_const(rb_mSockConst, "IPV6_HOPLIMIT", INTEGER2NUM(IPV6_HOPLIMIT));
01941 #endif
01942 #endif
01943 #if defined(INET6)
01944 #if defined(IPV6_HOPOPTS)
01945
01946 rb_define_const(rb_cSocket, "IPV6_HOPOPTS", INTEGER2NUM(IPV6_HOPOPTS));
01947
01948 rb_define_const(rb_mSockConst, "IPV6_HOPOPTS", INTEGER2NUM(IPV6_HOPOPTS));
01949 #endif
01950 #endif
01951 #if defined(INET6)
01952 #if defined(IPV6_NEXTHOP)
01953
01954 rb_define_const(rb_cSocket, "IPV6_NEXTHOP", INTEGER2NUM(IPV6_NEXTHOP));
01955
01956 rb_define_const(rb_mSockConst, "IPV6_NEXTHOP", INTEGER2NUM(IPV6_NEXTHOP));
01957 #endif
01958 #endif
01959 #if defined(INET6)
01960 #if defined(IPV6_PATHMTU)
01961
01962 rb_define_const(rb_cSocket, "IPV6_PATHMTU", INTEGER2NUM(IPV6_PATHMTU));
01963
01964 rb_define_const(rb_mSockConst, "IPV6_PATHMTU", INTEGER2NUM(IPV6_PATHMTU));
01965 #endif
01966 #endif
01967 #if defined(INET6)
01968 #if defined(IPV6_PKTINFO)
01969
01970 rb_define_const(rb_cSocket, "IPV6_PKTINFO", INTEGER2NUM(IPV6_PKTINFO));
01971
01972 rb_define_const(rb_mSockConst, "IPV6_PKTINFO", INTEGER2NUM(IPV6_PKTINFO));
01973 #endif
01974 #endif
01975 #if defined(INET6)
01976 #if defined(IPV6_RECVDSTOPTS)
01977
01978 rb_define_const(rb_cSocket, "IPV6_RECVDSTOPTS", INTEGER2NUM(IPV6_RECVDSTOPTS));
01979
01980 rb_define_const(rb_mSockConst, "IPV6_RECVDSTOPTS", INTEGER2NUM(IPV6_RECVDSTOPTS));
01981 #endif
01982 #endif
01983 #if defined(INET6)
01984 #if defined(IPV6_RECVHOPLIMIT)
01985
01986 rb_define_const(rb_cSocket, "IPV6_RECVHOPLIMIT", INTEGER2NUM(IPV6_RECVHOPLIMIT));
01987
01988 rb_define_const(rb_mSockConst, "IPV6_RECVHOPLIMIT", INTEGER2NUM(IPV6_RECVHOPLIMIT));
01989 #endif
01990 #endif
01991 #if defined(INET6)
01992 #if defined(IPV6_RECVHOPOPTS)
01993
01994 rb_define_const(rb_cSocket, "IPV6_RECVHOPOPTS", INTEGER2NUM(IPV6_RECVHOPOPTS));
01995
01996 rb_define_const(rb_mSockConst, "IPV6_RECVHOPOPTS", INTEGER2NUM(IPV6_RECVHOPOPTS));
01997 #endif
01998 #endif
01999 #if defined(INET6)
02000 #if defined(IPV6_RECVPKTINFO)
02001
02002 rb_define_const(rb_cSocket, "IPV6_RECVPKTINFO", INTEGER2NUM(IPV6_RECVPKTINFO));
02003
02004 rb_define_const(rb_mSockConst, "IPV6_RECVPKTINFO", INTEGER2NUM(IPV6_RECVPKTINFO));
02005 #endif
02006 #endif
02007 #if defined(INET6)
02008 #if defined(IPV6_RECVRTHDR)
02009
02010 rb_define_const(rb_cSocket, "IPV6_RECVRTHDR", INTEGER2NUM(IPV6_RECVRTHDR));
02011
02012 rb_define_const(rb_mSockConst, "IPV6_RECVRTHDR", INTEGER2NUM(IPV6_RECVRTHDR));
02013 #endif
02014 #endif
02015 #if defined(INET6)
02016 #if defined(IPV6_RECVTCLASS)
02017
02018 rb_define_const(rb_cSocket, "IPV6_RECVTCLASS", INTEGER2NUM(IPV6_RECVTCLASS));
02019
02020 rb_define_const(rb_mSockConst, "IPV6_RECVTCLASS", INTEGER2NUM(IPV6_RECVTCLASS));
02021 #endif
02022 #endif
02023 #if defined(INET6)
02024 #if defined(IPV6_RTHDR)
02025
02026 rb_define_const(rb_cSocket, "IPV6_RTHDR", INTEGER2NUM(IPV6_RTHDR));
02027
02028 rb_define_const(rb_mSockConst, "IPV6_RTHDR", INTEGER2NUM(IPV6_RTHDR));
02029 #endif
02030 #endif
02031 #if defined(INET6)
02032 #if defined(IPV6_RTHDRDSTOPTS)
02033
02034 rb_define_const(rb_cSocket, "IPV6_RTHDRDSTOPTS", INTEGER2NUM(IPV6_RTHDRDSTOPTS));
02035
02036 rb_define_const(rb_mSockConst, "IPV6_RTHDRDSTOPTS", INTEGER2NUM(IPV6_RTHDRDSTOPTS));
02037 #endif
02038 #endif
02039 #if defined(INET6)
02040 #if defined(IPV6_RTHDR_TYPE_0)
02041
02042 rb_define_const(rb_cSocket, "IPV6_RTHDR_TYPE_0", INTEGER2NUM(IPV6_RTHDR_TYPE_0));
02043
02044 rb_define_const(rb_mSockConst, "IPV6_RTHDR_TYPE_0", INTEGER2NUM(IPV6_RTHDR_TYPE_0));
02045 #endif
02046 #endif
02047 #if defined(INET6)
02048 #if defined(IPV6_RECVPATHMTU)
02049
02050 rb_define_const(rb_cSocket, "IPV6_RECVPATHMTU", INTEGER2NUM(IPV6_RECVPATHMTU));
02051
02052 rb_define_const(rb_mSockConst, "IPV6_RECVPATHMTU", INTEGER2NUM(IPV6_RECVPATHMTU));
02053 #endif
02054 #endif
02055 #if defined(INET6)
02056 #if defined(IPV6_TCLASS)
02057
02058 rb_define_const(rb_cSocket, "IPV6_TCLASS", INTEGER2NUM(IPV6_TCLASS));
02059
02060 rb_define_const(rb_mSockConst, "IPV6_TCLASS", INTEGER2NUM(IPV6_TCLASS));
02061 #endif
02062 #endif
02063 #if defined(INET6)
02064 #if defined(IPV6_USE_MIN_MTU)
02065
02066 rb_define_const(rb_cSocket, "IPV6_USE_MIN_MTU", INTEGER2NUM(IPV6_USE_MIN_MTU));
02067
02068 rb_define_const(rb_mSockConst, "IPV6_USE_MIN_MTU", INTEGER2NUM(IPV6_USE_MIN_MTU));
02069 #endif
02070 #endif
02071 #if defined(INET_ADDRSTRLEN)
02072
02073 rb_define_const(rb_cSocket, "INET_ADDRSTRLEN", INTEGER2NUM(INET_ADDRSTRLEN));
02074
02075 rb_define_const(rb_mSockConst, "INET_ADDRSTRLEN", INTEGER2NUM(INET_ADDRSTRLEN));
02076 #endif
02077 #if defined(INET6_ADDRSTRLEN)
02078
02079 rb_define_const(rb_cSocket, "INET6_ADDRSTRLEN", INTEGER2NUM(INET6_ADDRSTRLEN));
02080
02081 rb_define_const(rb_mSockConst, "INET6_ADDRSTRLEN", INTEGER2NUM(INET6_ADDRSTRLEN));
02082 #endif
02083 #if defined(IFNAMSIZ)
02084
02085 rb_define_const(rb_cSocket, "IFNAMSIZ", INTEGER2NUM(IFNAMSIZ));
02086
02087 rb_define_const(rb_mSockConst, "IFNAMSIZ", INTEGER2NUM(IFNAMSIZ));
02088 #endif
02089 #if defined(IF_NAMESIZE)
02090
02091 rb_define_const(rb_cSocket, "IF_NAMESIZE", INTEGER2NUM(IF_NAMESIZE));
02092
02093 rb_define_const(rb_mSockConst, "IF_NAMESIZE", INTEGER2NUM(IF_NAMESIZE));
02094 #endif
02095 #if defined(SOMAXCONN)
02096
02097 rb_define_const(rb_cSocket, "SOMAXCONN", INTEGER2NUM(SOMAXCONN));
02098
02099 rb_define_const(rb_mSockConst, "SOMAXCONN", INTEGER2NUM(SOMAXCONN));
02100 #endif
02101 #if defined(SCM_RIGHTS)
02102
02103 rb_define_const(rb_cSocket, "SCM_RIGHTS", INTEGER2NUM(SCM_RIGHTS));
02104
02105 rb_define_const(rb_mSockConst, "SCM_RIGHTS", INTEGER2NUM(SCM_RIGHTS));
02106 #endif
02107 #if defined(SCM_TIMESTAMP)
02108
02109 rb_define_const(rb_cSocket, "SCM_TIMESTAMP", INTEGER2NUM(SCM_TIMESTAMP));
02110
02111 rb_define_const(rb_mSockConst, "SCM_TIMESTAMP", INTEGER2NUM(SCM_TIMESTAMP));
02112 #endif
02113 #if defined(SCM_TIMESTAMPNS)
02114
02115 rb_define_const(rb_cSocket, "SCM_TIMESTAMPNS", INTEGER2NUM(SCM_TIMESTAMPNS));
02116
02117 rb_define_const(rb_mSockConst, "SCM_TIMESTAMPNS", INTEGER2NUM(SCM_TIMESTAMPNS));
02118 #endif
02119 #if defined(SCM_BINTIME)
02120
02121 rb_define_const(rb_cSocket, "SCM_BINTIME", INTEGER2NUM(SCM_BINTIME));
02122
02123 rb_define_const(rb_mSockConst, "SCM_BINTIME", INTEGER2NUM(SCM_BINTIME));
02124 #endif
02125 #if defined(SCM_CREDENTIALS)
02126
02127 rb_define_const(rb_cSocket, "SCM_CREDENTIALS", INTEGER2NUM(SCM_CREDENTIALS));
02128
02129 rb_define_const(rb_mSockConst, "SCM_CREDENTIALS", INTEGER2NUM(SCM_CREDENTIALS));
02130 #endif
02131 #if defined(SCM_CREDS)
02132
02133 rb_define_const(rb_cSocket, "SCM_CREDS", INTEGER2NUM(SCM_CREDS));
02134
02135 rb_define_const(rb_mSockConst, "SCM_CREDS", INTEGER2NUM(SCM_CREDS));
02136 #endif
02137 #if defined(SCM_UCRED)
02138
02139 rb_define_const(rb_cSocket, "SCM_UCRED", INTEGER2NUM(SCM_UCRED));
02140
02141 rb_define_const(rb_mSockConst, "SCM_UCRED", INTEGER2NUM(SCM_UCRED));
02142 #endif
02143 #if defined(LOCAL_PEERCRED)
02144
02145 rb_define_const(rb_cSocket, "LOCAL_PEERCRED", INTEGER2NUM(LOCAL_PEERCRED));
02146
02147 rb_define_const(rb_mSockConst, "LOCAL_PEERCRED", INTEGER2NUM(LOCAL_PEERCRED));
02148 #endif
02149 #if defined(LOCAL_CREDS)
02150
02151 rb_define_const(rb_cSocket, "LOCAL_CREDS", INTEGER2NUM(LOCAL_CREDS));
02152
02153 rb_define_const(rb_mSockConst, "LOCAL_CREDS", INTEGER2NUM(LOCAL_CREDS));
02154 #endif
02155 #if defined(LOCAL_CONNWAIT)
02156
02157 rb_define_const(rb_cSocket, "LOCAL_CONNWAIT", INTEGER2NUM(LOCAL_CONNWAIT));
02158
02159 rb_define_const(rb_mSockConst, "LOCAL_CONNWAIT", INTEGER2NUM(LOCAL_CONNWAIT));
02160 #endif
02161 #if defined(IFF_802_1Q_VLAN)
02162
02163 rb_define_const(rb_cSocket, "IFF_802_1Q_VLAN", INTEGER2NUM(IFF_802_1Q_VLAN));
02164
02165 rb_define_const(rb_mSockConst, "IFF_802_1Q_VLAN", INTEGER2NUM(IFF_802_1Q_VLAN));
02166 #endif
02167 #if defined(IFF_ALLMULTI)
02168
02169 rb_define_const(rb_cSocket, "IFF_ALLMULTI", INTEGER2NUM(IFF_ALLMULTI));
02170
02171 rb_define_const(rb_mSockConst, "IFF_ALLMULTI", INTEGER2NUM(IFF_ALLMULTI));
02172 #endif
02173 #if defined(IFF_ALTPHYS)
02174
02175 rb_define_const(rb_cSocket, "IFF_ALTPHYS", INTEGER2NUM(IFF_ALTPHYS));
02176
02177 rb_define_const(rb_mSockConst, "IFF_ALTPHYS", INTEGER2NUM(IFF_ALTPHYS));
02178 #endif
02179 #if defined(IFF_AUTOMEDIA)
02180
02181 rb_define_const(rb_cSocket, "IFF_AUTOMEDIA", INTEGER2NUM(IFF_AUTOMEDIA));
02182
02183 rb_define_const(rb_mSockConst, "IFF_AUTOMEDIA", INTEGER2NUM(IFF_AUTOMEDIA));
02184 #endif
02185 #if defined(IFF_BONDING)
02186
02187 rb_define_const(rb_cSocket, "IFF_BONDING", INTEGER2NUM(IFF_BONDING));
02188
02189 rb_define_const(rb_mSockConst, "IFF_BONDING", INTEGER2NUM(IFF_BONDING));
02190 #endif
02191 #if defined(IFF_BRIDGE_PORT)
02192
02193 rb_define_const(rb_cSocket, "IFF_BRIDGE_PORT", INTEGER2NUM(IFF_BRIDGE_PORT));
02194
02195 rb_define_const(rb_mSockConst, "IFF_BRIDGE_PORT", INTEGER2NUM(IFF_BRIDGE_PORT));
02196 #endif
02197 #if defined(IFF_BROADCAST)
02198
02199 rb_define_const(rb_cSocket, "IFF_BROADCAST", INTEGER2NUM(IFF_BROADCAST));
02200
02201 rb_define_const(rb_mSockConst, "IFF_BROADCAST", INTEGER2NUM(IFF_BROADCAST));
02202 #endif
02203 #if defined(IFF_CANTCONFIG)
02204
02205 rb_define_const(rb_cSocket, "IFF_CANTCONFIG", INTEGER2NUM(IFF_CANTCONFIG));
02206
02207 rb_define_const(rb_mSockConst, "IFF_CANTCONFIG", INTEGER2NUM(IFF_CANTCONFIG));
02208 #endif
02209 #if defined(IFF_DEBUG)
02210
02211 rb_define_const(rb_cSocket, "IFF_DEBUG", INTEGER2NUM(IFF_DEBUG));
02212
02213 rb_define_const(rb_mSockConst, "IFF_DEBUG", INTEGER2NUM(IFF_DEBUG));
02214 #endif
02215 #if defined(IFF_DISABLE_NETPOLL)
02216
02217 rb_define_const(rb_cSocket, "IFF_DISABLE_NETPOLL", INTEGER2NUM(IFF_DISABLE_NETPOLL));
02218
02219 rb_define_const(rb_mSockConst, "IFF_DISABLE_NETPOLL", INTEGER2NUM(IFF_DISABLE_NETPOLL));
02220 #endif
02221 #if defined(IFF_DONT_BRIDGE)
02222
02223 rb_define_const(rb_cSocket, "IFF_DONT_BRIDGE", INTEGER2NUM(IFF_DONT_BRIDGE));
02224
02225 rb_define_const(rb_mSockConst, "IFF_DONT_BRIDGE", INTEGER2NUM(IFF_DONT_BRIDGE));
02226 #endif
02227 #if defined(IFF_DORMANT)
02228
02229 rb_define_const(rb_cSocket, "IFF_DORMANT", INTEGER2NUM(IFF_DORMANT));
02230
02231 rb_define_const(rb_mSockConst, "IFF_DORMANT", INTEGER2NUM(IFF_DORMANT));
02232 #endif
02233 #if defined(IFF_DRV_OACTIVE)
02234
02235 rb_define_const(rb_cSocket, "IFF_DRV_OACTIVE", INTEGER2NUM(IFF_DRV_OACTIVE));
02236
02237 rb_define_const(rb_mSockConst, "IFF_DRV_OACTIVE", INTEGER2NUM(IFF_DRV_OACTIVE));
02238 #endif
02239 #if defined(IFF_DRV_RUNNING)
02240
02241 rb_define_const(rb_cSocket, "IFF_DRV_RUNNING", INTEGER2NUM(IFF_DRV_RUNNING));
02242
02243 rb_define_const(rb_mSockConst, "IFF_DRV_RUNNING", INTEGER2NUM(IFF_DRV_RUNNING));
02244 #endif
02245 #if defined(IFF_DYING)
02246
02247 rb_define_const(rb_cSocket, "IFF_DYING", INTEGER2NUM(IFF_DYING));
02248
02249 rb_define_const(rb_mSockConst, "IFF_DYING", INTEGER2NUM(IFF_DYING));
02250 #endif
02251 #if defined(IFF_DYNAMIC)
02252
02253 rb_define_const(rb_cSocket, "IFF_DYNAMIC", INTEGER2NUM(IFF_DYNAMIC));
02254
02255 rb_define_const(rb_mSockConst, "IFF_DYNAMIC", INTEGER2NUM(IFF_DYNAMIC));
02256 #endif
02257 #if defined(IFF_EBRIDGE)
02258
02259 rb_define_const(rb_cSocket, "IFF_EBRIDGE", INTEGER2NUM(IFF_EBRIDGE));
02260
02261 rb_define_const(rb_mSockConst, "IFF_EBRIDGE", INTEGER2NUM(IFF_EBRIDGE));
02262 #endif
02263 #if defined(IFF_ECHO)
02264
02265 rb_define_const(rb_cSocket, "IFF_ECHO", INTEGER2NUM(IFF_ECHO));
02266
02267 rb_define_const(rb_mSockConst, "IFF_ECHO", INTEGER2NUM(IFF_ECHO));
02268 #endif
02269 #if defined(IFF_ISATAP)
02270
02271 rb_define_const(rb_cSocket, "IFF_ISATAP", INTEGER2NUM(IFF_ISATAP));
02272
02273 rb_define_const(rb_mSockConst, "IFF_ISATAP", INTEGER2NUM(IFF_ISATAP));
02274 #endif
02275 #if defined(IFF_LINK0)
02276
02277 rb_define_const(rb_cSocket, "IFF_LINK0", INTEGER2NUM(IFF_LINK0));
02278
02279 rb_define_const(rb_mSockConst, "IFF_LINK0", INTEGER2NUM(IFF_LINK0));
02280 #endif
02281 #if defined(IFF_LINK1)
02282
02283 rb_define_const(rb_cSocket, "IFF_LINK1", INTEGER2NUM(IFF_LINK1));
02284
02285 rb_define_const(rb_mSockConst, "IFF_LINK1", INTEGER2NUM(IFF_LINK1));
02286 #endif
02287 #if defined(IFF_LINK2)
02288
02289 rb_define_const(rb_cSocket, "IFF_LINK2", INTEGER2NUM(IFF_LINK2));
02290
02291 rb_define_const(rb_mSockConst, "IFF_LINK2", INTEGER2NUM(IFF_LINK2));
02292 #endif
02293 #if defined(IFF_LIVE_ADDR_CHANGE)
02294
02295 rb_define_const(rb_cSocket, "IFF_LIVE_ADDR_CHANGE", INTEGER2NUM(IFF_LIVE_ADDR_CHANGE));
02296
02297 rb_define_const(rb_mSockConst, "IFF_LIVE_ADDR_CHANGE", INTEGER2NUM(IFF_LIVE_ADDR_CHANGE));
02298 #endif
02299 #if defined(IFF_LOOPBACK)
02300
02301 rb_define_const(rb_cSocket, "IFF_LOOPBACK", INTEGER2NUM(IFF_LOOPBACK));
02302
02303 rb_define_const(rb_mSockConst, "IFF_LOOPBACK", INTEGER2NUM(IFF_LOOPBACK));
02304 #endif
02305 #if defined(IFF_LOWER_UP)
02306
02307 rb_define_const(rb_cSocket, "IFF_LOWER_UP", INTEGER2NUM(IFF_LOWER_UP));
02308
02309 rb_define_const(rb_mSockConst, "IFF_LOWER_UP", INTEGER2NUM(IFF_LOWER_UP));
02310 #endif
02311 #if defined(IFF_MACVLAN_PORT)
02312
02313 rb_define_const(rb_cSocket, "IFF_MACVLAN_PORT", INTEGER2NUM(IFF_MACVLAN_PORT));
02314
02315 rb_define_const(rb_mSockConst, "IFF_MACVLAN_PORT", INTEGER2NUM(IFF_MACVLAN_PORT));
02316 #endif
02317 #if defined(IFF_MASTER)
02318
02319 rb_define_const(rb_cSocket, "IFF_MASTER", INTEGER2NUM(IFF_MASTER));
02320
02321 rb_define_const(rb_mSockConst, "IFF_MASTER", INTEGER2NUM(IFF_MASTER));
02322 #endif
02323 #if defined(IFF_MASTER_8023AD)
02324
02325 rb_define_const(rb_cSocket, "IFF_MASTER_8023AD", INTEGER2NUM(IFF_MASTER_8023AD));
02326
02327 rb_define_const(rb_mSockConst, "IFF_MASTER_8023AD", INTEGER2NUM(IFF_MASTER_8023AD));
02328 #endif
02329 #if defined(IFF_MASTER_ALB)
02330
02331 rb_define_const(rb_cSocket, "IFF_MASTER_ALB", INTEGER2NUM(IFF_MASTER_ALB));
02332
02333 rb_define_const(rb_mSockConst, "IFF_MASTER_ALB", INTEGER2NUM(IFF_MASTER_ALB));
02334 #endif
02335 #if defined(IFF_MASTER_ARPMON)
02336
02337 rb_define_const(rb_cSocket, "IFF_MASTER_ARPMON", INTEGER2NUM(IFF_MASTER_ARPMON));
02338
02339 rb_define_const(rb_mSockConst, "IFF_MASTER_ARPMON", INTEGER2NUM(IFF_MASTER_ARPMON));
02340 #endif
02341 #if defined(IFF_MONITOR)
02342
02343 rb_define_const(rb_cSocket, "IFF_MONITOR", INTEGER2NUM(IFF_MONITOR));
02344
02345 rb_define_const(rb_mSockConst, "IFF_MONITOR", INTEGER2NUM(IFF_MONITOR));
02346 #endif
02347 #if defined(IFF_MULTICAST)
02348
02349 rb_define_const(rb_cSocket, "IFF_MULTICAST", INTEGER2NUM(IFF_MULTICAST));
02350
02351 rb_define_const(rb_mSockConst, "IFF_MULTICAST", INTEGER2NUM(IFF_MULTICAST));
02352 #endif
02353 #if defined(IFF_NOARP)
02354
02355 rb_define_const(rb_cSocket, "IFF_NOARP", INTEGER2NUM(IFF_NOARP));
02356
02357 rb_define_const(rb_mSockConst, "IFF_NOARP", INTEGER2NUM(IFF_NOARP));
02358 #endif
02359 #if defined(IFF_NOTRAILERS)
02360
02361 rb_define_const(rb_cSocket, "IFF_NOTRAILERS", INTEGER2NUM(IFF_NOTRAILERS));
02362
02363 rb_define_const(rb_mSockConst, "IFF_NOTRAILERS", INTEGER2NUM(IFF_NOTRAILERS));
02364 #endif
02365 #if defined(IFF_OACTIVE)
02366
02367 rb_define_const(rb_cSocket, "IFF_OACTIVE", INTEGER2NUM(IFF_OACTIVE));
02368
02369 rb_define_const(rb_mSockConst, "IFF_OACTIVE", INTEGER2NUM(IFF_OACTIVE));
02370 #endif
02371 #if defined(IFF_OVS_DATAPATH)
02372
02373 rb_define_const(rb_cSocket, "IFF_OVS_DATAPATH", INTEGER2NUM(IFF_OVS_DATAPATH));
02374
02375 rb_define_const(rb_mSockConst, "IFF_OVS_DATAPATH", INTEGER2NUM(IFF_OVS_DATAPATH));
02376 #endif
02377 #if defined(IFF_POINTOPOINT)
02378
02379 rb_define_const(rb_cSocket, "IFF_POINTOPOINT", INTEGER2NUM(IFF_POINTOPOINT));
02380
02381 rb_define_const(rb_mSockConst, "IFF_POINTOPOINT", INTEGER2NUM(IFF_POINTOPOINT));
02382 #endif
02383 #if defined(IFF_PORTSEL)
02384
02385 rb_define_const(rb_cSocket, "IFF_PORTSEL", INTEGER2NUM(IFF_PORTSEL));
02386
02387 rb_define_const(rb_mSockConst, "IFF_PORTSEL", INTEGER2NUM(IFF_PORTSEL));
02388 #endif
02389 #if defined(IFF_PPROMISC)
02390
02391 rb_define_const(rb_cSocket, "IFF_PPROMISC", INTEGER2NUM(IFF_PPROMISC));
02392
02393 rb_define_const(rb_mSockConst, "IFF_PPROMISC", INTEGER2NUM(IFF_PPROMISC));
02394 #endif
02395 #if defined(IFF_PROMISC)
02396
02397 rb_define_const(rb_cSocket, "IFF_PROMISC", INTEGER2NUM(IFF_PROMISC));
02398
02399 rb_define_const(rb_mSockConst, "IFF_PROMISC", INTEGER2NUM(IFF_PROMISC));
02400 #endif
02401 #if defined(IFF_RENAMING)
02402
02403 rb_define_const(rb_cSocket, "IFF_RENAMING", INTEGER2NUM(IFF_RENAMING));
02404
02405 rb_define_const(rb_mSockConst, "IFF_RENAMING", INTEGER2NUM(IFF_RENAMING));
02406 #endif
02407 #if defined(IFF_ROUTE)
02408
02409 rb_define_const(rb_cSocket, "IFF_ROUTE", INTEGER2NUM(IFF_ROUTE));
02410
02411 rb_define_const(rb_mSockConst, "IFF_ROUTE", INTEGER2NUM(IFF_ROUTE));
02412 #endif
02413 #if defined(IFF_RUNNING)
02414
02415 rb_define_const(rb_cSocket, "IFF_RUNNING", INTEGER2NUM(IFF_RUNNING));
02416
02417 rb_define_const(rb_mSockConst, "IFF_RUNNING", INTEGER2NUM(IFF_RUNNING));
02418 #endif
02419 #if defined(IFF_SIMPLEX)
02420
02421 rb_define_const(rb_cSocket, "IFF_SIMPLEX", INTEGER2NUM(IFF_SIMPLEX));
02422
02423 rb_define_const(rb_mSockConst, "IFF_SIMPLEX", INTEGER2NUM(IFF_SIMPLEX));
02424 #endif
02425 #if defined(IFF_SLAVE)
02426
02427 rb_define_const(rb_cSocket, "IFF_SLAVE", INTEGER2NUM(IFF_SLAVE));
02428
02429 rb_define_const(rb_mSockConst, "IFF_SLAVE", INTEGER2NUM(IFF_SLAVE));
02430 #endif
02431 #if defined(IFF_SLAVE_INACTIVE)
02432
02433 rb_define_const(rb_cSocket, "IFF_SLAVE_INACTIVE", INTEGER2NUM(IFF_SLAVE_INACTIVE));
02434
02435 rb_define_const(rb_mSockConst, "IFF_SLAVE_INACTIVE", INTEGER2NUM(IFF_SLAVE_INACTIVE));
02436 #endif
02437 #if defined(IFF_SLAVE_NEEDARP)
02438
02439 rb_define_const(rb_cSocket, "IFF_SLAVE_NEEDARP", INTEGER2NUM(IFF_SLAVE_NEEDARP));
02440
02441 rb_define_const(rb_mSockConst, "IFF_SLAVE_NEEDARP", INTEGER2NUM(IFF_SLAVE_NEEDARP));
02442 #endif
02443 #if defined(IFF_SMART)
02444
02445 rb_define_const(rb_cSocket, "IFF_SMART", INTEGER2NUM(IFF_SMART));
02446
02447 rb_define_const(rb_mSockConst, "IFF_SMART", INTEGER2NUM(IFF_SMART));
02448 #endif
02449 #if defined(IFF_STATICARP)
02450
02451 rb_define_const(rb_cSocket, "IFF_STATICARP", INTEGER2NUM(IFF_STATICARP));
02452
02453 rb_define_const(rb_mSockConst, "IFF_STATICARP", INTEGER2NUM(IFF_STATICARP));
02454 #endif
02455 #if defined(IFF_SUPP_NOFCS)
02456
02457 rb_define_const(rb_cSocket, "IFF_SUPP_NOFCS", INTEGER2NUM(IFF_SUPP_NOFCS));
02458
02459 rb_define_const(rb_mSockConst, "IFF_SUPP_NOFCS", INTEGER2NUM(IFF_SUPP_NOFCS));
02460 #endif
02461 #if defined(IFF_TEAM_PORT)
02462
02463 rb_define_const(rb_cSocket, "IFF_TEAM_PORT", INTEGER2NUM(IFF_TEAM_PORT));
02464
02465 rb_define_const(rb_mSockConst, "IFF_TEAM_PORT", INTEGER2NUM(IFF_TEAM_PORT));
02466 #endif
02467 #if defined(IFF_TX_SKB_SHARING)
02468
02469 rb_define_const(rb_cSocket, "IFF_TX_SKB_SHARING", INTEGER2NUM(IFF_TX_SKB_SHARING));
02470
02471 rb_define_const(rb_mSockConst, "IFF_TX_SKB_SHARING", INTEGER2NUM(IFF_TX_SKB_SHARING));
02472 #endif
02473 #if defined(IFF_UNICAST_FLT)
02474
02475 rb_define_const(rb_cSocket, "IFF_UNICAST_FLT", INTEGER2NUM(IFF_UNICAST_FLT));
02476
02477 rb_define_const(rb_mSockConst, "IFF_UNICAST_FLT", INTEGER2NUM(IFF_UNICAST_FLT));
02478 #endif
02479 #if defined(IFF_UP)
02480
02481 rb_define_const(rb_cSocket, "IFF_UP", INTEGER2NUM(IFF_UP));
02482
02483 rb_define_const(rb_mSockConst, "IFF_UP", INTEGER2NUM(IFF_UP));
02484 #endif
02485 #if defined(IFF_WAN_HDLC)
02486
02487 rb_define_const(rb_cSocket, "IFF_WAN_HDLC", INTEGER2NUM(IFF_WAN_HDLC));
02488
02489 rb_define_const(rb_mSockConst, "IFF_WAN_HDLC", INTEGER2NUM(IFF_WAN_HDLC));
02490 #endif
02491 #if defined(IFF_XMIT_DST_RELEASE)
02492
02493 rb_define_const(rb_cSocket, "IFF_XMIT_DST_RELEASE", INTEGER2NUM(IFF_XMIT_DST_RELEASE));
02494
02495 rb_define_const(rb_mSockConst, "IFF_XMIT_DST_RELEASE", INTEGER2NUM(IFF_XMIT_DST_RELEASE));
02496 #endif
02497 #if defined(IFF_VOLATILE)
02498
02499 rb_define_const(rb_cSocket, "IFF_VOLATILE", INTEGER2NUM(IFF_VOLATILE));
02500
02501 rb_define_const(rb_mSockConst, "IFF_VOLATILE", INTEGER2NUM(IFF_VOLATILE));
02502 #endif
02503 #if defined(IFF_CANTCHANGE)
02504
02505 rb_define_const(rb_cSocket, "IFF_CANTCHANGE", INTEGER2NUM(IFF_CANTCHANGE));
02506
02507 rb_define_const(rb_mSockConst, "IFF_CANTCHANGE", INTEGER2NUM(IFF_CANTCHANGE));
02508 #endif
02509
02510 rsock_intern_family_hash = st_init_numtable();
02511 #ifdef AF_E164
02512 st_insert(rsock_intern_family_hash, (st_data_t)AF_E164, (st_data_t)rb_intern2("AF_E164", 7));
02513 #endif
02514 #ifdef AF_PACKET
02515 st_insert(rsock_intern_family_hash, (st_data_t)AF_PACKET, (st_data_t)rb_intern2("AF_PACKET", 9));
02516 #endif
02517 #ifdef AF_MAX
02518 st_insert(rsock_intern_family_hash, (st_data_t)AF_MAX, (st_data_t)rb_intern2("AF_MAX", 6));
02519 #endif
02520 #ifdef AF_NETGRAPH
02521 st_insert(rsock_intern_family_hash, (st_data_t)AF_NETGRAPH, (st_data_t)rb_intern2("AF_NETGRAPH", 11));
02522 #endif
02523 #ifdef AF_ATM
02524 st_insert(rsock_intern_family_hash, (st_data_t)AF_ATM, (st_data_t)rb_intern2("AF_ATM", 6));
02525 #endif
02526 #ifdef AF_PPP
02527 st_insert(rsock_intern_family_hash, (st_data_t)AF_PPP, (st_data_t)rb_intern2("AF_PPP", 6));
02528 #endif
02529 #ifdef AF_NETBIOS
02530 st_insert(rsock_intern_family_hash, (st_data_t)AF_NETBIOS, (st_data_t)rb_intern2("AF_NETBIOS", 10));
02531 #endif
02532 #ifdef AF_SYSTEM
02533 st_insert(rsock_intern_family_hash, (st_data_t)AF_SYSTEM, (st_data_t)rb_intern2("AF_SYSTEM", 9));
02534 #endif
02535 #ifdef AF_NATM
02536 st_insert(rsock_intern_family_hash, (st_data_t)AF_NATM, (st_data_t)rb_intern2("AF_NATM", 7));
02537 #endif
02538 #ifdef AF_ISDN
02539 st_insert(rsock_intern_family_hash, (st_data_t)AF_ISDN, (st_data_t)rb_intern2("AF_ISDN", 7));
02540 #endif
02541 #ifdef AF_NDRV
02542 st_insert(rsock_intern_family_hash, (st_data_t)AF_NDRV, (st_data_t)rb_intern2("AF_NDRV", 7));
02543 #endif
02544 #ifdef AF_SIP
02545 st_insert(rsock_intern_family_hash, (st_data_t)AF_SIP, (st_data_t)rb_intern2("AF_SIP", 6));
02546 #endif
02547 #ifdef AF_CNT
02548 st_insert(rsock_intern_family_hash, (st_data_t)AF_CNT, (st_data_t)rb_intern2("AF_CNT", 6));
02549 #endif
02550 #ifdef AF_COIP
02551 st_insert(rsock_intern_family_hash, (st_data_t)AF_COIP, (st_data_t)rb_intern2("AF_COIP", 7));
02552 #endif
02553 #ifdef AF_LINK
02554 st_insert(rsock_intern_family_hash, (st_data_t)AF_LINK, (st_data_t)rb_intern2("AF_LINK", 7));
02555 #endif
02556 #ifdef AF_ROUTE
02557 st_insert(rsock_intern_family_hash, (st_data_t)AF_ROUTE, (st_data_t)rb_intern2("AF_ROUTE", 8));
02558 #endif
02559 #ifdef AF_HYLINK
02560 st_insert(rsock_intern_family_hash, (st_data_t)AF_HYLINK, (st_data_t)rb_intern2("AF_HYLINK", 9));
02561 #endif
02562 #ifdef AF_LAT
02563 st_insert(rsock_intern_family_hash, (st_data_t)AF_LAT, (st_data_t)rb_intern2("AF_LAT", 6));
02564 #endif
02565 #ifdef AF_DLI
02566 st_insert(rsock_intern_family_hash, (st_data_t)AF_DLI, (st_data_t)rb_intern2("AF_DLI", 6));
02567 #endif
02568 #ifdef AF_DEC
02569 st_insert(rsock_intern_family_hash, (st_data_t)AF_DEC, (st_data_t)rb_intern2("AF_DEC", 6));
02570 #endif
02571 #ifdef AF_SNA
02572 st_insert(rsock_intern_family_hash, (st_data_t)AF_SNA, (st_data_t)rb_intern2("AF_SNA", 6));
02573 #endif
02574 #ifdef AF_CCITT
02575 st_insert(rsock_intern_family_hash, (st_data_t)AF_CCITT, (st_data_t)rb_intern2("AF_CCITT", 8));
02576 #endif
02577 #ifdef AF_DATAKIT
02578 st_insert(rsock_intern_family_hash, (st_data_t)AF_DATAKIT, (st_data_t)rb_intern2("AF_DATAKIT", 10));
02579 #endif
02580 #ifdef AF_ECMA
02581 st_insert(rsock_intern_family_hash, (st_data_t)AF_ECMA, (st_data_t)rb_intern2("AF_ECMA", 7));
02582 #endif
02583 #ifdef AF_OSI
02584 st_insert(rsock_intern_family_hash, (st_data_t)AF_OSI, (st_data_t)rb_intern2("AF_OSI", 6));
02585 #endif
02586 #ifdef AF_ISO
02587 st_insert(rsock_intern_family_hash, (st_data_t)AF_ISO, (st_data_t)rb_intern2("AF_ISO", 6));
02588 #endif
02589 #ifdef AF_NS
02590 st_insert(rsock_intern_family_hash, (st_data_t)AF_NS, (st_data_t)rb_intern2("AF_NS", 5));
02591 #endif
02592 #ifdef AF_CHAOS
02593 st_insert(rsock_intern_family_hash, (st_data_t)AF_CHAOS, (st_data_t)rb_intern2("AF_CHAOS", 8));
02594 #endif
02595 #ifdef AF_PUP
02596 st_insert(rsock_intern_family_hash, (st_data_t)AF_PUP, (st_data_t)rb_intern2("AF_PUP", 6));
02597 #endif
02598 #ifdef AF_IMPLINK
02599 st_insert(rsock_intern_family_hash, (st_data_t)AF_IMPLINK, (st_data_t)rb_intern2("AF_IMPLINK", 10));
02600 #endif
02601 #ifdef AF_LOCAL
02602 st_insert(rsock_intern_family_hash, (st_data_t)AF_LOCAL, (st_data_t)rb_intern2("AF_LOCAL", 8));
02603 #endif
02604 #ifdef AF_APPLETALK
02605 st_insert(rsock_intern_family_hash, (st_data_t)AF_APPLETALK, (st_data_t)rb_intern2("AF_APPLETALK", 12));
02606 #endif
02607 #ifdef AF_IPX
02608 st_insert(rsock_intern_family_hash, (st_data_t)AF_IPX, (st_data_t)rb_intern2("AF_IPX", 6));
02609 #endif
02610 #ifdef AF_AX25
02611 st_insert(rsock_intern_family_hash, (st_data_t)AF_AX25, (st_data_t)rb_intern2("AF_AX25", 7));
02612 #endif
02613 #ifdef AF_UNIX
02614 st_insert(rsock_intern_family_hash, (st_data_t)AF_UNIX, (st_data_t)rb_intern2("AF_UNIX", 7));
02615 #endif
02616 #ifdef AF_INET6
02617 st_insert(rsock_intern_family_hash, (st_data_t)AF_INET6, (st_data_t)rb_intern2("AF_INET6", 8));
02618 #endif
02619 #ifdef AF_INET
02620 st_insert(rsock_intern_family_hash, (st_data_t)AF_INET, (st_data_t)rb_intern2("AF_INET", 7));
02621 #endif
02622 #ifdef AF_UNSPEC
02623 st_insert(rsock_intern_family_hash, (st_data_t)AF_UNSPEC, (st_data_t)rb_intern2("AF_UNSPEC", 9));
02624 #endif
02625
02626 rsock_intern_family_noprefix_hash = st_init_numtable();
02627 #ifdef AF_E164
02628 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_E164, (st_data_t)rb_intern2("AF_E164", 7));
02629 #endif
02630 #ifdef AF_PACKET
02631 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_PACKET, (st_data_t)rb_intern2("AF_PACKET", 9));
02632 #endif
02633 #ifdef AF_MAX
02634 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_MAX, (st_data_t)rb_intern2("AF_MAX", 6));
02635 #endif
02636 #ifdef AF_NETGRAPH
02637 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_NETGRAPH, (st_data_t)rb_intern2("AF_NETGRAPH", 11));
02638 #endif
02639 #ifdef AF_ATM
02640 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_ATM, (st_data_t)rb_intern2("AF_ATM", 6));
02641 #endif
02642 #ifdef AF_PPP
02643 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_PPP, (st_data_t)rb_intern2("AF_PPP", 6));
02644 #endif
02645 #ifdef AF_NETBIOS
02646 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_NETBIOS, (st_data_t)rb_intern2("AF_NETBIOS", 10));
02647 #endif
02648 #ifdef AF_SYSTEM
02649 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_SYSTEM, (st_data_t)rb_intern2("AF_SYSTEM", 9));
02650 #endif
02651 #ifdef AF_NATM
02652 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_NATM, (st_data_t)rb_intern2("AF_NATM", 7));
02653 #endif
02654 #ifdef AF_ISDN
02655 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_ISDN, (st_data_t)rb_intern2("AF_ISDN", 7));
02656 #endif
02657 #ifdef AF_NDRV
02658 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_NDRV, (st_data_t)rb_intern2("AF_NDRV", 7));
02659 #endif
02660 #ifdef AF_SIP
02661 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_SIP, (st_data_t)rb_intern2("AF_SIP", 6));
02662 #endif
02663 #ifdef AF_CNT
02664 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_CNT, (st_data_t)rb_intern2("AF_CNT", 6));
02665 #endif
02666 #ifdef AF_COIP
02667 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_COIP, (st_data_t)rb_intern2("AF_COIP", 7));
02668 #endif
02669 #ifdef AF_LINK
02670 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_LINK, (st_data_t)rb_intern2("AF_LINK", 7));
02671 #endif
02672 #ifdef AF_ROUTE
02673 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_ROUTE, (st_data_t)rb_intern2("AF_ROUTE", 8));
02674 #endif
02675 #ifdef AF_HYLINK
02676 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_HYLINK, (st_data_t)rb_intern2("AF_HYLINK", 9));
02677 #endif
02678 #ifdef AF_LAT
02679 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_LAT, (st_data_t)rb_intern2("AF_LAT", 6));
02680 #endif
02681 #ifdef AF_DLI
02682 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_DLI, (st_data_t)rb_intern2("AF_DLI", 6));
02683 #endif
02684 #ifdef AF_DEC
02685 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_DEC, (st_data_t)rb_intern2("AF_DEC", 6));
02686 #endif
02687 #ifdef AF_SNA
02688 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_SNA, (st_data_t)rb_intern2("AF_SNA", 6));
02689 #endif
02690 #ifdef AF_CCITT
02691 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_CCITT, (st_data_t)rb_intern2("AF_CCITT", 8));
02692 #endif
02693 #ifdef AF_DATAKIT
02694 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_DATAKIT, (st_data_t)rb_intern2("AF_DATAKIT", 10));
02695 #endif
02696 #ifdef AF_ECMA
02697 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_ECMA, (st_data_t)rb_intern2("AF_ECMA", 7));
02698 #endif
02699 #ifdef AF_OSI
02700 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_OSI, (st_data_t)rb_intern2("AF_OSI", 6));
02701 #endif
02702 #ifdef AF_ISO
02703 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_ISO, (st_data_t)rb_intern2("AF_ISO", 6));
02704 #endif
02705 #ifdef AF_NS
02706 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_NS, (st_data_t)rb_intern2("AF_NS", 5));
02707 #endif
02708 #ifdef AF_CHAOS
02709 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_CHAOS, (st_data_t)rb_intern2("AF_CHAOS", 8));
02710 #endif
02711 #ifdef AF_PUP
02712 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_PUP, (st_data_t)rb_intern2("AF_PUP", 6));
02713 #endif
02714 #ifdef AF_IMPLINK
02715 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_IMPLINK, (st_data_t)rb_intern2("AF_IMPLINK", 10));
02716 #endif
02717 #ifdef AF_LOCAL
02718 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_LOCAL, (st_data_t)rb_intern2("AF_LOCAL", 8));
02719 #endif
02720 #ifdef AF_APPLETALK
02721 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_APPLETALK, (st_data_t)rb_intern2("AF_APPLETALK", 12));
02722 #endif
02723 #ifdef AF_IPX
02724 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_IPX, (st_data_t)rb_intern2("AF_IPX", 6));
02725 #endif
02726 #ifdef AF_AX25
02727 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_AX25, (st_data_t)rb_intern2("AF_AX25", 7));
02728 #endif
02729 #ifdef AF_UNIX
02730 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_UNIX, (st_data_t)rb_intern2("AF_UNIX", 7));
02731 #endif
02732 #ifdef AF_INET6
02733 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_INET6, (st_data_t)rb_intern2("AF_INET6", 8));
02734 #endif
02735 #ifdef AF_INET
02736 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_INET, (st_data_t)rb_intern2("AF_INET", 7));
02737 #endif
02738 #ifdef AF_UNSPEC
02739 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_UNSPEC, (st_data_t)rb_intern2("AF_UNSPEC", 9));
02740 #endif
02741 #ifdef AF_E164
02742 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_E164, (st_data_t)rb_intern2("E164", 4));
02743 #endif
02744 #ifdef AF_PACKET
02745 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_PACKET, (st_data_t)rb_intern2("PACKET", 6));
02746 #endif
02747 #ifdef AF_MAX
02748 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_MAX, (st_data_t)rb_intern2("MAX", 3));
02749 #endif
02750 #ifdef AF_NETGRAPH
02751 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_NETGRAPH, (st_data_t)rb_intern2("NETGRAPH", 8));
02752 #endif
02753 #ifdef AF_ATM
02754 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_ATM, (st_data_t)rb_intern2("ATM", 3));
02755 #endif
02756 #ifdef AF_PPP
02757 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_PPP, (st_data_t)rb_intern2("PPP", 3));
02758 #endif
02759 #ifdef AF_NETBIOS
02760 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_NETBIOS, (st_data_t)rb_intern2("NETBIOS", 7));
02761 #endif
02762 #ifdef AF_SYSTEM
02763 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_SYSTEM, (st_data_t)rb_intern2("SYSTEM", 6));
02764 #endif
02765 #ifdef AF_NATM
02766 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_NATM, (st_data_t)rb_intern2("NATM", 4));
02767 #endif
02768 #ifdef AF_ISDN
02769 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_ISDN, (st_data_t)rb_intern2("ISDN", 4));
02770 #endif
02771 #ifdef AF_NDRV
02772 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_NDRV, (st_data_t)rb_intern2("NDRV", 4));
02773 #endif
02774 #ifdef AF_SIP
02775 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_SIP, (st_data_t)rb_intern2("SIP", 3));
02776 #endif
02777 #ifdef AF_CNT
02778 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_CNT, (st_data_t)rb_intern2("CNT", 3));
02779 #endif
02780 #ifdef AF_COIP
02781 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_COIP, (st_data_t)rb_intern2("COIP", 4));
02782 #endif
02783 #ifdef AF_LINK
02784 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_LINK, (st_data_t)rb_intern2("LINK", 4));
02785 #endif
02786 #ifdef AF_ROUTE
02787 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_ROUTE, (st_data_t)rb_intern2("ROUTE", 5));
02788 #endif
02789 #ifdef AF_HYLINK
02790 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_HYLINK, (st_data_t)rb_intern2("HYLINK", 6));
02791 #endif
02792 #ifdef AF_LAT
02793 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_LAT, (st_data_t)rb_intern2("LAT", 3));
02794 #endif
02795 #ifdef AF_DLI
02796 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_DLI, (st_data_t)rb_intern2("DLI", 3));
02797 #endif
02798 #ifdef AF_DEC
02799 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_DEC, (st_data_t)rb_intern2("DEC", 3));
02800 #endif
02801 #ifdef AF_SNA
02802 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_SNA, (st_data_t)rb_intern2("SNA", 3));
02803 #endif
02804 #ifdef AF_CCITT
02805 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_CCITT, (st_data_t)rb_intern2("CCITT", 5));
02806 #endif
02807 #ifdef AF_DATAKIT
02808 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_DATAKIT, (st_data_t)rb_intern2("DATAKIT", 7));
02809 #endif
02810 #ifdef AF_ECMA
02811 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_ECMA, (st_data_t)rb_intern2("ECMA", 4));
02812 #endif
02813 #ifdef AF_OSI
02814 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_OSI, (st_data_t)rb_intern2("OSI", 3));
02815 #endif
02816 #ifdef AF_ISO
02817 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_ISO, (st_data_t)rb_intern2("ISO", 3));
02818 #endif
02819 #ifdef AF_NS
02820 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_NS, (st_data_t)rb_intern2("NS", 2));
02821 #endif
02822 #ifdef AF_CHAOS
02823 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_CHAOS, (st_data_t)rb_intern2("CHAOS", 5));
02824 #endif
02825 #ifdef AF_PUP
02826 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_PUP, (st_data_t)rb_intern2("PUP", 3));
02827 #endif
02828 #ifdef AF_IMPLINK
02829 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_IMPLINK, (st_data_t)rb_intern2("IMPLINK", 7));
02830 #endif
02831 #ifdef AF_LOCAL
02832 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_LOCAL, (st_data_t)rb_intern2("LOCAL", 5));
02833 #endif
02834 #ifdef AF_APPLETALK
02835 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_APPLETALK, (st_data_t)rb_intern2("APPLETALK", 9));
02836 #endif
02837 #ifdef AF_IPX
02838 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_IPX, (st_data_t)rb_intern2("IPX", 3));
02839 #endif
02840 #ifdef AF_AX25
02841 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_AX25, (st_data_t)rb_intern2("AX25", 4));
02842 #endif
02843 #ifdef AF_UNIX
02844 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_UNIX, (st_data_t)rb_intern2("UNIX", 4));
02845 #endif
02846 #ifdef AF_INET6
02847 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_INET6, (st_data_t)rb_intern2("INET6", 5));
02848 #endif
02849 #ifdef AF_INET
02850 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_INET, (st_data_t)rb_intern2("INET", 4));
02851 #endif
02852 #ifdef AF_UNSPEC
02853 st_insert(rsock_intern_family_noprefix_hash, (st_data_t)AF_UNSPEC, (st_data_t)rb_intern2("UNSPEC", 6));
02854 #endif
02855
02856 rsock_intern_protocol_family_hash = st_init_numtable();
02857 #ifdef PF_KEY
02858 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_KEY, (st_data_t)rb_intern2("PF_KEY", 6));
02859 #endif
02860 #ifdef PF_PIP
02861 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_PIP, (st_data_t)rb_intern2("PF_PIP", 6));
02862 #endif
02863 #ifdef PF_RTIP
02864 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_RTIP, (st_data_t)rb_intern2("PF_RTIP", 7));
02865 #endif
02866 #ifdef PF_XTP
02867 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_XTP, (st_data_t)rb_intern2("PF_XTP", 6));
02868 #endif
02869 #ifdef PF_PACKET
02870 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_PACKET, (st_data_t)rb_intern2("PF_PACKET", 9));
02871 #endif
02872 #ifdef PF_MAX
02873 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_MAX, (st_data_t)rb_intern2("PF_MAX", 6));
02874 #endif
02875 #ifdef PF_NETGRAPH
02876 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_NETGRAPH, (st_data_t)rb_intern2("PF_NETGRAPH", 11));
02877 #endif
02878 #ifdef PF_ATM
02879 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_ATM, (st_data_t)rb_intern2("PF_ATM", 6));
02880 #endif
02881 #ifdef PF_PPP
02882 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_PPP, (st_data_t)rb_intern2("PF_PPP", 6));
02883 #endif
02884 #ifdef PF_NETBIOS
02885 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_NETBIOS, (st_data_t)rb_intern2("PF_NETBIOS", 10));
02886 #endif
02887 #ifdef PF_SYSTEM
02888 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_SYSTEM, (st_data_t)rb_intern2("PF_SYSTEM", 9));
02889 #endif
02890 #ifdef PF_NATM
02891 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_NATM, (st_data_t)rb_intern2("PF_NATM", 7));
02892 #endif
02893 #ifdef PF_ISDN
02894 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_ISDN, (st_data_t)rb_intern2("PF_ISDN", 7));
02895 #endif
02896 #ifdef PF_NDRV
02897 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_NDRV, (st_data_t)rb_intern2("PF_NDRV", 7));
02898 #endif
02899 #ifdef PF_SIP
02900 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_SIP, (st_data_t)rb_intern2("PF_SIP", 6));
02901 #endif
02902 #ifdef PF_CNT
02903 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_CNT, (st_data_t)rb_intern2("PF_CNT", 6));
02904 #endif
02905 #ifdef PF_COIP
02906 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_COIP, (st_data_t)rb_intern2("PF_COIP", 7));
02907 #endif
02908 #ifdef PF_LINK
02909 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_LINK, (st_data_t)rb_intern2("PF_LINK", 7));
02910 #endif
02911 #ifdef PF_ROUTE
02912 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_ROUTE, (st_data_t)rb_intern2("PF_ROUTE", 8));
02913 #endif
02914 #ifdef PF_HYLINK
02915 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_HYLINK, (st_data_t)rb_intern2("PF_HYLINK", 9));
02916 #endif
02917 #ifdef PF_LAT
02918 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_LAT, (st_data_t)rb_intern2("PF_LAT", 6));
02919 #endif
02920 #ifdef PF_DLI
02921 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_DLI, (st_data_t)rb_intern2("PF_DLI", 6));
02922 #endif
02923 #ifdef PF_DEC
02924 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_DEC, (st_data_t)rb_intern2("PF_DEC", 6));
02925 #endif
02926 #ifdef PF_SNA
02927 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_SNA, (st_data_t)rb_intern2("PF_SNA", 6));
02928 #endif
02929 #ifdef PF_CCITT
02930 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_CCITT, (st_data_t)rb_intern2("PF_CCITT", 8));
02931 #endif
02932 #ifdef PF_DATAKIT
02933 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_DATAKIT, (st_data_t)rb_intern2("PF_DATAKIT", 10));
02934 #endif
02935 #ifdef PF_ECMA
02936 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_ECMA, (st_data_t)rb_intern2("PF_ECMA", 7));
02937 #endif
02938 #ifdef PF_OSI
02939 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_OSI, (st_data_t)rb_intern2("PF_OSI", 6));
02940 #endif
02941 #ifdef PF_ISO
02942 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_ISO, (st_data_t)rb_intern2("PF_ISO", 6));
02943 #endif
02944 #ifdef PF_NS
02945 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_NS, (st_data_t)rb_intern2("PF_NS", 5));
02946 #endif
02947 #ifdef PF_CHAOS
02948 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_CHAOS, (st_data_t)rb_intern2("PF_CHAOS", 8));
02949 #endif
02950 #ifdef PF_PUP
02951 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_PUP, (st_data_t)rb_intern2("PF_PUP", 6));
02952 #endif
02953 #ifdef PF_IMPLINK
02954 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_IMPLINK, (st_data_t)rb_intern2("PF_IMPLINK", 10));
02955 #endif
02956 #ifdef PF_LOCAL
02957 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_LOCAL, (st_data_t)rb_intern2("PF_LOCAL", 8));
02958 #endif
02959 #ifdef PF_APPLETALK
02960 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_APPLETALK, (st_data_t)rb_intern2("PF_APPLETALK", 12));
02961 #endif
02962 #ifdef PF_IPX
02963 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_IPX, (st_data_t)rb_intern2("PF_IPX", 6));
02964 #endif
02965 #ifdef PF_AX25
02966 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_AX25, (st_data_t)rb_intern2("PF_AX25", 7));
02967 #endif
02968 #ifdef PF_UNIX
02969 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_UNIX, (st_data_t)rb_intern2("PF_UNIX", 7));
02970 #endif
02971 #ifdef PF_INET6
02972 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_INET6, (st_data_t)rb_intern2("PF_INET6", 8));
02973 #endif
02974 #ifdef PF_INET
02975 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_INET, (st_data_t)rb_intern2("PF_INET", 7));
02976 #endif
02977 #ifdef PF_UNSPEC
02978 st_insert(rsock_intern_protocol_family_hash, (st_data_t)PF_UNSPEC, (st_data_t)rb_intern2("PF_UNSPEC", 9));
02979 #endif
02980
02981 rsock_intern_socktype_hash = st_init_numtable();
02982 #ifdef SOCK_PACKET
02983 st_insert(rsock_intern_socktype_hash, (st_data_t)SOCK_PACKET, (st_data_t)rb_intern2("SOCK_PACKET", 11));
02984 #endif
02985 #ifdef SOCK_SEQPACKET
02986 st_insert(rsock_intern_socktype_hash, (st_data_t)SOCK_SEQPACKET, (st_data_t)rb_intern2("SOCK_SEQPACKET", 14));
02987 #endif
02988 #ifdef SOCK_RDM
02989 st_insert(rsock_intern_socktype_hash, (st_data_t)SOCK_RDM, (st_data_t)rb_intern2("SOCK_RDM", 8));
02990 #endif
02991 #ifdef SOCK_RAW
02992 st_insert(rsock_intern_socktype_hash, (st_data_t)SOCK_RAW, (st_data_t)rb_intern2("SOCK_RAW", 8));
02993 #endif
02994 #ifdef SOCK_DGRAM
02995 st_insert(rsock_intern_socktype_hash, (st_data_t)SOCK_DGRAM, (st_data_t)rb_intern2("SOCK_DGRAM", 10));
02996 #endif
02997 #ifdef SOCK_STREAM
02998 st_insert(rsock_intern_socktype_hash, (st_data_t)SOCK_STREAM, (st_data_t)rb_intern2("SOCK_STREAM", 11));
02999 #endif
03000
03001 rsock_intern_ipproto_hash = st_init_numtable();
03002 #ifdef IPPROTO_MAX
03003 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_MAX, (st_data_t)rb_intern2("IPPROTO_MAX", 11));
03004 #endif
03005 #ifdef IPPROTO_RAW
03006 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_RAW, (st_data_t)rb_intern2("IPPROTO_RAW", 11));
03007 #endif
03008 #ifdef IPPROTO_ROUTING
03009 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_ROUTING, (st_data_t)rb_intern2("IPPROTO_ROUTING", 15));
03010 #endif
03011 #ifdef IPPROTO_NONE
03012 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_NONE, (st_data_t)rb_intern2("IPPROTO_NONE", 12));
03013 #endif
03014 #ifdef IPPROTO_IPV6
03015 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_IPV6, (st_data_t)rb_intern2("IPPROTO_IPV6", 12));
03016 #endif
03017 #ifdef IPPROTO_ICMPV6
03018 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_ICMPV6, (st_data_t)rb_intern2("IPPROTO_ICMPV6", 14));
03019 #endif
03020 #ifdef IPPROTO_HOPOPTS
03021 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_HOPOPTS, (st_data_t)rb_intern2("IPPROTO_HOPOPTS", 15));
03022 #endif
03023 #ifdef IPPROTO_FRAGMENT
03024 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_FRAGMENT, (st_data_t)rb_intern2("IPPROTO_FRAGMENT", 16));
03025 #endif
03026 #ifdef IPPROTO_ESP
03027 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_ESP, (st_data_t)rb_intern2("IPPROTO_ESP", 11));
03028 #endif
03029 #ifdef IPPROTO_DSTOPTS
03030 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_DSTOPTS, (st_data_t)rb_intern2("IPPROTO_DSTOPTS", 15));
03031 #endif
03032 #ifdef IPPROTO_AH
03033 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_AH, (st_data_t)rb_intern2("IPPROTO_AH", 10));
03034 #endif
03035 #ifdef IPPROTO_BIP
03036 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_BIP, (st_data_t)rb_intern2("IPPROTO_BIP", 11));
03037 #endif
03038 #ifdef IPPROTO_EON
03039 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_EON, (st_data_t)rb_intern2("IPPROTO_EON", 11));
03040 #endif
03041 #ifdef IPPROTO_XTP
03042 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_XTP, (st_data_t)rb_intern2("IPPROTO_XTP", 11));
03043 #endif
03044 #ifdef IPPROTO_TP
03045 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_TP, (st_data_t)rb_intern2("IPPROTO_TP", 10));
03046 #endif
03047 #ifdef IPPROTO_ND
03048 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_ND, (st_data_t)rb_intern2("IPPROTO_ND", 10));
03049 #endif
03050 #ifdef IPPROTO_HELLO
03051 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_HELLO, (st_data_t)rb_intern2("IPPROTO_HELLO", 13));
03052 #endif
03053 #ifdef IPPROTO_IDP
03054 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_IDP, (st_data_t)rb_intern2("IPPROTO_IDP", 11));
03055 #endif
03056 #ifdef IPPROTO_UDP
03057 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_UDP, (st_data_t)rb_intern2("IPPROTO_UDP", 11));
03058 #endif
03059 #ifdef IPPROTO_PUP
03060 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_PUP, (st_data_t)rb_intern2("IPPROTO_PUP", 11));
03061 #endif
03062 #ifdef IPPROTO_EGP
03063 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_EGP, (st_data_t)rb_intern2("IPPROTO_EGP", 11));
03064 #endif
03065 #ifdef IPPROTO_TCP
03066 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_TCP, (st_data_t)rb_intern2("IPPROTO_TCP", 11));
03067 #endif
03068 #ifdef IPPROTO_GGP
03069 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_GGP, (st_data_t)rb_intern2("IPPROTO_GGP", 11));
03070 #endif
03071 #ifdef IPPROTO_IGMP
03072 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_IGMP, (st_data_t)rb_intern2("IPPROTO_IGMP", 12));
03073 #endif
03074 #ifdef IPPROTO_ICMP
03075 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_ICMP, (st_data_t)rb_intern2("IPPROTO_ICMP", 12));
03076 #endif
03077 #ifdef IPPROTO_IP
03078 st_insert(rsock_intern_ipproto_hash, (st_data_t)IPPROTO_IP, (st_data_t)rb_intern2("IPPROTO_IP", 10));
03079 #endif
03080
03081 rsock_intern_iplevel_hash = st_init_numtable();
03082 #ifdef IPPROTO_MAX
03083 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_MAX, (st_data_t)rb_intern2("IPPROTO_MAX", 11));
03084 #endif
03085 #ifdef IPPROTO_RAW
03086 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_RAW, (st_data_t)rb_intern2("IPPROTO_RAW", 11));
03087 #endif
03088 #ifdef IPPROTO_ROUTING
03089 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_ROUTING, (st_data_t)rb_intern2("IPPROTO_ROUTING", 15));
03090 #endif
03091 #ifdef IPPROTO_NONE
03092 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_NONE, (st_data_t)rb_intern2("IPPROTO_NONE", 12));
03093 #endif
03094 #ifdef IPPROTO_IPV6
03095 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_IPV6, (st_data_t)rb_intern2("IPPROTO_IPV6", 12));
03096 #endif
03097 #ifdef IPPROTO_ICMPV6
03098 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_ICMPV6, (st_data_t)rb_intern2("IPPROTO_ICMPV6", 14));
03099 #endif
03100 #ifdef IPPROTO_HOPOPTS
03101 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_HOPOPTS, (st_data_t)rb_intern2("IPPROTO_HOPOPTS", 15));
03102 #endif
03103 #ifdef IPPROTO_FRAGMENT
03104 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_FRAGMENT, (st_data_t)rb_intern2("IPPROTO_FRAGMENT", 16));
03105 #endif
03106 #ifdef IPPROTO_ESP
03107 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_ESP, (st_data_t)rb_intern2("IPPROTO_ESP", 11));
03108 #endif
03109 #ifdef IPPROTO_DSTOPTS
03110 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_DSTOPTS, (st_data_t)rb_intern2("IPPROTO_DSTOPTS", 15));
03111 #endif
03112 #ifdef IPPROTO_AH
03113 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_AH, (st_data_t)rb_intern2("IPPROTO_AH", 10));
03114 #endif
03115 #ifdef IPPROTO_BIP
03116 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_BIP, (st_data_t)rb_intern2("IPPROTO_BIP", 11));
03117 #endif
03118 #ifdef IPPROTO_EON
03119 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_EON, (st_data_t)rb_intern2("IPPROTO_EON", 11));
03120 #endif
03121 #ifdef IPPROTO_XTP
03122 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_XTP, (st_data_t)rb_intern2("IPPROTO_XTP", 11));
03123 #endif
03124 #ifdef IPPROTO_TP
03125 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_TP, (st_data_t)rb_intern2("IPPROTO_TP", 10));
03126 #endif
03127 #ifdef IPPROTO_ND
03128 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_ND, (st_data_t)rb_intern2("IPPROTO_ND", 10));
03129 #endif
03130 #ifdef IPPROTO_HELLO
03131 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_HELLO, (st_data_t)rb_intern2("IPPROTO_HELLO", 13));
03132 #endif
03133 #ifdef IPPROTO_IDP
03134 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_IDP, (st_data_t)rb_intern2("IPPROTO_IDP", 11));
03135 #endif
03136 #ifdef IPPROTO_UDP
03137 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_UDP, (st_data_t)rb_intern2("IPPROTO_UDP", 11));
03138 #endif
03139 #ifdef IPPROTO_PUP
03140 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_PUP, (st_data_t)rb_intern2("IPPROTO_PUP", 11));
03141 #endif
03142 #ifdef IPPROTO_EGP
03143 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_EGP, (st_data_t)rb_intern2("IPPROTO_EGP", 11));
03144 #endif
03145 #ifdef IPPROTO_TCP
03146 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_TCP, (st_data_t)rb_intern2("IPPROTO_TCP", 11));
03147 #endif
03148 #ifdef IPPROTO_GGP
03149 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_GGP, (st_data_t)rb_intern2("IPPROTO_GGP", 11));
03150 #endif
03151 #ifdef IPPROTO_IGMP
03152 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_IGMP, (st_data_t)rb_intern2("IPPROTO_IGMP", 12));
03153 #endif
03154 #ifdef IPPROTO_ICMP
03155 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_ICMP, (st_data_t)rb_intern2("IPPROTO_ICMP", 12));
03156 #endif
03157 #ifdef IPPROTO_IP
03158 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_IP, (st_data_t)rb_intern2("IPPROTO_IP", 10));
03159 #endif
03160 #ifdef SOL_SOCKET
03161 st_insert(rsock_intern_iplevel_hash, (st_data_t)SOL_SOCKET, (st_data_t)rb_intern2("SOL_SOCKET", 10));
03162 #endif
03163 #ifdef IPPROTO_MAX
03164 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_MAX, (st_data_t)rb_intern2("MAX", 3));
03165 #endif
03166 #ifdef IPPROTO_RAW
03167 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_RAW, (st_data_t)rb_intern2("RAW", 3));
03168 #endif
03169 #ifdef IPPROTO_ROUTING
03170 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_ROUTING, (st_data_t)rb_intern2("ROUTING", 7));
03171 #endif
03172 #ifdef IPPROTO_NONE
03173 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_NONE, (st_data_t)rb_intern2("NONE", 4));
03174 #endif
03175 #ifdef IPPROTO_IPV6
03176 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_IPV6, (st_data_t)rb_intern2("IPV6", 4));
03177 #endif
03178 #ifdef IPPROTO_ICMPV6
03179 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_ICMPV6, (st_data_t)rb_intern2("ICMPV6", 6));
03180 #endif
03181 #ifdef IPPROTO_HOPOPTS
03182 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_HOPOPTS, (st_data_t)rb_intern2("HOPOPTS", 7));
03183 #endif
03184 #ifdef IPPROTO_FRAGMENT
03185 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_FRAGMENT, (st_data_t)rb_intern2("FRAGMENT", 8));
03186 #endif
03187 #ifdef IPPROTO_ESP
03188 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_ESP, (st_data_t)rb_intern2("ESP", 3));
03189 #endif
03190 #ifdef IPPROTO_DSTOPTS
03191 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_DSTOPTS, (st_data_t)rb_intern2("DSTOPTS", 7));
03192 #endif
03193 #ifdef IPPROTO_AH
03194 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_AH, (st_data_t)rb_intern2("AH", 2));
03195 #endif
03196 #ifdef IPPROTO_BIP
03197 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_BIP, (st_data_t)rb_intern2("BIP", 3));
03198 #endif
03199 #ifdef IPPROTO_EON
03200 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_EON, (st_data_t)rb_intern2("EON", 3));
03201 #endif
03202 #ifdef IPPROTO_XTP
03203 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_XTP, (st_data_t)rb_intern2("XTP", 3));
03204 #endif
03205 #ifdef IPPROTO_TP
03206 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_TP, (st_data_t)rb_intern2("TP", 2));
03207 #endif
03208 #ifdef IPPROTO_ND
03209 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_ND, (st_data_t)rb_intern2("ND", 2));
03210 #endif
03211 #ifdef IPPROTO_HELLO
03212 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_HELLO, (st_data_t)rb_intern2("HELLO", 5));
03213 #endif
03214 #ifdef IPPROTO_IDP
03215 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_IDP, (st_data_t)rb_intern2("IDP", 3));
03216 #endif
03217 #ifdef IPPROTO_UDP
03218 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_UDP, (st_data_t)rb_intern2("UDP", 3));
03219 #endif
03220 #ifdef IPPROTO_PUP
03221 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_PUP, (st_data_t)rb_intern2("PUP", 3));
03222 #endif
03223 #ifdef IPPROTO_EGP
03224 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_EGP, (st_data_t)rb_intern2("EGP", 3));
03225 #endif
03226 #ifdef IPPROTO_TCP
03227 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_TCP, (st_data_t)rb_intern2("TCP", 3));
03228 #endif
03229 #ifdef IPPROTO_GGP
03230 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_GGP, (st_data_t)rb_intern2("GGP", 3));
03231 #endif
03232 #ifdef IPPROTO_IGMP
03233 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_IGMP, (st_data_t)rb_intern2("IGMP", 4));
03234 #endif
03235 #ifdef IPPROTO_ICMP
03236 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_ICMP, (st_data_t)rb_intern2("ICMP", 4));
03237 #endif
03238 #ifdef IPPROTO_IP
03239 st_insert(rsock_intern_iplevel_hash, (st_data_t)IPPROTO_IP, (st_data_t)rb_intern2("IP", 2));
03240 #endif
03241 #ifdef SOL_SOCKET
03242 st_insert(rsock_intern_iplevel_hash, (st_data_t)SOL_SOCKET, (st_data_t)rb_intern2("SOCKET", 6));
03243 #endif
03244
03245 rsock_intern_so_optname_hash = st_init_numtable();
03246 #ifdef SO_ALLZONES
03247 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_ALLZONES, (st_data_t)rb_intern2("SO_ALLZONES", 11));
03248 #endif
03249 #ifdef SO_MAC_EXEMPT
03250 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_MAC_EXEMPT, (st_data_t)rb_intern2("SO_MAC_EXEMPT", 13));
03251 #endif
03252 #ifdef SO_RECVUCRED
03253 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_RECVUCRED, (st_data_t)rb_intern2("SO_RECVUCRED", 12));
03254 #endif
03255 #ifdef SO_BINTIME
03256 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_BINTIME, (st_data_t)rb_intern2("SO_BINTIME", 10));
03257 #endif
03258 #ifdef SO_TIMESTAMPNS
03259 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_TIMESTAMPNS, (st_data_t)rb_intern2("SO_TIMESTAMPNS", 14));
03260 #endif
03261 #ifdef SO_TIMESTAMP
03262 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_TIMESTAMP, (st_data_t)rb_intern2("SO_TIMESTAMP", 12));
03263 #endif
03264 #ifdef SO_PEERNAME
03265 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_PEERNAME, (st_data_t)rb_intern2("SO_PEERNAME", 11));
03266 #endif
03267 #ifdef SO_DETACH_FILTER
03268 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_DETACH_FILTER, (st_data_t)rb_intern2("SO_DETACH_FILTER", 16));
03269 #endif
03270 #ifdef SO_ATTACH_FILTER
03271 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_ATTACH_FILTER, (st_data_t)rb_intern2("SO_ATTACH_FILTER", 16));
03272 #endif
03273 #ifdef SO_BINDTODEVICE
03274 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_BINDTODEVICE, (st_data_t)rb_intern2("SO_BINDTODEVICE", 15));
03275 #endif
03276 #ifdef SO_SECURITY_ENCRYPTION_NETWORK
03277 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_SECURITY_ENCRYPTION_NETWORK, (st_data_t)rb_intern2("SO_SECURITY_ENCRYPTION_NETWORK", 30));
03278 #endif
03279 #ifdef SO_SECURITY_ENCRYPTION_TRANSPORT
03280 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_SECURITY_ENCRYPTION_TRANSPORT, (st_data_t)rb_intern2("SO_SECURITY_ENCRYPTION_TRANSPORT", 32));
03281 #endif
03282 #ifdef SO_SECURITY_AUTHENTICATION
03283 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_SECURITY_AUTHENTICATION, (st_data_t)rb_intern2("SO_SECURITY_AUTHENTICATION", 26));
03284 #endif
03285 #ifdef SO_NOSIGPIPE
03286 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_NOSIGPIPE, (st_data_t)rb_intern2("SO_NOSIGPIPE", 12));
03287 #endif
03288 #ifdef SO_NKE
03289 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_NKE, (st_data_t)rb_intern2("SO_NKE", 6));
03290 #endif
03291 #ifdef SO_NREAD
03292 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_NREAD, (st_data_t)rb_intern2("SO_NREAD", 8));
03293 #endif
03294 #ifdef SO_WANTOOBFLAG
03295 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_WANTOOBFLAG, (st_data_t)rb_intern2("SO_WANTOOBFLAG", 14));
03296 #endif
03297 #ifdef SO_WANTMORE
03298 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_WANTMORE, (st_data_t)rb_intern2("SO_WANTMORE", 11));
03299 #endif
03300 #ifdef SO_DONTTRUNC
03301 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_DONTTRUNC, (st_data_t)rb_intern2("SO_DONTTRUNC", 12));
03302 #endif
03303 #ifdef SO_ACCEPTFILTER
03304 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_ACCEPTFILTER, (st_data_t)rb_intern2("SO_ACCEPTFILTER", 15));
03305 #endif
03306 #ifdef SO_USELOOPBACK
03307 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_USELOOPBACK, (st_data_t)rb_intern2("SO_USELOOPBACK", 14));
03308 #endif
03309 #ifdef SO_ACCEPTCONN
03310 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_ACCEPTCONN, (st_data_t)rb_intern2("SO_ACCEPTCONN", 13));
03311 #endif
03312 #ifdef SO_SNDTIMEO
03313 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_SNDTIMEO, (st_data_t)rb_intern2("SO_SNDTIMEO", 11));
03314 #endif
03315 #ifdef SO_RCVTIMEO
03316 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_RCVTIMEO, (st_data_t)rb_intern2("SO_RCVTIMEO", 11));
03317 #endif
03318 #ifdef SO_SNDLOWAT
03319 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_SNDLOWAT, (st_data_t)rb_intern2("SO_SNDLOWAT", 11));
03320 #endif
03321 #ifdef SO_RCVLOWAT
03322 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_RCVLOWAT, (st_data_t)rb_intern2("SO_RCVLOWAT", 11));
03323 #endif
03324 #ifdef SO_PEERCRED
03325 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_PEERCRED, (st_data_t)rb_intern2("SO_PEERCRED", 11));
03326 #endif
03327 #ifdef SO_PASSCRED
03328 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_PASSCRED, (st_data_t)rb_intern2("SO_PASSCRED", 11));
03329 #endif
03330 #ifdef SO_LINGER
03331 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_LINGER, (st_data_t)rb_intern2("SO_LINGER", 9));
03332 #endif
03333 #ifdef SO_PRIORITY
03334 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_PRIORITY, (st_data_t)rb_intern2("SO_PRIORITY", 11));
03335 #endif
03336 #ifdef SO_NO_CHECK
03337 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_NO_CHECK, (st_data_t)rb_intern2("SO_NO_CHECK", 11));
03338 #endif
03339 #ifdef SO_OOBINLINE
03340 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_OOBINLINE, (st_data_t)rb_intern2("SO_OOBINLINE", 12));
03341 #endif
03342 #ifdef SO_KEEPALIVE
03343 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_KEEPALIVE, (st_data_t)rb_intern2("SO_KEEPALIVE", 12));
03344 #endif
03345 #ifdef SO_RCVBUF
03346 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_RCVBUF, (st_data_t)rb_intern2("SO_RCVBUF", 9));
03347 #endif
03348 #ifdef SO_SNDBUF
03349 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_SNDBUF, (st_data_t)rb_intern2("SO_SNDBUF", 9));
03350 #endif
03351 #ifdef SO_BROADCAST
03352 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_BROADCAST, (st_data_t)rb_intern2("SO_BROADCAST", 12));
03353 #endif
03354 #ifdef SO_DONTROUTE
03355 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_DONTROUTE, (st_data_t)rb_intern2("SO_DONTROUTE", 12));
03356 #endif
03357 #ifdef SO_ERROR
03358 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_ERROR, (st_data_t)rb_intern2("SO_ERROR", 8));
03359 #endif
03360 #ifdef SO_TYPE
03361 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_TYPE, (st_data_t)rb_intern2("SO_TYPE", 7));
03362 #endif
03363 #ifdef SO_REUSEPORT
03364 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_REUSEPORT, (st_data_t)rb_intern2("SO_REUSEPORT", 12));
03365 #endif
03366 #ifdef SO_REUSEADDR
03367 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_REUSEADDR, (st_data_t)rb_intern2("SO_REUSEADDR", 12));
03368 #endif
03369 #ifdef SO_DEBUG
03370 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_DEBUG, (st_data_t)rb_intern2("SO_DEBUG", 8));
03371 #endif
03372 #ifdef SO_ALLZONES
03373 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_ALLZONES, (st_data_t)rb_intern2("ALLZONES", 8));
03374 #endif
03375 #ifdef SO_MAC_EXEMPT
03376 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_MAC_EXEMPT, (st_data_t)rb_intern2("MAC_EXEMPT", 10));
03377 #endif
03378 #ifdef SO_RECVUCRED
03379 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_RECVUCRED, (st_data_t)rb_intern2("RECVUCRED", 9));
03380 #endif
03381 #ifdef SO_BINTIME
03382 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_BINTIME, (st_data_t)rb_intern2("BINTIME", 7));
03383 #endif
03384 #ifdef SO_TIMESTAMPNS
03385 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_TIMESTAMPNS, (st_data_t)rb_intern2("TIMESTAMPNS", 11));
03386 #endif
03387 #ifdef SO_TIMESTAMP
03388 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_TIMESTAMP, (st_data_t)rb_intern2("TIMESTAMP", 9));
03389 #endif
03390 #ifdef SO_PEERNAME
03391 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_PEERNAME, (st_data_t)rb_intern2("PEERNAME", 8));
03392 #endif
03393 #ifdef SO_DETACH_FILTER
03394 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_DETACH_FILTER, (st_data_t)rb_intern2("DETACH_FILTER", 13));
03395 #endif
03396 #ifdef SO_ATTACH_FILTER
03397 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_ATTACH_FILTER, (st_data_t)rb_intern2("ATTACH_FILTER", 13));
03398 #endif
03399 #ifdef SO_BINDTODEVICE
03400 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_BINDTODEVICE, (st_data_t)rb_intern2("BINDTODEVICE", 12));
03401 #endif
03402 #ifdef SO_SECURITY_ENCRYPTION_NETWORK
03403 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_SECURITY_ENCRYPTION_NETWORK, (st_data_t)rb_intern2("SECURITY_ENCRYPTION_NETWORK", 27));
03404 #endif
03405 #ifdef SO_SECURITY_ENCRYPTION_TRANSPORT
03406 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_SECURITY_ENCRYPTION_TRANSPORT, (st_data_t)rb_intern2("SECURITY_ENCRYPTION_TRANSPORT", 29));
03407 #endif
03408 #ifdef SO_SECURITY_AUTHENTICATION
03409 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_SECURITY_AUTHENTICATION, (st_data_t)rb_intern2("SECURITY_AUTHENTICATION", 23));
03410 #endif
03411 #ifdef SO_NOSIGPIPE
03412 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_NOSIGPIPE, (st_data_t)rb_intern2("NOSIGPIPE", 9));
03413 #endif
03414 #ifdef SO_NKE
03415 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_NKE, (st_data_t)rb_intern2("NKE", 3));
03416 #endif
03417 #ifdef SO_NREAD
03418 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_NREAD, (st_data_t)rb_intern2("NREAD", 5));
03419 #endif
03420 #ifdef SO_WANTOOBFLAG
03421 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_WANTOOBFLAG, (st_data_t)rb_intern2("WANTOOBFLAG", 11));
03422 #endif
03423 #ifdef SO_WANTMORE
03424 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_WANTMORE, (st_data_t)rb_intern2("WANTMORE", 8));
03425 #endif
03426 #ifdef SO_DONTTRUNC
03427 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_DONTTRUNC, (st_data_t)rb_intern2("DONTTRUNC", 9));
03428 #endif
03429 #ifdef SO_ACCEPTFILTER
03430 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_ACCEPTFILTER, (st_data_t)rb_intern2("ACCEPTFILTER", 12));
03431 #endif
03432 #ifdef SO_USELOOPBACK
03433 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_USELOOPBACK, (st_data_t)rb_intern2("USELOOPBACK", 11));
03434 #endif
03435 #ifdef SO_ACCEPTCONN
03436 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_ACCEPTCONN, (st_data_t)rb_intern2("ACCEPTCONN", 10));
03437 #endif
03438 #ifdef SO_SNDTIMEO
03439 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_SNDTIMEO, (st_data_t)rb_intern2("SNDTIMEO", 8));
03440 #endif
03441 #ifdef SO_RCVTIMEO
03442 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_RCVTIMEO, (st_data_t)rb_intern2("RCVTIMEO", 8));
03443 #endif
03444 #ifdef SO_SNDLOWAT
03445 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_SNDLOWAT, (st_data_t)rb_intern2("SNDLOWAT", 8));
03446 #endif
03447 #ifdef SO_RCVLOWAT
03448 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_RCVLOWAT, (st_data_t)rb_intern2("RCVLOWAT", 8));
03449 #endif
03450 #ifdef SO_PEERCRED
03451 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_PEERCRED, (st_data_t)rb_intern2("PEERCRED", 8));
03452 #endif
03453 #ifdef SO_PASSCRED
03454 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_PASSCRED, (st_data_t)rb_intern2("PASSCRED", 8));
03455 #endif
03456 #ifdef SO_LINGER
03457 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_LINGER, (st_data_t)rb_intern2("LINGER", 6));
03458 #endif
03459 #ifdef SO_PRIORITY
03460 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_PRIORITY, (st_data_t)rb_intern2("PRIORITY", 8));
03461 #endif
03462 #ifdef SO_NO_CHECK
03463 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_NO_CHECK, (st_data_t)rb_intern2("NO_CHECK", 8));
03464 #endif
03465 #ifdef SO_OOBINLINE
03466 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_OOBINLINE, (st_data_t)rb_intern2("OOBINLINE", 9));
03467 #endif
03468 #ifdef SO_KEEPALIVE
03469 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_KEEPALIVE, (st_data_t)rb_intern2("KEEPALIVE", 9));
03470 #endif
03471 #ifdef SO_RCVBUF
03472 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_RCVBUF, (st_data_t)rb_intern2("RCVBUF", 6));
03473 #endif
03474 #ifdef SO_SNDBUF
03475 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_SNDBUF, (st_data_t)rb_intern2("SNDBUF", 6));
03476 #endif
03477 #ifdef SO_BROADCAST
03478 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_BROADCAST, (st_data_t)rb_intern2("BROADCAST", 9));
03479 #endif
03480 #ifdef SO_DONTROUTE
03481 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_DONTROUTE, (st_data_t)rb_intern2("DONTROUTE", 9));
03482 #endif
03483 #ifdef SO_ERROR
03484 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_ERROR, (st_data_t)rb_intern2("ERROR", 5));
03485 #endif
03486 #ifdef SO_TYPE
03487 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_TYPE, (st_data_t)rb_intern2("TYPE", 4));
03488 #endif
03489 #ifdef SO_REUSEPORT
03490 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_REUSEPORT, (st_data_t)rb_intern2("REUSEPORT", 9));
03491 #endif
03492 #ifdef SO_REUSEADDR
03493 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_REUSEADDR, (st_data_t)rb_intern2("REUSEADDR", 9));
03494 #endif
03495 #ifdef SO_DEBUG
03496 st_insert(rsock_intern_so_optname_hash, (st_data_t)SO_DEBUG, (st_data_t)rb_intern2("DEBUG", 5));
03497 #endif
03498
03499 rsock_intern_ip_optname_hash = st_init_numtable();
03500 #ifdef IP_MSFILTER
03501 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_MSFILTER, (st_data_t)rb_intern2("IP_MSFILTER", 11));
03502 #endif
03503 #ifdef IP_DROP_SOURCE_MEMBERSHIP
03504 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_DROP_SOURCE_MEMBERSHIP, (st_data_t)rb_intern2("IP_DROP_SOURCE_MEMBERSHIP", 25));
03505 #endif
03506 #ifdef IP_ADD_SOURCE_MEMBERSHIP
03507 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_ADD_SOURCE_MEMBERSHIP, (st_data_t)rb_intern2("IP_ADD_SOURCE_MEMBERSHIP", 24));
03508 #endif
03509 #ifdef IP_BLOCK_SOURCE
03510 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_BLOCK_SOURCE, (st_data_t)rb_intern2("IP_BLOCK_SOURCE", 15));
03511 #endif
03512 #ifdef IP_UNBLOCK_SOURCE
03513 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_UNBLOCK_SOURCE, (st_data_t)rb_intern2("IP_UNBLOCK_SOURCE", 17));
03514 #endif
03515 #ifdef IP_PMTUDISC_DO
03516 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_PMTUDISC_DO, (st_data_t)rb_intern2("IP_PMTUDISC_DO", 14));
03517 #endif
03518 #ifdef IP_PMTUDISC_WANT
03519 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_PMTUDISC_WANT, (st_data_t)rb_intern2("IP_PMTUDISC_WANT", 16));
03520 #endif
03521 #ifdef IP_PMTUDISC_DONT
03522 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_PMTUDISC_DONT, (st_data_t)rb_intern2("IP_PMTUDISC_DONT", 16));
03523 #endif
03524 #ifdef IP_PASSSEC
03525 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_PASSSEC, (st_data_t)rb_intern2("IP_PASSSEC", 10));
03526 #endif
03527 #ifdef IP_XFRM_POLICY
03528 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_XFRM_POLICY, (st_data_t)rb_intern2("IP_XFRM_POLICY", 14));
03529 #endif
03530 #ifdef IP_IPSEC_POLICY
03531 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_IPSEC_POLICY, (st_data_t)rb_intern2("IP_IPSEC_POLICY", 15));
03532 #endif
03533 #ifdef IP_FREEBIND
03534 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_FREEBIND, (st_data_t)rb_intern2("IP_FREEBIND", 11));
03535 #endif
03536 #ifdef IP_MTU
03537 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_MTU, (st_data_t)rb_intern2("IP_MTU", 6));
03538 #endif
03539 #ifdef IP_RECVTOS
03540 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_RECVTOS, (st_data_t)rb_intern2("IP_RECVTOS", 10));
03541 #endif
03542 #ifdef IP_RECVERR
03543 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_RECVERR, (st_data_t)rb_intern2("IP_RECVERR", 10));
03544 #endif
03545 #ifdef IP_MTU_DISCOVER
03546 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_MTU_DISCOVER, (st_data_t)rb_intern2("IP_MTU_DISCOVER", 15));
03547 #endif
03548 #ifdef IP_PKTOPTIONS
03549 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_PKTOPTIONS, (st_data_t)rb_intern2("IP_PKTOPTIONS", 13));
03550 #endif
03551 #ifdef IP_PKTINFO
03552 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_PKTINFO, (st_data_t)rb_intern2("IP_PKTINFO", 10));
03553 #endif
03554 #ifdef IP_ROUTER_ALERT
03555 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_ROUTER_ALERT, (st_data_t)rb_intern2("IP_ROUTER_ALERT", 15));
03556 #endif
03557 #ifdef IP_MAX_MEMBERSHIPS
03558 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_MAX_MEMBERSHIPS, (st_data_t)rb_intern2("IP_MAX_MEMBERSHIPS", 18));
03559 #endif
03560 #ifdef IP_DEFAULT_MULTICAST_LOOP
03561 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_DEFAULT_MULTICAST_LOOP, (st_data_t)rb_intern2("IP_DEFAULT_MULTICAST_LOOP", 25));
03562 #endif
03563 #ifdef IP_DEFAULT_MULTICAST_TTL
03564 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_DEFAULT_MULTICAST_TTL, (st_data_t)rb_intern2("IP_DEFAULT_MULTICAST_TTL", 24));
03565 #endif
03566 #ifdef IP_DROP_MEMBERSHIP
03567 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_DROP_MEMBERSHIP, (st_data_t)rb_intern2("IP_DROP_MEMBERSHIP", 18));
03568 #endif
03569 #ifdef IP_ADD_MEMBERSHIP
03570 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_ADD_MEMBERSHIP, (st_data_t)rb_intern2("IP_ADD_MEMBERSHIP", 17));
03571 #endif
03572 #ifdef IP_MULTICAST_LOOP
03573 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_MULTICAST_LOOP, (st_data_t)rb_intern2("IP_MULTICAST_LOOP", 17));
03574 #endif
03575 #ifdef IP_MULTICAST_TTL
03576 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_MULTICAST_TTL, (st_data_t)rb_intern2("IP_MULTICAST_TTL", 16));
03577 #endif
03578 #ifdef IP_MULTICAST_IF
03579 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_MULTICAST_IF, (st_data_t)rb_intern2("IP_MULTICAST_IF", 15));
03580 #endif
03581 #ifdef IP_PORTRANGE
03582 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_PORTRANGE, (st_data_t)rb_intern2("IP_PORTRANGE", 12));
03583 #endif
03584 #ifdef IP_RECVSLLA
03585 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_RECVSLLA, (st_data_t)rb_intern2("IP_RECVSLLA", 11));
03586 #endif
03587 #ifdef IP_RECVIF
03588 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_RECVIF, (st_data_t)rb_intern2("IP_RECVIF", 9));
03589 #endif
03590 #ifdef IP_RECVTTL
03591 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_RECVTTL, (st_data_t)rb_intern2("IP_RECVTTL", 10));
03592 #endif
03593 #ifdef IP_ONESBCAST
03594 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_ONESBCAST, (st_data_t)rb_intern2("IP_ONESBCAST", 12));
03595 #endif
03596 #ifdef IP_SENDSRCADDR
03597 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_SENDSRCADDR, (st_data_t)rb_intern2("IP_SENDSRCADDR", 14));
03598 #endif
03599 #ifdef IP_DONTFRAG
03600 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_DONTFRAG, (st_data_t)rb_intern2("IP_DONTFRAG", 11));
03601 #endif
03602 #ifdef IP_MINTTL
03603 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_MINTTL, (st_data_t)rb_intern2("IP_MINTTL", 9));
03604 #endif
03605 #ifdef IP_RETOPTS
03606 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_RETOPTS, (st_data_t)rb_intern2("IP_RETOPTS", 10));
03607 #endif
03608 #ifdef IP_RECVDSTADDR
03609 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_RECVDSTADDR, (st_data_t)rb_intern2("IP_RECVDSTADDR", 14));
03610 #endif
03611 #ifdef IP_RECVRETOPTS
03612 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_RECVRETOPTS, (st_data_t)rb_intern2("IP_RECVRETOPTS", 14));
03613 #endif
03614 #ifdef IP_RECVOPTS
03615 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_RECVOPTS, (st_data_t)rb_intern2("IP_RECVOPTS", 11));
03616 #endif
03617 #ifdef IP_TTL
03618 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_TTL, (st_data_t)rb_intern2("IP_TTL", 6));
03619 #endif
03620 #ifdef IP_TOS
03621 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_TOS, (st_data_t)rb_intern2("IP_TOS", 6));
03622 #endif
03623 #ifdef IP_HDRINCL
03624 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_HDRINCL, (st_data_t)rb_intern2("IP_HDRINCL", 10));
03625 #endif
03626 #ifdef IP_OPTIONS
03627 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_OPTIONS, (st_data_t)rb_intern2("IP_OPTIONS", 10));
03628 #endif
03629 #ifdef IP_MSFILTER
03630 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_MSFILTER, (st_data_t)rb_intern2("MSFILTER", 8));
03631 #endif
03632 #ifdef IP_DROP_SOURCE_MEMBERSHIP
03633 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_DROP_SOURCE_MEMBERSHIP, (st_data_t)rb_intern2("DROP_SOURCE_MEMBERSHIP", 22));
03634 #endif
03635 #ifdef IP_ADD_SOURCE_MEMBERSHIP
03636 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_ADD_SOURCE_MEMBERSHIP, (st_data_t)rb_intern2("ADD_SOURCE_MEMBERSHIP", 21));
03637 #endif
03638 #ifdef IP_BLOCK_SOURCE
03639 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_BLOCK_SOURCE, (st_data_t)rb_intern2("BLOCK_SOURCE", 12));
03640 #endif
03641 #ifdef IP_UNBLOCK_SOURCE
03642 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_UNBLOCK_SOURCE, (st_data_t)rb_intern2("UNBLOCK_SOURCE", 14));
03643 #endif
03644 #ifdef IP_PMTUDISC_DO
03645 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_PMTUDISC_DO, (st_data_t)rb_intern2("PMTUDISC_DO", 11));
03646 #endif
03647 #ifdef IP_PMTUDISC_WANT
03648 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_PMTUDISC_WANT, (st_data_t)rb_intern2("PMTUDISC_WANT", 13));
03649 #endif
03650 #ifdef IP_PMTUDISC_DONT
03651 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_PMTUDISC_DONT, (st_data_t)rb_intern2("PMTUDISC_DONT", 13));
03652 #endif
03653 #ifdef IP_PASSSEC
03654 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_PASSSEC, (st_data_t)rb_intern2("PASSSEC", 7));
03655 #endif
03656 #ifdef IP_XFRM_POLICY
03657 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_XFRM_POLICY, (st_data_t)rb_intern2("XFRM_POLICY", 11));
03658 #endif
03659 #ifdef IP_IPSEC_POLICY
03660 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_IPSEC_POLICY, (st_data_t)rb_intern2("IPSEC_POLICY", 12));
03661 #endif
03662 #ifdef IP_FREEBIND
03663 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_FREEBIND, (st_data_t)rb_intern2("FREEBIND", 8));
03664 #endif
03665 #ifdef IP_MTU
03666 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_MTU, (st_data_t)rb_intern2("MTU", 3));
03667 #endif
03668 #ifdef IP_RECVTOS
03669 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_RECVTOS, (st_data_t)rb_intern2("RECVTOS", 7));
03670 #endif
03671 #ifdef IP_RECVERR
03672 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_RECVERR, (st_data_t)rb_intern2("RECVERR", 7));
03673 #endif
03674 #ifdef IP_MTU_DISCOVER
03675 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_MTU_DISCOVER, (st_data_t)rb_intern2("MTU_DISCOVER", 12));
03676 #endif
03677 #ifdef IP_PKTOPTIONS
03678 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_PKTOPTIONS, (st_data_t)rb_intern2("PKTOPTIONS", 10));
03679 #endif
03680 #ifdef IP_PKTINFO
03681 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_PKTINFO, (st_data_t)rb_intern2("PKTINFO", 7));
03682 #endif
03683 #ifdef IP_ROUTER_ALERT
03684 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_ROUTER_ALERT, (st_data_t)rb_intern2("ROUTER_ALERT", 12));
03685 #endif
03686 #ifdef IP_MAX_MEMBERSHIPS
03687 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_MAX_MEMBERSHIPS, (st_data_t)rb_intern2("MAX_MEMBERSHIPS", 15));
03688 #endif
03689 #ifdef IP_DEFAULT_MULTICAST_LOOP
03690 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_DEFAULT_MULTICAST_LOOP, (st_data_t)rb_intern2("DEFAULT_MULTICAST_LOOP", 22));
03691 #endif
03692 #ifdef IP_DEFAULT_MULTICAST_TTL
03693 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_DEFAULT_MULTICAST_TTL, (st_data_t)rb_intern2("DEFAULT_MULTICAST_TTL", 21));
03694 #endif
03695 #ifdef IP_DROP_MEMBERSHIP
03696 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_DROP_MEMBERSHIP, (st_data_t)rb_intern2("DROP_MEMBERSHIP", 15));
03697 #endif
03698 #ifdef IP_ADD_MEMBERSHIP
03699 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_ADD_MEMBERSHIP, (st_data_t)rb_intern2("ADD_MEMBERSHIP", 14));
03700 #endif
03701 #ifdef IP_MULTICAST_LOOP
03702 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_MULTICAST_LOOP, (st_data_t)rb_intern2("MULTICAST_LOOP", 14));
03703 #endif
03704 #ifdef IP_MULTICAST_TTL
03705 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_MULTICAST_TTL, (st_data_t)rb_intern2("MULTICAST_TTL", 13));
03706 #endif
03707 #ifdef IP_MULTICAST_IF
03708 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_MULTICAST_IF, (st_data_t)rb_intern2("MULTICAST_IF", 12));
03709 #endif
03710 #ifdef IP_PORTRANGE
03711 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_PORTRANGE, (st_data_t)rb_intern2("PORTRANGE", 9));
03712 #endif
03713 #ifdef IP_RECVSLLA
03714 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_RECVSLLA, (st_data_t)rb_intern2("RECVSLLA", 8));
03715 #endif
03716 #ifdef IP_RECVIF
03717 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_RECVIF, (st_data_t)rb_intern2("RECVIF", 6));
03718 #endif
03719 #ifdef IP_RECVTTL
03720 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_RECVTTL, (st_data_t)rb_intern2("RECVTTL", 7));
03721 #endif
03722 #ifdef IP_ONESBCAST
03723 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_ONESBCAST, (st_data_t)rb_intern2("ONESBCAST", 9));
03724 #endif
03725 #ifdef IP_SENDSRCADDR
03726 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_SENDSRCADDR, (st_data_t)rb_intern2("SENDSRCADDR", 11));
03727 #endif
03728 #ifdef IP_DONTFRAG
03729 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_DONTFRAG, (st_data_t)rb_intern2("DONTFRAG", 8));
03730 #endif
03731 #ifdef IP_MINTTL
03732 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_MINTTL, (st_data_t)rb_intern2("MINTTL", 6));
03733 #endif
03734 #ifdef IP_RETOPTS
03735 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_RETOPTS, (st_data_t)rb_intern2("RETOPTS", 7));
03736 #endif
03737 #ifdef IP_RECVDSTADDR
03738 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_RECVDSTADDR, (st_data_t)rb_intern2("RECVDSTADDR", 11));
03739 #endif
03740 #ifdef IP_RECVRETOPTS
03741 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_RECVRETOPTS, (st_data_t)rb_intern2("RECVRETOPTS", 11));
03742 #endif
03743 #ifdef IP_RECVOPTS
03744 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_RECVOPTS, (st_data_t)rb_intern2("RECVOPTS", 8));
03745 #endif
03746 #ifdef IP_TTL
03747 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_TTL, (st_data_t)rb_intern2("TTL", 3));
03748 #endif
03749 #ifdef IP_TOS
03750 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_TOS, (st_data_t)rb_intern2("TOS", 3));
03751 #endif
03752 #ifdef IP_HDRINCL
03753 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_HDRINCL, (st_data_t)rb_intern2("HDRINCL", 7));
03754 #endif
03755 #ifdef IP_OPTIONS
03756 st_insert(rsock_intern_ip_optname_hash, (st_data_t)IP_OPTIONS, (st_data_t)rb_intern2("OPTIONS", 7));
03757 #endif
03758
03759 rsock_intern_ipv6_optname_hash = st_init_numtable();
03760 #ifdef IPV6_USE_MIN_MTU
03761 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_USE_MIN_MTU, (st_data_t)rb_intern2("IPV6_USE_MIN_MTU", 16));
03762 #endif
03763 #ifdef IPV6_TCLASS
03764 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_TCLASS, (st_data_t)rb_intern2("IPV6_TCLASS", 11));
03765 #endif
03766 #ifdef IPV6_RECVPATHMTU
03767 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_RECVPATHMTU, (st_data_t)rb_intern2("IPV6_RECVPATHMTU", 16));
03768 #endif
03769 #ifdef IPV6_RTHDR_TYPE_0
03770 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_RTHDR_TYPE_0, (st_data_t)rb_intern2("IPV6_RTHDR_TYPE_0", 17));
03771 #endif
03772 #ifdef IPV6_RTHDRDSTOPTS
03773 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_RTHDRDSTOPTS, (st_data_t)rb_intern2("IPV6_RTHDRDSTOPTS", 17));
03774 #endif
03775 #ifdef IPV6_RTHDR
03776 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_RTHDR, (st_data_t)rb_intern2("IPV6_RTHDR", 10));
03777 #endif
03778 #ifdef IPV6_RECVTCLASS
03779 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_RECVTCLASS, (st_data_t)rb_intern2("IPV6_RECVTCLASS", 15));
03780 #endif
03781 #ifdef IPV6_RECVRTHDR
03782 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_RECVRTHDR, (st_data_t)rb_intern2("IPV6_RECVRTHDR", 14));
03783 #endif
03784 #ifdef IPV6_RECVPKTINFO
03785 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_RECVPKTINFO, (st_data_t)rb_intern2("IPV6_RECVPKTINFO", 16));
03786 #endif
03787 #ifdef IPV6_RECVHOPOPTS
03788 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_RECVHOPOPTS, (st_data_t)rb_intern2("IPV6_RECVHOPOPTS", 16));
03789 #endif
03790 #ifdef IPV6_RECVHOPLIMIT
03791 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_RECVHOPLIMIT, (st_data_t)rb_intern2("IPV6_RECVHOPLIMIT", 17));
03792 #endif
03793 #ifdef IPV6_RECVDSTOPTS
03794 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_RECVDSTOPTS, (st_data_t)rb_intern2("IPV6_RECVDSTOPTS", 16));
03795 #endif
03796 #ifdef IPV6_PKTINFO
03797 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_PKTINFO, (st_data_t)rb_intern2("IPV6_PKTINFO", 12));
03798 #endif
03799 #ifdef IPV6_PATHMTU
03800 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_PATHMTU, (st_data_t)rb_intern2("IPV6_PATHMTU", 12));
03801 #endif
03802 #ifdef IPV6_NEXTHOP
03803 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_NEXTHOP, (st_data_t)rb_intern2("IPV6_NEXTHOP", 12));
03804 #endif
03805 #ifdef IPV6_HOPOPTS
03806 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_HOPOPTS, (st_data_t)rb_intern2("IPV6_HOPOPTS", 12));
03807 #endif
03808 #ifdef IPV6_HOPLIMIT
03809 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_HOPLIMIT, (st_data_t)rb_intern2("IPV6_HOPLIMIT", 13));
03810 #endif
03811 #ifdef IPV6_DSTOPTS
03812 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_DSTOPTS, (st_data_t)rb_intern2("IPV6_DSTOPTS", 12));
03813 #endif
03814 #ifdef IPV6_DONTFRAG
03815 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_DONTFRAG, (st_data_t)rb_intern2("IPV6_DONTFRAG", 13));
03816 #endif
03817 #ifdef IPV6_CHECKSUM
03818 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_CHECKSUM, (st_data_t)rb_intern2("IPV6_CHECKSUM", 13));
03819 #endif
03820 #ifdef IPV6_V6ONLY
03821 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_V6ONLY, (st_data_t)rb_intern2("IPV6_V6ONLY", 11));
03822 #endif
03823 #ifdef IPV6_UNICAST_HOPS
03824 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_UNICAST_HOPS, (st_data_t)rb_intern2("IPV6_UNICAST_HOPS", 17));
03825 #endif
03826 #ifdef IPV6_MULTICAST_LOOP
03827 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_MULTICAST_LOOP, (st_data_t)rb_intern2("IPV6_MULTICAST_LOOP", 19));
03828 #endif
03829 #ifdef IPV6_MULTICAST_IF
03830 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_MULTICAST_IF, (st_data_t)rb_intern2("IPV6_MULTICAST_IF", 17));
03831 #endif
03832 #ifdef IPV6_MULTICAST_HOPS
03833 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_MULTICAST_HOPS, (st_data_t)rb_intern2("IPV6_MULTICAST_HOPS", 19));
03834 #endif
03835 #ifdef IPV6_LEAVE_GROUP
03836 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_LEAVE_GROUP, (st_data_t)rb_intern2("IPV6_LEAVE_GROUP", 16));
03837 #endif
03838 #ifdef IPV6_JOIN_GROUP
03839 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_JOIN_GROUP, (st_data_t)rb_intern2("IPV6_JOIN_GROUP", 15));
03840 #endif
03841 #ifdef IPV6_USE_MIN_MTU
03842 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_USE_MIN_MTU, (st_data_t)rb_intern2("USE_MIN_MTU", 11));
03843 #endif
03844 #ifdef IPV6_TCLASS
03845 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_TCLASS, (st_data_t)rb_intern2("TCLASS", 6));
03846 #endif
03847 #ifdef IPV6_RECVPATHMTU
03848 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_RECVPATHMTU, (st_data_t)rb_intern2("RECVPATHMTU", 11));
03849 #endif
03850 #ifdef IPV6_RTHDR_TYPE_0
03851 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_RTHDR_TYPE_0, (st_data_t)rb_intern2("RTHDR_TYPE_0", 12));
03852 #endif
03853 #ifdef IPV6_RTHDRDSTOPTS
03854 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_RTHDRDSTOPTS, (st_data_t)rb_intern2("RTHDRDSTOPTS", 12));
03855 #endif
03856 #ifdef IPV6_RTHDR
03857 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_RTHDR, (st_data_t)rb_intern2("RTHDR", 5));
03858 #endif
03859 #ifdef IPV6_RECVTCLASS
03860 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_RECVTCLASS, (st_data_t)rb_intern2("RECVTCLASS", 10));
03861 #endif
03862 #ifdef IPV6_RECVRTHDR
03863 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_RECVRTHDR, (st_data_t)rb_intern2("RECVRTHDR", 9));
03864 #endif
03865 #ifdef IPV6_RECVPKTINFO
03866 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_RECVPKTINFO, (st_data_t)rb_intern2("RECVPKTINFO", 11));
03867 #endif
03868 #ifdef IPV6_RECVHOPOPTS
03869 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_RECVHOPOPTS, (st_data_t)rb_intern2("RECVHOPOPTS", 11));
03870 #endif
03871 #ifdef IPV6_RECVHOPLIMIT
03872 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_RECVHOPLIMIT, (st_data_t)rb_intern2("RECVHOPLIMIT", 12));
03873 #endif
03874 #ifdef IPV6_RECVDSTOPTS
03875 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_RECVDSTOPTS, (st_data_t)rb_intern2("RECVDSTOPTS", 11));
03876 #endif
03877 #ifdef IPV6_PKTINFO
03878 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_PKTINFO, (st_data_t)rb_intern2("PKTINFO", 7));
03879 #endif
03880 #ifdef IPV6_PATHMTU
03881 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_PATHMTU, (st_data_t)rb_intern2("PATHMTU", 7));
03882 #endif
03883 #ifdef IPV6_NEXTHOP
03884 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_NEXTHOP, (st_data_t)rb_intern2("NEXTHOP", 7));
03885 #endif
03886 #ifdef IPV6_HOPOPTS
03887 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_HOPOPTS, (st_data_t)rb_intern2("HOPOPTS", 7));
03888 #endif
03889 #ifdef IPV6_HOPLIMIT
03890 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_HOPLIMIT, (st_data_t)rb_intern2("HOPLIMIT", 8));
03891 #endif
03892 #ifdef IPV6_DSTOPTS
03893 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_DSTOPTS, (st_data_t)rb_intern2("DSTOPTS", 7));
03894 #endif
03895 #ifdef IPV6_DONTFRAG
03896 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_DONTFRAG, (st_data_t)rb_intern2("DONTFRAG", 8));
03897 #endif
03898 #ifdef IPV6_CHECKSUM
03899 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_CHECKSUM, (st_data_t)rb_intern2("CHECKSUM", 8));
03900 #endif
03901 #ifdef IPV6_V6ONLY
03902 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_V6ONLY, (st_data_t)rb_intern2("V6ONLY", 6));
03903 #endif
03904 #ifdef IPV6_UNICAST_HOPS
03905 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_UNICAST_HOPS, (st_data_t)rb_intern2("UNICAST_HOPS", 12));
03906 #endif
03907 #ifdef IPV6_MULTICAST_LOOP
03908 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_MULTICAST_LOOP, (st_data_t)rb_intern2("MULTICAST_LOOP", 14));
03909 #endif
03910 #ifdef IPV6_MULTICAST_IF
03911 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_MULTICAST_IF, (st_data_t)rb_intern2("MULTICAST_IF", 12));
03912 #endif
03913 #ifdef IPV6_MULTICAST_HOPS
03914 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_MULTICAST_HOPS, (st_data_t)rb_intern2("MULTICAST_HOPS", 14));
03915 #endif
03916 #ifdef IPV6_LEAVE_GROUP
03917 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_LEAVE_GROUP, (st_data_t)rb_intern2("LEAVE_GROUP", 11));
03918 #endif
03919 #ifdef IPV6_JOIN_GROUP
03920 st_insert(rsock_intern_ipv6_optname_hash, (st_data_t)IPV6_JOIN_GROUP, (st_data_t)rb_intern2("JOIN_GROUP", 10));
03921 #endif
03922
03923 rsock_intern_tcp_optname_hash = st_init_numtable();
03924 #ifdef TCP_FASTOPEN
03925 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_FASTOPEN, (st_data_t)rb_intern2("TCP_FASTOPEN", 12));
03926 #endif
03927 #ifdef TCP_WINDOW_CLAMP
03928 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_WINDOW_CLAMP, (st_data_t)rb_intern2("TCP_WINDOW_CLAMP", 16));
03929 #endif
03930 #ifdef TCP_SYNCNT
03931 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_SYNCNT, (st_data_t)rb_intern2("TCP_SYNCNT", 10));
03932 #endif
03933 #ifdef TCP_QUICKACK
03934 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_QUICKACK, (st_data_t)rb_intern2("TCP_QUICKACK", 12));
03935 #endif
03936 #ifdef TCP_NOPUSH
03937 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_NOPUSH, (st_data_t)rb_intern2("TCP_NOPUSH", 10));
03938 #endif
03939 #ifdef TCP_NOOPT
03940 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_NOOPT, (st_data_t)rb_intern2("TCP_NOOPT", 9));
03941 #endif
03942 #ifdef TCP_MD5SIG
03943 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_MD5SIG, (st_data_t)rb_intern2("TCP_MD5SIG", 10));
03944 #endif
03945 #ifdef TCP_LINGER2
03946 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_LINGER2, (st_data_t)rb_intern2("TCP_LINGER2", 11));
03947 #endif
03948 #ifdef TCP_KEEPINTVL
03949 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_KEEPINTVL, (st_data_t)rb_intern2("TCP_KEEPINTVL", 13));
03950 #endif
03951 #ifdef TCP_KEEPIDLE
03952 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_KEEPIDLE, (st_data_t)rb_intern2("TCP_KEEPIDLE", 12));
03953 #endif
03954 #ifdef TCP_KEEPCNT
03955 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_KEEPCNT, (st_data_t)rb_intern2("TCP_KEEPCNT", 11));
03956 #endif
03957 #ifdef TCP_INFO
03958 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_INFO, (st_data_t)rb_intern2("TCP_INFO", 8));
03959 #endif
03960 #ifdef TCP_DEFER_ACCEPT
03961 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_DEFER_ACCEPT, (st_data_t)rb_intern2("TCP_DEFER_ACCEPT", 16));
03962 #endif
03963 #ifdef TCP_CORK
03964 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_CORK, (st_data_t)rb_intern2("TCP_CORK", 8));
03965 #endif
03966 #ifdef TCP_MAXSEG
03967 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_MAXSEG, (st_data_t)rb_intern2("TCP_MAXSEG", 10));
03968 #endif
03969 #ifdef TCP_NODELAY
03970 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_NODELAY, (st_data_t)rb_intern2("TCP_NODELAY", 11));
03971 #endif
03972 #ifdef TCP_FASTOPEN
03973 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_FASTOPEN, (st_data_t)rb_intern2("FASTOPEN", 8));
03974 #endif
03975 #ifdef TCP_WINDOW_CLAMP
03976 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_WINDOW_CLAMP, (st_data_t)rb_intern2("WINDOW_CLAMP", 12));
03977 #endif
03978 #ifdef TCP_SYNCNT
03979 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_SYNCNT, (st_data_t)rb_intern2("SYNCNT", 6));
03980 #endif
03981 #ifdef TCP_QUICKACK
03982 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_QUICKACK, (st_data_t)rb_intern2("QUICKACK", 8));
03983 #endif
03984 #ifdef TCP_NOPUSH
03985 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_NOPUSH, (st_data_t)rb_intern2("NOPUSH", 6));
03986 #endif
03987 #ifdef TCP_NOOPT
03988 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_NOOPT, (st_data_t)rb_intern2("NOOPT", 5));
03989 #endif
03990 #ifdef TCP_MD5SIG
03991 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_MD5SIG, (st_data_t)rb_intern2("MD5SIG", 6));
03992 #endif
03993 #ifdef TCP_LINGER2
03994 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_LINGER2, (st_data_t)rb_intern2("LINGER2", 7));
03995 #endif
03996 #ifdef TCP_KEEPINTVL
03997 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_KEEPINTVL, (st_data_t)rb_intern2("KEEPINTVL", 9));
03998 #endif
03999 #ifdef TCP_KEEPIDLE
04000 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_KEEPIDLE, (st_data_t)rb_intern2("KEEPIDLE", 8));
04001 #endif
04002 #ifdef TCP_KEEPCNT
04003 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_KEEPCNT, (st_data_t)rb_intern2("KEEPCNT", 7));
04004 #endif
04005 #ifdef TCP_INFO
04006 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_INFO, (st_data_t)rb_intern2("INFO", 4));
04007 #endif
04008 #ifdef TCP_DEFER_ACCEPT
04009 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_DEFER_ACCEPT, (st_data_t)rb_intern2("DEFER_ACCEPT", 12));
04010 #endif
04011 #ifdef TCP_CORK
04012 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_CORK, (st_data_t)rb_intern2("CORK", 4));
04013 #endif
04014 #ifdef TCP_MAXSEG
04015 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_MAXSEG, (st_data_t)rb_intern2("MAXSEG", 6));
04016 #endif
04017 #ifdef TCP_NODELAY
04018 st_insert(rsock_intern_tcp_optname_hash, (st_data_t)TCP_NODELAY, (st_data_t)rb_intern2("NODELAY", 7));
04019 #endif
04020
04021 rsock_intern_udp_optname_hash = st_init_numtable();
04022 #ifdef UDP_CORK
04023 st_insert(rsock_intern_udp_optname_hash, (st_data_t)UDP_CORK, (st_data_t)rb_intern2("UDP_CORK", 8));
04024 #endif
04025 #ifdef UDP_CORK
04026 st_insert(rsock_intern_udp_optname_hash, (st_data_t)UDP_CORK, (st_data_t)rb_intern2("CORK", 4));
04027 #endif
04028
04029 rsock_intern_scm_optname_hash = st_init_numtable();
04030 #ifdef SCM_UCRED
04031 st_insert(rsock_intern_scm_optname_hash, (st_data_t)SCM_UCRED, (st_data_t)rb_intern2("SCM_UCRED", 9));
04032 #endif
04033 #ifdef SCM_CREDS
04034 st_insert(rsock_intern_scm_optname_hash, (st_data_t)SCM_CREDS, (st_data_t)rb_intern2("SCM_CREDS", 9));
04035 #endif
04036 #ifdef SCM_CREDENTIALS
04037 st_insert(rsock_intern_scm_optname_hash, (st_data_t)SCM_CREDENTIALS, (st_data_t)rb_intern2("SCM_CREDENTIALS", 15));
04038 #endif
04039 #ifdef SCM_BINTIME
04040 st_insert(rsock_intern_scm_optname_hash, (st_data_t)SCM_BINTIME, (st_data_t)rb_intern2("SCM_BINTIME", 11));
04041 #endif
04042 #ifdef SCM_TIMESTAMPNS
04043 st_insert(rsock_intern_scm_optname_hash, (st_data_t)SCM_TIMESTAMPNS, (st_data_t)rb_intern2("SCM_TIMESTAMPNS", 15));
04044 #endif
04045 #ifdef SCM_TIMESTAMP
04046 st_insert(rsock_intern_scm_optname_hash, (st_data_t)SCM_TIMESTAMP, (st_data_t)rb_intern2("SCM_TIMESTAMP", 13));
04047 #endif
04048 #ifdef SCM_RIGHTS
04049 st_insert(rsock_intern_scm_optname_hash, (st_data_t)SCM_RIGHTS, (st_data_t)rb_intern2("SCM_RIGHTS", 10));
04050 #endif
04051 #ifdef SCM_UCRED
04052 st_insert(rsock_intern_scm_optname_hash, (st_data_t)SCM_UCRED, (st_data_t)rb_intern2("UCRED", 5));
04053 #endif
04054 #ifdef SCM_CREDS
04055 st_insert(rsock_intern_scm_optname_hash, (st_data_t)SCM_CREDS, (st_data_t)rb_intern2("CREDS", 5));
04056 #endif
04057 #ifdef SCM_CREDENTIALS
04058 st_insert(rsock_intern_scm_optname_hash, (st_data_t)SCM_CREDENTIALS, (st_data_t)rb_intern2("CREDENTIALS", 11));
04059 #endif
04060 #ifdef SCM_BINTIME
04061 st_insert(rsock_intern_scm_optname_hash, (st_data_t)SCM_BINTIME, (st_data_t)rb_intern2("BINTIME", 7));
04062 #endif
04063 #ifdef SCM_TIMESTAMPNS
04064 st_insert(rsock_intern_scm_optname_hash, (st_data_t)SCM_TIMESTAMPNS, (st_data_t)rb_intern2("TIMESTAMPNS", 11));
04065 #endif
04066 #ifdef SCM_TIMESTAMP
04067 st_insert(rsock_intern_scm_optname_hash, (st_data_t)SCM_TIMESTAMP, (st_data_t)rb_intern2("TIMESTAMP", 9));
04068 #endif
04069 #ifdef SCM_RIGHTS
04070 st_insert(rsock_intern_scm_optname_hash, (st_data_t)SCM_RIGHTS, (st_data_t)rb_intern2("RIGHTS", 6));
04071 #endif
04072
04073 rsock_intern_local_optname_hash = st_init_numtable();
04074 #ifdef LOCAL_CONNWAIT
04075 st_insert(rsock_intern_local_optname_hash, (st_data_t)LOCAL_CONNWAIT, (st_data_t)rb_intern2("LOCAL_CONNWAIT", 14));
04076 #endif
04077 #ifdef LOCAL_CREDS
04078 st_insert(rsock_intern_local_optname_hash, (st_data_t)LOCAL_CREDS, (st_data_t)rb_intern2("LOCAL_CREDS", 11));
04079 #endif
04080 #ifdef LOCAL_PEERCRED
04081 st_insert(rsock_intern_local_optname_hash, (st_data_t)LOCAL_PEERCRED, (st_data_t)rb_intern2("LOCAL_PEERCRED", 14));
04082 #endif
04083 #ifdef LOCAL_CONNWAIT
04084 st_insert(rsock_intern_local_optname_hash, (st_data_t)LOCAL_CONNWAIT, (st_data_t)rb_intern2("CONNWAIT", 8));
04085 #endif
04086 #ifdef LOCAL_CREDS
04087 st_insert(rsock_intern_local_optname_hash, (st_data_t)LOCAL_CREDS, (st_data_t)rb_intern2("CREDS", 5));
04088 #endif
04089 #ifdef LOCAL_PEERCRED
04090 st_insert(rsock_intern_local_optname_hash, (st_data_t)LOCAL_PEERCRED, (st_data_t)rb_intern2("PEERCRED", 8));
04091 #endif
04092
04093 }
04094
04095 int
04096 rsock_family_to_int(const char *str, long len, int *valp)
04097 {
04098 switch (len) {
04099 case 2:
04100 #ifdef AF_NS
04101 if (memcmp(str, "NS", 2) == 0) { *valp = AF_NS; return 0; }
04102 #endif
04103 return -1;
04104
04105 case 3:
04106 #ifdef AF_IPX
04107 if (memcmp(str, "IPX", 3) == 0) { *valp = AF_IPX; return 0; }
04108 #endif
04109 #ifdef AF_PUP
04110 if (memcmp(str, "PUP", 3) == 0) { *valp = AF_PUP; return 0; }
04111 #endif
04112 #ifdef AF_ISO
04113 if (memcmp(str, "ISO", 3) == 0) { *valp = AF_ISO; return 0; }
04114 #endif
04115 #ifdef AF_OSI
04116 if (memcmp(str, "OSI", 3) == 0) { *valp = AF_OSI; return 0; }
04117 #endif
04118 #ifdef AF_SNA
04119 if (memcmp(str, "SNA", 3) == 0) { *valp = AF_SNA; return 0; }
04120 #endif
04121 #ifdef AF_DEC
04122 if (memcmp(str, "DEC", 3) == 0) { *valp = AF_DEC; return 0; }
04123 #endif
04124 #ifdef AF_DLI
04125 if (memcmp(str, "DLI", 3) == 0) { *valp = AF_DLI; return 0; }
04126 #endif
04127 #ifdef AF_LAT
04128 if (memcmp(str, "LAT", 3) == 0) { *valp = AF_LAT; return 0; }
04129 #endif
04130 #ifdef AF_CNT
04131 if (memcmp(str, "CNT", 3) == 0) { *valp = AF_CNT; return 0; }
04132 #endif
04133 #ifdef AF_SIP
04134 if (memcmp(str, "SIP", 3) == 0) { *valp = AF_SIP; return 0; }
04135 #endif
04136 #ifdef AF_PPP
04137 if (memcmp(str, "PPP", 3) == 0) { *valp = AF_PPP; return 0; }
04138 #endif
04139 #ifdef AF_ATM
04140 if (memcmp(str, "ATM", 3) == 0) { *valp = AF_ATM; return 0; }
04141 #endif
04142 #ifdef AF_MAX
04143 if (memcmp(str, "MAX", 3) == 0) { *valp = AF_MAX; return 0; }
04144 #endif
04145 return -1;
04146
04147 case 4:
04148 #ifdef AF_INET
04149 if (memcmp(str, "INET", 4) == 0) { *valp = AF_INET; return 0; }
04150 #endif
04151 #ifdef AF_UNIX
04152 if (memcmp(str, "UNIX", 4) == 0) { *valp = AF_UNIX; return 0; }
04153 #endif
04154 #ifdef AF_AX25
04155 if (memcmp(str, "AX25", 4) == 0) { *valp = AF_AX25; return 0; }
04156 #endif
04157 #ifdef AF_ECMA
04158 if (memcmp(str, "ECMA", 4) == 0) { *valp = AF_ECMA; return 0; }
04159 #endif
04160 #ifdef AF_LINK
04161 if (memcmp(str, "LINK", 4) == 0) { *valp = AF_LINK; return 0; }
04162 #endif
04163 #ifdef AF_COIP
04164 if (memcmp(str, "COIP", 4) == 0) { *valp = AF_COIP; return 0; }
04165 #endif
04166 #ifdef AF_NDRV
04167 if (memcmp(str, "NDRV", 4) == 0) { *valp = AF_NDRV; return 0; }
04168 #endif
04169 #ifdef AF_ISDN
04170 if (memcmp(str, "ISDN", 4) == 0) { *valp = AF_ISDN; return 0; }
04171 #endif
04172 #ifdef AF_NATM
04173 if (memcmp(str, "NATM", 4) == 0) { *valp = AF_NATM; return 0; }
04174 #endif
04175 #ifdef AF_E164
04176 if (memcmp(str, "E164", 4) == 0) { *valp = AF_E164; return 0; }
04177 #endif
04178 return -1;
04179
04180 case 5:
04181 #ifdef AF_NS
04182 if (memcmp(str, "AF_NS", 5) == 0) { *valp = AF_NS; return 0; }
04183 #endif
04184 #ifdef PF_NS
04185 if (memcmp(str, "PF_NS", 5) == 0) { *valp = PF_NS; return 0; }
04186 #endif
04187 #ifdef AF_INET6
04188 if (memcmp(str, "INET6", 5) == 0) { *valp = AF_INET6; return 0; }
04189 #endif
04190 #ifdef AF_LOCAL
04191 if (memcmp(str, "LOCAL", 5) == 0) { *valp = AF_LOCAL; return 0; }
04192 #endif
04193 #ifdef AF_CHAOS
04194 if (memcmp(str, "CHAOS", 5) == 0) { *valp = AF_CHAOS; return 0; }
04195 #endif
04196 #ifdef AF_CCITT
04197 if (memcmp(str, "CCITT", 5) == 0) { *valp = AF_CCITT; return 0; }
04198 #endif
04199 #ifdef AF_ROUTE
04200 if (memcmp(str, "ROUTE", 5) == 0) { *valp = AF_ROUTE; return 0; }
04201 #endif
04202 return -1;
04203
04204 case 6:
04205 #ifdef AF_IPX
04206 if (memcmp(str, "AF_IPX", 6) == 0) { *valp = AF_IPX; return 0; }
04207 #endif
04208 #ifdef PF_IPX
04209 if (memcmp(str, "PF_IPX", 6) == 0) { *valp = PF_IPX; return 0; }
04210 #endif
04211 #ifdef AF_PUP
04212 if (memcmp(str, "AF_PUP", 6) == 0) { *valp = AF_PUP; return 0; }
04213 #endif
04214 #ifdef PF_PUP
04215 if (memcmp(str, "PF_PUP", 6) == 0) { *valp = PF_PUP; return 0; }
04216 #endif
04217 #ifdef AF_ISO
04218 if (memcmp(str, "AF_ISO", 6) == 0) { *valp = AF_ISO; return 0; }
04219 #endif
04220 #ifdef PF_ISO
04221 if (memcmp(str, "PF_ISO", 6) == 0) { *valp = PF_ISO; return 0; }
04222 #endif
04223 #ifdef AF_OSI
04224 if (memcmp(str, "AF_OSI", 6) == 0) { *valp = AF_OSI; return 0; }
04225 #endif
04226 #ifdef PF_OSI
04227 if (memcmp(str, "PF_OSI", 6) == 0) { *valp = PF_OSI; return 0; }
04228 #endif
04229 #ifdef AF_SNA
04230 if (memcmp(str, "AF_SNA", 6) == 0) { *valp = AF_SNA; return 0; }
04231 #endif
04232 #ifdef PF_SNA
04233 if (memcmp(str, "PF_SNA", 6) == 0) { *valp = PF_SNA; return 0; }
04234 #endif
04235 #ifdef AF_DEC
04236 if (memcmp(str, "AF_DEC", 6) == 0) { *valp = AF_DEC; return 0; }
04237 #endif
04238 #ifdef PF_DEC
04239 if (memcmp(str, "PF_DEC", 6) == 0) { *valp = PF_DEC; return 0; }
04240 #endif
04241 #ifdef AF_DLI
04242 if (memcmp(str, "AF_DLI", 6) == 0) { *valp = AF_DLI; return 0; }
04243 #endif
04244 #ifdef PF_DLI
04245 if (memcmp(str, "PF_DLI", 6) == 0) { *valp = PF_DLI; return 0; }
04246 #endif
04247 #ifdef AF_LAT
04248 if (memcmp(str, "AF_LAT", 6) == 0) { *valp = AF_LAT; return 0; }
04249 #endif
04250 #ifdef PF_LAT
04251 if (memcmp(str, "PF_LAT", 6) == 0) { *valp = PF_LAT; return 0; }
04252 #endif
04253 #ifdef AF_CNT
04254 if (memcmp(str, "AF_CNT", 6) == 0) { *valp = AF_CNT; return 0; }
04255 #endif
04256 #ifdef PF_CNT
04257 if (memcmp(str, "PF_CNT", 6) == 0) { *valp = PF_CNT; return 0; }
04258 #endif
04259 #ifdef AF_SIP
04260 if (memcmp(str, "AF_SIP", 6) == 0) { *valp = AF_SIP; return 0; }
04261 #endif
04262 #ifdef PF_SIP
04263 if (memcmp(str, "PF_SIP", 6) == 0) { *valp = PF_SIP; return 0; }
04264 #endif
04265 #ifdef AF_PPP
04266 if (memcmp(str, "AF_PPP", 6) == 0) { *valp = AF_PPP; return 0; }
04267 #endif
04268 #ifdef PF_PPP
04269 if (memcmp(str, "PF_PPP", 6) == 0) { *valp = PF_PPP; return 0; }
04270 #endif
04271 #ifdef AF_ATM
04272 if (memcmp(str, "AF_ATM", 6) == 0) { *valp = AF_ATM; return 0; }
04273 #endif
04274 #ifdef PF_ATM
04275 if (memcmp(str, "PF_ATM", 6) == 0) { *valp = PF_ATM; return 0; }
04276 #endif
04277 #ifdef AF_MAX
04278 if (memcmp(str, "AF_MAX", 6) == 0) { *valp = AF_MAX; return 0; }
04279 #endif
04280 #ifdef PF_MAX
04281 if (memcmp(str, "PF_MAX", 6) == 0) { *valp = PF_MAX; return 0; }
04282 #endif
04283 #ifdef PF_XTP
04284 if (memcmp(str, "PF_XTP", 6) == 0) { *valp = PF_XTP; return 0; }
04285 #endif
04286 #ifdef PF_PIP
04287 if (memcmp(str, "PF_PIP", 6) == 0) { *valp = PF_PIP; return 0; }
04288 #endif
04289 #ifdef PF_KEY
04290 if (memcmp(str, "PF_KEY", 6) == 0) { *valp = PF_KEY; return 0; }
04291 #endif
04292 #ifdef AF_UNSPEC
04293 if (memcmp(str, "UNSPEC", 6) == 0) { *valp = AF_UNSPEC; return 0; }
04294 #endif
04295 #ifdef AF_HYLINK
04296 if (memcmp(str, "HYLINK", 6) == 0) { *valp = AF_HYLINK; return 0; }
04297 #endif
04298 #ifdef AF_SYSTEM
04299 if (memcmp(str, "SYSTEM", 6) == 0) { *valp = AF_SYSTEM; return 0; }
04300 #endif
04301 #ifdef AF_PACKET
04302 if (memcmp(str, "PACKET", 6) == 0) { *valp = AF_PACKET; return 0; }
04303 #endif
04304 return -1;
04305
04306 case 7:
04307 #ifdef AF_INET
04308 if (memcmp(str, "AF_INET", 7) == 0) { *valp = AF_INET; return 0; }
04309 #endif
04310 #ifdef PF_INET
04311 if (memcmp(str, "PF_INET", 7) == 0) { *valp = PF_INET; return 0; }
04312 #endif
04313 #ifdef AF_UNIX
04314 if (memcmp(str, "AF_UNIX", 7) == 0) { *valp = AF_UNIX; return 0; }
04315 #endif
04316 #ifdef PF_UNIX
04317 if (memcmp(str, "PF_UNIX", 7) == 0) { *valp = PF_UNIX; return 0; }
04318 #endif
04319 #ifdef AF_AX25
04320 if (memcmp(str, "AF_AX25", 7) == 0) { *valp = AF_AX25; return 0; }
04321 #endif
04322 #ifdef PF_AX25
04323 if (memcmp(str, "PF_AX25", 7) == 0) { *valp = PF_AX25; return 0; }
04324 #endif
04325 #ifdef AF_ECMA
04326 if (memcmp(str, "AF_ECMA", 7) == 0) { *valp = AF_ECMA; return 0; }
04327 #endif
04328 #ifdef PF_ECMA
04329 if (memcmp(str, "PF_ECMA", 7) == 0) { *valp = PF_ECMA; return 0; }
04330 #endif
04331 #ifdef AF_LINK
04332 if (memcmp(str, "AF_LINK", 7) == 0) { *valp = AF_LINK; return 0; }
04333 #endif
04334 #ifdef PF_LINK
04335 if (memcmp(str, "PF_LINK", 7) == 0) { *valp = PF_LINK; return 0; }
04336 #endif
04337 #ifdef AF_COIP
04338 if (memcmp(str, "AF_COIP", 7) == 0) { *valp = AF_COIP; return 0; }
04339 #endif
04340 #ifdef PF_COIP
04341 if (memcmp(str, "PF_COIP", 7) == 0) { *valp = PF_COIP; return 0; }
04342 #endif
04343 #ifdef AF_NDRV
04344 if (memcmp(str, "AF_NDRV", 7) == 0) { *valp = AF_NDRV; return 0; }
04345 #endif
04346 #ifdef PF_NDRV
04347 if (memcmp(str, "PF_NDRV", 7) == 0) { *valp = PF_NDRV; return 0; }
04348 #endif
04349 #ifdef AF_ISDN
04350 if (memcmp(str, "AF_ISDN", 7) == 0) { *valp = AF_ISDN; return 0; }
04351 #endif
04352 #ifdef PF_ISDN
04353 if (memcmp(str, "PF_ISDN", 7) == 0) { *valp = PF_ISDN; return 0; }
04354 #endif
04355 #ifdef AF_NATM
04356 if (memcmp(str, "AF_NATM", 7) == 0) { *valp = AF_NATM; return 0; }
04357 #endif
04358 #ifdef PF_NATM
04359 if (memcmp(str, "PF_NATM", 7) == 0) { *valp = PF_NATM; return 0; }
04360 #endif
04361 #ifdef AF_E164
04362 if (memcmp(str, "AF_E164", 7) == 0) { *valp = AF_E164; return 0; }
04363 #endif
04364 #ifdef PF_RTIP
04365 if (memcmp(str, "PF_RTIP", 7) == 0) { *valp = PF_RTIP; return 0; }
04366 #endif
04367 #ifdef AF_IMPLINK
04368 if (memcmp(str, "IMPLINK", 7) == 0) { *valp = AF_IMPLINK; return 0; }
04369 #endif
04370 #ifdef AF_DATAKIT
04371 if (memcmp(str, "DATAKIT", 7) == 0) { *valp = AF_DATAKIT; return 0; }
04372 #endif
04373 #ifdef AF_NETBIOS
04374 if (memcmp(str, "NETBIOS", 7) == 0) { *valp = AF_NETBIOS; return 0; }
04375 #endif
04376 return -1;
04377
04378 case 8:
04379 #ifdef AF_INET6
04380 if (memcmp(str, "AF_INET6", 8) == 0) { *valp = AF_INET6; return 0; }
04381 #endif
04382 #ifdef PF_INET6
04383 if (memcmp(str, "PF_INET6", 8) == 0) { *valp = PF_INET6; return 0; }
04384 #endif
04385 #ifdef AF_LOCAL
04386 if (memcmp(str, "AF_LOCAL", 8) == 0) { *valp = AF_LOCAL; return 0; }
04387 #endif
04388 #ifdef PF_LOCAL
04389 if (memcmp(str, "PF_LOCAL", 8) == 0) { *valp = PF_LOCAL; return 0; }
04390 #endif
04391 #ifdef AF_CHAOS
04392 if (memcmp(str, "AF_CHAOS", 8) == 0) { *valp = AF_CHAOS; return 0; }
04393 #endif
04394 #ifdef PF_CHAOS
04395 if (memcmp(str, "PF_CHAOS", 8) == 0) { *valp = PF_CHAOS; return 0; }
04396 #endif
04397 #ifdef AF_CCITT
04398 if (memcmp(str, "AF_CCITT", 8) == 0) { *valp = AF_CCITT; return 0; }
04399 #endif
04400 #ifdef PF_CCITT
04401 if (memcmp(str, "PF_CCITT", 8) == 0) { *valp = PF_CCITT; return 0; }
04402 #endif
04403 #ifdef AF_ROUTE
04404 if (memcmp(str, "AF_ROUTE", 8) == 0) { *valp = AF_ROUTE; return 0; }
04405 #endif
04406 #ifdef PF_ROUTE
04407 if (memcmp(str, "PF_ROUTE", 8) == 0) { *valp = PF_ROUTE; return 0; }
04408 #endif
04409 #ifdef AF_NETGRAPH
04410 if (memcmp(str, "NETGRAPH", 8) == 0) { *valp = AF_NETGRAPH; return 0; }
04411 #endif
04412 return -1;
04413
04414 case 9:
04415 #ifdef AF_UNSPEC
04416 if (memcmp(str, "AF_UNSPEC", 9) == 0) { *valp = AF_UNSPEC; return 0; }
04417 #endif
04418 #ifdef PF_UNSPEC
04419 if (memcmp(str, "PF_UNSPEC", 9) == 0) { *valp = PF_UNSPEC; return 0; }
04420 #endif
04421 #ifdef AF_HYLINK
04422 if (memcmp(str, "AF_HYLINK", 9) == 0) { *valp = AF_HYLINK; return 0; }
04423 #endif
04424 #ifdef PF_HYLINK
04425 if (memcmp(str, "PF_HYLINK", 9) == 0) { *valp = PF_HYLINK; return 0; }
04426 #endif
04427 #ifdef AF_SYSTEM
04428 if (memcmp(str, "AF_SYSTEM", 9) == 0) { *valp = AF_SYSTEM; return 0; }
04429 #endif
04430 #ifdef PF_SYSTEM
04431 if (memcmp(str, "PF_SYSTEM", 9) == 0) { *valp = PF_SYSTEM; return 0; }
04432 #endif
04433 #ifdef AF_PACKET
04434 if (memcmp(str, "AF_PACKET", 9) == 0) { *valp = AF_PACKET; return 0; }
04435 #endif
04436 #ifdef PF_PACKET
04437 if (memcmp(str, "PF_PACKET", 9) == 0) { *valp = PF_PACKET; return 0; }
04438 #endif
04439 #ifdef AF_APPLETALK
04440 if (memcmp(str, "APPLETALK", 9) == 0) { *valp = AF_APPLETALK; return 0; }
04441 #endif
04442 return -1;
04443
04444 case 10:
04445 #ifdef AF_IMPLINK
04446 if (memcmp(str, "AF_IMPLINK", 10) == 0) { *valp = AF_IMPLINK; return 0; }
04447 #endif
04448 #ifdef PF_IMPLINK
04449 if (memcmp(str, "PF_IMPLINK", 10) == 0) { *valp = PF_IMPLINK; return 0; }
04450 #endif
04451 #ifdef AF_DATAKIT
04452 if (memcmp(str, "AF_DATAKIT", 10) == 0) { *valp = AF_DATAKIT; return 0; }
04453 #endif
04454 #ifdef PF_DATAKIT
04455 if (memcmp(str, "PF_DATAKIT", 10) == 0) { *valp = PF_DATAKIT; return 0; }
04456 #endif
04457 #ifdef AF_NETBIOS
04458 if (memcmp(str, "AF_NETBIOS", 10) == 0) { *valp = AF_NETBIOS; return 0; }
04459 #endif
04460 #ifdef PF_NETBIOS
04461 if (memcmp(str, "PF_NETBIOS", 10) == 0) { *valp = PF_NETBIOS; return 0; }
04462 #endif
04463 return -1;
04464
04465 case 11:
04466 #ifdef AF_NETGRAPH
04467 if (memcmp(str, "AF_NETGRAPH", 11) == 0) { *valp = AF_NETGRAPH; return 0; }
04468 #endif
04469 #ifdef PF_NETGRAPH
04470 if (memcmp(str, "PF_NETGRAPH", 11) == 0) { *valp = PF_NETGRAPH; return 0; }
04471 #endif
04472 return -1;
04473
04474 case 12:
04475 #ifdef AF_APPLETALK
04476 if (memcmp(str, "AF_APPLETALK", 12) == 0) { *valp = AF_APPLETALK; return 0; }
04477 #endif
04478 #ifdef PF_APPLETALK
04479 if (memcmp(str, "PF_APPLETALK", 12) == 0) { *valp = PF_APPLETALK; return 0; }
04480 #endif
04481 return -1;
04482
04483 default:
04484 return -1;
04485 }
04486 }
04487
04488
04489 int
04490 rsock_socktype_to_int(const char *str, long len, int *valp)
04491 {
04492 switch (len) {
04493 case 3:
04494 #ifdef SOCK_RAW
04495 if (memcmp(str, "RAW", 3) == 0) { *valp = SOCK_RAW; return 0; }
04496 #endif
04497 #ifdef SOCK_RDM
04498 if (memcmp(str, "RDM", 3) == 0) { *valp = SOCK_RDM; return 0; }
04499 #endif
04500 return -1;
04501
04502 case 5:
04503 #ifdef SOCK_DGRAM
04504 if (memcmp(str, "DGRAM", 5) == 0) { *valp = SOCK_DGRAM; return 0; }
04505 #endif
04506 return -1;
04507
04508 case 6:
04509 #ifdef SOCK_STREAM
04510 if (memcmp(str, "STREAM", 6) == 0) { *valp = SOCK_STREAM; return 0; }
04511 #endif
04512 #ifdef SOCK_PACKET
04513 if (memcmp(str, "PACKET", 6) == 0) { *valp = SOCK_PACKET; return 0; }
04514 #endif
04515 return -1;
04516
04517 case 8:
04518 #ifdef SOCK_RAW
04519 if (memcmp(str, "SOCK_RAW", 8) == 0) { *valp = SOCK_RAW; return 0; }
04520 #endif
04521 #ifdef SOCK_RDM
04522 if (memcmp(str, "SOCK_RDM", 8) == 0) { *valp = SOCK_RDM; return 0; }
04523 #endif
04524 return -1;
04525
04526 case 9:
04527 #ifdef SOCK_SEQPACKET
04528 if (memcmp(str, "SEQPACKET", 9) == 0) { *valp = SOCK_SEQPACKET; return 0; }
04529 #endif
04530 return -1;
04531
04532 case 10:
04533 #ifdef SOCK_DGRAM
04534 if (memcmp(str, "SOCK_DGRAM", 10) == 0) { *valp = SOCK_DGRAM; return 0; }
04535 #endif
04536 return -1;
04537
04538 case 11:
04539 #ifdef SOCK_STREAM
04540 if (memcmp(str, "SOCK_STREAM", 11) == 0) { *valp = SOCK_STREAM; return 0; }
04541 #endif
04542 #ifdef SOCK_PACKET
04543 if (memcmp(str, "SOCK_PACKET", 11) == 0) { *valp = SOCK_PACKET; return 0; }
04544 #endif
04545 return -1;
04546
04547 case 14:
04548 #ifdef SOCK_SEQPACKET
04549 if (memcmp(str, "SOCK_SEQPACKET", 14) == 0) { *valp = SOCK_SEQPACKET; return 0; }
04550 #endif
04551 return -1;
04552
04553 default:
04554 return -1;
04555 }
04556 }
04557
04558
04559 int
04560 rsock_ipproto_to_int(const char *str, long len, int *valp)
04561 {
04562 switch (len) {
04563 case 2:
04564 #ifdef IPPROTO_IP
04565 if (memcmp(str, "IP", 2) == 0) { *valp = IPPROTO_IP; return 0; }
04566 #endif
04567 #ifdef IPPROTO_ND
04568 if (memcmp(str, "ND", 2) == 0) { *valp = IPPROTO_ND; return 0; }
04569 #endif
04570 #ifdef IPPROTO_TP
04571 if (memcmp(str, "TP", 2) == 0) { *valp = IPPROTO_TP; return 0; }
04572 #endif
04573 #ifdef IPPROTO_AH
04574 if (memcmp(str, "AH", 2) == 0) { *valp = IPPROTO_AH; return 0; }
04575 #endif
04576 return -1;
04577
04578 case 3:
04579 #ifdef IPPROTO_GGP
04580 if (memcmp(str, "GGP", 3) == 0) { *valp = IPPROTO_GGP; return 0; }
04581 #endif
04582 #ifdef IPPROTO_TCP
04583 if (memcmp(str, "TCP", 3) == 0) { *valp = IPPROTO_TCP; return 0; }
04584 #endif
04585 #ifdef IPPROTO_EGP
04586 if (memcmp(str, "EGP", 3) == 0) { *valp = IPPROTO_EGP; return 0; }
04587 #endif
04588 #ifdef IPPROTO_PUP
04589 if (memcmp(str, "PUP", 3) == 0) { *valp = IPPROTO_PUP; return 0; }
04590 #endif
04591 #ifdef IPPROTO_UDP
04592 if (memcmp(str, "UDP", 3) == 0) { *valp = IPPROTO_UDP; return 0; }
04593 #endif
04594 #ifdef IPPROTO_IDP
04595 if (memcmp(str, "IDP", 3) == 0) { *valp = IPPROTO_IDP; return 0; }
04596 #endif
04597 #ifdef IPPROTO_XTP
04598 if (memcmp(str, "XTP", 3) == 0) { *valp = IPPROTO_XTP; return 0; }
04599 #endif
04600 #ifdef IPPROTO_EON
04601 if (memcmp(str, "EON", 3) == 0) { *valp = IPPROTO_EON; return 0; }
04602 #endif
04603 #ifdef IPPROTO_BIP
04604 if (memcmp(str, "BIP", 3) == 0) { *valp = IPPROTO_BIP; return 0; }
04605 #endif
04606 #ifdef IPPROTO_ESP
04607 if (memcmp(str, "ESP", 3) == 0) { *valp = IPPROTO_ESP; return 0; }
04608 #endif
04609 #ifdef IPPROTO_RAW
04610 if (memcmp(str, "RAW", 3) == 0) { *valp = IPPROTO_RAW; return 0; }
04611 #endif
04612 #ifdef IPPROTO_MAX
04613 if (memcmp(str, "MAX", 3) == 0) { *valp = IPPROTO_MAX; return 0; }
04614 #endif
04615 return -1;
04616
04617 case 4:
04618 #ifdef IPPROTO_ICMP
04619 if (memcmp(str, "ICMP", 4) == 0) { *valp = IPPROTO_ICMP; return 0; }
04620 #endif
04621 #ifdef IPPROTO_IGMP
04622 if (memcmp(str, "IGMP", 4) == 0) { *valp = IPPROTO_IGMP; return 0; }
04623 #endif
04624 #ifdef IPPROTO_IPV6
04625 if (memcmp(str, "IPV6", 4) == 0) { *valp = IPPROTO_IPV6; return 0; }
04626 #endif
04627 #ifdef IPPROTO_NONE
04628 if (memcmp(str, "NONE", 4) == 0) { *valp = IPPROTO_NONE; return 0; }
04629 #endif
04630 return -1;
04631
04632 case 5:
04633 #ifdef IPPROTO_HELLO
04634 if (memcmp(str, "HELLO", 5) == 0) { *valp = IPPROTO_HELLO; return 0; }
04635 #endif
04636 return -1;
04637
04638 case 6:
04639 #ifdef IPPROTO_ICMPV6
04640 if (memcmp(str, "ICMPV6", 6) == 0) { *valp = IPPROTO_ICMPV6; return 0; }
04641 #endif
04642 return -1;
04643
04644 case 7:
04645 #ifdef IPPROTO_DSTOPTS
04646 if (memcmp(str, "DSTOPTS", 7) == 0) { *valp = IPPROTO_DSTOPTS; return 0; }
04647 #endif
04648 #ifdef IPPROTO_HOPOPTS
04649 if (memcmp(str, "HOPOPTS", 7) == 0) { *valp = IPPROTO_HOPOPTS; return 0; }
04650 #endif
04651 #ifdef IPPROTO_ROUTING
04652 if (memcmp(str, "ROUTING", 7) == 0) { *valp = IPPROTO_ROUTING; return 0; }
04653 #endif
04654 return -1;
04655
04656 case 8:
04657 #ifdef IPPROTO_FRAGMENT
04658 if (memcmp(str, "FRAGMENT", 8) == 0) { *valp = IPPROTO_FRAGMENT; return 0; }
04659 #endif
04660 return -1;
04661
04662 case 10:
04663 #ifdef IPPROTO_IP
04664 if (memcmp(str, "IPPROTO_IP", 10) == 0) { *valp = IPPROTO_IP; return 0; }
04665 #endif
04666 #ifdef IPPROTO_ND
04667 if (memcmp(str, "IPPROTO_ND", 10) == 0) { *valp = IPPROTO_ND; return 0; }
04668 #endif
04669 #ifdef IPPROTO_TP
04670 if (memcmp(str, "IPPROTO_TP", 10) == 0) { *valp = IPPROTO_TP; return 0; }
04671 #endif
04672 #ifdef IPPROTO_AH
04673 if (memcmp(str, "IPPROTO_AH", 10) == 0) { *valp = IPPROTO_AH; return 0; }
04674 #endif
04675 return -1;
04676
04677 case 11:
04678 #ifdef IPPROTO_GGP
04679 if (memcmp(str, "IPPROTO_GGP", 11) == 0) { *valp = IPPROTO_GGP; return 0; }
04680 #endif
04681 #ifdef IPPROTO_TCP
04682 if (memcmp(str, "IPPROTO_TCP", 11) == 0) { *valp = IPPROTO_TCP; return 0; }
04683 #endif
04684 #ifdef IPPROTO_EGP
04685 if (memcmp(str, "IPPROTO_EGP", 11) == 0) { *valp = IPPROTO_EGP; return 0; }
04686 #endif
04687 #ifdef IPPROTO_PUP
04688 if (memcmp(str, "IPPROTO_PUP", 11) == 0) { *valp = IPPROTO_PUP; return 0; }
04689 #endif
04690 #ifdef IPPROTO_UDP
04691 if (memcmp(str, "IPPROTO_UDP", 11) == 0) { *valp = IPPROTO_UDP; return 0; }
04692 #endif
04693 #ifdef IPPROTO_IDP
04694 if (memcmp(str, "IPPROTO_IDP", 11) == 0) { *valp = IPPROTO_IDP; return 0; }
04695 #endif
04696 #ifdef IPPROTO_XTP
04697 if (memcmp(str, "IPPROTO_XTP", 11) == 0) { *valp = IPPROTO_XTP; return 0; }
04698 #endif
04699 #ifdef IPPROTO_EON
04700 if (memcmp(str, "IPPROTO_EON", 11) == 0) { *valp = IPPROTO_EON; return 0; }
04701 #endif
04702 #ifdef IPPROTO_BIP
04703 if (memcmp(str, "IPPROTO_BIP", 11) == 0) { *valp = IPPROTO_BIP; return 0; }
04704 #endif
04705 #ifdef IPPROTO_ESP
04706 if (memcmp(str, "IPPROTO_ESP", 11) == 0) { *valp = IPPROTO_ESP; return 0; }
04707 #endif
04708 #ifdef IPPROTO_RAW
04709 if (memcmp(str, "IPPROTO_RAW", 11) == 0) { *valp = IPPROTO_RAW; return 0; }
04710 #endif
04711 #ifdef IPPROTO_MAX
04712 if (memcmp(str, "IPPROTO_MAX", 11) == 0) { *valp = IPPROTO_MAX; return 0; }
04713 #endif
04714 return -1;
04715
04716 case 12:
04717 #ifdef IPPROTO_ICMP
04718 if (memcmp(str, "IPPROTO_ICMP", 12) == 0) { *valp = IPPROTO_ICMP; return 0; }
04719 #endif
04720 #ifdef IPPROTO_IGMP
04721 if (memcmp(str, "IPPROTO_IGMP", 12) == 0) { *valp = IPPROTO_IGMP; return 0; }
04722 #endif
04723 #ifdef IPPROTO_IPV6
04724 if (memcmp(str, "IPPROTO_IPV6", 12) == 0) { *valp = IPPROTO_IPV6; return 0; }
04725 #endif
04726 #ifdef IPPROTO_NONE
04727 if (memcmp(str, "IPPROTO_NONE", 12) == 0) { *valp = IPPROTO_NONE; return 0; }
04728 #endif
04729 return -1;
04730
04731 case 13:
04732 #ifdef IPPROTO_HELLO
04733 if (memcmp(str, "IPPROTO_HELLO", 13) == 0) { *valp = IPPROTO_HELLO; return 0; }
04734 #endif
04735 return -1;
04736
04737 case 14:
04738 #ifdef IPPROTO_ICMPV6
04739 if (memcmp(str, "IPPROTO_ICMPV6", 14) == 0) { *valp = IPPROTO_ICMPV6; return 0; }
04740 #endif
04741 return -1;
04742
04743 case 15:
04744 #ifdef IPPROTO_DSTOPTS
04745 if (memcmp(str, "IPPROTO_DSTOPTS", 15) == 0) { *valp = IPPROTO_DSTOPTS; return 0; }
04746 #endif
04747 #ifdef IPPROTO_HOPOPTS
04748 if (memcmp(str, "IPPROTO_HOPOPTS", 15) == 0) { *valp = IPPROTO_HOPOPTS; return 0; }
04749 #endif
04750 #ifdef IPPROTO_ROUTING
04751 if (memcmp(str, "IPPROTO_ROUTING", 15) == 0) { *valp = IPPROTO_ROUTING; return 0; }
04752 #endif
04753 return -1;
04754
04755 case 16:
04756 #ifdef IPPROTO_FRAGMENT
04757 if (memcmp(str, "IPPROTO_FRAGMENT", 16) == 0) { *valp = IPPROTO_FRAGMENT; return 0; }
04758 #endif
04759 return -1;
04760
04761 default:
04762 return -1;
04763 }
04764 }
04765
04766
04767 int
04768 rsock_unknown_level_to_int(const char *str, long len, int *valp)
04769 {
04770 switch (len) {
04771 case 6:
04772 #ifdef SOL_SOCKET
04773 if (memcmp(str, "SOCKET", 6) == 0) { *valp = SOL_SOCKET; return 0; }
04774 #endif
04775 return -1;
04776
04777 case 10:
04778 #ifdef SOL_SOCKET
04779 if (memcmp(str, "SOL_SOCKET", 10) == 0) { *valp = SOL_SOCKET; return 0; }
04780 #endif
04781 return -1;
04782
04783 default:
04784 return -1;
04785 }
04786 }
04787
04788
04789 int
04790 rsock_ip_level_to_int(const char *str, long len, int *valp)
04791 {
04792 switch (len) {
04793 case 2:
04794 #ifdef IPPROTO_IP
04795 if (memcmp(str, "IP", 2) == 0) { *valp = IPPROTO_IP; return 0; }
04796 #endif
04797 #ifdef IPPROTO_ND
04798 if (memcmp(str, "ND", 2) == 0) { *valp = IPPROTO_ND; return 0; }
04799 #endif
04800 #ifdef IPPROTO_TP
04801 if (memcmp(str, "TP", 2) == 0) { *valp = IPPROTO_TP; return 0; }
04802 #endif
04803 #ifdef IPPROTO_AH
04804 if (memcmp(str, "AH", 2) == 0) { *valp = IPPROTO_AH; return 0; }
04805 #endif
04806 return -1;
04807
04808 case 3:
04809 #ifdef IPPROTO_GGP
04810 if (memcmp(str, "GGP", 3) == 0) { *valp = IPPROTO_GGP; return 0; }
04811 #endif
04812 #ifdef IPPROTO_TCP
04813 if (memcmp(str, "TCP", 3) == 0) { *valp = IPPROTO_TCP; return 0; }
04814 #endif
04815 #ifdef IPPROTO_EGP
04816 if (memcmp(str, "EGP", 3) == 0) { *valp = IPPROTO_EGP; return 0; }
04817 #endif
04818 #ifdef IPPROTO_PUP
04819 if (memcmp(str, "PUP", 3) == 0) { *valp = IPPROTO_PUP; return 0; }
04820 #endif
04821 #ifdef IPPROTO_UDP
04822 if (memcmp(str, "UDP", 3) == 0) { *valp = IPPROTO_UDP; return 0; }
04823 #endif
04824 #ifdef IPPROTO_IDP
04825 if (memcmp(str, "IDP", 3) == 0) { *valp = IPPROTO_IDP; return 0; }
04826 #endif
04827 #ifdef IPPROTO_XTP
04828 if (memcmp(str, "XTP", 3) == 0) { *valp = IPPROTO_XTP; return 0; }
04829 #endif
04830 #ifdef IPPROTO_EON
04831 if (memcmp(str, "EON", 3) == 0) { *valp = IPPROTO_EON; return 0; }
04832 #endif
04833 #ifdef IPPROTO_BIP
04834 if (memcmp(str, "BIP", 3) == 0) { *valp = IPPROTO_BIP; return 0; }
04835 #endif
04836 #ifdef IPPROTO_ESP
04837 if (memcmp(str, "ESP", 3) == 0) { *valp = IPPROTO_ESP; return 0; }
04838 #endif
04839 #ifdef IPPROTO_RAW
04840 if (memcmp(str, "RAW", 3) == 0) { *valp = IPPROTO_RAW; return 0; }
04841 #endif
04842 #ifdef IPPROTO_MAX
04843 if (memcmp(str, "MAX", 3) == 0) { *valp = IPPROTO_MAX; return 0; }
04844 #endif
04845 return -1;
04846
04847 case 4:
04848 #ifdef IPPROTO_ICMP
04849 if (memcmp(str, "ICMP", 4) == 0) { *valp = IPPROTO_ICMP; return 0; }
04850 #endif
04851 #ifdef IPPROTO_IGMP
04852 if (memcmp(str, "IGMP", 4) == 0) { *valp = IPPROTO_IGMP; return 0; }
04853 #endif
04854 #ifdef IPPROTO_IPV6
04855 if (memcmp(str, "IPV6", 4) == 0) { *valp = IPPROTO_IPV6; return 0; }
04856 #endif
04857 #ifdef IPPROTO_NONE
04858 if (memcmp(str, "NONE", 4) == 0) { *valp = IPPROTO_NONE; return 0; }
04859 #endif
04860 return -1;
04861
04862 case 5:
04863 #ifdef IPPROTO_HELLO
04864 if (memcmp(str, "HELLO", 5) == 0) { *valp = IPPROTO_HELLO; return 0; }
04865 #endif
04866 return -1;
04867
04868 case 6:
04869 #ifdef SOL_SOCKET
04870 if (memcmp(str, "SOCKET", 6) == 0) { *valp = SOL_SOCKET; return 0; }
04871 #endif
04872 #ifdef IPPROTO_ICMPV6
04873 if (memcmp(str, "ICMPV6", 6) == 0) { *valp = IPPROTO_ICMPV6; return 0; }
04874 #endif
04875 return -1;
04876
04877 case 7:
04878 #ifdef IPPROTO_DSTOPTS
04879 if (memcmp(str, "DSTOPTS", 7) == 0) { *valp = IPPROTO_DSTOPTS; return 0; }
04880 #endif
04881 #ifdef IPPROTO_HOPOPTS
04882 if (memcmp(str, "HOPOPTS", 7) == 0) { *valp = IPPROTO_HOPOPTS; return 0; }
04883 #endif
04884 #ifdef IPPROTO_ROUTING
04885 if (memcmp(str, "ROUTING", 7) == 0) { *valp = IPPROTO_ROUTING; return 0; }
04886 #endif
04887 return -1;
04888
04889 case 8:
04890 #ifdef IPPROTO_FRAGMENT
04891 if (memcmp(str, "FRAGMENT", 8) == 0) { *valp = IPPROTO_FRAGMENT; return 0; }
04892 #endif
04893 return -1;
04894
04895 case 10:
04896 #ifdef SOL_SOCKET
04897 if (memcmp(str, "SOL_SOCKET", 10) == 0) { *valp = SOL_SOCKET; return 0; }
04898 #endif
04899 #ifdef IPPROTO_IP
04900 if (memcmp(str, "IPPROTO_IP", 10) == 0) { *valp = IPPROTO_IP; return 0; }
04901 #endif
04902 #ifdef IPPROTO_ND
04903 if (memcmp(str, "IPPROTO_ND", 10) == 0) { *valp = IPPROTO_ND; return 0; }
04904 #endif
04905 #ifdef IPPROTO_TP
04906 if (memcmp(str, "IPPROTO_TP", 10) == 0) { *valp = IPPROTO_TP; return 0; }
04907 #endif
04908 #ifdef IPPROTO_AH
04909 if (memcmp(str, "IPPROTO_AH", 10) == 0) { *valp = IPPROTO_AH; return 0; }
04910 #endif
04911 return -1;
04912
04913 case 11:
04914 #ifdef IPPROTO_GGP
04915 if (memcmp(str, "IPPROTO_GGP", 11) == 0) { *valp = IPPROTO_GGP; return 0; }
04916 #endif
04917 #ifdef IPPROTO_TCP
04918 if (memcmp(str, "IPPROTO_TCP", 11) == 0) { *valp = IPPROTO_TCP; return 0; }
04919 #endif
04920 #ifdef IPPROTO_EGP
04921 if (memcmp(str, "IPPROTO_EGP", 11) == 0) { *valp = IPPROTO_EGP; return 0; }
04922 #endif
04923 #ifdef IPPROTO_PUP
04924 if (memcmp(str, "IPPROTO_PUP", 11) == 0) { *valp = IPPROTO_PUP; return 0; }
04925 #endif
04926 #ifdef IPPROTO_UDP
04927 if (memcmp(str, "IPPROTO_UDP", 11) == 0) { *valp = IPPROTO_UDP; return 0; }
04928 #endif
04929 #ifdef IPPROTO_IDP
04930 if (memcmp(str, "IPPROTO_IDP", 11) == 0) { *valp = IPPROTO_IDP; return 0; }
04931 #endif
04932 #ifdef IPPROTO_XTP
04933 if (memcmp(str, "IPPROTO_XTP", 11) == 0) { *valp = IPPROTO_XTP; return 0; }
04934 #endif
04935 #ifdef IPPROTO_EON
04936 if (memcmp(str, "IPPROTO_EON", 11) == 0) { *valp = IPPROTO_EON; return 0; }
04937 #endif
04938 #ifdef IPPROTO_BIP
04939 if (memcmp(str, "IPPROTO_BIP", 11) == 0) { *valp = IPPROTO_BIP; return 0; }
04940 #endif
04941 #ifdef IPPROTO_ESP
04942 if (memcmp(str, "IPPROTO_ESP", 11) == 0) { *valp = IPPROTO_ESP; return 0; }
04943 #endif
04944 #ifdef IPPROTO_RAW
04945 if (memcmp(str, "IPPROTO_RAW", 11) == 0) { *valp = IPPROTO_RAW; return 0; }
04946 #endif
04947 #ifdef IPPROTO_MAX
04948 if (memcmp(str, "IPPROTO_MAX", 11) == 0) { *valp = IPPROTO_MAX; return 0; }
04949 #endif
04950 return -1;
04951
04952 case 12:
04953 #ifdef IPPROTO_ICMP
04954 if (memcmp(str, "IPPROTO_ICMP", 12) == 0) { *valp = IPPROTO_ICMP; return 0; }
04955 #endif
04956 #ifdef IPPROTO_IGMP
04957 if (memcmp(str, "IPPROTO_IGMP", 12) == 0) { *valp = IPPROTO_IGMP; return 0; }
04958 #endif
04959 #ifdef IPPROTO_IPV6
04960 if (memcmp(str, "IPPROTO_IPV6", 12) == 0) { *valp = IPPROTO_IPV6; return 0; }
04961 #endif
04962 #ifdef IPPROTO_NONE
04963 if (memcmp(str, "IPPROTO_NONE", 12) == 0) { *valp = IPPROTO_NONE; return 0; }
04964 #endif
04965 return -1;
04966
04967 case 13:
04968 #ifdef IPPROTO_HELLO
04969 if (memcmp(str, "IPPROTO_HELLO", 13) == 0) { *valp = IPPROTO_HELLO; return 0; }
04970 #endif
04971 return -1;
04972
04973 case 14:
04974 #ifdef IPPROTO_ICMPV6
04975 if (memcmp(str, "IPPROTO_ICMPV6", 14) == 0) { *valp = IPPROTO_ICMPV6; return 0; }
04976 #endif
04977 return -1;
04978
04979 case 15:
04980 #ifdef IPPROTO_DSTOPTS
04981 if (memcmp(str, "IPPROTO_DSTOPTS", 15) == 0) { *valp = IPPROTO_DSTOPTS; return 0; }
04982 #endif
04983 #ifdef IPPROTO_HOPOPTS
04984 if (memcmp(str, "IPPROTO_HOPOPTS", 15) == 0) { *valp = IPPROTO_HOPOPTS; return 0; }
04985 #endif
04986 #ifdef IPPROTO_ROUTING
04987 if (memcmp(str, "IPPROTO_ROUTING", 15) == 0) { *valp = IPPROTO_ROUTING; return 0; }
04988 #endif
04989 return -1;
04990
04991 case 16:
04992 #ifdef IPPROTO_FRAGMENT
04993 if (memcmp(str, "IPPROTO_FRAGMENT", 16) == 0) { *valp = IPPROTO_FRAGMENT; return 0; }
04994 #endif
04995 return -1;
04996
04997 default:
04998 return -1;
04999 }
05000 }
05001
05002
05003 int
05004 rsock_so_optname_to_int(const char *str, long len, int *valp)
05005 {
05006 switch (len) {
05007 case 3:
05008 #ifdef SO_NKE
05009 if (memcmp(str, "NKE", 3) == 0) { *valp = SO_NKE; return 0; }
05010 #endif
05011 return -1;
05012
05013 case 4:
05014 #ifdef SO_TYPE
05015 if (memcmp(str, "TYPE", 4) == 0) { *valp = SO_TYPE; return 0; }
05016 #endif
05017 return -1;
05018
05019 case 5:
05020 #ifdef SO_DEBUG
05021 if (memcmp(str, "DEBUG", 5) == 0) { *valp = SO_DEBUG; return 0; }
05022 #endif
05023 #ifdef SO_ERROR
05024 if (memcmp(str, "ERROR", 5) == 0) { *valp = SO_ERROR; return 0; }
05025 #endif
05026 #ifdef SO_NREAD
05027 if (memcmp(str, "NREAD", 5) == 0) { *valp = SO_NREAD; return 0; }
05028 #endif
05029 return -1;
05030
05031 case 6:
05032 #ifdef SO_NKE
05033 if (memcmp(str, "SO_NKE", 6) == 0) { *valp = SO_NKE; return 0; }
05034 #endif
05035 #ifdef SO_SNDBUF
05036 if (memcmp(str, "SNDBUF", 6) == 0) { *valp = SO_SNDBUF; return 0; }
05037 #endif
05038 #ifdef SO_RCVBUF
05039 if (memcmp(str, "RCVBUF", 6) == 0) { *valp = SO_RCVBUF; return 0; }
05040 #endif
05041 #ifdef SO_LINGER
05042 if (memcmp(str, "LINGER", 6) == 0) { *valp = SO_LINGER; return 0; }
05043 #endif
05044 return -1;
05045
05046 case 7:
05047 #ifdef SO_TYPE
05048 if (memcmp(str, "SO_TYPE", 7) == 0) { *valp = SO_TYPE; return 0; }
05049 #endif
05050 #ifdef SO_BINTIME
05051 if (memcmp(str, "BINTIME", 7) == 0) { *valp = SO_BINTIME; return 0; }
05052 #endif
05053 return -1;
05054
05055 case 8:
05056 #ifdef SO_DEBUG
05057 if (memcmp(str, "SO_DEBUG", 8) == 0) { *valp = SO_DEBUG; return 0; }
05058 #endif
05059 #ifdef SO_ERROR
05060 if (memcmp(str, "SO_ERROR", 8) == 0) { *valp = SO_ERROR; return 0; }
05061 #endif
05062 #ifdef SO_NREAD
05063 if (memcmp(str, "SO_NREAD", 8) == 0) { *valp = SO_NREAD; return 0; }
05064 #endif
05065 #ifdef SO_NO_CHECK
05066 if (memcmp(str, "NO_CHECK", 8) == 0) { *valp = SO_NO_CHECK; return 0; }
05067 #endif
05068 #ifdef SO_PRIORITY
05069 if (memcmp(str, "PRIORITY", 8) == 0) { *valp = SO_PRIORITY; return 0; }
05070 #endif
05071 #ifdef SO_PASSCRED
05072 if (memcmp(str, "PASSCRED", 8) == 0) { *valp = SO_PASSCRED; return 0; }
05073 #endif
05074 #ifdef SO_PEERCRED
05075 if (memcmp(str, "PEERCRED", 8) == 0) { *valp = SO_PEERCRED; return 0; }
05076 #endif
05077 #ifdef SO_RCVLOWAT
05078 if (memcmp(str, "RCVLOWAT", 8) == 0) { *valp = SO_RCVLOWAT; return 0; }
05079 #endif
05080 #ifdef SO_SNDLOWAT
05081 if (memcmp(str, "SNDLOWAT", 8) == 0) { *valp = SO_SNDLOWAT; return 0; }
05082 #endif
05083 #ifdef SO_RCVTIMEO
05084 if (memcmp(str, "RCVTIMEO", 8) == 0) { *valp = SO_RCVTIMEO; return 0; }
05085 #endif
05086 #ifdef SO_SNDTIMEO
05087 if (memcmp(str, "SNDTIMEO", 8) == 0) { *valp = SO_SNDTIMEO; return 0; }
05088 #endif
05089 #ifdef SO_WANTMORE
05090 if (memcmp(str, "WANTMORE", 8) == 0) { *valp = SO_WANTMORE; return 0; }
05091 #endif
05092 #ifdef SO_PEERNAME
05093 if (memcmp(str, "PEERNAME", 8) == 0) { *valp = SO_PEERNAME; return 0; }
05094 #endif
05095 #ifdef SO_ALLZONES
05096 if (memcmp(str, "ALLZONES", 8) == 0) { *valp = SO_ALLZONES; return 0; }
05097 #endif
05098 return -1;
05099
05100 case 9:
05101 #ifdef SO_SNDBUF
05102 if (memcmp(str, "SO_SNDBUF", 9) == 0) { *valp = SO_SNDBUF; return 0; }
05103 #endif
05104 #ifdef SO_RCVBUF
05105 if (memcmp(str, "SO_RCVBUF", 9) == 0) { *valp = SO_RCVBUF; return 0; }
05106 #endif
05107 #ifdef SO_LINGER
05108 if (memcmp(str, "SO_LINGER", 9) == 0) { *valp = SO_LINGER; return 0; }
05109 #endif
05110 #ifdef SO_REUSEADDR
05111 if (memcmp(str, "REUSEADDR", 9) == 0) { *valp = SO_REUSEADDR; return 0; }
05112 #endif
05113 #ifdef SO_REUSEPORT
05114 if (memcmp(str, "REUSEPORT", 9) == 0) { *valp = SO_REUSEPORT; return 0; }
05115 #endif
05116 #ifdef SO_DONTROUTE
05117 if (memcmp(str, "DONTROUTE", 9) == 0) { *valp = SO_DONTROUTE; return 0; }
05118 #endif
05119 #ifdef SO_BROADCAST
05120 if (memcmp(str, "BROADCAST", 9) == 0) { *valp = SO_BROADCAST; return 0; }
05121 #endif
05122 #ifdef SO_KEEPALIVE
05123 if (memcmp(str, "KEEPALIVE", 9) == 0) { *valp = SO_KEEPALIVE; return 0; }
05124 #endif
05125 #ifdef SO_OOBINLINE
05126 if (memcmp(str, "OOBINLINE", 9) == 0) { *valp = SO_OOBINLINE; return 0; }
05127 #endif
05128 #ifdef SO_DONTTRUNC
05129 if (memcmp(str, "DONTTRUNC", 9) == 0) { *valp = SO_DONTTRUNC; return 0; }
05130 #endif
05131 #ifdef SO_NOSIGPIPE
05132 if (memcmp(str, "NOSIGPIPE", 9) == 0) { *valp = SO_NOSIGPIPE; return 0; }
05133 #endif
05134 #ifdef SO_TIMESTAMP
05135 if (memcmp(str, "TIMESTAMP", 9) == 0) { *valp = SO_TIMESTAMP; return 0; }
05136 #endif
05137 #ifdef SO_RECVUCRED
05138 if (memcmp(str, "RECVUCRED", 9) == 0) { *valp = SO_RECVUCRED; return 0; }
05139 #endif
05140 return -1;
05141
05142 case 10:
05143 #ifdef SO_BINTIME
05144 if (memcmp(str, "SO_BINTIME", 10) == 0) { *valp = SO_BINTIME; return 0; }
05145 #endif
05146 #ifdef SO_ACCEPTCONN
05147 if (memcmp(str, "ACCEPTCONN", 10) == 0) { *valp = SO_ACCEPTCONN; return 0; }
05148 #endif
05149 #ifdef SO_MAC_EXEMPT
05150 if (memcmp(str, "MAC_EXEMPT", 10) == 0) { *valp = SO_MAC_EXEMPT; return 0; }
05151 #endif
05152 return -1;
05153
05154 case 11:
05155 #ifdef SO_NO_CHECK
05156 if (memcmp(str, "SO_NO_CHECK", 11) == 0) { *valp = SO_NO_CHECK; return 0; }
05157 #endif
05158 #ifdef SO_PRIORITY
05159 if (memcmp(str, "SO_PRIORITY", 11) == 0) { *valp = SO_PRIORITY; return 0; }
05160 #endif
05161 #ifdef SO_PASSCRED
05162 if (memcmp(str, "SO_PASSCRED", 11) == 0) { *valp = SO_PASSCRED; return 0; }
05163 #endif
05164 #ifdef SO_PEERCRED
05165 if (memcmp(str, "SO_PEERCRED", 11) == 0) { *valp = SO_PEERCRED; return 0; }
05166 #endif
05167 #ifdef SO_RCVLOWAT
05168 if (memcmp(str, "SO_RCVLOWAT", 11) == 0) { *valp = SO_RCVLOWAT; return 0; }
05169 #endif
05170 #ifdef SO_SNDLOWAT
05171 if (memcmp(str, "SO_SNDLOWAT", 11) == 0) { *valp = SO_SNDLOWAT; return 0; }
05172 #endif
05173 #ifdef SO_RCVTIMEO
05174 if (memcmp(str, "SO_RCVTIMEO", 11) == 0) { *valp = SO_RCVTIMEO; return 0; }
05175 #endif
05176 #ifdef SO_SNDTIMEO
05177 if (memcmp(str, "SO_SNDTIMEO", 11) == 0) { *valp = SO_SNDTIMEO; return 0; }
05178 #endif
05179 #ifdef SO_WANTMORE
05180 if (memcmp(str, "SO_WANTMORE", 11) == 0) { *valp = SO_WANTMORE; return 0; }
05181 #endif
05182 #ifdef SO_PEERNAME
05183 if (memcmp(str, "SO_PEERNAME", 11) == 0) { *valp = SO_PEERNAME; return 0; }
05184 #endif
05185 #ifdef SO_ALLZONES
05186 if (memcmp(str, "SO_ALLZONES", 11) == 0) { *valp = SO_ALLZONES; return 0; }
05187 #endif
05188 #ifdef SO_USELOOPBACK
05189 if (memcmp(str, "USELOOPBACK", 11) == 0) { *valp = SO_USELOOPBACK; return 0; }
05190 #endif
05191 #ifdef SO_WANTOOBFLAG
05192 if (memcmp(str, "WANTOOBFLAG", 11) == 0) { *valp = SO_WANTOOBFLAG; return 0; }
05193 #endif
05194 #ifdef SO_TIMESTAMPNS
05195 if (memcmp(str, "TIMESTAMPNS", 11) == 0) { *valp = SO_TIMESTAMPNS; return 0; }
05196 #endif
05197 return -1;
05198
05199 case 12:
05200 #ifdef SO_REUSEADDR
05201 if (memcmp(str, "SO_REUSEADDR", 12) == 0) { *valp = SO_REUSEADDR; return 0; }
05202 #endif
05203 #ifdef SO_REUSEPORT
05204 if (memcmp(str, "SO_REUSEPORT", 12) == 0) { *valp = SO_REUSEPORT; return 0; }
05205 #endif
05206 #ifdef SO_DONTROUTE
05207 if (memcmp(str, "SO_DONTROUTE", 12) == 0) { *valp = SO_DONTROUTE; return 0; }
05208 #endif
05209 #ifdef SO_BROADCAST
05210 if (memcmp(str, "SO_BROADCAST", 12) == 0) { *valp = SO_BROADCAST; return 0; }
05211 #endif
05212 #ifdef SO_KEEPALIVE
05213 if (memcmp(str, "SO_KEEPALIVE", 12) == 0) { *valp = SO_KEEPALIVE; return 0; }
05214 #endif
05215 #ifdef SO_OOBINLINE
05216 if (memcmp(str, "SO_OOBINLINE", 12) == 0) { *valp = SO_OOBINLINE; return 0; }
05217 #endif
05218 #ifdef SO_DONTTRUNC
05219 if (memcmp(str, "SO_DONTTRUNC", 12) == 0) { *valp = SO_DONTTRUNC; return 0; }
05220 #endif
05221 #ifdef SO_NOSIGPIPE
05222 if (memcmp(str, "SO_NOSIGPIPE", 12) == 0) { *valp = SO_NOSIGPIPE; return 0; }
05223 #endif
05224 #ifdef SO_TIMESTAMP
05225 if (memcmp(str, "SO_TIMESTAMP", 12) == 0) { *valp = SO_TIMESTAMP; return 0; }
05226 #endif
05227 #ifdef SO_RECVUCRED
05228 if (memcmp(str, "SO_RECVUCRED", 12) == 0) { *valp = SO_RECVUCRED; return 0; }
05229 #endif
05230 #ifdef SO_ACCEPTFILTER
05231 if (memcmp(str, "ACCEPTFILTER", 12) == 0) { *valp = SO_ACCEPTFILTER; return 0; }
05232 #endif
05233 #ifdef SO_BINDTODEVICE
05234 if (memcmp(str, "BINDTODEVICE", 12) == 0) { *valp = SO_BINDTODEVICE; return 0; }
05235 #endif
05236 return -1;
05237
05238 case 13:
05239 #ifdef SO_ACCEPTCONN
05240 if (memcmp(str, "SO_ACCEPTCONN", 13) == 0) { *valp = SO_ACCEPTCONN; return 0; }
05241 #endif
05242 #ifdef SO_MAC_EXEMPT
05243 if (memcmp(str, "SO_MAC_EXEMPT", 13) == 0) { *valp = SO_MAC_EXEMPT; return 0; }
05244 #endif
05245 #ifdef SO_ATTACH_FILTER
05246 if (memcmp(str, "ATTACH_FILTER", 13) == 0) { *valp = SO_ATTACH_FILTER; return 0; }
05247 #endif
05248 #ifdef SO_DETACH_FILTER
05249 if (memcmp(str, "DETACH_FILTER", 13) == 0) { *valp = SO_DETACH_FILTER; return 0; }
05250 #endif
05251 return -1;
05252
05253 case 14:
05254 #ifdef SO_USELOOPBACK
05255 if (memcmp(str, "SO_USELOOPBACK", 14) == 0) { *valp = SO_USELOOPBACK; return 0; }
05256 #endif
05257 #ifdef SO_WANTOOBFLAG
05258 if (memcmp(str, "SO_WANTOOBFLAG", 14) == 0) { *valp = SO_WANTOOBFLAG; return 0; }
05259 #endif
05260 #ifdef SO_TIMESTAMPNS
05261 if (memcmp(str, "SO_TIMESTAMPNS", 14) == 0) { *valp = SO_TIMESTAMPNS; return 0; }
05262 #endif
05263 return -1;
05264
05265 case 15:
05266 #ifdef SO_ACCEPTFILTER
05267 if (memcmp(str, "SO_ACCEPTFILTER", 15) == 0) { *valp = SO_ACCEPTFILTER; return 0; }
05268 #endif
05269 #ifdef SO_BINDTODEVICE
05270 if (memcmp(str, "SO_BINDTODEVICE", 15) == 0) { *valp = SO_BINDTODEVICE; return 0; }
05271 #endif
05272 return -1;
05273
05274 case 16:
05275 #ifdef SO_ATTACH_FILTER
05276 if (memcmp(str, "SO_ATTACH_FILTER", 16) == 0) { *valp = SO_ATTACH_FILTER; return 0; }
05277 #endif
05278 #ifdef SO_DETACH_FILTER
05279 if (memcmp(str, "SO_DETACH_FILTER", 16) == 0) { *valp = SO_DETACH_FILTER; return 0; }
05280 #endif
05281 return -1;
05282
05283 case 23:
05284 #ifdef SO_SECURITY_AUTHENTICATION
05285 if (memcmp(str, "SECURITY_AUTHENTICATION", 23) == 0) { *valp = SO_SECURITY_AUTHENTICATION; return 0; }
05286 #endif
05287 return -1;
05288
05289 case 26:
05290 #ifdef SO_SECURITY_AUTHENTICATION
05291 if (memcmp(str, "SO_SECURITY_AUTHENTICATION", 26) == 0) { *valp = SO_SECURITY_AUTHENTICATION; return 0; }
05292 #endif
05293 return -1;
05294
05295 case 27:
05296 #ifdef SO_SECURITY_ENCRYPTION_NETWORK
05297 if (memcmp(str, "SECURITY_ENCRYPTION_NETWORK", 27) == 0) { *valp = SO_SECURITY_ENCRYPTION_NETWORK; return 0; }
05298 #endif
05299 return -1;
05300
05301 case 29:
05302 #ifdef SO_SECURITY_ENCRYPTION_TRANSPORT
05303 if (memcmp(str, "SECURITY_ENCRYPTION_TRANSPORT", 29) == 0) { *valp = SO_SECURITY_ENCRYPTION_TRANSPORT; return 0; }
05304 #endif
05305 return -1;
05306
05307 case 30:
05308 #ifdef SO_SECURITY_ENCRYPTION_NETWORK
05309 if (memcmp(str, "SO_SECURITY_ENCRYPTION_NETWORK", 30) == 0) { *valp = SO_SECURITY_ENCRYPTION_NETWORK; return 0; }
05310 #endif
05311 return -1;
05312
05313 case 32:
05314 #ifdef SO_SECURITY_ENCRYPTION_TRANSPORT
05315 if (memcmp(str, "SO_SECURITY_ENCRYPTION_TRANSPORT", 32) == 0) { *valp = SO_SECURITY_ENCRYPTION_TRANSPORT; return 0; }
05316 #endif
05317 return -1;
05318
05319 default:
05320 return -1;
05321 }
05322 }
05323
05324
05325 int
05326 rsock_ip_optname_to_int(const char *str, long len, int *valp)
05327 {
05328 switch (len) {
05329 case 3:
05330 #ifdef IP_TOS
05331 if (memcmp(str, "TOS", 3) == 0) { *valp = IP_TOS; return 0; }
05332 #endif
05333 #ifdef IP_TTL
05334 if (memcmp(str, "TTL", 3) == 0) { *valp = IP_TTL; return 0; }
05335 #endif
05336 #ifdef IP_MTU
05337 if (memcmp(str, "MTU", 3) == 0) { *valp = IP_MTU; return 0; }
05338 #endif
05339 return -1;
05340
05341 case 6:
05342 #ifdef IP_TOS
05343 if (memcmp(str, "IP_TOS", 6) == 0) { *valp = IP_TOS; return 0; }
05344 #endif
05345 #ifdef IP_TTL
05346 if (memcmp(str, "IP_TTL", 6) == 0) { *valp = IP_TTL; return 0; }
05347 #endif
05348 #ifdef IP_MTU
05349 if (memcmp(str, "IP_MTU", 6) == 0) { *valp = IP_MTU; return 0; }
05350 #endif
05351 #ifdef IP_MINTTL
05352 if (memcmp(str, "MINTTL", 6) == 0) { *valp = IP_MINTTL; return 0; }
05353 #endif
05354 #ifdef IP_RECVIF
05355 if (memcmp(str, "RECVIF", 6) == 0) { *valp = IP_RECVIF; return 0; }
05356 #endif
05357 return -1;
05358
05359 case 7:
05360 #ifdef IP_OPTIONS
05361 if (memcmp(str, "OPTIONS", 7) == 0) { *valp = IP_OPTIONS; return 0; }
05362 #endif
05363 #ifdef IP_HDRINCL
05364 if (memcmp(str, "HDRINCL", 7) == 0) { *valp = IP_HDRINCL; return 0; }
05365 #endif
05366 #ifdef IP_RETOPTS
05367 if (memcmp(str, "RETOPTS", 7) == 0) { *valp = IP_RETOPTS; return 0; }
05368 #endif
05369 #ifdef IP_RECVTTL
05370 if (memcmp(str, "RECVTTL", 7) == 0) { *valp = IP_RECVTTL; return 0; }
05371 #endif
05372 #ifdef IP_PKTINFO
05373 if (memcmp(str, "PKTINFO", 7) == 0) { *valp = IP_PKTINFO; return 0; }
05374 #endif
05375 #ifdef IP_RECVERR
05376 if (memcmp(str, "RECVERR", 7) == 0) { *valp = IP_RECVERR; return 0; }
05377 #endif
05378 #ifdef IP_RECVTOS
05379 if (memcmp(str, "RECVTOS", 7) == 0) { *valp = IP_RECVTOS; return 0; }
05380 #endif
05381 #ifdef IP_PASSSEC
05382 if (memcmp(str, "PASSSEC", 7) == 0) { *valp = IP_PASSSEC; return 0; }
05383 #endif
05384 return -1;
05385
05386 case 8:
05387 #ifdef IP_RECVOPTS
05388 if (memcmp(str, "RECVOPTS", 8) == 0) { *valp = IP_RECVOPTS; return 0; }
05389 #endif
05390 #ifdef IP_DONTFRAG
05391 if (memcmp(str, "DONTFRAG", 8) == 0) { *valp = IP_DONTFRAG; return 0; }
05392 #endif
05393 #ifdef IP_RECVSLLA
05394 if (memcmp(str, "RECVSLLA", 8) == 0) { *valp = IP_RECVSLLA; return 0; }
05395 #endif
05396 #ifdef IP_FREEBIND
05397 if (memcmp(str, "FREEBIND", 8) == 0) { *valp = IP_FREEBIND; return 0; }
05398 #endif
05399 #ifdef IP_MSFILTER
05400 if (memcmp(str, "MSFILTER", 8) == 0) { *valp = IP_MSFILTER; return 0; }
05401 #endif
05402 return -1;
05403
05404 case 9:
05405 #ifdef IP_MINTTL
05406 if (memcmp(str, "IP_MINTTL", 9) == 0) { *valp = IP_MINTTL; return 0; }
05407 #endif
05408 #ifdef IP_RECVIF
05409 if (memcmp(str, "IP_RECVIF", 9) == 0) { *valp = IP_RECVIF; return 0; }
05410 #endif
05411 #ifdef IP_ONESBCAST
05412 if (memcmp(str, "ONESBCAST", 9) == 0) { *valp = IP_ONESBCAST; return 0; }
05413 #endif
05414 #ifdef IP_PORTRANGE
05415 if (memcmp(str, "PORTRANGE", 9) == 0) { *valp = IP_PORTRANGE; return 0; }
05416 #endif
05417 return -1;
05418
05419 case 10:
05420 #ifdef IP_OPTIONS
05421 if (memcmp(str, "IP_OPTIONS", 10) == 0) { *valp = IP_OPTIONS; return 0; }
05422 #endif
05423 #ifdef IP_HDRINCL
05424 if (memcmp(str, "IP_HDRINCL", 10) == 0) { *valp = IP_HDRINCL; return 0; }
05425 #endif
05426 #ifdef IP_RETOPTS
05427 if (memcmp(str, "IP_RETOPTS", 10) == 0) { *valp = IP_RETOPTS; return 0; }
05428 #endif
05429 #ifdef IP_RECVTTL
05430 if (memcmp(str, "IP_RECVTTL", 10) == 0) { *valp = IP_RECVTTL; return 0; }
05431 #endif
05432 #ifdef IP_PKTINFO
05433 if (memcmp(str, "IP_PKTINFO", 10) == 0) { *valp = IP_PKTINFO; return 0; }
05434 #endif
05435 #ifdef IP_RECVERR
05436 if (memcmp(str, "IP_RECVERR", 10) == 0) { *valp = IP_RECVERR; return 0; }
05437 #endif
05438 #ifdef IP_RECVTOS
05439 if (memcmp(str, "IP_RECVTOS", 10) == 0) { *valp = IP_RECVTOS; return 0; }
05440 #endif
05441 #ifdef IP_PASSSEC
05442 if (memcmp(str, "IP_PASSSEC", 10) == 0) { *valp = IP_PASSSEC; return 0; }
05443 #endif
05444 #ifdef IP_PKTOPTIONS
05445 if (memcmp(str, "PKTOPTIONS", 10) == 0) { *valp = IP_PKTOPTIONS; return 0; }
05446 #endif
05447 return -1;
05448
05449 case 11:
05450 #ifdef IP_RECVOPTS
05451 if (memcmp(str, "IP_RECVOPTS", 11) == 0) { *valp = IP_RECVOPTS; return 0; }
05452 #endif
05453 #ifdef IP_DONTFRAG
05454 if (memcmp(str, "IP_DONTFRAG", 11) == 0) { *valp = IP_DONTFRAG; return 0; }
05455 #endif
05456 #ifdef IP_RECVSLLA
05457 if (memcmp(str, "IP_RECVSLLA", 11) == 0) { *valp = IP_RECVSLLA; return 0; }
05458 #endif
05459 #ifdef IP_FREEBIND
05460 if (memcmp(str, "IP_FREEBIND", 11) == 0) { *valp = IP_FREEBIND; return 0; }
05461 #endif
05462 #ifdef IP_MSFILTER
05463 if (memcmp(str, "IP_MSFILTER", 11) == 0) { *valp = IP_MSFILTER; return 0; }
05464 #endif
05465 #ifdef IP_RECVRETOPTS
05466 if (memcmp(str, "RECVRETOPTS", 11) == 0) { *valp = IP_RECVRETOPTS; return 0; }
05467 #endif
05468 #ifdef IP_RECVDSTADDR
05469 if (memcmp(str, "RECVDSTADDR", 11) == 0) { *valp = IP_RECVDSTADDR; return 0; }
05470 #endif
05471 #ifdef IP_SENDSRCADDR
05472 if (memcmp(str, "SENDSRCADDR", 11) == 0) { *valp = IP_SENDSRCADDR; return 0; }
05473 #endif
05474 #ifdef IP_XFRM_POLICY
05475 if (memcmp(str, "XFRM_POLICY", 11) == 0) { *valp = IP_XFRM_POLICY; return 0; }
05476 #endif
05477 #ifdef IP_PMTUDISC_DO
05478 if (memcmp(str, "PMTUDISC_DO", 11) == 0) { *valp = IP_PMTUDISC_DO; return 0; }
05479 #endif
05480 return -1;
05481
05482 case 12:
05483 #ifdef IP_ONESBCAST
05484 if (memcmp(str, "IP_ONESBCAST", 12) == 0) { *valp = IP_ONESBCAST; return 0; }
05485 #endif
05486 #ifdef IP_PORTRANGE
05487 if (memcmp(str, "IP_PORTRANGE", 12) == 0) { *valp = IP_PORTRANGE; return 0; }
05488 #endif
05489 #ifdef IP_MULTICAST_IF
05490 if (memcmp(str, "MULTICAST_IF", 12) == 0) { *valp = IP_MULTICAST_IF; return 0; }
05491 #endif
05492 #ifdef IP_ROUTER_ALERT
05493 if (memcmp(str, "ROUTER_ALERT", 12) == 0) { *valp = IP_ROUTER_ALERT; return 0; }
05494 #endif
05495 #ifdef IP_MTU_DISCOVER
05496 if (memcmp(str, "MTU_DISCOVER", 12) == 0) { *valp = IP_MTU_DISCOVER; return 0; }
05497 #endif
05498 #ifdef IP_IPSEC_POLICY
05499 if (memcmp(str, "IPSEC_POLICY", 12) == 0) { *valp = IP_IPSEC_POLICY; return 0; }
05500 #endif
05501 #ifdef IP_BLOCK_SOURCE
05502 if (memcmp(str, "BLOCK_SOURCE", 12) == 0) { *valp = IP_BLOCK_SOURCE; return 0; }
05503 #endif
05504 return -1;
05505
05506 case 13:
05507 #ifdef IP_PKTOPTIONS
05508 if (memcmp(str, "IP_PKTOPTIONS", 13) == 0) { *valp = IP_PKTOPTIONS; return 0; }
05509 #endif
05510 #ifdef IP_MULTICAST_TTL
05511 if (memcmp(str, "MULTICAST_TTL", 13) == 0) { *valp = IP_MULTICAST_TTL; return 0; }
05512 #endif
05513 #ifdef IP_PMTUDISC_DONT
05514 if (memcmp(str, "PMTUDISC_DONT", 13) == 0) { *valp = IP_PMTUDISC_DONT; return 0; }
05515 #endif
05516 #ifdef IP_PMTUDISC_WANT
05517 if (memcmp(str, "PMTUDISC_WANT", 13) == 0) { *valp = IP_PMTUDISC_WANT; return 0; }
05518 #endif
05519 return -1;
05520
05521 case 14:
05522 #ifdef IP_RECVRETOPTS
05523 if (memcmp(str, "IP_RECVRETOPTS", 14) == 0) { *valp = IP_RECVRETOPTS; return 0; }
05524 #endif
05525 #ifdef IP_RECVDSTADDR
05526 if (memcmp(str, "IP_RECVDSTADDR", 14) == 0) { *valp = IP_RECVDSTADDR; return 0; }
05527 #endif
05528 #ifdef IP_SENDSRCADDR
05529 if (memcmp(str, "IP_SENDSRCADDR", 14) == 0) { *valp = IP_SENDSRCADDR; return 0; }
05530 #endif
05531 #ifdef IP_XFRM_POLICY
05532 if (memcmp(str, "IP_XFRM_POLICY", 14) == 0) { *valp = IP_XFRM_POLICY; return 0; }
05533 #endif
05534 #ifdef IP_PMTUDISC_DO
05535 if (memcmp(str, "IP_PMTUDISC_DO", 14) == 0) { *valp = IP_PMTUDISC_DO; return 0; }
05536 #endif
05537 #ifdef IP_MULTICAST_LOOP
05538 if (memcmp(str, "MULTICAST_LOOP", 14) == 0) { *valp = IP_MULTICAST_LOOP; return 0; }
05539 #endif
05540 #ifdef IP_ADD_MEMBERSHIP
05541 if (memcmp(str, "ADD_MEMBERSHIP", 14) == 0) { *valp = IP_ADD_MEMBERSHIP; return 0; }
05542 #endif
05543 #ifdef IP_UNBLOCK_SOURCE
05544 if (memcmp(str, "UNBLOCK_SOURCE", 14) == 0) { *valp = IP_UNBLOCK_SOURCE; return 0; }
05545 #endif
05546 return -1;
05547
05548 case 15:
05549 #ifdef IP_MULTICAST_IF
05550 if (memcmp(str, "IP_MULTICAST_IF", 15) == 0) { *valp = IP_MULTICAST_IF; return 0; }
05551 #endif
05552 #ifdef IP_ROUTER_ALERT
05553 if (memcmp(str, "IP_ROUTER_ALERT", 15) == 0) { *valp = IP_ROUTER_ALERT; return 0; }
05554 #endif
05555 #ifdef IP_MTU_DISCOVER
05556 if (memcmp(str, "IP_MTU_DISCOVER", 15) == 0) { *valp = IP_MTU_DISCOVER; return 0; }
05557 #endif
05558 #ifdef IP_IPSEC_POLICY
05559 if (memcmp(str, "IP_IPSEC_POLICY", 15) == 0) { *valp = IP_IPSEC_POLICY; return 0; }
05560 #endif
05561 #ifdef IP_BLOCK_SOURCE
05562 if (memcmp(str, "IP_BLOCK_SOURCE", 15) == 0) { *valp = IP_BLOCK_SOURCE; return 0; }
05563 #endif
05564 #ifdef IP_DROP_MEMBERSHIP
05565 if (memcmp(str, "DROP_MEMBERSHIP", 15) == 0) { *valp = IP_DROP_MEMBERSHIP; return 0; }
05566 #endif
05567 #ifdef IP_MAX_MEMBERSHIPS
05568 if (memcmp(str, "MAX_MEMBERSHIPS", 15) == 0) { *valp = IP_MAX_MEMBERSHIPS; return 0; }
05569 #endif
05570 return -1;
05571
05572 case 16:
05573 #ifdef IP_MULTICAST_TTL
05574 if (memcmp(str, "IP_MULTICAST_TTL", 16) == 0) { *valp = IP_MULTICAST_TTL; return 0; }
05575 #endif
05576 #ifdef IP_PMTUDISC_DONT
05577 if (memcmp(str, "IP_PMTUDISC_DONT", 16) == 0) { *valp = IP_PMTUDISC_DONT; return 0; }
05578 #endif
05579 #ifdef IP_PMTUDISC_WANT
05580 if (memcmp(str, "IP_PMTUDISC_WANT", 16) == 0) { *valp = IP_PMTUDISC_WANT; return 0; }
05581 #endif
05582 return -1;
05583
05584 case 17:
05585 #ifdef IP_MULTICAST_LOOP
05586 if (memcmp(str, "IP_MULTICAST_LOOP", 17) == 0) { *valp = IP_MULTICAST_LOOP; return 0; }
05587 #endif
05588 #ifdef IP_ADD_MEMBERSHIP
05589 if (memcmp(str, "IP_ADD_MEMBERSHIP", 17) == 0) { *valp = IP_ADD_MEMBERSHIP; return 0; }
05590 #endif
05591 #ifdef IP_UNBLOCK_SOURCE
05592 if (memcmp(str, "IP_UNBLOCK_SOURCE", 17) == 0) { *valp = IP_UNBLOCK_SOURCE; return 0; }
05593 #endif
05594 return -1;
05595
05596 case 18:
05597 #ifdef IP_DROP_MEMBERSHIP
05598 if (memcmp(str, "IP_DROP_MEMBERSHIP", 18) == 0) { *valp = IP_DROP_MEMBERSHIP; return 0; }
05599 #endif
05600 #ifdef IP_MAX_MEMBERSHIPS
05601 if (memcmp(str, "IP_MAX_MEMBERSHIPS", 18) == 0) { *valp = IP_MAX_MEMBERSHIPS; return 0; }
05602 #endif
05603 return -1;
05604
05605 case 21:
05606 #ifdef IP_DEFAULT_MULTICAST_TTL
05607 if (memcmp(str, "DEFAULT_MULTICAST_TTL", 21) == 0) { *valp = IP_DEFAULT_MULTICAST_TTL; return 0; }
05608 #endif
05609 #ifdef IP_ADD_SOURCE_MEMBERSHIP
05610 if (memcmp(str, "ADD_SOURCE_MEMBERSHIP", 21) == 0) { *valp = IP_ADD_SOURCE_MEMBERSHIP; return 0; }
05611 #endif
05612 return -1;
05613
05614 case 22:
05615 #ifdef IP_DEFAULT_MULTICAST_LOOP
05616 if (memcmp(str, "DEFAULT_MULTICAST_LOOP", 22) == 0) { *valp = IP_DEFAULT_MULTICAST_LOOP; return 0; }
05617 #endif
05618 #ifdef IP_DROP_SOURCE_MEMBERSHIP
05619 if (memcmp(str, "DROP_SOURCE_MEMBERSHIP", 22) == 0) { *valp = IP_DROP_SOURCE_MEMBERSHIP; return 0; }
05620 #endif
05621 return -1;
05622
05623 case 24:
05624 #ifdef IP_DEFAULT_MULTICAST_TTL
05625 if (memcmp(str, "IP_DEFAULT_MULTICAST_TTL", 24) == 0) { *valp = IP_DEFAULT_MULTICAST_TTL; return 0; }
05626 #endif
05627 #ifdef IP_ADD_SOURCE_MEMBERSHIP
05628 if (memcmp(str, "IP_ADD_SOURCE_MEMBERSHIP", 24) == 0) { *valp = IP_ADD_SOURCE_MEMBERSHIP; return 0; }
05629 #endif
05630 return -1;
05631
05632 case 25:
05633 #ifdef IP_DEFAULT_MULTICAST_LOOP
05634 if (memcmp(str, "IP_DEFAULT_MULTICAST_LOOP", 25) == 0) { *valp = IP_DEFAULT_MULTICAST_LOOP; return 0; }
05635 #endif
05636 #ifdef IP_DROP_SOURCE_MEMBERSHIP
05637 if (memcmp(str, "IP_DROP_SOURCE_MEMBERSHIP", 25) == 0) { *valp = IP_DROP_SOURCE_MEMBERSHIP; return 0; }
05638 #endif
05639 return -1;
05640
05641 default:
05642 return -1;
05643 }
05644 }
05645
05646
05647 #ifdef IPPROTO_IPV6
05648 int
05649 rsock_ipv6_optname_to_int(const char *str, long len, int *valp)
05650 {
05651 switch (len) {
05652 case 5:
05653 #ifdef IPV6_RTHDR
05654 if (memcmp(str, "RTHDR", 5) == 0) { *valp = IPV6_RTHDR; return 0; }
05655 #endif
05656 return -1;
05657
05658 case 6:
05659 #ifdef IPV6_V6ONLY
05660 if (memcmp(str, "V6ONLY", 6) == 0) { *valp = IPV6_V6ONLY; return 0; }
05661 #endif
05662 #ifdef IPV6_TCLASS
05663 if (memcmp(str, "TCLASS", 6) == 0) { *valp = IPV6_TCLASS; return 0; }
05664 #endif
05665 return -1;
05666
05667 case 7:
05668 #ifdef IPV6_DSTOPTS
05669 if (memcmp(str, "DSTOPTS", 7) == 0) { *valp = IPV6_DSTOPTS; return 0; }
05670 #endif
05671 #ifdef IPV6_HOPOPTS
05672 if (memcmp(str, "HOPOPTS", 7) == 0) { *valp = IPV6_HOPOPTS; return 0; }
05673 #endif
05674 #ifdef IPV6_NEXTHOP
05675 if (memcmp(str, "NEXTHOP", 7) == 0) { *valp = IPV6_NEXTHOP; return 0; }
05676 #endif
05677 #ifdef IPV6_PATHMTU
05678 if (memcmp(str, "PATHMTU", 7) == 0) { *valp = IPV6_PATHMTU; return 0; }
05679 #endif
05680 #ifdef IPV6_PKTINFO
05681 if (memcmp(str, "PKTINFO", 7) == 0) { *valp = IPV6_PKTINFO; return 0; }
05682 #endif
05683 return -1;
05684
05685 case 8:
05686 #ifdef IPV6_CHECKSUM
05687 if (memcmp(str, "CHECKSUM", 8) == 0) { *valp = IPV6_CHECKSUM; return 0; }
05688 #endif
05689 #ifdef IPV6_DONTFRAG
05690 if (memcmp(str, "DONTFRAG", 8) == 0) { *valp = IPV6_DONTFRAG; return 0; }
05691 #endif
05692 #ifdef IPV6_HOPLIMIT
05693 if (memcmp(str, "HOPLIMIT", 8) == 0) { *valp = IPV6_HOPLIMIT; return 0; }
05694 #endif
05695 return -1;
05696
05697 case 9:
05698 #ifdef IPV6_RECVRTHDR
05699 if (memcmp(str, "RECVRTHDR", 9) == 0) { *valp = IPV6_RECVRTHDR; return 0; }
05700 #endif
05701 return -1;
05702
05703 case 10:
05704 #ifdef IPV6_RTHDR
05705 if (memcmp(str, "IPV6_RTHDR", 10) == 0) { *valp = IPV6_RTHDR; return 0; }
05706 #endif
05707 #ifdef IPV6_JOIN_GROUP
05708 if (memcmp(str, "JOIN_GROUP", 10) == 0) { *valp = IPV6_JOIN_GROUP; return 0; }
05709 #endif
05710 #ifdef IPV6_RECVTCLASS
05711 if (memcmp(str, "RECVTCLASS", 10) == 0) { *valp = IPV6_RECVTCLASS; return 0; }
05712 #endif
05713 return -1;
05714
05715 case 11:
05716 #ifdef IPV6_V6ONLY
05717 if (memcmp(str, "IPV6_V6ONLY", 11) == 0) { *valp = IPV6_V6ONLY; return 0; }
05718 #endif
05719 #ifdef IPV6_TCLASS
05720 if (memcmp(str, "IPV6_TCLASS", 11) == 0) { *valp = IPV6_TCLASS; return 0; }
05721 #endif
05722 #ifdef IPV6_LEAVE_GROUP
05723 if (memcmp(str, "LEAVE_GROUP", 11) == 0) { *valp = IPV6_LEAVE_GROUP; return 0; }
05724 #endif
05725 #ifdef IPV6_RECVDSTOPTS
05726 if (memcmp(str, "RECVDSTOPTS", 11) == 0) { *valp = IPV6_RECVDSTOPTS; return 0; }
05727 #endif
05728 #ifdef IPV6_RECVHOPOPTS
05729 if (memcmp(str, "RECVHOPOPTS", 11) == 0) { *valp = IPV6_RECVHOPOPTS; return 0; }
05730 #endif
05731 #ifdef IPV6_RECVPKTINFO
05732 if (memcmp(str, "RECVPKTINFO", 11) == 0) { *valp = IPV6_RECVPKTINFO; return 0; }
05733 #endif
05734 #ifdef IPV6_RECVPATHMTU
05735 if (memcmp(str, "RECVPATHMTU", 11) == 0) { *valp = IPV6_RECVPATHMTU; return 0; }
05736 #endif
05737 #ifdef IPV6_USE_MIN_MTU
05738 if (memcmp(str, "USE_MIN_MTU", 11) == 0) { *valp = IPV6_USE_MIN_MTU; return 0; }
05739 #endif
05740 return -1;
05741
05742 case 12:
05743 #ifdef IPV6_DSTOPTS
05744 if (memcmp(str, "IPV6_DSTOPTS", 12) == 0) { *valp = IPV6_DSTOPTS; return 0; }
05745 #endif
05746 #ifdef IPV6_HOPOPTS
05747 if (memcmp(str, "IPV6_HOPOPTS", 12) == 0) { *valp = IPV6_HOPOPTS; return 0; }
05748 #endif
05749 #ifdef IPV6_NEXTHOP
05750 if (memcmp(str, "IPV6_NEXTHOP", 12) == 0) { *valp = IPV6_NEXTHOP; return 0; }
05751 #endif
05752 #ifdef IPV6_PATHMTU
05753 if (memcmp(str, "IPV6_PATHMTU", 12) == 0) { *valp = IPV6_PATHMTU; return 0; }
05754 #endif
05755 #ifdef IPV6_PKTINFO
05756 if (memcmp(str, "IPV6_PKTINFO", 12) == 0) { *valp = IPV6_PKTINFO; return 0; }
05757 #endif
05758 #ifdef IPV6_MULTICAST_IF
05759 if (memcmp(str, "MULTICAST_IF", 12) == 0) { *valp = IPV6_MULTICAST_IF; return 0; }
05760 #endif
05761 #ifdef IPV6_UNICAST_HOPS
05762 if (memcmp(str, "UNICAST_HOPS", 12) == 0) { *valp = IPV6_UNICAST_HOPS; return 0; }
05763 #endif
05764 #ifdef IPV6_RECVHOPLIMIT
05765 if (memcmp(str, "RECVHOPLIMIT", 12) == 0) { *valp = IPV6_RECVHOPLIMIT; return 0; }
05766 #endif
05767 #ifdef IPV6_RTHDRDSTOPTS
05768 if (memcmp(str, "RTHDRDSTOPTS", 12) == 0) { *valp = IPV6_RTHDRDSTOPTS; return 0; }
05769 #endif
05770 #ifdef IPV6_RTHDR_TYPE_0
05771 if (memcmp(str, "RTHDR_TYPE_0", 12) == 0) { *valp = IPV6_RTHDR_TYPE_0; return 0; }
05772 #endif
05773 return -1;
05774
05775 case 13:
05776 #ifdef IPV6_CHECKSUM
05777 if (memcmp(str, "IPV6_CHECKSUM", 13) == 0) { *valp = IPV6_CHECKSUM; return 0; }
05778 #endif
05779 #ifdef IPV6_DONTFRAG
05780 if (memcmp(str, "IPV6_DONTFRAG", 13) == 0) { *valp = IPV6_DONTFRAG; return 0; }
05781 #endif
05782 #ifdef IPV6_HOPLIMIT
05783 if (memcmp(str, "IPV6_HOPLIMIT", 13) == 0) { *valp = IPV6_HOPLIMIT; return 0; }
05784 #endif
05785 return -1;
05786
05787 case 14:
05788 #ifdef IPV6_RECVRTHDR
05789 if (memcmp(str, "IPV6_RECVRTHDR", 14) == 0) { *valp = IPV6_RECVRTHDR; return 0; }
05790 #endif
05791 #ifdef IPV6_MULTICAST_HOPS
05792 if (memcmp(str, "MULTICAST_HOPS", 14) == 0) { *valp = IPV6_MULTICAST_HOPS; return 0; }
05793 #endif
05794 #ifdef IPV6_MULTICAST_LOOP
05795 if (memcmp(str, "MULTICAST_LOOP", 14) == 0) { *valp = IPV6_MULTICAST_LOOP; return 0; }
05796 #endif
05797 return -1;
05798
05799 case 15:
05800 #ifdef IPV6_JOIN_GROUP
05801 if (memcmp(str, "IPV6_JOIN_GROUP", 15) == 0) { *valp = IPV6_JOIN_GROUP; return 0; }
05802 #endif
05803 #ifdef IPV6_RECVTCLASS
05804 if (memcmp(str, "IPV6_RECVTCLASS", 15) == 0) { *valp = IPV6_RECVTCLASS; return 0; }
05805 #endif
05806 return -1;
05807
05808 case 16:
05809 #ifdef IPV6_LEAVE_GROUP
05810 if (memcmp(str, "IPV6_LEAVE_GROUP", 16) == 0) { *valp = IPV6_LEAVE_GROUP; return 0; }
05811 #endif
05812 #ifdef IPV6_RECVDSTOPTS
05813 if (memcmp(str, "IPV6_RECVDSTOPTS", 16) == 0) { *valp = IPV6_RECVDSTOPTS; return 0; }
05814 #endif
05815 #ifdef IPV6_RECVHOPOPTS
05816 if (memcmp(str, "IPV6_RECVHOPOPTS", 16) == 0) { *valp = IPV6_RECVHOPOPTS; return 0; }
05817 #endif
05818 #ifdef IPV6_RECVPKTINFO
05819 if (memcmp(str, "IPV6_RECVPKTINFO", 16) == 0) { *valp = IPV6_RECVPKTINFO; return 0; }
05820 #endif
05821 #ifdef IPV6_RECVPATHMTU
05822 if (memcmp(str, "IPV6_RECVPATHMTU", 16) == 0) { *valp = IPV6_RECVPATHMTU; return 0; }
05823 #endif
05824 #ifdef IPV6_USE_MIN_MTU
05825 if (memcmp(str, "IPV6_USE_MIN_MTU", 16) == 0) { *valp = IPV6_USE_MIN_MTU; return 0; }
05826 #endif
05827 return -1;
05828
05829 case 17:
05830 #ifdef IPV6_MULTICAST_IF
05831 if (memcmp(str, "IPV6_MULTICAST_IF", 17) == 0) { *valp = IPV6_MULTICAST_IF; return 0; }
05832 #endif
05833 #ifdef IPV6_UNICAST_HOPS
05834 if (memcmp(str, "IPV6_UNICAST_HOPS", 17) == 0) { *valp = IPV6_UNICAST_HOPS; return 0; }
05835 #endif
05836 #ifdef IPV6_RECVHOPLIMIT
05837 if (memcmp(str, "IPV6_RECVHOPLIMIT", 17) == 0) { *valp = IPV6_RECVHOPLIMIT; return 0; }
05838 #endif
05839 #ifdef IPV6_RTHDRDSTOPTS
05840 if (memcmp(str, "IPV6_RTHDRDSTOPTS", 17) == 0) { *valp = IPV6_RTHDRDSTOPTS; return 0; }
05841 #endif
05842 #ifdef IPV6_RTHDR_TYPE_0
05843 if (memcmp(str, "IPV6_RTHDR_TYPE_0", 17) == 0) { *valp = IPV6_RTHDR_TYPE_0; return 0; }
05844 #endif
05845 return -1;
05846
05847 case 19:
05848 #ifdef IPV6_MULTICAST_HOPS
05849 if (memcmp(str, "IPV6_MULTICAST_HOPS", 19) == 0) { *valp = IPV6_MULTICAST_HOPS; return 0; }
05850 #endif
05851 #ifdef IPV6_MULTICAST_LOOP
05852 if (memcmp(str, "IPV6_MULTICAST_LOOP", 19) == 0) { *valp = IPV6_MULTICAST_LOOP; return 0; }
05853 #endif
05854 return -1;
05855
05856 default:
05857 return -1;
05858 }
05859 }
05860
05861 #endif
05862
05863 int
05864 rsock_tcp_optname_to_int(const char *str, long len, int *valp)
05865 {
05866 switch (len) {
05867 case 4:
05868 #ifdef TCP_CORK
05869 if (memcmp(str, "CORK", 4) == 0) { *valp = TCP_CORK; return 0; }
05870 #endif
05871 #ifdef TCP_INFO
05872 if (memcmp(str, "INFO", 4) == 0) { *valp = TCP_INFO; return 0; }
05873 #endif
05874 return -1;
05875
05876 case 5:
05877 #ifdef TCP_NOOPT
05878 if (memcmp(str, "NOOPT", 5) == 0) { *valp = TCP_NOOPT; return 0; }
05879 #endif
05880 return -1;
05881
05882 case 6:
05883 #ifdef TCP_MAXSEG
05884 if (memcmp(str, "MAXSEG", 6) == 0) { *valp = TCP_MAXSEG; return 0; }
05885 #endif
05886 #ifdef TCP_MD5SIG
05887 if (memcmp(str, "MD5SIG", 6) == 0) { *valp = TCP_MD5SIG; return 0; }
05888 #endif
05889 #ifdef TCP_NOPUSH
05890 if (memcmp(str, "NOPUSH", 6) == 0) { *valp = TCP_NOPUSH; return 0; }
05891 #endif
05892 #ifdef TCP_SYNCNT
05893 if (memcmp(str, "SYNCNT", 6) == 0) { *valp = TCP_SYNCNT; return 0; }
05894 #endif
05895 return -1;
05896
05897 case 7:
05898 #ifdef TCP_NODELAY
05899 if (memcmp(str, "NODELAY", 7) == 0) { *valp = TCP_NODELAY; return 0; }
05900 #endif
05901 #ifdef TCP_KEEPCNT
05902 if (memcmp(str, "KEEPCNT", 7) == 0) { *valp = TCP_KEEPCNT; return 0; }
05903 #endif
05904 #ifdef TCP_LINGER2
05905 if (memcmp(str, "LINGER2", 7) == 0) { *valp = TCP_LINGER2; return 0; }
05906 #endif
05907 return -1;
05908
05909 case 8:
05910 #ifdef TCP_CORK
05911 if (memcmp(str, "TCP_CORK", 8) == 0) { *valp = TCP_CORK; return 0; }
05912 #endif
05913 #ifdef TCP_INFO
05914 if (memcmp(str, "TCP_INFO", 8) == 0) { *valp = TCP_INFO; return 0; }
05915 #endif
05916 #ifdef TCP_KEEPIDLE
05917 if (memcmp(str, "KEEPIDLE", 8) == 0) { *valp = TCP_KEEPIDLE; return 0; }
05918 #endif
05919 #ifdef TCP_QUICKACK
05920 if (memcmp(str, "QUICKACK", 8) == 0) { *valp = TCP_QUICKACK; return 0; }
05921 #endif
05922 #ifdef TCP_FASTOPEN
05923 if (memcmp(str, "FASTOPEN", 8) == 0) { *valp = TCP_FASTOPEN; return 0; }
05924 #endif
05925 return -1;
05926
05927 case 9:
05928 #ifdef TCP_NOOPT
05929 if (memcmp(str, "TCP_NOOPT", 9) == 0) { *valp = TCP_NOOPT; return 0; }
05930 #endif
05931 #ifdef TCP_KEEPINTVL
05932 if (memcmp(str, "KEEPINTVL", 9) == 0) { *valp = TCP_KEEPINTVL; return 0; }
05933 #endif
05934 return -1;
05935
05936 case 10:
05937 #ifdef TCP_MAXSEG
05938 if (memcmp(str, "TCP_MAXSEG", 10) == 0) { *valp = TCP_MAXSEG; return 0; }
05939 #endif
05940 #ifdef TCP_MD5SIG
05941 if (memcmp(str, "TCP_MD5SIG", 10) == 0) { *valp = TCP_MD5SIG; return 0; }
05942 #endif
05943 #ifdef TCP_NOPUSH
05944 if (memcmp(str, "TCP_NOPUSH", 10) == 0) { *valp = TCP_NOPUSH; return 0; }
05945 #endif
05946 #ifdef TCP_SYNCNT
05947 if (memcmp(str, "TCP_SYNCNT", 10) == 0) { *valp = TCP_SYNCNT; return 0; }
05948 #endif
05949 return -1;
05950
05951 case 11:
05952 #ifdef TCP_NODELAY
05953 if (memcmp(str, "TCP_NODELAY", 11) == 0) { *valp = TCP_NODELAY; return 0; }
05954 #endif
05955 #ifdef TCP_KEEPCNT
05956 if (memcmp(str, "TCP_KEEPCNT", 11) == 0) { *valp = TCP_KEEPCNT; return 0; }
05957 #endif
05958 #ifdef TCP_LINGER2
05959 if (memcmp(str, "TCP_LINGER2", 11) == 0) { *valp = TCP_LINGER2; return 0; }
05960 #endif
05961 return -1;
05962
05963 case 12:
05964 #ifdef TCP_KEEPIDLE
05965 if (memcmp(str, "TCP_KEEPIDLE", 12) == 0) { *valp = TCP_KEEPIDLE; return 0; }
05966 #endif
05967 #ifdef TCP_QUICKACK
05968 if (memcmp(str, "TCP_QUICKACK", 12) == 0) { *valp = TCP_QUICKACK; return 0; }
05969 #endif
05970 #ifdef TCP_FASTOPEN
05971 if (memcmp(str, "TCP_FASTOPEN", 12) == 0) { *valp = TCP_FASTOPEN; return 0; }
05972 #endif
05973 #ifdef TCP_DEFER_ACCEPT
05974 if (memcmp(str, "DEFER_ACCEPT", 12) == 0) { *valp = TCP_DEFER_ACCEPT; return 0; }
05975 #endif
05976 #ifdef TCP_WINDOW_CLAMP
05977 if (memcmp(str, "WINDOW_CLAMP", 12) == 0) { *valp = TCP_WINDOW_CLAMP; return 0; }
05978 #endif
05979 return -1;
05980
05981 case 13:
05982 #ifdef TCP_KEEPINTVL
05983 if (memcmp(str, "TCP_KEEPINTVL", 13) == 0) { *valp = TCP_KEEPINTVL; return 0; }
05984 #endif
05985 return -1;
05986
05987 case 16:
05988 #ifdef TCP_DEFER_ACCEPT
05989 if (memcmp(str, "TCP_DEFER_ACCEPT", 16) == 0) { *valp = TCP_DEFER_ACCEPT; return 0; }
05990 #endif
05991 #ifdef TCP_WINDOW_CLAMP
05992 if (memcmp(str, "TCP_WINDOW_CLAMP", 16) == 0) { *valp = TCP_WINDOW_CLAMP; return 0; }
05993 #endif
05994 return -1;
05995
05996 default:
05997 return -1;
05998 }
05999 }
06000
06001
06002 int
06003 rsock_udp_optname_to_int(const char *str, long len, int *valp)
06004 {
06005 switch (len) {
06006 case 4:
06007 #ifdef UDP_CORK
06008 if (memcmp(str, "CORK", 4) == 0) { *valp = UDP_CORK; return 0; }
06009 #endif
06010 return -1;
06011
06012 case 8:
06013 #ifdef UDP_CORK
06014 if (memcmp(str, "UDP_CORK", 8) == 0) { *valp = UDP_CORK; return 0; }
06015 #endif
06016 return -1;
06017
06018 default:
06019 return -1;
06020 }
06021 }
06022
06023
06024 int
06025 rsock_shutdown_how_to_int(const char *str, long len, int *valp)
06026 {
06027 switch (len) {
06028 case 2:
06029 #ifdef SHUT_RD
06030 if (memcmp(str, "RD", 2) == 0) { *valp = SHUT_RD; return 0; }
06031 #endif
06032 #ifdef SHUT_WR
06033 if (memcmp(str, "WR", 2) == 0) { *valp = SHUT_WR; return 0; }
06034 #endif
06035 return -1;
06036
06037 case 4:
06038 #ifdef SHUT_RDWR
06039 if (memcmp(str, "RDWR", 4) == 0) { *valp = SHUT_RDWR; return 0; }
06040 #endif
06041 return -1;
06042
06043 case 7:
06044 #ifdef SHUT_RD
06045 if (memcmp(str, "SHUT_RD", 7) == 0) { *valp = SHUT_RD; return 0; }
06046 #endif
06047 #ifdef SHUT_WR
06048 if (memcmp(str, "SHUT_WR", 7) == 0) { *valp = SHUT_WR; return 0; }
06049 #endif
06050 return -1;
06051
06052 case 9:
06053 #ifdef SHUT_RDWR
06054 if (memcmp(str, "SHUT_RDWR", 9) == 0) { *valp = SHUT_RDWR; return 0; }
06055 #endif
06056 return -1;
06057
06058 default:
06059 return -1;
06060 }
06061 }
06062
06063
06064 int
06065 rsock_scm_optname_to_int(const char *str, long len, int *valp)
06066 {
06067 switch (len) {
06068 case 5:
06069 #ifdef SCM_CREDS
06070 if (memcmp(str, "CREDS", 5) == 0) { *valp = SCM_CREDS; return 0; }
06071 #endif
06072 #ifdef SCM_UCRED
06073 if (memcmp(str, "UCRED", 5) == 0) { *valp = SCM_UCRED; return 0; }
06074 #endif
06075 return -1;
06076
06077 case 6:
06078 #ifdef SCM_RIGHTS
06079 if (memcmp(str, "RIGHTS", 6) == 0) { *valp = SCM_RIGHTS; return 0; }
06080 #endif
06081 return -1;
06082
06083 case 7:
06084 #ifdef SCM_BINTIME
06085 if (memcmp(str, "BINTIME", 7) == 0) { *valp = SCM_BINTIME; return 0; }
06086 #endif
06087 return -1;
06088
06089 case 9:
06090 #ifdef SCM_CREDS
06091 if (memcmp(str, "SCM_CREDS", 9) == 0) { *valp = SCM_CREDS; return 0; }
06092 #endif
06093 #ifdef SCM_UCRED
06094 if (memcmp(str, "SCM_UCRED", 9) == 0) { *valp = SCM_UCRED; return 0; }
06095 #endif
06096 #ifdef SCM_TIMESTAMP
06097 if (memcmp(str, "TIMESTAMP", 9) == 0) { *valp = SCM_TIMESTAMP; return 0; }
06098 #endif
06099 return -1;
06100
06101 case 10:
06102 #ifdef SCM_RIGHTS
06103 if (memcmp(str, "SCM_RIGHTS", 10) == 0) { *valp = SCM_RIGHTS; return 0; }
06104 #endif
06105 return -1;
06106
06107 case 11:
06108 #ifdef SCM_BINTIME
06109 if (memcmp(str, "SCM_BINTIME", 11) == 0) { *valp = SCM_BINTIME; return 0; }
06110 #endif
06111 #ifdef SCM_TIMESTAMPNS
06112 if (memcmp(str, "TIMESTAMPNS", 11) == 0) { *valp = SCM_TIMESTAMPNS; return 0; }
06113 #endif
06114 #ifdef SCM_CREDENTIALS
06115 if (memcmp(str, "CREDENTIALS", 11) == 0) { *valp = SCM_CREDENTIALS; return 0; }
06116 #endif
06117 return -1;
06118
06119 case 13:
06120 #ifdef SCM_TIMESTAMP
06121 if (memcmp(str, "SCM_TIMESTAMP", 13) == 0) { *valp = SCM_TIMESTAMP; return 0; }
06122 #endif
06123 return -1;
06124
06125 case 15:
06126 #ifdef SCM_TIMESTAMPNS
06127 if (memcmp(str, "SCM_TIMESTAMPNS", 15) == 0) { *valp = SCM_TIMESTAMPNS; return 0; }
06128 #endif
06129 #ifdef SCM_CREDENTIALS
06130 if (memcmp(str, "SCM_CREDENTIALS", 15) == 0) { *valp = SCM_CREDENTIALS; return 0; }
06131 #endif
06132 return -1;
06133
06134 default:
06135 return -1;
06136 }
06137 }
06138
06139
06140
06141 ID
06142 rsock_intern_family(int val)
06143 {
06144 st_data_t name;
06145 if (st_lookup(rsock_intern_family_hash, (st_data_t)val, &name))
06146 return (ID)name;
06147 return 0;
06148 }
06149
06150 ID
06151 rsock_intern_family_noprefix(int val)
06152 {
06153 st_data_t name;
06154 if (st_lookup(rsock_intern_family_noprefix_hash, (st_data_t)val, &name))
06155 return (ID)name;
06156 return 0;
06157 }
06158
06159 ID
06160 rsock_intern_protocol_family(int val)
06161 {
06162 st_data_t name;
06163 if (st_lookup(rsock_intern_protocol_family_hash, (st_data_t)val, &name))
06164 return (ID)name;
06165 return 0;
06166 }
06167
06168 ID
06169 rsock_intern_socktype(int val)
06170 {
06171 st_data_t name;
06172 if (st_lookup(rsock_intern_socktype_hash, (st_data_t)val, &name))
06173 return (ID)name;
06174 return 0;
06175 }
06176
06177 ID
06178 rsock_intern_ipproto(int val)
06179 {
06180 st_data_t name;
06181 if (st_lookup(rsock_intern_ipproto_hash, (st_data_t)val, &name))
06182 return (ID)name;
06183 return 0;
06184 }
06185
06186 ID
06187 rsock_intern_iplevel(int val)
06188 {
06189 st_data_t name;
06190 if (st_lookup(rsock_intern_iplevel_hash, (st_data_t)val, &name))
06191 return (ID)name;
06192 return 0;
06193 }
06194
06195 ID
06196 rsock_intern_so_optname(int val)
06197 {
06198 st_data_t name;
06199 if (st_lookup(rsock_intern_so_optname_hash, (st_data_t)val, &name))
06200 return (ID)name;
06201 return 0;
06202 }
06203
06204 ID
06205 rsock_intern_ip_optname(int val)
06206 {
06207 st_data_t name;
06208 if (st_lookup(rsock_intern_ip_optname_hash, (st_data_t)val, &name))
06209 return (ID)name;
06210 return 0;
06211 }
06212
06213 ID
06214 rsock_intern_ipv6_optname(int val)
06215 {
06216 st_data_t name;
06217 if (st_lookup(rsock_intern_ipv6_optname_hash, (st_data_t)val, &name))
06218 return (ID)name;
06219 return 0;
06220 }
06221
06222 ID
06223 rsock_intern_tcp_optname(int val)
06224 {
06225 st_data_t name;
06226 if (st_lookup(rsock_intern_tcp_optname_hash, (st_data_t)val, &name))
06227 return (ID)name;
06228 return 0;
06229 }
06230
06231 ID
06232 rsock_intern_udp_optname(int val)
06233 {
06234 st_data_t name;
06235 if (st_lookup(rsock_intern_udp_optname_hash, (st_data_t)val, &name))
06236 return (ID)name;
06237 return 0;
06238 }
06239
06240 ID
06241 rsock_intern_scm_optname(int val)
06242 {
06243 st_data_t name;
06244 if (st_lookup(rsock_intern_scm_optname_hash, (st_data_t)val, &name))
06245 return (ID)name;
06246 return 0;
06247 }
06248
06249 ID
06250 rsock_intern_local_optname(int val)
06251 {
06252 st_data_t name;
06253 if (st_lookup(rsock_intern_local_optname_hash, (st_data_t)val, &name))
06254 return (ID)name;
06255 return 0;
06256 }
06257
06258
06259