beta-0.89.2
[luatex.git] / source / texk / web2c / luatexdir / luasocket / src / inet.h
blob4678ba656c4ba4ff80cb3c91886d10b7c69c86db
1 #ifndef INET_H
2 #define INET_H
3 /*=========================================================================*\
4 * Internet domain functions
5 * LuaSocket toolkit
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.
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.
15 * The Lua functions toip and tohostname are also implemented here.
16 \*=========================================================================*/
17 #include "lua.h"
18 #include "socket.h"
19 #include "timeout.h"
21 #ifdef _WIN32
22 #define INET_ATON
23 #endif
25 int inet_open(lua_State *L);
27 const char *inet_trycreate(p_socket ps, int family, int type);
28 const char *inet_tryconnect(p_socket ps, const char *address,
29 const char *serv, p_timeout tm, struct addrinfo *connecthints);
30 const char *inet_trybind(p_socket ps, const char *address, const char *serv,
31 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);
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);
38 int inet_optfamily(lua_State* L, int narg, const char* def);
39 int inet_optsocktype(lua_State* L, int narg, const char* def);
41 #ifdef INET_ATON
42 int inet_aton(const char *cp, struct in_addr *inp);
43 #endif
45 #endif /* INET_H */