File Coverage

cpan/Socket/const-c.inc
Criterion Covered Total %
statement 21 23 91.3
branch n/a
condition n/a
subroutine n/a
total 21 23 91.3


line stmt bran cond sub time code
1           #define PERL_constant_NOTFOUND 1
2           #define PERL_constant_NOTDEF 2
3           #define PERL_constant_ISIV 3
4           #define PERL_constant_ISNO 4
5           #define PERL_constant_ISNV 5
6           #define PERL_constant_ISPV 6
7           #define PERL_constant_ISPVN 7
8           #define PERL_constant_ISSV 8
9           #define PERL_constant_ISUNDEF 9
10           #define PERL_constant_ISUV 10
11           #define PERL_constant_ISYES 11
12            
13           #ifndef NVTYPE
14           typedef double NV; /* 5.6 and later define NVTYPE, and typedef NV to it. */
15           #endif
16           #ifndef aTHX_
17           #define aTHX_ /* 5.6 or later define this for threading support. */
18           #endif
19           #ifndef pTHX_
20           #define pTHX_ /* 5.6 or later define this for threading support. */
21           #endif
22            
23           /* This allows slightly more efficient code on !USE_ITHREADS: */
24           #ifdef USE_ITHREADS
25           # define COP_FILE(c) CopFILE(c)
26           # define COP_FILE_F "s"
27           #else
28           # define COP_FILE(c) CopFILESV(c)
29           # define COP_FILE_F SVf
30           #endif
31            
32           static void
33 100488         constant_add_symbol(pTHX_ HV *hash, const char *name, I32 namelen, SV *value) {
34 100488         HE *he = (HE*) hv_common_key_len(hash, name, namelen, HV_FETCH_LVALUE, NULL,
35           0);
36           SV *sv;
37            
38 100488         if (!he) {
39 0         Perl_croak(aTHX_ "Couldn't add key '%s' to %%Socket::",
40           name);
41           }
42 100488         sv = HeVAL(he);
43 183168         if (SvOK(sv) || SvTYPE(sv) == SVt_PVGV) {
44           /* Someone has been here before us - have to make a real sub. */
45 17808         newCONSTSUB(hash, name, value);
46           } else {
47 165360         SvUPGRADE(sv, SVt_RV);
48 82680         SvRV_set(sv, value);
49 82680         SvROK_on(sv);
50 82680         SvREADONLY_on(value);
51           }
52 100488         }
53            
54            
55            
56           #ifndef SYMBIAN
57            
58           /* Store a hash of all symbols missing from the package. To avoid trampling on
59           the package namespace (uninvited) put each package's hash in our namespace.
60           To avoid creating lots of typeblogs and symbol tables for sub-packages, put
61           each package's hash into one hash in our namespace. */
62            
63           static HV *
64 1272         get_missing_hash(pTHX) {
65 636         HV *const parent
66           = get_hv("ExtUtils::Constant::ProxySubs::Missing", GVf_MULTI);
67           /* We could make a hash of hashes directly, but this would confuse anything
68           at Perl space that looks at us, and as we're visible in Perl space,
69           best to play nice. */
70 636         SV *const *const ref
71           = hv_fetch(parent, "Socket", 6, TRUE);
72           HV *new_hv;
73            
74 636         if (!ref)
75           return NULL;
76            
77 636         if (SvROK(*ref))
78 0         return (HV*) SvRV(*ref);
79            
80 636         new_hv = newHV();
81 1272         SvUPGRADE(*ref, SVt_RV);
82 636         SvRV_set(*ref, (SV *)new_hv);
83 636         SvROK_on(*ref);
84 636         return new_hv;
85           }
86            
87           #endif
88            
89           struct notfound_s {const char *name; I32 namelen;} ;
90            
91           static const struct notfound_s values_for_notfound[] =
92           {
93           #ifndef AF_802
94           { "AF_802", 6 },
95           #endif
96           #ifndef AF_AAL
97           { "AF_AAL", 6 },
98           #endif
99           #ifndef AF_APPLETALK
100           { "AF_APPLETALK", 12 },
101           #endif
102           #ifndef AF_CCITT
103           { "AF_CCITT", 8 },
104           #endif
105           #ifndef AF_CHAOS
106           { "AF_CHAOS", 8 },
107           #endif
108           #ifndef AF_CTF
109           { "AF_CTF", 6 },
110           #endif
111           #ifndef AF_DATAKIT
112           { "AF_DATAKIT", 10 },
113           #endif
114           #ifndef AF_DECnet
115           { "AF_DECnet", 9 },
116           #endif
117           #ifndef AF_DLI
118           { "AF_DLI", 6 },
119           #endif
120           #ifndef AF_ECMA
121           { "AF_ECMA", 7 },
122           #endif
123           #ifndef AF_GOSIP
124           { "AF_GOSIP", 8 },
125           #endif
126           #ifndef AF_HYLINK
127           { "AF_HYLINK", 9 },
128           #endif
129           #ifndef AF_IMPLINK
130           { "AF_IMPLINK", 10 },
131           #endif
132           #ifndef AF_INET
133           { "AF_INET", 7 },
134           #endif
135           #ifndef AF_INET6
136           { "AF_INET6", 8 },
137           #endif
138           #ifndef AF_ISO
139           { "AF_ISO", 6 },
140           #endif
141           #ifndef AF_KEY
142           { "AF_KEY", 6 },
143           #endif
144           #ifndef AF_LAST
145           { "AF_LAST", 7 },
146           #endif
147           #ifndef AF_LAT
148           { "AF_LAT", 6 },
149           #endif
150           #ifndef AF_LINK
151           { "AF_LINK", 7 },
152           #endif
153           #ifndef AF_MAX
154           { "AF_MAX", 6 },
155           #endif
156           #ifndef AF_NBS
157           { "AF_NBS", 6 },
158           #endif
159           #ifndef AF_NIT
160           { "AF_NIT", 6 },
161           #endif
162           #ifndef AF_NS
163           { "AF_NS", 5 },
164           #endif
165           #ifndef AF_OSI
166           { "AF_OSI", 6 },
167           #endif
168           #ifndef AF_OSINET
169           { "AF_OSINET", 9 },
170           #endif
171           #ifndef AF_PUP
172           { "AF_PUP", 6 },
173           #endif
174           #ifndef AF_ROUTE
175           { "AF_ROUTE", 8 },
176           #endif
177           #ifndef AF_SNA
178           { "AF_SNA", 6 },
179           #endif
180           #ifndef AF_UNIX
181           { "AF_UNIX", 7 },
182           #endif
183           #ifndef AF_UNSPEC
184           { "AF_UNSPEC", 9 },
185           #endif
186           #ifndef AF_USER
187           { "AF_USER", 7 },
188           #endif
189           #ifndef AF_WAN
190           { "AF_WAN", 6 },
191           #endif
192           #ifndef AF_X25
193           { "AF_X25", 6 },
194           #endif
195           #ifndef AI_ADDRCONFIG
196           { "AI_ADDRCONFIG", 13 },
197           #endif
198           #ifndef AI_ALL
199           { "AI_ALL", 6 },
200           #endif
201           #ifndef AI_CANONIDN
202           { "AI_CANONIDN", 11 },
203           #endif
204           #ifndef AI_CANONNAME
205           { "AI_CANONNAME", 12 },
206           #endif
207           #ifndef AI_IDN
208           { "AI_IDN", 6 },
209           #endif
210           #ifndef AI_IDN_ALLOW_UNASSIGNED
211           { "AI_IDN_ALLOW_UNASSIGNED", 23 },
212           #endif
213           #ifndef AI_IDN_USE_STD3_ASCII_RULES
214           { "AI_IDN_USE_STD3_ASCII_RULES", 27 },
215           #endif
216           #ifndef AI_NUMERICHOST
217           { "AI_NUMERICHOST", 14 },
218           #endif
219           #ifndef AI_NUMERICSERV
220           { "AI_NUMERICSERV", 14 },
221           #endif
222           #ifndef AI_PASSIVE
223           { "AI_PASSIVE", 10 },
224           #endif
225           #ifndef AI_V4MAPPED
226           { "AI_V4MAPPED", 11 },
227           #endif
228           #ifndef EAI_ADDRFAMILY
229           { "EAI_ADDRFAMILY", 14 },
230           #endif
231           #ifndef EAI_AGAIN
232           { "EAI_AGAIN", 9 },
233           #endif
234           #ifndef EAI_BADFLAGS
235           { "EAI_BADFLAGS", 12 },
236           #endif
237           #ifndef EAI_BADHINTS
238           { "EAI_BADHINTS", 12 },
239           #endif
240           #ifndef EAI_FAIL
241           { "EAI_FAIL", 8 },
242           #endif
243           #ifndef EAI_FAMILY
244           { "EAI_FAMILY", 10 },
245           #endif
246           #ifndef EAI_NODATA
247           { "EAI_NODATA", 10 },
248           #endif
249           #ifndef EAI_NONAME
250           { "EAI_NONAME", 10 },
251           #endif
252           #ifndef EAI_PROTOCOL
253           { "EAI_PROTOCOL", 12 },
254           #endif
255           #ifndef EAI_SERVICE
256           { "EAI_SERVICE", 11 },
257           #endif
258           #ifndef EAI_SOCKTYPE
259           { "EAI_SOCKTYPE", 12 },
260           #endif
261           #ifndef EAI_SYSTEM
262           { "EAI_SYSTEM", 10 },
263           #endif
264           #ifndef IOV_MAX
265           { "IOV_MAX", 7 },
266           #endif
267           #ifndef IP_ADD_MEMBERSHIP
268           { "IP_ADD_MEMBERSHIP", 17 },
269           #endif
270           #ifndef IP_ADD_SOURCE_MEMBERSHIP
271           { "IP_ADD_SOURCE_MEMBERSHIP", 24 },
272           #endif
273           #ifndef IP_DROP_MEMBERSHIP
274           { "IP_DROP_MEMBERSHIP", 18 },
275           #endif
276           #ifndef IP_DROP_SOURCE_MEMBERSHIP
277           { "IP_DROP_SOURCE_MEMBERSHIP", 25 },
278           #endif
279           #ifndef IP_HDRINCL
280           { "IP_HDRINCL", 10 },
281           #endif
282           #ifndef IP_MULTICAST_IF
283           { "IP_MULTICAST_IF", 15 },
284           #endif
285           #ifndef IP_MULTICAST_LOOP
286           { "IP_MULTICAST_LOOP", 17 },
287           #endif
288           #ifndef IP_MULTICAST_TTL
289           { "IP_MULTICAST_TTL", 16 },
290           #endif
291           #ifndef IP_OPTIONS
292           { "IP_OPTIONS", 10 },
293           #endif
294           #ifndef IP_RECVOPTS
295           { "IP_RECVOPTS", 11 },
296           #endif
297           #ifndef IP_RECVRETOPTS
298           { "IP_RECVRETOPTS", 14 },
299           #endif
300           #ifndef IP_RETOPTS
301           { "IP_RETOPTS", 10 },
302           #endif
303           #ifndef IP_TOS
304           { "IP_TOS", 6 },
305           #endif
306           #ifndef IP_TTL
307           { "IP_TTL", 6 },
308           #endif
309           #ifndef IPTOS_LOWDELAY
310           { "IPTOS_LOWDELAY", 14 },
311           #endif
312           #ifndef IPTOS_THROUGHPUT
313           { "IPTOS_THROUGHPUT", 16 },
314           #endif
315           #ifndef IPTOS_RELIABILITY
316           { "IPTOS_RELIABILITY", 17 },
317           #endif
318           #ifndef IPTOS_MINCOST
319           { "IPTOS_MINCOST", 13 },
320           #endif
321           #ifndef IPV6_ADD_MEMBERSHIP
322           { "IPV6_ADD_MEMBERSHIP", 19 },
323           #endif
324           #ifndef IPV6_DROP_MEMBERSHIP
325           { "IPV6_DROP_MEMBERSHIP", 20 },
326           #endif
327           #ifndef IPV6_JOIN_GROUP
328           { "IPV6_JOIN_GROUP", 15 },
329           #endif
330           #ifndef IPV6_LEAVE_GROUP
331           { "IPV6_LEAVE_GROUP", 16 },
332           #endif
333           #ifndef IPV6_MTU
334           { "IPV6_MTU", 8 },
335           #endif
336           #ifndef IPV6_MTU_DISCOVER
337           { "IPV6_MTU_DISCOVER", 17 },
338           #endif
339           #ifndef IPV6_MULTICAST_HOPS
340           { "IPV6_MULTICAST_HOPS", 19 },
341           #endif
342           #ifndef IPV6_MULTICAST_IF
343           { "IPV6_MULTICAST_IF", 17 },
344           #endif
345           #ifndef IPV6_MULTICAST_LOOP
346           { "IPV6_MULTICAST_LOOP", 19 },
347           #endif
348           #ifndef IPV6_UNICAST_HOPS
349           { "IPV6_UNICAST_HOPS", 17 },
350           #endif
351           #ifndef IPV6_V6ONLY
352           { "IPV6_V6ONLY", 11 },
353           #endif
354           #ifndef MSG_BCAST
355           { "MSG_BCAST", 9 },
356           #endif
357           #ifndef MSG_BTAG
358           { "MSG_BTAG", 8 },
359           #endif
360           #ifndef MSG_CTLFLAGS
361           { "MSG_CTLFLAGS", 12 },
362           #endif
363           #ifndef MSG_CTLIGNORE
364           { "MSG_CTLIGNORE", 13 },
365           #endif
366           #ifndef MSG_DONTWAIT
367           { "MSG_DONTWAIT", 12 },
368           #endif
369           #ifndef MSG_EOF
370           { "MSG_EOF", 7 },
371           #endif
372           #ifndef MSG_EOR
373           { "MSG_EOR", 7 },
374           #endif
375           #ifndef MSG_ERRQUEUE
376           { "MSG_ERRQUEUE", 12 },
377           #endif
378           #ifndef MSG_ETAG
379           { "MSG_ETAG", 8 },
380           #endif
381           #ifndef MSG_FIN
382           { "MSG_FIN", 7 },
383           #endif
384           #ifndef MSG_MAXIOVLEN
385           { "MSG_MAXIOVLEN", 13 },
386           #endif
387           #ifndef MSG_MCAST
388           { "MSG_MCAST", 9 },
389           #endif
390           #ifndef MSG_NOSIGNAL
391           { "MSG_NOSIGNAL", 12 },
392           #endif
393           #ifndef MSG_RST
394           { "MSG_RST", 7 },
395           #endif
396           #ifndef MSG_SYN
397           { "MSG_SYN", 7 },
398           #endif
399           #ifndef MSG_TRUNC
400           { "MSG_TRUNC", 9 },
401           #endif
402           #ifndef MSG_URG
403           { "MSG_URG", 7 },
404           #endif
405           #ifndef MSG_WAITALL
406           { "MSG_WAITALL", 11 },
407           #endif
408           #ifndef MSG_WIRE
409           { "MSG_WIRE", 8 },
410           #endif
411           #ifndef NI_DGRAM
412           { "NI_DGRAM", 8 },
413           #endif
414           #ifndef NI_IDN
415           { "NI_IDN", 6 },
416           #endif
417           #ifndef NI_IDN_ALLOW_UNASSIGNED
418           { "NI_IDN_ALLOW_UNASSIGNED", 23 },
419           #endif
420           #ifndef NI_IDN_USE_STD3_ASCII_RULES
421           { "NI_IDN_USE_STD3_ASCII_RULES", 27 },
422           #endif
423           #ifndef NI_NAMEREQD
424           { "NI_NAMEREQD", 11 },
425           #endif
426           #ifndef NI_NOFQDN
427           { "NI_NOFQDN", 9 },
428           #endif
429           #ifndef NI_NUMERICHOST
430           { "NI_NUMERICHOST", 14 },
431           #endif
432           #ifndef NI_NUMERICSERV
433           { "NI_NUMERICSERV", 14 },
434           #endif
435           #ifndef PF_802
436           { "PF_802", 6 },
437           #endif
438           #ifndef PF_AAL
439           { "PF_AAL", 6 },
440           #endif
441           #ifndef PF_APPLETALK
442           { "PF_APPLETALK", 12 },
443           #endif
444           #ifndef PF_CCITT
445           { "PF_CCITT", 8 },
446           #endif
447           #ifndef PF_CHAOS
448           { "PF_CHAOS", 8 },
449           #endif
450           #ifndef PF_CTF
451           { "PF_CTF", 6 },
452           #endif
453           #ifndef PF_DATAKIT
454           { "PF_DATAKIT", 10 },
455           #endif
456           #ifndef PF_DECnet
457           { "PF_DECnet", 9 },
458           #endif
459           #ifndef PF_DLI
460           { "PF_DLI", 6 },
461           #endif
462           #ifndef PF_ECMA
463           { "PF_ECMA", 7 },
464           #endif
465           #ifndef PF_GOSIP
466           { "PF_GOSIP", 8 },
467           #endif
468           #ifndef PF_HYLINK
469           { "PF_HYLINK", 9 },
470           #endif
471           #ifndef PF_IMPLINK
472           { "PF_IMPLINK", 10 },
473           #endif
474           #ifndef PF_INET
475           { "PF_INET", 7 },
476           #endif
477           #ifndef PF_INET6
478           { "PF_INET6", 8 },
479           #endif
480           #ifndef PF_ISO
481           { "PF_ISO", 6 },
482           #endif
483           #ifndef PF_KEY
484           { "PF_KEY", 6 },
485           #endif
486           #ifndef PF_LAST
487           { "PF_LAST", 7 },
488           #endif
489           #ifndef PF_LAT
490           { "PF_LAT", 6 },
491           #endif
492           #ifndef PF_LINK
493           { "PF_LINK", 7 },
494           #endif
495           #ifndef PF_MAX
496           { "PF_MAX", 6 },
497           #endif
498           #ifndef PF_NBS
499           { "PF_NBS", 6 },
500           #endif
501           #ifndef PF_NIT
502           { "PF_NIT", 6 },
503           #endif
504           #ifndef PF_NS
505           { "PF_NS", 5 },
506           #endif
507           #ifndef PF_OSI
508           { "PF_OSI", 6 },
509           #endif
510           #ifndef PF_OSINET
511           { "PF_OSINET", 9 },
512           #endif
513           #ifndef PF_PUP
514           { "PF_PUP", 6 },
515           #endif
516           #ifndef PF_ROUTE
517           { "PF_ROUTE", 8 },
518           #endif
519           #ifndef PF_SNA
520           { "PF_SNA", 6 },
521           #endif
522           #ifndef PF_UNIX
523           { "PF_UNIX", 7 },
524           #endif
525           #ifndef PF_UNSPEC
526           { "PF_UNSPEC", 9 },
527           #endif
528           #ifndef PF_USER
529           { "PF_USER", 7 },
530           #endif
531           #ifndef PF_WAN
532           { "PF_WAN", 6 },
533           #endif
534           #ifndef PF_X25
535           { "PF_X25", 6 },
536           #endif
537           #ifndef SCM_CONNECT
538           { "SCM_CONNECT", 11 },
539           #endif
540           #ifndef SCM_CREDENTIALS
541           { "SCM_CREDENTIALS", 15 },
542           #endif
543           #ifndef SCM_CREDS
544           { "SCM_CREDS", 9 },
545           #endif
546           #ifndef SCM_TIMESTAMP
547           { "SCM_TIMESTAMP", 13 },
548           #endif
549           #ifndef SOCK_DGRAM
550           { "SOCK_DGRAM", 10 },
551           #endif
552           #ifndef SOCK_RAW
553           { "SOCK_RAW", 8 },
554           #endif
555           #ifndef SOCK_RDM
556           { "SOCK_RDM", 8 },
557           #endif
558           #ifndef SOCK_SEQPACKET
559           { "SOCK_SEQPACKET", 14 },
560           #endif
561           #ifndef SOCK_STREAM
562           { "SOCK_STREAM", 11 },
563           #endif
564           #ifndef SOCK_NONBLOCK
565           { "SOCK_NONBLOCK", 13 },
566           #endif
567           #ifndef SOCK_CLOEXEC
568           { "SOCK_CLOEXEC", 12 },
569           #endif
570           #ifndef SOL_SOCKET
571           { "SOL_SOCKET", 10 },
572           #endif
573           #ifndef SOMAXCONN
574           { "SOMAXCONN", 9 },
575           #endif
576           #ifndef SO_ACCEPTCONN
577           { "SO_ACCEPTCONN", 13 },
578           #endif
579           #ifndef SO_ATTACH_FILTER
580           { "SO_ATTACH_FILTER", 16 },
581           #endif
582           #ifndef SO_BACKLOG
583           { "SO_BACKLOG", 10 },
584           #endif
585           #ifndef SO_BROADCAST
586           { "SO_BROADCAST", 12 },
587           #endif
588           #ifndef SO_CHAMELEON
589           { "SO_CHAMELEON", 12 },
590           #endif
591           #ifndef SO_DEBUG
592           { "SO_DEBUG", 8 },
593           #endif
594           #ifndef SO_DETACH_FILTER
595           { "SO_DETACH_FILTER", 16 },
596           #endif
597           #ifndef SO_DGRAM_ERRIND
598           { "SO_DGRAM_ERRIND", 15 },
599           #endif
600           #ifndef SO_DOMAIN
601           { "SO_DOMAIN", 9 },
602           #endif
603           #ifndef SO_DONTLINGER
604           { "SO_DONTLINGER", 13 },
605           #endif
606           #ifndef SO_DONTROUTE
607           { "SO_DONTROUTE", 12 },
608           #endif
609           #ifndef SO_ERROR
610           { "SO_ERROR", 8 },
611           #endif
612           #ifndef SO_FAMILY
613           { "SO_FAMILY", 9 },
614           #endif
615           #ifndef SO_KEEPALIVE
616           { "SO_KEEPALIVE", 12 },
617           #endif
618           #ifndef SO_LINGER
619           { "SO_LINGER", 9 },
620           #endif
621           #ifndef SO_OOBINLINE
622           { "SO_OOBINLINE", 12 },
623           #endif
624           #ifndef SO_PASSCRED
625           { "SO_PASSCRED", 11 },
626           #endif
627           #ifndef SO_PASSIFNAME
628           { "SO_PASSIFNAME", 13 },
629           #endif
630           #ifndef SO_PEERCRED
631           { "SO_PEERCRED", 11 },
632           #endif
633           #ifndef SO_PROTOCOL
634           { "SO_PROTOCOL", 11 },
635           #endif
636           #ifndef SO_PROTOTYPE
637           { "SO_PROTOTYPE", 12 },
638           #endif
639           #ifndef SO_RCVBUF
640           { "SO_RCVBUF", 9 },
641           #endif
642           #ifndef SO_RCVLOWAT
643           { "SO_RCVLOWAT", 11 },
644           #endif
645           #ifndef SO_RCVTIMEO
646           { "SO_RCVTIMEO", 11 },
647           #endif
648           #ifndef SO_REUSEADDR
649           { "SO_REUSEADDR", 12 },
650           #endif
651           #ifndef SO_REUSEPORT
652           { "SO_REUSEPORT", 12 },
653           #endif
654           #ifndef SO_SECURITY_AUTHENTICATION
655           { "SO_SECURITY_AUTHENTICATION", 26 },
656           #endif
657           #ifndef SO_SECURITY_ENCRYPTION_NETWORK
658           { "SO_SECURITY_ENCRYPTION_NETWORK", 30 },
659           #endif
660           #ifndef SO_SECURITY_ENCRYPTION_TRANSPORT
661           { "SO_SECURITY_ENCRYPTION_TRANSPORT", 32 },
662           #endif
663           #ifndef SO_SNDBUF
664           { "SO_SNDBUF", 9 },
665           #endif
666           #ifndef SO_SNDLOWAT
667           { "SO_SNDLOWAT", 11 },
668           #endif
669           #ifndef SO_SNDTIMEO
670           { "SO_SNDTIMEO", 11 },
671           #endif
672           #ifndef SO_STATE
673           { "SO_STATE", 8 },
674           #endif
675           #ifndef SO_TYPE
676           { "SO_TYPE", 7 },
677           #endif
678           #ifndef SO_USELOOPBACK
679           { "SO_USELOOPBACK", 14 },
680           #endif
681           #ifndef SO_XOPEN
682           { "SO_XOPEN", 8 },
683           #endif
684           #ifndef SO_XSE
685           { "SO_XSE", 6 },
686           #endif
687           #ifndef TCP_CONGESTION
688           { "TCP_CONGESTION", 14 },
689           #endif
690           #ifndef TCP_CONNECTIONTIMEOUT
691           { "TCP_CONNECTIONTIMEOUT", 21 },
692           #endif
693           #ifndef TCP_CORK
694           { "TCP_CORK", 8 },
695           #endif
696           #ifndef TCP_DEFER_ACCEPT
697           { "TCP_DEFER_ACCEPT", 16 },
698           #endif
699           #ifndef TCP_INFO
700           { "TCP_INFO", 8 },
701           #endif
702           #ifndef TCP_INIT_CWND
703           { "TCP_INIT_CWND", 13 },
704           #endif
705           #ifndef TCP_KEEPALIVE
706           { "TCP_KEEPALIVE", 13 },
707           #endif
708           #ifndef TCP_KEEPCNT
709           { "TCP_KEEPCNT", 11 },
710           #endif
711           #ifndef TCP_KEEPIDLE
712           { "TCP_KEEPIDLE", 12 },
713           #endif
714           #ifndef TCP_KEEPINTVL
715           { "TCP_KEEPINTVL", 13 },
716           #endif
717           #ifndef TCP_LINGER2
718           { "TCP_LINGER2", 11 },
719           #endif
720           #ifndef TCP_MAXRT
721           { "TCP_MAXRT", 9 },
722           #endif
723           #ifndef TCP_MAXSEG
724           { "TCP_MAXSEG", 10 },
725           #endif
726           #ifndef TCP_MD5SIG
727           { "TCP_MD5SIG", 10 },
728           #endif
729           #ifndef TCP_NODELAY
730           { "TCP_NODELAY", 11 },
731           #endif
732           #ifndef TCP_NOOPT
733           { "TCP_NOOPT", 9 },
734           #endif
735           #ifndef TCP_NOPUSH
736           { "TCP_NOPUSH", 10 },
737           #endif
738           #ifndef TCP_QUICKACK
739           { "TCP_QUICKACK", 12 },
740           #endif
741           #ifndef TCP_SACK_ENABLE
742           { "TCP_SACK_ENABLE", 15 },
743           #endif
744           #ifndef TCP_STDURG
745           { "TCP_STDURG", 10 },
746           #endif
747           #ifndef TCP_SYNCNT
748           { "TCP_SYNCNT", 10 },
749           #endif
750           #ifndef TCP_WINDOW_CLAMP
751           { "TCP_WINDOW_CLAMP", 16 },
752           #endif
753           #ifndef UIO_MAXIOV
754           { "UIO_MAXIOV", 10 },
755           #endif
756           #if defined(MSG_CTRUNC) || defined(HAS_MSG_CTRUNC) /* might be an enum */
757           #else
758           { "MSG_CTRUNC", 10 },
759           #endif
760           #if defined(MSG_DONTROUTE) || defined(HAS_MSG_DONTROUTE) /* might be an enum */
761           #else
762           { "MSG_DONTROUTE", 13 },
763           #endif
764           #if defined(MSG_OOB) || defined(HAS_MSG_OOB) /* might be an enum */
765           #else
766           { "MSG_OOB", 7 },
767           #endif
768           #if defined(MSG_PEEK) || defined(HAS_MSG_PEEK) /* might be an enum */
769           #else
770           { "MSG_PEEK", 8 },
771           #endif
772           #if defined(MSG_PROXY) || defined(HAS_MSG_PROXY) /* might be an enum */
773           #else
774           { "MSG_PROXY", 9 },
775           #endif
776           #if defined(SCM_RIGHTS) || defined(HAS_SCM_RIGHTS) /* might be an enum */
777           #else
778           { "SCM_RIGHTS", 10 },
779           #endif
780           #ifndef INADDR_ANY
781           { "INADDR_ANY", 10 },
782           #endif
783           #ifndef INADDR_LOOPBACK
784           { "INADDR_LOOPBACK", 15 },
785           #endif
786           #ifndef INADDR_NONE
787           { "INADDR_NONE", 11 },
788           #endif
789           #ifndef INADDR_BROADCAST
790           { "INADDR_BROADCAST", 16 },
791           #endif
792           #ifdef IN6ADDR_ANY_INIT
793           #else
794           { "IN6ADDR_ANY", 11 },
795           #endif
796           #ifdef IN6ADDR_LOOPBACK_INIT
797           #else
798           { "IN6ADDR_LOOPBACK", 16 },
799           #endif
800           { NULL, 0 } };
801           struct iv_s {const char *name; I32 namelen; IV value;};