summaryrefslogtreecommitdiff
path: root/nix-test/src/const.c
diff options
context:
space:
mode:
authorCarl Lerche <me@carllerche.com>2015-05-21 15:02:12 -0700
committerCarl Lerche <me@carllerche.com>2015-05-21 15:02:12 -0700
commit74d18318803a9a41632cab15d65305fd414aa198 (patch)
tree76c8e2733dda6e39f6c50939f70ab984bdd4e099 /nix-test/src/const.c
parent075c037f8b85fde33d29ff591958e23cac88139e (diff)
downloadnix-74d18318803a9a41632cab15d65305fd414aa198.zip
Test sockopt const values
Diffstat (limited to 'nix-test/src/const.c')
-rw-r--r--nix-test/src/const.c281
1 files changed, 281 insertions, 0 deletions
diff --git a/nix-test/src/const.c b/nix-test/src/const.c
new file mode 100644
index 00000000..d9c1054a
--- /dev/null
+++ b/nix-test/src/const.c
@@ -0,0 +1,281 @@
+#include <stdio.h>
+#include <string.h>
+#include <errno.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <netinet/ip.h>
+#include <netinet/ip6.h>
+#include <netinet/tcp.h>
+#include <netinet/udp.h>
+
+#define GET_CONST(CONST) \
+ do { \
+ if (0 == strcmp(err, #CONST)) { \
+ return CONST; \
+ } \
+ } while (0)
+
+int
+get_int_const(const char* err) {
+
+ /*
+ *
+ * ===== ERRNO =====
+ *
+ */
+
+ GET_CONST(EPERM);
+ GET_CONST(ENOENT);
+ GET_CONST(ESRCH);
+ GET_CONST(EINTR);
+ GET_CONST(EIO);
+ GET_CONST(ENXIO);
+ GET_CONST(E2BIG);
+ GET_CONST(ENOEXEC);
+ GET_CONST(EBADF);
+ GET_CONST(ECHILD);
+ GET_CONST(EAGAIN);
+ GET_CONST(ENOMEM);
+ GET_CONST(EACCES);
+ GET_CONST(EFAULT);
+ GET_CONST(ENOTBLK);
+ GET_CONST(EBUSY);
+ GET_CONST(EEXIST);
+ GET_CONST(EXDEV);
+ GET_CONST(ENODEV);
+ GET_CONST(ENOTDIR);
+ GET_CONST(EISDIR);
+ GET_CONST(EINVAL);
+ GET_CONST(ENFILE);
+ GET_CONST(EMFILE);
+ GET_CONST(ENOTTY);
+ GET_CONST(ETXTBSY);
+ GET_CONST(EFBIG);
+ GET_CONST(ENOSPC);
+ GET_CONST(ESPIPE);
+ GET_CONST(EROFS);
+ GET_CONST(EMLINK);
+ GET_CONST(EPIPE);
+ GET_CONST(EDOM);
+ GET_CONST(ERANGE);
+ GET_CONST(EDEADLK);
+ GET_CONST(ENAMETOOLONG);
+ GET_CONST(ENOLCK);
+ GET_CONST(ENOSYS);
+ GET_CONST(ENOTEMPTY);
+ GET_CONST(ELOOP);
+ GET_CONST(ENOMSG);
+ GET_CONST(EIDRM);
+ GET_CONST(EINPROGRESS);
+ GET_CONST(EALREADY);
+ GET_CONST(ENOTSOCK);
+ GET_CONST(EDESTADDRREQ);
+ GET_CONST(EMSGSIZE);
+ GET_CONST(EPROTOTYPE);
+ GET_CONST(ENOPROTOOPT);
+ GET_CONST(EPROTONOSUPPORT);
+ GET_CONST(ESOCKTNOSUPPORT);
+ GET_CONST(EPFNOSUPPORT);
+ GET_CONST(EAFNOSUPPORT);
+ GET_CONST(EADDRINUSE);
+ GET_CONST(EADDRNOTAVAIL);
+ GET_CONST(ENETDOWN);
+ GET_CONST(ENETUNREACH);
+ GET_CONST(ENETRESET);
+ GET_CONST(ECONNABORTED);
+ GET_CONST(ECONNRESET);
+ GET_CONST(ENOBUFS);
+ GET_CONST(EISCONN);
+ GET_CONST(ENOTCONN);
+ GET_CONST(ESHUTDOWN);
+ GET_CONST(ETOOMANYREFS);
+ GET_CONST(ETIMEDOUT);
+ GET_CONST(ECONNREFUSED);
+ GET_CONST(EHOSTDOWN);
+ GET_CONST(EHOSTUNREACH);
+
+#ifdef LINUX
+ GET_CONST(ECHRNG);
+ GET_CONST(EL2NSYNC);
+ GET_CONST(EL3HLT);
+ GET_CONST(EL3RST);
+ GET_CONST(ELNRNG);
+ GET_CONST(EUNATCH);
+ GET_CONST(ENOCSI);
+ GET_CONST(EL2HLT);
+ GET_CONST(EBADE);
+ GET_CONST(EBADR);
+ GET_CONST(EXFULL);
+ GET_CONST(ENOANO);
+ GET_CONST(EBADRQC);
+ GET_CONST(EBADSLT);
+ GET_CONST(EBFONT);
+ GET_CONST(ENOSTR);
+ GET_CONST(ENODATA);
+ GET_CONST(ETIME);
+ GET_CONST(ENOSR);
+ GET_CONST(ENONET);
+ GET_CONST(ENOPKG);
+ GET_CONST(EREMOTE);
+ GET_CONST(ENOLINK);
+ GET_CONST(EADV);
+ GET_CONST(ESRMNT);
+ GET_CONST(ECOMM);
+ GET_CONST(EPROTO);
+ GET_CONST(EMULTIHOP);
+ GET_CONST(EDOTDOT);
+ GET_CONST(EBADMSG);
+ GET_CONST(EOVERFLOW);
+ GET_CONST(ENOTUNIQ);
+ GET_CONST(EBADFD);
+ GET_CONST(EREMCHG);
+ GET_CONST(ELIBACC);
+ GET_CONST(ELIBBAD);
+ GET_CONST(ELIBSCN);
+ GET_CONST(ELIBMAX);
+ GET_CONST(ELIBEXEC);
+ GET_CONST(EILSEQ);
+ GET_CONST(ERESTART);
+ GET_CONST(ESTRPIPE);
+ GET_CONST(EUSERS);
+ GET_CONST(EOPNOTSUPP);
+ GET_CONST(ESTALE);
+ GET_CONST(EUCLEAN);
+ GET_CONST(ENOTNAM);
+ GET_CONST(ENAVAIL);
+ GET_CONST(EISNAM);
+ GET_CONST(EREMOTEIO);
+ GET_CONST(EDQUOT);
+ GET_CONST(ENOMEDIUM);
+ GET_CONST(EMEDIUMTYPE);
+ GET_CONST(ECANCELED);
+ GET_CONST(ENOKEY);
+ GET_CONST(EKEYEXPIRED);
+ GET_CONST(EKEYREVOKED);
+ GET_CONST(EKEYREJECTED);
+ GET_CONST(EOWNERDEAD);
+ GET_CONST(ENOTRECOVERABLE);
+#ifndef __ANDROID__
+ GET_CONST(ERFKILL);
+ GET_CONST(EHWPOISON);
+#endif
+#endif
+
+#ifdef DARWIN
+ GET_CONST(ENOTSUP);
+ GET_CONST(EPROCLIM);
+ GET_CONST(EUSERS);
+ GET_CONST(EDQUOT);
+ GET_CONST(ESTALE);
+ GET_CONST(EREMOTE);
+ GET_CONST(EBADRPC);
+ GET_CONST(ERPCMISMATCH);
+ GET_CONST(EPROGUNAVAIL);
+ GET_CONST(EPROGMISMATCH);
+ GET_CONST(EPROCUNAVAIL);
+ GET_CONST(EFTYPE);
+ GET_CONST(EAUTH);
+ GET_CONST(ENEEDAUTH);
+ GET_CONST(EPWROFF);
+ GET_CONST(EDEVERR);
+ GET_CONST(EOVERFLOW);
+ GET_CONST(EBADEXEC);
+ GET_CONST(EBADARCH);
+ GET_CONST(ESHLIBVERS);
+ GET_CONST(EBADMACHO);
+ GET_CONST(ECANCELED);
+ GET_CONST(EILSEQ);
+ GET_CONST(ENOATTR);
+ GET_CONST(EBADMSG);
+ GET_CONST(EMULTIHOP);
+ GET_CONST(ENODATA);
+ GET_CONST(ENOLINK);
+ GET_CONST(ENOSR);
+ GET_CONST(ENOSTR);
+ GET_CONST(EPROTO);
+ GET_CONST(ETIME);
+ GET_CONST(EOPNOTSUPP);
+ GET_CONST(ENOPOLICY);
+ GET_CONST(ENOTRECOVERABLE);
+ GET_CONST(EOWNERDEAD);
+ GET_CONST(EQFULL);
+#endif
+
+ /*
+ *
+ * ===== SOCKET OPTIONS =====
+ *
+ */
+
+ GET_CONST(AF_UNIX);
+ GET_CONST(AF_LOCAL);
+ GET_CONST(AF_INET);
+ GET_CONST(AF_INET6);
+ GET_CONST(SOCK_STREAM);
+ GET_CONST(SOCK_DGRAM);
+ GET_CONST(SOCK_SEQPACKET);
+ GET_CONST(SOCK_RAW);
+ GET_CONST(SOCK_RDM);
+ GET_CONST(SOL_SOCKET);
+ GET_CONST(IPPROTO_IP);
+ GET_CONST(IPPROTO_IPV6);
+ GET_CONST(IPPROTO_TCP);
+ GET_CONST(IPPROTO_UDP);
+ GET_CONST(SO_ACCEPTCONN);
+ GET_CONST(SO_BROADCAST);
+ GET_CONST(SO_DEBUG);
+ GET_CONST(SO_ERROR);
+ GET_CONST(SO_DONTROUTE);
+ GET_CONST(SO_KEEPALIVE);
+ GET_CONST(SO_LINGER);
+ GET_CONST(SO_OOBINLINE);
+ GET_CONST(SO_RCVBUF);
+ GET_CONST(SO_RCVLOWAT);
+ GET_CONST(SO_SNDLOWAT);
+ GET_CONST(SO_RCVTIMEO);
+ GET_CONST(SO_SNDTIMEO);
+ GET_CONST(SO_REUSEADDR);
+ GET_CONST(SO_REUSEPORT);
+ GET_CONST(SO_SNDBUF);
+ GET_CONST(SO_TIMESTAMP);
+ GET_CONST(SO_TYPE);
+ GET_CONST(TCP_NODELAY);
+ GET_CONST(TCP_MAXSEG);
+ GET_CONST(IP_MULTICAST_IF);
+ GET_CONST(IP_MULTICAST_TTL);
+ GET_CONST(IP_MULTICAST_LOOP);
+ GET_CONST(IP_ADD_MEMBERSHIP);
+ GET_CONST(IP_DROP_MEMBERSHIP);
+ GET_CONST(INADDR_ANY);
+ GET_CONST(INADDR_NONE);
+ GET_CONST(INADDR_BROADCAST);
+ GET_CONST(MSG_OOB);
+ GET_CONST(MSG_PEEK);
+ GET_CONST(MSG_DONTWAIT);
+ GET_CONST(SHUT_RD);
+ GET_CONST(SHUT_WR);
+ GET_CONST(SHUT_RDWR);
+
+#ifdef LINUX
+ GET_CONST(SOL_IP);
+ GET_CONST(SOL_TCP);
+ GET_CONST(SOL_IPV6);
+ GET_CONST(SOL_UDP);
+ GET_CONST(SO_BINDTODEVICE);
+ GET_CONST(SO_BSDCOMPAT);
+ GET_CONST(SO_DOMAIN);
+ GET_CONST(SO_MARK);
+ GET_CONST(TCP_CORK);
+ GET_CONST(SO_BUSY_POLL);
+ GET_CONST(SO_RXQ_OVFL);
+ GET_CONST(SO_PASSCRED);
+ GET_CONST(SO_PRIORITY);
+ GET_CONST(SO_PROTOCOL);
+ GET_CONST(SO_RCVBUFFORCE);
+ GET_CONST(SO_PEEK_OFF);
+ GET_CONST(SO_PEERCRED);
+ GET_CONST(SO_SNDBUFFORCE);
+#endif
+
+ return -1;
+}