File Coverage

const-c-socket_options.inc
Criterion Covered Total %
statement 261 345 75.6
branch 77 146 52.7
condition n/a
subroutine n/a
pod n/a
total 338 491 68.8


line stmt bran cond sub pod 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             static int
24 3           _socket_option_8 (pTHX_ const char *name, IV *iv_return) {
25             /* When generated this function returned values for the list of names given
26             here. However, subsequent manual editing may have added or removed some.
27             ZMQ_IPV6 ZMQ_RATE ZMQ_TYPE */
28             /* Offset 6 gives the best switch position. */
29 3           switch (name[6]) {
30             case 'P':
31 1 50         if (memEQ(name, "ZMQ_TYPE", 8)) {
32             /* ^ */
33             #ifdef ZMQ_TYPE
34 1           *iv_return = ZMQ_TYPE;
35 1           return PERL_constant_ISIV;
36             #else
37             return PERL_constant_NOTDEF;
38             #endif
39             }
40 0           break;
41             case 'T':
42 1 50         if (memEQ(name, "ZMQ_RATE", 8)) {
43             /* ^ */
44             #ifdef ZMQ_RATE
45 1           *iv_return = ZMQ_RATE;
46 1           return PERL_constant_ISIV;
47             #else
48             return PERL_constant_NOTDEF;
49             #endif
50             }
51 0           break;
52             case 'V':
53 1 50         if (memEQ(name, "ZMQ_IPV6", 8)) {
54             /* ^ */
55             #ifdef ZMQ_IPV6
56 1           *iv_return = ZMQ_IPV6;
57 1           return PERL_constant_ISIV;
58             #else
59             return PERL_constant_NOTDEF;
60             #endif
61             }
62 0           break;
63             }
64 0           return PERL_constant_NOTFOUND;
65             }
66              
67             static int
68 8           _socket_option_10 (pTHX_ const char *name, IV *iv_return) {
69             /* When generated this function returned values for the list of names given
70             here. However, subsequent manual editing may have added or removed some.
71             ZMQ_BLOCKY ZMQ_EVENTS ZMQ_LINGER ZMQ_RCVBUF ZMQ_RCVHWM ZMQ_SNDBUF
72             ZMQ_SNDHWM ZMQ_USE_FD */
73             /* Offset 8 gives the best switch position. */
74 8           switch (name[8]) {
75             case 'E':
76 1 50         if (memEQ(name, "ZMQ_LINGER", 10)) {
77             /* ^ */
78             #ifdef ZMQ_LINGER
79 1           *iv_return = ZMQ_LINGER;
80 1           return PERL_constant_ISIV;
81             #else
82             return PERL_constant_NOTDEF;
83             #endif
84             }
85 0           break;
86             case 'F':
87 1 50         if (memEQ(name, "ZMQ_USE_FD", 10)) {
88             /* ^ */
89             #ifdef ZMQ_USE_FD
90 1           *iv_return = ZMQ_USE_FD;
91 1           return PERL_constant_ISIV;
92             #else
93             return PERL_constant_NOTDEF;
94             #endif
95             }
96 0           break;
97             case 'K':
98 1 50         if (memEQ(name, "ZMQ_BLOCKY", 10)) {
99             /* ^ */
100             #ifdef ZMQ_BLOCKY
101 1           *iv_return = ZMQ_BLOCKY;
102 1           return PERL_constant_ISIV;
103             #else
104             return PERL_constant_NOTDEF;
105             #endif
106             }
107 0           break;
108             case 'T':
109 1 50         if (memEQ(name, "ZMQ_EVENTS", 10)) {
110             /* ^ */
111             #ifdef ZMQ_EVENTS
112 1           *iv_return = ZMQ_EVENTS;
113 1           return PERL_constant_ISIV;
114             #else
115             return PERL_constant_NOTDEF;
116             #endif
117             }
118 0           break;
119             case 'U':
120 2 100         if (memEQ(name, "ZMQ_RCVBUF", 10)) {
121             /* ^ */
122             #ifdef ZMQ_RCVBUF
123 1           *iv_return = ZMQ_RCVBUF;
124 1           return PERL_constant_ISIV;
125             #else
126             return PERL_constant_NOTDEF;
127             #endif
128             }
129 1 50         if (memEQ(name, "ZMQ_SNDBUF", 10)) {
130             /* ^ */
131             #ifdef ZMQ_SNDBUF
132 1           *iv_return = ZMQ_SNDBUF;
133 1           return PERL_constant_ISIV;
134             #else
135             return PERL_constant_NOTDEF;
136             #endif
137             }
138 0           break;
139             case 'W':
140 2 100         if (memEQ(name, "ZMQ_RCVHWM", 10)) {
141             /* ^ */
142             #ifdef ZMQ_RCVHWM
143 1           *iv_return = ZMQ_RCVHWM;
144 1           return PERL_constant_ISIV;
145             #else
146             return PERL_constant_NOTDEF;
147             #endif
148             }
149 1 50         if (memEQ(name, "ZMQ_SNDHWM", 10)) {
150             /* ^ */
151             #ifdef ZMQ_SNDHWM
152 1           *iv_return = ZMQ_SNDHWM;
153 1           return PERL_constant_ISIV;
154             #else
155             return PERL_constant_NOTDEF;
156             #endif
157             }
158 0           break;
159             }
160 0           return PERL_constant_NOTFOUND;
161             }
162              
163             static int
164 5           _socket_option_12 (pTHX_ const char *name, IV *iv_return) {
165             /* When generated this function returned values for the list of names given
166             here. However, subsequent manual editing may have added or removed some.
167             ZMQ_AFFINITY ZMQ_CONFLATE ZMQ_IDENTITY ZMQ_RCVTIMEO ZMQ_SNDTIMEO */
168             /* Offset 5 gives the best switch position. */
169 5           switch (name[5]) {
170             case 'C':
171 1 50         if (memEQ(name, "ZMQ_RCVTIMEO", 12)) {
172             /* ^ */
173             #ifdef ZMQ_RCVTIMEO
174 1           *iv_return = ZMQ_RCVTIMEO;
175 1           return PERL_constant_ISIV;
176             #else
177             return PERL_constant_NOTDEF;
178             #endif
179             }
180 0           break;
181             case 'D':
182 1 50         if (memEQ(name, "ZMQ_IDENTITY", 12)) {
183             /* ^ */
184             #ifdef ZMQ_IDENTITY
185 1           *iv_return = ZMQ_IDENTITY;
186 1           return PERL_constant_ISIV;
187             #else
188             return PERL_constant_NOTDEF;
189             #endif
190             }
191 0           break;
192             case 'F':
193 1 50         if (memEQ(name, "ZMQ_AFFINITY", 12)) {
194             /* ^ */
195             #ifdef ZMQ_AFFINITY
196 1           *iv_return = ZMQ_AFFINITY;
197 1           return PERL_constant_ISIV;
198             #else
199             return PERL_constant_NOTDEF;
200             #endif
201             }
202 0           break;
203             case 'N':
204 1 50         if (memEQ(name, "ZMQ_SNDTIMEO", 12)) {
205             /* ^ */
206             #ifdef ZMQ_SNDTIMEO
207 1           *iv_return = ZMQ_SNDTIMEO;
208 1           return PERL_constant_ISIV;
209             #else
210             return PERL_constant_NOTDEF;
211             #endif
212             }
213 0           break;
214             case 'O':
215 1 50         if (memEQ(name, "ZMQ_CONFLATE", 12)) {
216             /* ^ */
217             #ifdef ZMQ_CONFLATE
218 1           *iv_return = ZMQ_CONFLATE;
219 1           return PERL_constant_ISIV;
220             #else
221             return PERL_constant_NOTDEF;
222             #endif
223             }
224 0           break;
225             }
226 0           return PERL_constant_NOTFOUND;
227             }
228              
229             static int
230 4           _socket_option_13 (pTHX_ const char *name, IV *iv_return) {
231             /* When generated this function returned values for the list of names given
232             here. However, subsequent manual editing may have added or removed some.
233             ZMQ_IMMEDIATE ZMQ_MECHANISM ZMQ_SUBSCRIBE ZMQ_TCP_MAXRT */
234             /* Offset 4 gives the best switch position. */
235 4           switch (name[4]) {
236             case 'I':
237 1 50         if (memEQ(name, "ZMQ_IMMEDIATE", 13)) {
238             /* ^ */
239             #ifdef ZMQ_IMMEDIATE
240 1           *iv_return = ZMQ_IMMEDIATE;
241 1           return PERL_constant_ISIV;
242             #else
243             return PERL_constant_NOTDEF;
244             #endif
245             }
246 0           break;
247             case 'M':
248 1 50         if (memEQ(name, "ZMQ_MECHANISM", 13)) {
249             /* ^ */
250             #ifdef ZMQ_MECHANISM
251 1           *iv_return = ZMQ_MECHANISM;
252 1           return PERL_constant_ISIV;
253             #else
254             return PERL_constant_NOTDEF;
255             #endif
256             }
257 0           break;
258             case 'S':
259 1 50         if (memEQ(name, "ZMQ_SUBSCRIBE", 13)) {
260             /* ^ */
261             #ifdef ZMQ_SUBSCRIBE
262 1           *iv_return = ZMQ_SUBSCRIBE;
263 1           return PERL_constant_ISIV;
264             #else
265             return PERL_constant_NOTDEF;
266             #endif
267             }
268 0           break;
269             case 'T':
270 1 50         if (memEQ(name, "ZMQ_TCP_MAXRT", 13)) {
271             /* ^ */
272             #ifdef ZMQ_TCP_MAXRT
273 1           *iv_return = ZMQ_TCP_MAXRT;
274 1           return PERL_constant_ISIV;
275             #else
276             return PERL_constant_NOTDEF;
277             #endif
278             }
279 0           break;
280             }
281 0           return PERL_constant_NOTFOUND;
282             }
283              
284             static int
285 3           _socket_option_14 (pTHX_ const char *name, IV *iv_return) {
286             /* When generated this function returned values for the list of names given
287             here. However, subsequent manual editing may have added or removed some.
288             ZMQ_MAXMSGSIZE ZMQ_ROUTER_RAW ZMQ_ZAP_DOMAIN */
289             /* Offset 6 gives the best switch position. */
290 3           switch (name[6]) {
291             case 'P':
292 1 50         if (memEQ(name, "ZMQ_ZAP_DOMAIN", 14)) {
293             /* ^ */
294             #ifdef ZMQ_ZAP_DOMAIN
295 1           *iv_return = ZMQ_ZAP_DOMAIN;
296 1           return PERL_constant_ISIV;
297             #else
298             return PERL_constant_NOTDEF;
299             #endif
300             }
301 0           break;
302             case 'U':
303 1 50         if (memEQ(name, "ZMQ_ROUTER_RAW", 14)) {
304             /* ^ */
305             #ifdef ZMQ_ROUTER_RAW
306 1           *iv_return = ZMQ_ROUTER_RAW;
307 1           return PERL_constant_ISIV;
308             #else
309             return PERL_constant_NOTDEF;
310             #endif
311             }
312 0           break;
313             case 'X':
314 1 50         if (memEQ(name, "ZMQ_MAXMSGSIZE", 14)) {
315             /* ^ */
316             #ifdef ZMQ_MAXMSGSIZE
317 1           *iv_return = ZMQ_MAXMSGSIZE;
318 1           return PERL_constant_ISIV;
319             #else
320             return PERL_constant_NOTDEF;
321             #endif
322             }
323 0           break;
324             }
325 0           return PERL_constant_NOTFOUND;
326             }
327              
328             static int
329 7           _socket_option_15 (pTHX_ const char *name, IV *iv_return) {
330             /* When generated this function returned values for the list of names given
331             here. However, subsequent manual editing may have added or removed some.
332             ZMQ_CONNECT_RID ZMQ_REQ_RELAXED ZMQ_SOCKS_PROXY ZMQ_THREAD_SAFE
333             ZMQ_UNSUBSCRIBE ZMQ_XPUB_MANUAL ZMQ_XPUB_NODROP */
334             /* Offset 13 gives the best switch position. */
335 7           switch (name[13]) {
336             case 'A':
337 1 50         if (memEQ(name, "ZMQ_XPUB_MANUAL", 15)) {
338             /* ^ */
339             #ifdef ZMQ_XPUB_MANUAL
340 1           *iv_return = ZMQ_XPUB_MANUAL;
341 1           return PERL_constant_ISIV;
342             #else
343             return PERL_constant_NOTDEF;
344             #endif
345             }
346 0           break;
347             case 'B':
348 1 50         if (memEQ(name, "ZMQ_UNSUBSCRIBE", 15)) {
349             /* ^ */
350             #ifdef ZMQ_UNSUBSCRIBE
351 1           *iv_return = ZMQ_UNSUBSCRIBE;
352 1           return PERL_constant_ISIV;
353             #else
354             return PERL_constant_NOTDEF;
355             #endif
356             }
357 0           break;
358             case 'E':
359 1 50         if (memEQ(name, "ZMQ_REQ_RELAXED", 15)) {
360             /* ^ */
361             #ifdef ZMQ_REQ_RELAXED
362 1           *iv_return = ZMQ_REQ_RELAXED;
363 1           return PERL_constant_ISIV;
364             #else
365             return PERL_constant_NOTDEF;
366             #endif
367             }
368 0           break;
369             case 'F':
370 1 50         if (memEQ(name, "ZMQ_THREAD_SAFE", 15)) {
371             /* ^ */
372             #ifdef ZMQ_THREAD_SAFE
373 1           *iv_return = ZMQ_THREAD_SAFE;
374 1           return PERL_constant_ISIV;
375             #else
376             return PERL_constant_NOTDEF;
377             #endif
378             }
379 0           break;
380             case 'I':
381 1 50         if (memEQ(name, "ZMQ_CONNECT_RID", 15)) {
382             /* ^ */
383             #ifdef ZMQ_CONNECT_RID
384 1           *iv_return = ZMQ_CONNECT_RID;
385 1           return PERL_constant_ISIV;
386             #else
387             return PERL_constant_NOTDEF;
388             #endif
389             }
390 0           break;
391             case 'O':
392 1 50         if (memEQ(name, "ZMQ_XPUB_NODROP", 15)) {
393             /* ^ */
394             #ifdef ZMQ_XPUB_NODROP
395 1           *iv_return = ZMQ_XPUB_NODROP;
396 1           return PERL_constant_ISIV;
397             #else
398             return PERL_constant_NOTDEF;
399             #endif
400             }
401 0           break;
402             case 'X':
403 1 50         if (memEQ(name, "ZMQ_SOCKS_PROXY", 15)) {
404             /* ^ */
405             #ifdef ZMQ_SOCKS_PROXY
406 1           *iv_return = ZMQ_SOCKS_PROXY;
407 1           return PERL_constant_ISIV;
408             #else
409             return PERL_constant_NOTDEF;
410             #endif
411             }
412 0           break;
413             }
414 0           return PERL_constant_NOTFOUND;
415             }
416              
417             static int
418 6           _socket_option_16 (pTHX_ const char *name, IV *iv_return) {
419             /* When generated this function returned values for the list of names given
420             here. However, subsequent manual editing may have added or removed some.
421             ZMQ_CURVE_SERVER ZMQ_PLAIN_SERVER ZMQ_PROBE_ROUTER ZMQ_RECOVERY_IVL
422             ZMQ_XPUB_VERBOSE */
423             /* Offset 5 gives the best switch position. */
424 6           switch (name[5]) {
425             case 'E':
426 1 50         if (memEQ(name, "ZMQ_RECOVERY_IVL", 16)) {
427             /* ^ */
428             #ifdef ZMQ_RECOVERY_IVL
429 1           *iv_return = ZMQ_RECOVERY_IVL;
430 1           return PERL_constant_ISIV;
431             #else
432             return PERL_constant_NOTDEF;
433             #endif
434             }
435 0           break;
436             case 'L':
437 1 50         if (memEQ(name, "ZMQ_PLAIN_SERVER", 16)) {
438             /* ^ */
439             #ifdef ZMQ_PLAIN_SERVER
440 1           *iv_return = ZMQ_PLAIN_SERVER;
441 1           return PERL_constant_ISIV;
442             #else
443             return PERL_constant_NOTDEF;
444             #endif
445             }
446 0           break;
447             case 'P':
448 1 50         if (memEQ(name, "ZMQ_XPUB_VERBOSE", 16)) {
449             /* ^ */
450             #ifdef ZMQ_XPUB_VERBOSE
451 1           *iv_return = ZMQ_XPUB_VERBOSE;
452 1           return PERL_constant_ISIV;
453             #else
454             return PERL_constant_NOTDEF;
455             #endif
456             }
457 0           break;
458             case 'R':
459 1 50         if (memEQ(name, "ZMQ_PROBE_ROUTER", 16)) {
460             /* ^ */
461             #ifdef ZMQ_PROBE_ROUTER
462 1           *iv_return = ZMQ_PROBE_ROUTER;
463 1           return PERL_constant_ISIV;
464             #else
465             return PERL_constant_NOTDEF;
466             #endif
467             }
468 0           break;
469             case 'U':
470 2 50         if (memEQ(name, "ZMQ_CURVE_SERVER", 16)) {
471             /* ^ */
472             #ifdef ZMQ_CURVE_SERVER
473 2           *iv_return = ZMQ_CURVE_SERVER;
474 2           return PERL_constant_ISIV;
475             #else
476             return PERL_constant_NOTDEF;
477             #endif
478             }
479 0           break;
480             }
481 0           return PERL_constant_NOTFOUND;
482             }
483              
484             static int
485 10           _socket_option_17 (pTHX_ const char *name, IV *iv_return) {
486             /* When generated this function returned values for the list of names given
487             here. However, subsequent manual editing may have added or removed some.
488             ZMQ_GSSAPI_SERVER ZMQ_HANDSHAKE_IVL ZMQ_HEARTBEAT_IVL ZMQ_HEARTBEAT_TTL
489             ZMQ_LAST_ENDPOINT ZMQ_RECONNECT_IVL ZMQ_REQ_CORRELATE ZMQ_STREAM_NOTIFY
490             ZMQ_TCP_KEEPALIVE ZMQ_XPUB_VERBOSER */
491             /* Offset 11 gives the best switch position. */
492 10           switch (name[11]) {
493             case 'A':
494 2 100         if (memEQ(name, "ZMQ_HEARTBEAT_IVL", 17)) {
495             /* ^ */
496             #ifdef ZMQ_HEARTBEAT_IVL
497 1           *iv_return = ZMQ_HEARTBEAT_IVL;
498 1           return PERL_constant_ISIV;
499             #else
500             return PERL_constant_NOTDEF;
501             #endif
502             }
503 1 50         if (memEQ(name, "ZMQ_HEARTBEAT_TTL", 17)) {
504             /* ^ */
505             #ifdef ZMQ_HEARTBEAT_TTL
506 1           *iv_return = ZMQ_HEARTBEAT_TTL;
507 1           return PERL_constant_ISIV;
508             #else
509             return PERL_constant_NOTDEF;
510             #endif
511             }
512 0           break;
513             case 'C':
514 1 50         if (memEQ(name, "ZMQ_RECONNECT_IVL", 17)) {
515             /* ^ */
516             #ifdef ZMQ_RECONNECT_IVL
517 1           *iv_return = ZMQ_RECONNECT_IVL;
518 1           return PERL_constant_ISIV;
519             #else
520             return PERL_constant_NOTDEF;
521             #endif
522             }
523 0           break;
524             case 'D':
525 1 50         if (memEQ(name, "ZMQ_LAST_ENDPOINT", 17)) {
526             /* ^ */
527             #ifdef ZMQ_LAST_ENDPOINT
528 1           *iv_return = ZMQ_LAST_ENDPOINT;
529 1           return PERL_constant_ISIV;
530             #else
531             return PERL_constant_NOTDEF;
532             #endif
533             }
534 0           break;
535             case 'K':
536 1 50         if (memEQ(name, "ZMQ_HANDSHAKE_IVL", 17)) {
537             /* ^ */
538             #ifdef ZMQ_HANDSHAKE_IVL
539 1           *iv_return = ZMQ_HANDSHAKE_IVL;
540 1           return PERL_constant_ISIV;
541             #else
542             return PERL_constant_NOTDEF;
543             #endif
544             }
545 0           break;
546             case 'N':
547 1 50         if (memEQ(name, "ZMQ_STREAM_NOTIFY", 17)) {
548             /* ^ */
549             #ifdef ZMQ_STREAM_NOTIFY
550 1           *iv_return = ZMQ_STREAM_NOTIFY;
551 1           return PERL_constant_ISIV;
552             #else
553             return PERL_constant_NOTDEF;
554             #endif
555             }
556 0           break;
557             case 'P':
558 1 50         if (memEQ(name, "ZMQ_TCP_KEEPALIVE", 17)) {
559             /* ^ */
560             #ifdef ZMQ_TCP_KEEPALIVE
561 1           *iv_return = ZMQ_TCP_KEEPALIVE;
562 1           return PERL_constant_ISIV;
563             #else
564             return PERL_constant_NOTDEF;
565             #endif
566             }
567 0           break;
568             case 'R':
569 2 100         if (memEQ(name, "ZMQ_REQ_CORRELATE", 17)) {
570             /* ^ */
571             #ifdef ZMQ_REQ_CORRELATE
572 1           *iv_return = ZMQ_REQ_CORRELATE;
573 1           return PERL_constant_ISIV;
574             #else
575             return PERL_constant_NOTDEF;
576             #endif
577             }
578 1 50         if (memEQ(name, "ZMQ_XPUB_VERBOSER", 17)) {
579             /* ^ */
580             #ifdef ZMQ_XPUB_VERBOSER
581 1           *iv_return = ZMQ_XPUB_VERBOSER;
582 1           return PERL_constant_ISIV;
583             #else
584             return PERL_constant_NOTDEF;
585             #endif
586             }
587 0           break;
588             case 'S':
589 1 50         if (memEQ(name, "ZMQ_GSSAPI_SERVER", 17)) {
590             /* ^ */
591             #ifdef ZMQ_GSSAPI_SERVER
592 1           *iv_return = ZMQ_GSSAPI_SERVER;
593 1           return PERL_constant_ISIV;
594             #else
595             return PERL_constant_NOTDEF;
596             #endif
597             }
598 0           break;
599             }
600 0           return PERL_constant_NOTFOUND;
601             }
602              
603             static int
604 3           _socket_option_18 (pTHX_ const char *name, IV *iv_return) {
605             /* When generated this function returned values for the list of names given
606             here. However, subsequent manual editing may have added or removed some.
607             ZMQ_MULTICAST_HOPS ZMQ_PLAIN_PASSWORD ZMQ_PLAIN_USERNAME */
608             /* Offset 16 gives the best switch position. */
609 3           switch (name[16]) {
610             case 'M':
611 1 50         if (memEQ(name, "ZMQ_PLAIN_USERNAME", 18)) {
612             /* ^ */
613             #ifdef ZMQ_PLAIN_USERNAME
614 1           *iv_return = ZMQ_PLAIN_USERNAME;
615 1           return PERL_constant_ISIV;
616             #else
617             return PERL_constant_NOTDEF;
618             #endif
619             }
620 0           break;
621             case 'P':
622 1 50         if (memEQ(name, "ZMQ_MULTICAST_HOPS", 18)) {
623             /* ^ */
624             #ifdef ZMQ_MULTICAST_HOPS
625 1           *iv_return = ZMQ_MULTICAST_HOPS;
626 1           return PERL_constant_ISIV;
627             #else
628             return PERL_constant_NOTDEF;
629             #endif
630             }
631 0           break;
632             case 'R':
633 1 50         if (memEQ(name, "ZMQ_PLAIN_PASSWORD", 18)) {
634             /* ^ */
635             #ifdef ZMQ_PLAIN_PASSWORD
636 1           *iv_return = ZMQ_PLAIN_PASSWORD;
637 1           return PERL_constant_ISIV;
638             #else
639             return PERL_constant_NOTDEF;
640             #endif
641             }
642 0           break;
643             }
644 0           return PERL_constant_NOTFOUND;
645             }
646              
647             static int
648 9           _socket_option_19 (pTHX_ const char *name, IV *iv_return) {
649             /* When generated this function returned values for the list of names given
650             here. However, subsequent manual editing may have added or removed some.
651             ZMQ_CONNECT_TIMEOUT ZMQ_CURVE_PUBLICKEY ZMQ_CURVE_SECRETKEY
652             ZMQ_CURVE_SERVERKEY ZMQ_INVERT_MATCHING ZMQ_ROUTER_HANDOVER */
653             /* Offset 13 gives the best switch position. */
654 9           switch (name[13]) {
655             case 'I':
656 1 50         if (memEQ(name, "ZMQ_CONNECT_TIMEOUT", 19)) {
657             /* ^ */
658             #ifdef ZMQ_CONNECT_TIMEOUT
659 1           *iv_return = ZMQ_CONNECT_TIMEOUT;
660 1           return PERL_constant_ISIV;
661             #else
662             return PERL_constant_NOTDEF;
663             #endif
664             }
665 0           break;
666             case 'L':
667 2 50         if (memEQ(name, "ZMQ_CURVE_PUBLICKEY", 19)) {
668             /* ^ */
669             #ifdef ZMQ_CURVE_PUBLICKEY
670 2           *iv_return = ZMQ_CURVE_PUBLICKEY;
671 2           return PERL_constant_ISIV;
672             #else
673             return PERL_constant_NOTDEF;
674             #endif
675             }
676 0           break;
677             case 'N':
678 1 50         if (memEQ(name, "ZMQ_ROUTER_HANDOVER", 19)) {
679             /* ^ */
680             #ifdef ZMQ_ROUTER_HANDOVER
681 1           *iv_return = ZMQ_ROUTER_HANDOVER;
682 1           return PERL_constant_ISIV;
683             #else
684             return PERL_constant_NOTDEF;
685             #endif
686             }
687 0           break;
688             case 'R':
689 2 50         if (memEQ(name, "ZMQ_CURVE_SECRETKEY", 19)) {
690             /* ^ */
691             #ifdef ZMQ_CURVE_SECRETKEY
692 2           *iv_return = ZMQ_CURVE_SECRETKEY;
693 2           return PERL_constant_ISIV;
694             #else
695             return PERL_constant_NOTDEF;
696             #endif
697             }
698 0           break;
699             case 'T':
700 1 50         if (memEQ(name, "ZMQ_INVERT_MATCHING", 19)) {
701             /* ^ */
702             #ifdef ZMQ_INVERT_MATCHING
703 1           *iv_return = ZMQ_INVERT_MATCHING;
704 1           return PERL_constant_ISIV;
705             #else
706             return PERL_constant_NOTDEF;
707             #endif
708             }
709 0           break;
710             case 'V':
711 2 50         if (memEQ(name, "ZMQ_CURVE_SERVERKEY", 19)) {
712             /* ^ */
713             #ifdef ZMQ_CURVE_SERVERKEY
714 2           *iv_return = ZMQ_CURVE_SERVERKEY;
715 2           return PERL_constant_ISIV;
716             #else
717             return PERL_constant_NOTDEF;
718             #endif
719             }
720 0           break;
721             }
722 0           return PERL_constant_NOTFOUND;
723             }
724              
725             static int
726 5           _socket_option_20 (pTHX_ const char *name, IV *iv_return) {
727             /* When generated this function returned values for the list of names given
728             here. However, subsequent manual editing may have added or removed some.
729             ZMQ_GSSAPI_PLAINTEXT ZMQ_GSSAPI_PRINCIPAL ZMQ_ROUTER_MANDATORY
730             ZMQ_VMCI_BUFFER_SIZE ZMQ_XPUB_WELCOME_MSG */
731             /* Offset 17 gives the best switch position. */
732 5           switch (name[17]) {
733             case 'E':
734 1 50         if (memEQ(name, "ZMQ_GSSAPI_PLAINTEXT", 20)) {
735             /* ^ */
736             #ifdef ZMQ_GSSAPI_PLAINTEXT
737 1           *iv_return = ZMQ_GSSAPI_PLAINTEXT;
738 1           return PERL_constant_ISIV;
739             #else
740             return PERL_constant_NOTDEF;
741             #endif
742             }
743 0           break;
744             case 'I':
745 1 50         if (memEQ(name, "ZMQ_VMCI_BUFFER_SIZE", 20)) {
746             /* ^ */
747             #ifdef ZMQ_VMCI_BUFFER_SIZE
748 1           *iv_return = ZMQ_VMCI_BUFFER_SIZE;
749 1           return PERL_constant_ISIV;
750             #else
751             return PERL_constant_NOTDEF;
752             #endif
753             }
754 0           break;
755             case 'M':
756 1 50         if (memEQ(name, "ZMQ_XPUB_WELCOME_MSG", 20)) {
757             /* ^ */
758             #ifdef ZMQ_XPUB_WELCOME_MSG
759 1           *iv_return = ZMQ_XPUB_WELCOME_MSG;
760 1           return PERL_constant_ISIV;
761             #else
762             return PERL_constant_NOTDEF;
763             #endif
764             }
765 0           break;
766             case 'O':
767 1 50         if (memEQ(name, "ZMQ_ROUTER_MANDATORY", 20)) {
768             /* ^ */
769             #ifdef ZMQ_ROUTER_MANDATORY
770 1           *iv_return = ZMQ_ROUTER_MANDATORY;
771 1           return PERL_constant_ISIV;
772             #else
773             return PERL_constant_NOTDEF;
774             #endif
775             }
776 0           break;
777             case 'P':
778 1 50         if (memEQ(name, "ZMQ_GSSAPI_PRINCIPAL", 20)) {
779             /* ^ */
780             #ifdef ZMQ_GSSAPI_PRINCIPAL
781 1           *iv_return = ZMQ_GSSAPI_PRINCIPAL;
782 1           return PERL_constant_ISIV;
783             #else
784             return PERL_constant_NOTDEF;
785             #endif
786             }
787 0           break;
788             }
789 0           return PERL_constant_NOTFOUND;
790             }
791              
792             static int
793 4           _socket_option_21 (pTHX_ const char *name, IV *iv_return) {
794             /* When generated this function returned values for the list of names given
795             here. However, subsequent manual editing may have added or removed some.
796             ZMQ_HEARTBEAT_TIMEOUT ZMQ_MULTICAST_MAXTPDU ZMQ_RECONNECT_IVL_MAX
797             ZMQ_TCP_KEEPALIVE_CNT */
798             /* Offset 8 gives the best switch position. */
799 4           switch (name[8]) {
800             case 'I':
801 1 50         if (memEQ(name, "ZMQ_MULTICAST_MAXTPDU", 21)) {
802             /* ^ */
803             #ifdef ZMQ_MULTICAST_MAXTPDU
804 1           *iv_return = ZMQ_MULTICAST_MAXTPDU;
805 1           return PERL_constant_ISIV;
806             #else
807             return PERL_constant_NOTDEF;
808             #endif
809             }
810 0           break;
811             case 'K':
812 1 50         if (memEQ(name, "ZMQ_TCP_KEEPALIVE_CNT", 21)) {
813             /* ^ */
814             #ifdef ZMQ_TCP_KEEPALIVE_CNT
815 1           *iv_return = ZMQ_TCP_KEEPALIVE_CNT;
816 1           return PERL_constant_ISIV;
817             #else
818             return PERL_constant_NOTDEF;
819             #endif
820             }
821 0           break;
822             case 'N':
823 1 50         if (memEQ(name, "ZMQ_RECONNECT_IVL_MAX", 21)) {
824             /* ^ */
825             #ifdef ZMQ_RECONNECT_IVL_MAX
826 1           *iv_return = ZMQ_RECONNECT_IVL_MAX;
827 1           return PERL_constant_ISIV;
828             #else
829             return PERL_constant_NOTDEF;
830             #endif
831             }
832 0           break;
833             case 'T':
834 1 50         if (memEQ(name, "ZMQ_HEARTBEAT_TIMEOUT", 21)) {
835             /* ^ */
836             #ifdef ZMQ_HEARTBEAT_TIMEOUT
837 1           *iv_return = ZMQ_HEARTBEAT_TIMEOUT;
838 1           return PERL_constant_ISIV;
839             #else
840             return PERL_constant_NOTDEF;
841             #endif
842             }
843 0           break;
844             }
845 0           return PERL_constant_NOTFOUND;
846             }
847              
848             static int
849 3           _socket_option_24 (pTHX_ const char *name, IV *iv_return) {
850             /* When generated this function returned values for the list of names given
851             here. However, subsequent manual editing may have added or removed some.
852             ZMQ_VMCI_BUFFER_MAX_SIZE ZMQ_VMCI_BUFFER_MIN_SIZE ZMQ_VMCI_CONNECT_TIMEOUT
853             */
854             /* Offset 18 gives the best switch position. */
855 3           switch (name[18]) {
856             case 'I':
857 1 50         if (memEQ(name, "ZMQ_VMCI_CONNECT_TIMEOUT", 24)) {
858             /* ^ */
859             #ifdef ZMQ_VMCI_CONNECT_TIMEOUT
860 1           *iv_return = ZMQ_VMCI_CONNECT_TIMEOUT;
861 1           return PERL_constant_ISIV;
862             #else
863             return PERL_constant_NOTDEF;
864             #endif
865             }
866 0           break;
867             case 'N':
868 1 50         if (memEQ(name, "ZMQ_VMCI_BUFFER_MIN_SIZE", 24)) {
869             /* ^ */
870             #ifdef ZMQ_VMCI_BUFFER_MIN_SIZE
871 1           *iv_return = ZMQ_VMCI_BUFFER_MIN_SIZE;
872 1           return PERL_constant_ISIV;
873             #else
874             return PERL_constant_NOTDEF;
875             #endif
876             }
877 0           break;
878             case 'X':
879 1 50         if (memEQ(name, "ZMQ_VMCI_BUFFER_MAX_SIZE", 24)) {
880             /* ^ */
881             #ifdef ZMQ_VMCI_BUFFER_MAX_SIZE
882 1           *iv_return = ZMQ_VMCI_BUFFER_MAX_SIZE;
883 1           return PERL_constant_ISIV;
884             #else
885             return PERL_constant_NOTDEF;
886             #endif
887             }
888 0           break;
889             }
890 0           return PERL_constant_NOTFOUND;
891             }
892              
893             static int
894 77           _socket_option (pTHX_ const char *name, STRLEN len, IV *iv_return) {
895             /* Initially switch on the length of the name. */
896             /* When generated this function returned values for the list of names given
897             in this section of perl code. Rather than manually editing these functions
898             to add or remove constants, which would result in this comment and section
899             of code becoming inaccurate, we recommend that you edit this section of
900             code, and use it to regenerate a new set of constant functions which you
901             then use to replace the originals.
902              
903             Regenerate these constant functions by feeding this entire source file to
904             perl -x
905              
906             #!/usr/local/bin/perl -w
907             use ExtUtils::Constant qw (constant_types C_constant XS_constant);
908              
909             my $types = {map {($_, 1)} qw(IV)};
910             my @names = (qw(ZMQ_AFFINITY ZMQ_BACKLOG ZMQ_BLOCKY ZMQ_CONFLATE
911             ZMQ_CONNECT_RID ZMQ_CONNECT_TIMEOUT ZMQ_CURVE_PUBLICKEY
912             ZMQ_CURVE_SECRETKEY ZMQ_CURVE_SERVER ZMQ_CURVE_SERVERKEY
913             ZMQ_EVENTS ZMQ_FD ZMQ_GSSAPI_PLAINTEXT ZMQ_GSSAPI_PRINCIPAL
914             ZMQ_GSSAPI_SERVER ZMQ_GSSAPI_SERVICE_PRINCIPAL ZMQ_HANDSHAKE_IVL
915             ZMQ_HEARTBEAT_IVL ZMQ_HEARTBEAT_TIMEOUT ZMQ_HEARTBEAT_TTL
916             ZMQ_IDENTITY ZMQ_IMMEDIATE ZMQ_INVERT_MATCHING ZMQ_IPV6
917             ZMQ_LAST_ENDPOINT ZMQ_LINGER ZMQ_MAXMSGSIZE ZMQ_MECHANISM
918             ZMQ_MULTICAST_HOPS ZMQ_MULTICAST_MAXTPDU ZMQ_PLAIN_PASSWORD
919             ZMQ_PLAIN_SERVER ZMQ_PLAIN_USERNAME ZMQ_PROBE_ROUTER ZMQ_RATE
920             ZMQ_RCVBUF ZMQ_RCVHWM ZMQ_RCVMORE ZMQ_RCVTIMEO ZMQ_RECONNECT_IVL
921             ZMQ_RECONNECT_IVL_MAX ZMQ_RECOVERY_IVL ZMQ_REQ_CORRELATE
922             ZMQ_REQ_RELAXED ZMQ_ROUTER_HANDOVER ZMQ_ROUTER_MANDATORY
923             ZMQ_ROUTER_RAW ZMQ_SNDBUF ZMQ_SNDHWM ZMQ_SNDTIMEO
924             ZMQ_SOCKS_PROXY ZMQ_STREAM_NOTIFY ZMQ_SUBSCRIBE
925             ZMQ_TCP_KEEPALIVE ZMQ_TCP_KEEPALIVE_CNT ZMQ_TCP_KEEPALIVE_IDLE
926             ZMQ_TCP_KEEPALIVE_INTVL ZMQ_TCP_MAXRT ZMQ_THREAD_SAFE ZMQ_TOS
927             ZMQ_TYPE ZMQ_UNSUBSCRIBE ZMQ_USE_FD ZMQ_VMCI_BUFFER_MAX_SIZE
928             ZMQ_VMCI_BUFFER_MIN_SIZE ZMQ_VMCI_BUFFER_SIZE
929             ZMQ_VMCI_CONNECT_TIMEOUT ZMQ_XPUB_MANUAL ZMQ_XPUB_NODROP
930             ZMQ_XPUB_VERBOSE ZMQ_XPUB_VERBOSER ZMQ_XPUB_WELCOME_MSG
931             ZMQ_ZAP_DOMAIN));
932              
933             print constant_types(), "\n"; # macro defs
934             foreach (C_constant ("ZMQ::Raw::Socket", '_socket_option', 'IV', $types, undef, 3, @names) ) {
935             print $_, "\n"; # C constant subs
936             }
937             print "\n#### XS Section:\n";
938             print XS_constant ("ZMQ::Raw::Socket", $types);
939             __END__