1 #ifndef INET_H 2 #define INET_H 3 /*=========================================================================*\ 4 * Internet domain functions 5 * LuaSocket toolkit 6 * 7 * This module implements the creation and connection of internet domain 8 * sockets, on top of the socket.h interface, and the interface of with the 9 * resolver. 10 * 11 * The function inet_aton is provided for the platforms where it is not 12 * available. The module also implements the interface of the internet 13 * getpeername and getsockname functions as seen by Lua programs. 14 * 15 * The Lua functions toip and tohostname are also implemented here. 16 \*=========================================================================*/ 17 #include "lua.h" 18 #include "socket.h" 19 #include "timeout.h" 20 21 #ifdef _WIN32 22 #define LUASOCKET_INET_ATON 23 #endif 24 25 int inet_open(lua_State *L); 26 27 const char *inet_trycreate(p_socket ps, int family, int type, int protocol); 28 const char *inet_tryconnect(p_socket ps, int *family, const char *address, 29 const char *serv, p_timeout tm, struct addrinfo *connecthints); 30 const char *inet_trybind(p_socket ps, int *family, const char *address, 31 const char *serv, struct addrinfo *bindhints); 32 const char *inet_trydisconnect(p_socket ps, int family, p_timeout tm); 33 const char *inet_tryaccept(p_socket server, int family, p_socket client, p_timeout tm); 34 35 int inet_meth_getpeername(lua_State *L, p_socket ps, int family); 36 int inet_meth_getsockname(lua_State *L, p_socket ps, int family); 37 38 int inet_optfamily(lua_State* L, int narg, const char* def); 39 int inet_optsocktype(lua_State* L, int narg, const char* def); 40 41 #ifdef LUASOCKET_INET_ATON 42 int inet_aton(const char *cp, struct in_addr *inp); 43 #endif 44 45 #ifdef LUASOCKET_INET_PTON 46 const char *inet_ntop(int af, const void *src, char *dst, socklen_t cnt); 47 int inet_pton(int af, const char *src, void *dst); 48 #endif 49 50 #endif /* INET_H */ 51