codegen: improve the generated code on architectures with flags
[ajla.git] / os_pos_s.inc
blobca5319de72d403caad541b8a5f7d0cdd4ccc0c7b
1 /*
2  * No-copyright
3  * A table of numbers, generated by a script, is supposedly not copyrightable.
4  */
6 static int os_socket_pf(int idx, ajla_error_t *err)
8         switch (idx) {
9 #ifdef PF_UNIX
10                 case 1: return PF_UNIX;
11 #endif
12 #ifdef PF_INET
13                 case 2: return PF_INET;
14 #endif
15 #ifdef PF_AX25
16                 case 3: return PF_AX25;
17 #endif
18 #ifdef PF_IPX
19                 case 4: return PF_IPX;
20 #endif
21 #ifdef PF_APPLETALK
22                 case 5: return PF_APPLETALK;
23 #endif
24 #ifdef PF_NETROM
25                 case 6: return PF_NETROM;
26 #endif
27 #ifdef PF_BRIDGE
28                 case 7: return PF_BRIDGE;
29 #endif
30 #ifdef PF_ATMPVC
31                 case 8: return PF_ATMPVC;
32 #endif
33 #ifdef PF_X25
34                 case 9: return PF_X25;
35 #endif
36 #ifdef PF_INET6
37                 case 10: return PF_INET6;
38 #endif
39 #ifdef PF_ROSE
40                 case 11: return PF_ROSE;
41 #endif
42 #ifdef PF_DECnet
43                 case 12: return PF_DECnet;
44 #endif
45 #ifdef PF_NETBEUI
46                 case 13: return PF_NETBEUI;
47 #endif
48 #ifdef PF_SECURITY
49                 case 14: return PF_SECURITY;
50 #endif
51 #ifdef PF_KEY
52                 case 15: return PF_KEY;
53 #endif
54 #ifdef PF_NETLINK
55                 case 16: return PF_NETLINK;
56 #endif
57 #ifdef PF_PACKET
58                 case 17: return PF_PACKET;
59 #endif
60 #ifdef PF_ASH
61                 case 18: return PF_ASH;
62 #endif
63 #ifdef PF_ECONET
64                 case 19: return PF_ECONET;
65 #endif
66 #ifdef PF_ATMSVC
67                 case 20: return PF_ATMSVC;
68 #endif
69 #ifdef PF_RDS
70                 case 21: return PF_RDS;
71 #endif
72 #ifdef PF_SNA
73                 case 22: return PF_SNA;
74 #endif
75 #ifdef PF_IRDA
76                 case 23: return PF_IRDA;
77 #endif
78 #ifdef PF_PPPOX
79                 case 24: return PF_PPPOX;
80 #endif
81 #ifdef PF_WANPIPE
82                 case 25: return PF_WANPIPE;
83 #endif
84 #ifdef PF_LLC
85                 case 26: return PF_LLC;
86 #endif
87 #ifdef PF_IB
88                 case 27: return PF_IB;
89 #endif
90 #ifdef PF_MPLS
91                 case 28: return PF_MPLS;
92 #endif
93 #ifdef PF_CAN
94                 case 29: return PF_CAN;
95 #endif
96 #ifdef PF_TIPC
97                 case 30: return PF_TIPC;
98 #endif
99 #ifdef PF_BLUETOOTH
100                 case 31: return PF_BLUETOOTH;
101 #endif
102 #ifdef PF_IUCV
103                 case 32: return PF_IUCV;
104 #endif
105 #ifdef PF_RXRPC
106                 case 33: return PF_RXRPC;
107 #endif
108 #ifdef PF_ISDN
109                 case 34: return PF_ISDN;
110 #endif
111 #ifdef PF_PHONET
112                 case 35: return PF_PHONET;
113 #endif
114 #ifdef PF_IEEE802154
115                 case 36: return PF_IEEE802154;
116 #endif
117 #ifdef PF_CAIF
118                 case 37: return PF_CAIF;
119 #endif
120 #ifdef PF_ALG
121                 case 38: return PF_ALG;
122 #endif
123 #ifdef PF_NFC
124                 case 39: return PF_NFC;
125 #endif
126 #ifdef PF_VSOCK
127                 case 40: return PF_VSOCK;
128 #endif
129 #ifdef PF_KCM
130                 case 41: return PF_KCM;
131 #endif
132 #ifdef PF_QIPCRTR
133                 case 42: return PF_QIPCRTR;
134 #endif
135 #ifdef PF_SMC
136                 case 43: return PF_SMC;
137 #endif
138                 default:
139                         fatal_mayfail(error_ajla(EC_SYNC, AJLA_ERROR_INVALID_OPERATION), err, "invalid value");
140                         return -1;
141         }
144 static int os_socket_af(int idx, ajla_error_t *err)
146         switch (idx) {
147 #ifdef AF_UNIX
148                 case 1: return AF_UNIX;
149 #endif
150 #ifdef AF_INET
151                 case 2: return AF_INET;
152 #endif
153 #ifdef AF_AX25
154                 case 3: return AF_AX25;
155 #endif
156 #ifdef AF_IPX
157                 case 4: return AF_IPX;
158 #endif
159 #ifdef AF_APPLETALK
160                 case 5: return AF_APPLETALK;
161 #endif
162 #ifdef AF_NETROM
163                 case 6: return AF_NETROM;
164 #endif
165 #ifdef AF_BRIDGE
166                 case 7: return AF_BRIDGE;
167 #endif
168 #ifdef AF_ATMPVC
169                 case 8: return AF_ATMPVC;
170 #endif
171 #ifdef AF_X25
172                 case 9: return AF_X25;
173 #endif
174 #ifdef AF_INET6
175                 case 10: return AF_INET6;
176 #endif
177 #ifdef AF_ROSE
178                 case 11: return AF_ROSE;
179 #endif
180 #ifdef AF_DECnet
181                 case 12: return AF_DECnet;
182 #endif
183 #ifdef AF_NETBEUI
184                 case 13: return AF_NETBEUI;
185 #endif
186 #ifdef AF_SECURITY
187                 case 14: return AF_SECURITY;
188 #endif
189 #ifdef AF_KEY
190                 case 15: return AF_KEY;
191 #endif
192 #ifdef AF_NETLINK
193                 case 16: return AF_NETLINK;
194 #endif
195 #ifdef AF_PACKET
196                 case 17: return AF_PACKET;
197 #endif
198 #ifdef AF_ASH
199                 case 18: return AF_ASH;
200 #endif
201 #ifdef AF_ECONET
202                 case 19: return AF_ECONET;
203 #endif
204 #ifdef AF_ATMSVC
205                 case 20: return AF_ATMSVC;
206 #endif
207 #ifdef AF_RDS
208                 case 21: return AF_RDS;
209 #endif
210 #ifdef AF_SNA
211                 case 22: return AF_SNA;
212 #endif
213 #ifdef AF_IRDA
214                 case 23: return AF_IRDA;
215 #endif
216 #ifdef AF_PPPOX
217                 case 24: return AF_PPPOX;
218 #endif
219 #ifdef AF_WANPIPE
220                 case 25: return AF_WANPIPE;
221 #endif
222 #ifdef AF_LLC
223                 case 26: return AF_LLC;
224 #endif
225 #ifdef AF_IB
226                 case 27: return AF_IB;
227 #endif
228 #ifdef AF_MPLS
229                 case 28: return AF_MPLS;
230 #endif
231 #ifdef AF_CAN
232                 case 29: return AF_CAN;
233 #endif
234 #ifdef AF_TIPC
235                 case 30: return AF_TIPC;
236 #endif
237 #ifdef AF_BLUETOOTH
238                 case 31: return AF_BLUETOOTH;
239 #endif
240 #ifdef AF_IUCV
241                 case 32: return AF_IUCV;
242 #endif
243 #ifdef AF_RXRPC
244                 case 33: return AF_RXRPC;
245 #endif
246 #ifdef AF_ISDN
247                 case 34: return AF_ISDN;
248 #endif
249 #ifdef AF_PHONET
250                 case 35: return AF_PHONET;
251 #endif
252 #ifdef AF_IEEE802154
253                 case 36: return AF_IEEE802154;
254 #endif
255 #ifdef AF_CAIF
256                 case 37: return AF_CAIF;
257 #endif
258 #ifdef AF_ALG
259                 case 38: return AF_ALG;
260 #endif
261 #ifdef AF_NFC
262                 case 39: return AF_NFC;
263 #endif
264 #ifdef AF_VSOCK
265                 case 40: return AF_VSOCK;
266 #endif
267 #ifdef AF_KCM
268                 case 41: return AF_KCM;
269 #endif
270 #ifdef AF_QIPCRTR
271                 case 42: return AF_QIPCRTR;
272 #endif
273 #ifdef AF_SMC
274                 case 43: return AF_SMC;
275 #endif
276                 default:
277                         fatal_mayfail(error_ajla(EC_SYNC, AJLA_ERROR_INVALID_OPERATION), err, "invalid value");
278                         return -1;
279         }
282 static int os_af_socket(int idx, ajla_error_t *err)
284         switch (idx) {
285 #ifdef AF_UNIX
286                 case AF_UNIX: return 1;
287 #endif
288 #ifdef AF_INET
289                 case AF_INET: return 2;
290 #endif
291 #ifdef AF_AX25
292                 case AF_AX25: return 3;
293 #endif
294 #ifdef AF_IPX
295                 case AF_IPX: return 4;
296 #endif
297 #ifdef AF_APPLETALK
298                 case AF_APPLETALK: return 5;
299 #endif
300 #ifdef AF_NETROM
301                 case AF_NETROM: return 6;
302 #endif
303 #ifdef AF_BRIDGE
304                 case AF_BRIDGE: return 7;
305 #endif
306 #ifdef AF_ATMPVC
307                 case AF_ATMPVC: return 8;
308 #endif
309 #ifdef AF_X25
310                 case AF_X25: return 9;
311 #endif
312 #ifdef AF_INET6
313                 case AF_INET6: return 10;
314 #endif
315 #ifdef AF_ROSE
316                 case AF_ROSE: return 11;
317 #endif
318 #ifdef AF_DECnet
319                 case AF_DECnet: return 12;
320 #endif
321 #ifdef AF_NETBEUI
322                 case AF_NETBEUI: return 13;
323 #endif
324 #ifdef AF_SECURITY
325                 case AF_SECURITY: return 14;
326 #endif
327 #ifdef AF_KEY
328                 case AF_KEY: return 15;
329 #endif
330 #ifdef AF_NETLINK
331                 case AF_NETLINK: return 16;
332 #endif
333 #ifdef AF_PACKET
334                 case AF_PACKET: return 17;
335 #endif
336 #ifdef AF_ASH
337                 case AF_ASH: return 18;
338 #endif
339 #ifdef AF_ECONET
340                 case AF_ECONET: return 19;
341 #endif
342 #ifdef AF_ATMSVC
343                 case AF_ATMSVC: return 20;
344 #endif
345 #ifdef AF_RDS
346                 case AF_RDS: return 21;
347 #endif
348 #ifdef AF_SNA
349                 case AF_SNA: return 22;
350 #endif
351 #ifdef AF_IRDA
352                 case AF_IRDA: return 23;
353 #endif
354 #ifdef AF_PPPOX
355                 case AF_PPPOX: return 24;
356 #endif
357 #ifdef AF_WANPIPE
358                 case AF_WANPIPE: return 25;
359 #endif
360 #ifdef AF_LLC
361                 case AF_LLC: return 26;
362 #endif
363 #ifdef AF_IB
364                 case AF_IB: return 27;
365 #endif
366 #ifdef AF_MPLS
367                 case AF_MPLS: return 28;
368 #endif
369 #ifdef AF_CAN
370                 case AF_CAN: return 29;
371 #endif
372 #ifdef AF_TIPC
373                 case AF_TIPC: return 30;
374 #endif
375 #ifdef AF_BLUETOOTH
376                 case AF_BLUETOOTH: return 31;
377 #endif
378 #ifdef AF_IUCV
379                 case AF_IUCV: return 32;
380 #endif
381 #ifdef AF_RXRPC
382                 case AF_RXRPC: return 33;
383 #endif
384 #ifdef AF_ISDN
385                 case AF_ISDN: return 34;
386 #endif
387 #ifdef AF_PHONET
388                 case AF_PHONET: return 35;
389 #endif
390 #ifdef AF_IEEE802154
391                 case AF_IEEE802154: return 36;
392 #endif
393 #ifdef AF_CAIF
394                 case AF_CAIF: return 37;
395 #endif
396 #ifdef AF_ALG
397                 case AF_ALG: return 38;
398 #endif
399 #ifdef AF_NFC
400                 case AF_NFC: return 39;
401 #endif
402 #ifdef AF_VSOCK
403                 case AF_VSOCK: return 40;
404 #endif
405 #ifdef AF_KCM
406                 case AF_KCM: return 41;
407 #endif
408 #ifdef AF_QIPCRTR
409                 case AF_QIPCRTR: return 42;
410 #endif
411 #ifdef AF_SMC
412                 case AF_SMC: return 43;
413 #endif
414                 default:
415                         fatal_mayfail(error_ajla(EC_SYNC, AJLA_ERROR_SYSTEM_RETURNED_INVALID_DATA), err, "invalid value");
416                         return -1;
417         }
420 static int os_socket_type(int idx, ajla_error_t *err)
422         switch (idx) {
423 #ifdef SOCK_STREAM
424                 case 1: return SOCK_STREAM;
425 #endif
426 #ifdef SOCK_DGRAM
427                 case 2: return SOCK_DGRAM;
428 #endif
429 #ifdef SOCK_SEQPACKET
430                 case 3: return SOCK_SEQPACKET;
431 #endif
432 #ifdef SOCK_RAW
433                 case 4: return SOCK_RAW;
434 #endif
435 #ifdef SOCK_RDM
436                 case 5: return SOCK_RDM;
437 #endif
438                 default:
439                         fatal_mayfail(error_ajla(EC_SYNC, AJLA_ERROR_INVALID_OPERATION), err, "invalid value");
440                         return -1;
441         }
444 static int os_socket_msg(int idx, ajla_error_t *err)
446         switch (idx) {
447 #ifdef MSG_OOB
448                 case 1: return MSG_OOB;
449 #endif
450 #ifdef MSG_PEEK
451                 case 2: return MSG_PEEK;
452 #endif
453 #ifdef MSG_DONTROUTE
454                 case 4: return MSG_DONTROUTE;
455 #endif
456 #ifdef MSG_DONTWAIT
457                 case 8: return MSG_DONTWAIT;
458 #endif
459 #ifdef MSG_EOR
460                 case 16: return MSG_EOR;
461 #endif
462 #ifdef MSG_CONFIRM
463                 case 32: return MSG_CONFIRM;
464 #endif
465 #ifdef MSG_ERRQUEUE
466                 case 64: return MSG_ERRQUEUE;
467 #endif
468 #ifdef MSG_MORE
469                 case 128: return MSG_MORE;
470 #endif
471 #ifdef MSG_BATCH
472                 case 256: return MSG_BATCH;
473 #endif
474 #ifdef MSG_FASTOPEN
475                 case 512: return MSG_FASTOPEN;
476 #endif
477                 default:
478                         fatal_mayfail(error_ajla(EC_SYNC, AJLA_ERROR_INVALID_OPERATION), err, "invalid value");
479                         return -1;
480         }
483 static int os_socket_level(int idx, ajla_error_t *err)
485         switch (idx) {
486 #ifdef SOL_SOCKET
487                 case 1: return SOL_SOCKET;
488 #endif
489                 default:
490                         fatal_mayfail(error_ajla(EC_SYNC, AJLA_ERROR_INVALID_OPERATION), err, "invalid value");
491                         return -1;
492         }
495 static int os_socket_option(int idx, ajla_error_t *err)
497         switch (idx) {
498 #ifdef SO_DEBUG
499                 case 1: return SO_DEBUG;
500 #endif
501 #ifdef SO_REUSEADDR
502                 case 2: return SO_REUSEADDR;
503 #endif
504 #ifdef SO_TYPE
505                 case 3: return SO_TYPE;
506 #endif
507 #ifdef SO_ERROR
508                 case 4: return SO_ERROR;
509 #endif
510 #ifdef SO_DONTROUTE
511                 case 5: return SO_DONTROUTE;
512 #endif
513 #ifdef SO_BROADCAST
514                 case 6: return SO_BROADCAST;
515 #endif
516 #ifdef SO_SNDBUF
517                 case 7: return SO_SNDBUF;
518 #endif
519 #ifdef SO_RCVBUF
520                 case 8: return SO_RCVBUF;
521 #endif
522 #ifdef SO_KEEPALIVE
523                 case 9: return SO_KEEPALIVE;
524 #endif
525 #ifdef SO_OOBINLINE
526                 case 10: return SO_OOBINLINE;
527 #endif
528 #ifdef SO_NO_CHECK
529                 case 11: return SO_NO_CHECK;
530 #endif
531 #ifdef SO_PRIORITY
532                 case 12: return SO_PRIORITY;
533 #endif
534 #ifdef SO_LINGER
535                 case 13: return SO_LINGER;
536 #endif
537 #ifdef SO_BSDCOMPAT
538                 case 14: return SO_BSDCOMPAT;
539 #endif
540 #ifdef SO_REUSEPORT
541                 case 15: return SO_REUSEPORT;
542 #endif
543 #ifdef SO_PASSCRED
544                 case 16: return SO_PASSCRED;
545 #endif
546 #ifdef SO_PEERCRED
547                 case 17: return SO_PEERCRED;
548 #endif
549 #ifdef SO_RCVLOWAT
550                 case 18: return SO_RCVLOWAT;
551 #endif
552 #ifdef SO_SNDLOWAT
553                 case 19: return SO_SNDLOWAT;
554 #endif
555 #ifdef SO_RCVTIMEO
556                 case 20: return SO_RCVTIMEO;
557 #endif
558 #ifdef SO_SNDTIMEO
559                 case 21: return SO_SNDTIMEO;
560 #endif
561 #ifdef SO_SECURITY_AUTHENTICATION
562                 case 22: return SO_SECURITY_AUTHENTICATION;
563 #endif
564 #ifdef SO_SECURITY_ENCRYPTION_TRANSPORT
565                 case 23: return SO_SECURITY_ENCRYPTION_TRANSPORT;
566 #endif
567 #ifdef SO_SECURITY_ENCRYPTION_NETWORK
568                 case 24: return SO_SECURITY_ENCRYPTION_NETWORK;
569 #endif
570 #ifdef SO_BINDTODEVICE
571                 case 25: return SO_BINDTODEVICE;
572 #endif
573 #ifdef SO_ATTACH_FILTER
574                 case 26: return SO_ATTACH_FILTER;
575 #endif
576 #ifdef SO_DETACH_FILTER
577                 case 27: return SO_DETACH_FILTER;
578 #endif
579 #ifdef SO_PEERNAME
580                 case 28: return SO_PEERNAME;
581 #endif
582 #ifdef SO_TIMESTAMP
583                 case 29: return SO_TIMESTAMP;
584 #endif
585 #ifdef SO_ACCEPTCONN
586                 case 30: return SO_ACCEPTCONN;
587 #endif
588 #ifdef SO_PEERSEC
589                 case 31: return SO_PEERSEC;
590 #endif
591 #ifdef SO_SNDBUFFORCE
592                 case 32: return SO_SNDBUFFORCE;
593 #endif
594 #ifdef SO_RCVBUFFORCE
595                 case 33: return SO_RCVBUFFORCE;
596 #endif
597 #ifdef SO_PASSSEC
598                 case 34: return SO_PASSSEC;
599 #endif
600 #ifdef SO_TIMESTAMPNS
601                 case 35: return SO_TIMESTAMPNS;
602 #endif
603 #ifdef SO_MARK
604                 case 36: return SO_MARK;
605 #endif
606 #ifdef SO_TIMESTAMPING
607                 case 37: return SO_TIMESTAMPING;
608 #endif
609 #ifdef SO_PROTOCOL
610                 case 38: return SO_PROTOCOL;
611 #endif
612 #ifdef SO_DOMAIN
613                 case 39: return SO_DOMAIN;
614 #endif
615 #ifdef SO_RXQ_OVFL
616                 case 40: return SO_RXQ_OVFL;
617 #endif
618 #ifdef SO_WIFI_STATUS
619                 case 41: return SO_WIFI_STATUS;
620 #endif
621 #ifdef SO_PEEK_OFF
622                 case 42: return SO_PEEK_OFF;
623 #endif
624 #ifdef SO_NOFCS
625                 case 43: return SO_NOFCS;
626 #endif
627 #ifdef SO_LOCK_FILTER
628                 case 44: return SO_LOCK_FILTER;
629 #endif
630 #ifdef SO_SELECT_ERR_QUEUE
631                 case 45: return SO_SELECT_ERR_QUEUE;
632 #endif
633 #ifdef SO_BUSY_POLL
634                 case 46: return SO_BUSY_POLL;
635 #endif
636 #ifdef SO_MAX_PACING_RATE
637                 case 47: return SO_MAX_PACING_RATE;
638 #endif
639 #ifdef SO_BPF_EXTENSIONS
640                 case 48: return SO_BPF_EXTENSIONS;
641 #endif
642 #ifdef SO_INCOMING_CPU
643                 case 49: return SO_INCOMING_CPU;
644 #endif
645 #ifdef SO_ATTACH_BPF
646                 case 50: return SO_ATTACH_BPF;
647 #endif
648 #ifdef SO_ATTACH_REUSEPORT_CBPF
649                 case 51: return SO_ATTACH_REUSEPORT_CBPF;
650 #endif
651 #ifdef SO_ATTACH_REUSEPORT_EBPF
652                 case 52: return SO_ATTACH_REUSEPORT_EBPF;
653 #endif
654 #ifdef SO_CNX_ADVICE
655                 case 53: return SO_CNX_ADVICE;
656 #endif
657 #ifdef SCM_TIMESTAMPING_OPT_STATS
658                 case 54: return SCM_TIMESTAMPING_OPT_STATS;
659 #endif
660 #ifdef SO_MEMINFO
661                 case 55: return SO_MEMINFO;
662 #endif
663 #ifdef SO_INCOMING_NAPI_ID
664                 case 56: return SO_INCOMING_NAPI_ID;
665 #endif
666 #ifdef SO_COOKIE
667                 case 57: return SO_COOKIE;
668 #endif
669 #ifdef SCM_TIMESTAMPING_PKTINFO
670                 case 58: return SCM_TIMESTAMPING_PKTINFO;
671 #endif
672 #ifdef SO_PEERGROUPS
673                 case 59: return SO_PEERGROUPS;
674 #endif
675 #ifdef SO_ZEROCOPY
676                 case 60: return SO_ZEROCOPY;
677 #endif
678 #ifdef SO_TXTIME
679                 case 61: return SO_TXTIME;
680 #endif
681 #ifdef SO_BINDTOIFINDEX
682                 case 62: return SO_BINDTOIFINDEX;
683 #endif
684 #ifdef SO_DETACH_REUSEPORT_BPF
685                 case 63: return SO_DETACH_REUSEPORT_BPF;
686 #endif
687 #ifdef SO_PREFER_BUSY_POLL
688                 case 64: return SO_PREFER_BUSY_POLL;
689 #endif
690 #ifdef SO_BUSY_POLL_BUDGET
691                 case 65: return SO_BUSY_POLL_BUDGET;
692 #endif
693 #ifdef SO_NETNS_COOKIE
694                 case 66: return SO_NETNS_COOKIE;
695 #endif
696                 default:
697                         fatal_mayfail(error_ajla(EC_SYNC, AJLA_ERROR_INVALID_OPERATION), err, "invalid value");
698                         return -1;
699         }