diff options
Diffstat (limited to '')
-rw-r--r-- | src/options.h | 102 |
1 files changed, 60 insertions, 42 deletions
diff --git a/src/options.h b/src/options.h index fb82c4d..41f7337 100644 --- a/src/options.h +++ b/src/options.h | |||
@@ -8,7 +8,7 @@ | |||
8 | * modules UDP and TCP. | 8 | * modules UDP and TCP. |
9 | \*=========================================================================*/ | 9 | \*=========================================================================*/ |
10 | 10 | ||
11 | #include "lua.h" | 11 | #include "luasocket.h" |
12 | #include "socket.h" | 12 | #include "socket.h" |
13 | 13 | ||
14 | /* option registry */ | 14 | /* option registry */ |
@@ -18,67 +18,85 @@ typedef struct t_opt { | |||
18 | } t_opt; | 18 | } t_opt; |
19 | typedef t_opt *p_opt; | 19 | typedef t_opt *p_opt; |
20 | 20 | ||
21 | /* supported options for setoption */ | 21 | #ifndef _WIN32 |
22 | int opt_set_dontroute(lua_State *L, p_socket ps); | 22 | #pragma GCC visibility push(hidden) |
23 | int opt_set_broadcast(lua_State *L, p_socket ps); | 23 | #endif |
24 | |||
25 | int opt_meth_setoption(lua_State *L, p_opt opt, p_socket ps); | ||
26 | int opt_meth_getoption(lua_State *L, p_opt opt, p_socket ps); | ||
27 | |||
28 | int opt_set_reuseaddr(lua_State *L, p_socket ps); | ||
29 | int opt_get_reuseaddr(lua_State *L, p_socket ps); | ||
30 | |||
31 | int opt_set_reuseport(lua_State *L, p_socket ps); | ||
32 | int opt_get_reuseport(lua_State *L, p_socket ps); | ||
33 | |||
24 | int opt_set_tcp_nodelay(lua_State *L, p_socket ps); | 34 | int opt_set_tcp_nodelay(lua_State *L, p_socket ps); |
35 | int opt_get_tcp_nodelay(lua_State *L, p_socket ps); | ||
36 | |||
25 | #ifdef TCP_KEEPIDLE | 37 | #ifdef TCP_KEEPIDLE |
26 | int opt_set_tcp_keepidle(lua_State *L, p_socket ps); | 38 | int opt_set_tcp_keepidle(lua_State *L, p_socket ps); |
39 | int opt_get_tcp_keepidle(lua_State *L, p_socket ps); | ||
27 | #endif | 40 | #endif |
41 | |||
28 | #ifdef TCP_KEEPCNT | 42 | #ifdef TCP_KEEPCNT |
29 | int opt_set_tcp_keepcnt(lua_State *L, p_socket ps); | 43 | int opt_set_tcp_keepcnt(lua_State *L, p_socket ps); |
44 | int opt_get_tcp_keepcnt(lua_State *L, p_socket ps); | ||
30 | #endif | 45 | #endif |
46 | |||
31 | #ifdef TCP_KEEPINTVL | 47 | #ifdef TCP_KEEPINTVL |
32 | int opt_set_tcp_keepintvl(lua_State *L, p_socket ps); | 48 | int opt_set_tcp_keepintvl(lua_State *L, p_socket ps); |
49 | int opt_get_tcp_keepintvl(lua_State *L, p_socket ps); | ||
33 | #endif | 50 | #endif |
51 | |||
34 | int opt_set_keepalive(lua_State *L, p_socket ps); | 52 | int opt_set_keepalive(lua_State *L, p_socket ps); |
53 | int opt_get_keepalive(lua_State *L, p_socket ps); | ||
54 | |||
55 | int opt_set_dontroute(lua_State *L, p_socket ps); | ||
56 | int opt_get_dontroute(lua_State *L, p_socket ps); | ||
57 | |||
58 | int opt_set_broadcast(lua_State *L, p_socket ps); | ||
59 | int opt_get_broadcast(lua_State *L, p_socket ps); | ||
60 | |||
61 | int opt_set_recv_buf_size(lua_State *L, p_socket ps); | ||
62 | int opt_get_recv_buf_size(lua_State *L, p_socket ps); | ||
63 | |||
64 | int opt_set_send_buf_size(lua_State *L, p_socket ps); | ||
65 | int opt_get_send_buf_size(lua_State *L, p_socket ps); | ||
66 | |||
67 | int opt_set_ip6_unicast_hops(lua_State *L, p_socket ps); | ||
68 | int opt_get_ip6_unicast_hops(lua_State *L, p_socket ps); | ||
69 | |||
70 | int opt_set_ip6_multicast_hops(lua_State *L, p_socket ps); | ||
71 | int opt_get_ip6_multicast_hops(lua_State *L, p_socket ps); | ||
72 | |||
73 | int opt_set_ip_multicast_loop(lua_State *L, p_socket ps); | ||
74 | int opt_get_ip_multicast_loop(lua_State *L, p_socket ps); | ||
75 | |||
76 | int opt_set_ip6_multicast_loop(lua_State *L, p_socket ps); | ||
77 | int opt_get_ip6_multicast_loop(lua_State *L, p_socket ps); | ||
78 | |||
35 | int opt_set_linger(lua_State *L, p_socket ps); | 79 | int opt_set_linger(lua_State *L, p_socket ps); |
36 | int opt_set_reuseaddr(lua_State *L, p_socket ps); | 80 | int opt_get_linger(lua_State *L, p_socket ps); |
37 | int opt_set_reuseport(lua_State *L, p_socket ps); | 81 | |
38 | int opt_set_ip_multicast_if(lua_State *L, p_socket ps); | ||
39 | int opt_set_ip_multicast_ttl(lua_State *L, p_socket ps); | 82 | int opt_set_ip_multicast_ttl(lua_State *L, p_socket ps); |
40 | int opt_set_ip_multicast_loop(lua_State *L, p_socket ps); | 83 | |
84 | int opt_set_ip_multicast_if(lua_State *L, p_socket ps); | ||
85 | int opt_get_ip_multicast_if(lua_State *L, p_socket ps); | ||
86 | |||
41 | int opt_set_ip_add_membership(lua_State *L, p_socket ps); | 87 | int opt_set_ip_add_membership(lua_State *L, p_socket ps); |
42 | int opt_set_ip_drop_membersip(lua_State *L, p_socket ps); | 88 | int opt_set_ip_drop_membersip(lua_State *L, p_socket ps); |
43 | int opt_set_ip6_unicast_hops(lua_State *L, p_socket ps); | 89 | |
44 | int opt_set_ip6_multicast_hops(lua_State *L, p_socket ps); | ||
45 | int opt_set_ip6_multicast_loop(lua_State *L, p_socket ps); | ||
46 | int opt_set_ip6_add_membership(lua_State *L, p_socket ps); | 90 | int opt_set_ip6_add_membership(lua_State *L, p_socket ps); |
47 | int opt_set_ip6_drop_membersip(lua_State *L, p_socket ps); | 91 | int opt_set_ip6_drop_membersip(lua_State *L, p_socket ps); |
92 | |||
48 | int opt_set_ip6_v6only(lua_State *L, p_socket ps); | 93 | int opt_set_ip6_v6only(lua_State *L, p_socket ps); |
49 | int opt_set_recv_buf_size(lua_State *L, p_socket ps); | 94 | int opt_get_ip6_v6only(lua_State *L, p_socket ps); |
50 | int opt_set_send_buf_size(lua_State *L, p_socket ps); | ||
51 | 95 | ||
52 | /* supported options for getoption */ | ||
53 | int opt_get_dontroute(lua_State *L, p_socket ps); | ||
54 | int opt_get_broadcast(lua_State *L, p_socket ps); | ||
55 | int opt_get_reuseaddr(lua_State *L, p_socket ps); | ||
56 | int opt_get_reuseport(lua_State *L, p_socket ps); | ||
57 | int opt_get_tcp_nodelay(lua_State *L, p_socket ps); | ||
58 | #ifdef TCP_KEEPIDLE | ||
59 | int opt_get_tcp_keepidle(lua_State *L, p_socket ps); | ||
60 | #endif | ||
61 | #ifdef TCP_KEEPCNT | ||
62 | int opt_get_tcp_keepcnt(lua_State *L, p_socket ps); | ||
63 | #endif | ||
64 | #ifdef TCP_KEEPINTVL | ||
65 | int opt_get_tcp_keepintvl(lua_State *L, p_socket ps); | ||
66 | #endif | ||
67 | int opt_get_keepalive(lua_State *L, p_socket ps); | ||
68 | int opt_get_linger(lua_State *L, p_socket ps); | ||
69 | int opt_get_ip_multicast_loop(lua_State *L, p_socket ps); | ||
70 | int opt_get_ip_multicast_if(lua_State *L, p_socket ps); | ||
71 | int opt_get_error(lua_State *L, p_socket ps); | 96 | int opt_get_error(lua_State *L, p_socket ps); |
72 | int opt_get_ip6_multicast_loop(lua_State *L, p_socket ps); | ||
73 | int opt_get_ip6_multicast_hops(lua_State *L, p_socket ps); | ||
74 | int opt_get_ip6_unicast_hops(lua_State *L, p_socket ps); | ||
75 | int opt_get_ip6_v6only(lua_State *L, p_socket ps); | ||
76 | int opt_get_reuseport(lua_State *L, p_socket ps); | ||
77 | int opt_get_recv_buf_size(lua_State *L, p_socket ps); | ||
78 | int opt_get_send_buf_size(lua_State *L, p_socket ps); | ||
79 | 97 | ||
80 | /* invokes the appropriate option handler */ | 98 | #ifndef _WIN32 |
81 | int opt_meth_setoption(lua_State *L, p_opt opt, p_socket ps); | 99 | #pragma GCC visibility pop |
82 | int opt_meth_getoption(lua_State *L, p_opt opt, p_socket ps); | 100 | #endif |
83 | 101 | ||
84 | #endif | 102 | #endif |