diff --git a/src/lua/bsdsocket.cc b/src/lua/bsdsocket.cc index 27d33203d764ddc6f7041d306d8217fc1164d227..ebc9711f93ad6f87d567855db7194445863e057b 100644 --- a/src/lua/bsdsocket.cc +++ b/src/lua/bsdsocket.cc @@ -38,6 +38,8 @@ #include <string.h> #include <stdlib.h> #include <arpa/inet.h> +#include <netinet/ip.h> +#include <netinet/in.h> #include <unistd.h> extern "C" { @@ -291,7 +293,7 @@ static const struct { char name[32]; int value; } ai_flags[] = { #ifdef AI_IDN_ALLOW_UNASSIGNED {"AI_IDN_ALLOW_UNASSIGNED", AI_IDN_ALLOW_UNASSIGNED }, #endif -#ifndef AI_IDN_USE_STD3_ASCII_RULES +#ifdef AI_IDN_USE_STD3_ASCII_RULES {"AI_IDN_USE_STD3_ASCII_RULES", AI_IDN_USE_STD3_ASCII_RULES }, #endif #ifdef AI_NUMERICSERV @@ -470,36 +472,57 @@ static int lbox_bsdsocket_push_family(struct lua_State *L, int family) { switch(family) { +#ifdef AF_UNIX case AF_UNIX: lua_pushliteral(L, "AF_UNIX"); break; +#endif +#ifdef AF_INET case AF_INET: lua_pushliteral(L, "AF_INET"); break; +#endif +#ifdef AF_INET6 case AF_INET6: lua_pushliteral(L, "AF_INET6"); break; +#endif +#ifdef AF_IPX case AF_IPX: lua_pushliteral(L, "AF_IPX"); break; +#endif +#ifdef AF_NETLINK case AF_NETLINK: lua_pushliteral(L, "AF_NETLINK"); break; +#endif +#ifdef AF_X25 case AF_X25: lua_pushliteral(L, "AF_X25"); break; +#endif +#ifdef AF_AX25 case AF_AX25: lua_pushliteral(L, "AF_AX25"); break; +#endif +#ifdef AF_ATMPVC case AF_ATMPVC: lua_pushliteral(L, "AF_ATMPVC"); break; +#endif +#ifdef AF_APPLETALK case AF_APPLETALK: lua_pushliteral(L, "AF_APPLETALK"); break; +#endif +#ifdef AF_PACKET case AF_PACKET: lua_pushliteral(L, "AF_PACKET"); break; +#endif + default: lua_pushinteger(L, family); break; @@ -527,24 +550,36 @@ lbox_bsdsocket_push_sotype(struct lua_State *L, int sotype) sotype &= ~(SOCK_NONBLOCK | SOCK_CLOEXEC); #endif switch(sotype) { +#ifdef SOCK_STREAM case SOCK_STREAM: lua_pushliteral(L, "SOCK_STREAM"); break; +#endif +#ifdef SOCK_DGRAM case SOCK_DGRAM: lua_pushliteral(L, "SOCK_DGRAM"); break; +#endif +#ifdef SOCK_SEQPACKET case SOCK_SEQPACKET: lua_pushliteral(L, "SOCK_SEQPACKET"); break; +#endif +#ifdef SOCK_RAW case SOCK_RAW: lua_pushliteral(L, "SOCK_RAW"); break; +#endif +#ifdef SOCK_RDM case SOCK_RDM: lua_pushliteral(L, "SOCK_RDM"); break; +#endif +#ifdef SOCK_PACKET case SOCK_PACKET: lua_pushliteral(L, "SOCK_PACKET"); break; +#endif default: lua_pushinteger(L, sotype); break; @@ -563,8 +598,8 @@ lbox_bsdsocket_push_addr(struct lua_State *L, lua_rawset(L, -3); switch(addr->sa_family) { - case AF_INET: - case AF_INET6: { + case PF_INET: + case PF_INET6: { char shost[NI_MAXHOST]; char sservice[NI_MAXSERV]; int rc = getnameinfo(addr, @@ -587,7 +622,7 @@ lbox_bsdsocket_push_addr(struct lua_State *L, break; } - case AF_UNIX: + case PF_UNIX: lua_pushliteral(L, "host"); lua_pushliteral(L, "unix/"); lua_rawset(L, -3);