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