aboutsummaryrefslogtreecommitdiff
path: root/src/options.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/options.h110
1 files changed, 82 insertions, 28 deletions
diff --git a/src/options.h b/src/options.h
index ad1b00d..26d6f02 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,45 +18,99 @@ typedef struct t_opt {
18} t_opt; 18} t_opt;
19typedef t_opt *p_opt; 19typedef t_opt *p_opt;
20 20
21/* supported options for setoption */ 21#ifndef _WIN32
22int opt_set_dontroute(lua_State *L, p_socket ps); 22#pragma GCC visibility push(hidden)
23int opt_set_broadcast(lua_State *L, p_socket ps); 23#endif
24
25int opt_meth_setoption(lua_State *L, p_opt opt, p_socket ps);
26int opt_meth_getoption(lua_State *L, p_opt opt, p_socket ps);
27
24int opt_set_reuseaddr(lua_State *L, p_socket ps); 28int opt_set_reuseaddr(lua_State *L, p_socket ps);
29int opt_get_reuseaddr(lua_State *L, p_socket ps);
30
31int opt_set_reuseport(lua_State *L, p_socket ps);
32int opt_get_reuseport(lua_State *L, p_socket ps);
33
25int opt_set_tcp_nodelay(lua_State *L, p_socket ps); 34int opt_set_tcp_nodelay(lua_State *L, p_socket ps);
35int opt_get_tcp_nodelay(lua_State *L, p_socket ps);
36
37#ifdef TCP_KEEPIDLE
38int opt_set_tcp_keepidle(lua_State *L, p_socket ps);
39int opt_get_tcp_keepidle(lua_State *L, p_socket ps);
40#endif
41
42#ifdef TCP_KEEPCNT
43int opt_set_tcp_keepcnt(lua_State *L, p_socket ps);
44int opt_get_tcp_keepcnt(lua_State *L, p_socket ps);
45#endif
46
47#ifdef TCP_KEEPINTVL
48int opt_set_tcp_keepintvl(lua_State *L, p_socket ps);
49int opt_get_tcp_keepintvl(lua_State *L, p_socket ps);
50#endif
51
52#ifdef TCP_DEFER_ACCEPT
53int opt_set_tcp_defer_accept(lua_State *L, p_socket ps);
54#endif
55
56int opt_set_bindtodevice(lua_State *L, p_socket ps);
57int opt_get_bindtodevice(lua_State *L, p_socket ps);
58
26int opt_set_keepalive(lua_State *L, p_socket ps); 59int opt_set_keepalive(lua_State *L, p_socket ps);
60int opt_get_keepalive(lua_State *L, p_socket ps);
61
62int opt_set_dontroute(lua_State *L, p_socket ps);
63int opt_get_dontroute(lua_State *L, p_socket ps);
64
65int opt_set_broadcast(lua_State *L, p_socket ps);
66int opt_get_broadcast(lua_State *L, p_socket ps);
67
68int opt_set_recv_buf_size(lua_State *L, p_socket ps);
69int opt_get_recv_buf_size(lua_State *L, p_socket ps);
70
71int opt_set_send_buf_size(lua_State *L, p_socket ps);
72int opt_get_send_buf_size(lua_State *L, p_socket ps);
73
74#ifdef TCP_FASTOPEN
75int opt_set_tcp_fastopen(lua_State *L, p_socket ps);
76#endif
77#ifdef TCP_FASTOPEN_CONNECT
78int opt_set_tcp_fastopen_connect(lua_State *L, p_socket ps);
79#endif
80
81int opt_set_ip6_unicast_hops(lua_State *L, p_socket ps);
82int opt_get_ip6_unicast_hops(lua_State *L, p_socket ps);
83
84int opt_set_ip6_multicast_hops(lua_State *L, p_socket ps);
85int opt_get_ip6_multicast_hops(lua_State *L, p_socket ps);
86
87int opt_set_ip_multicast_loop(lua_State *L, p_socket ps);
88int opt_get_ip_multicast_loop(lua_State *L, p_socket ps);
89
90int opt_set_ip6_multicast_loop(lua_State *L, p_socket ps);
91int opt_get_ip6_multicast_loop(lua_State *L, p_socket ps);
92
27int opt_set_linger(lua_State *L, p_socket ps); 93int opt_set_linger(lua_State *L, p_socket ps);
28int opt_set_reuseaddr(lua_State *L, p_socket ps); 94int opt_get_linger(lua_State *L, p_socket ps);
29int opt_set_reuseport(lua_State *L, p_socket ps); 95
30int opt_set_ip_multicast_if(lua_State *L, p_socket ps);
31int opt_set_ip_multicast_ttl(lua_State *L, p_socket ps); 96int opt_set_ip_multicast_ttl(lua_State *L, p_socket ps);
32int opt_set_ip_multicast_loop(lua_State *L, p_socket ps); 97
98int opt_set_ip_multicast_if(lua_State *L, p_socket ps);
99int opt_get_ip_multicast_if(lua_State *L, p_socket ps);
100
33int opt_set_ip_add_membership(lua_State *L, p_socket ps); 101int opt_set_ip_add_membership(lua_State *L, p_socket ps);
34int opt_set_ip_drop_membersip(lua_State *L, p_socket ps); 102int opt_set_ip_drop_membersip(lua_State *L, p_socket ps);
35int opt_set_ip6_unicast_hops(lua_State *L, p_socket ps); 103
36int opt_set_ip6_multicast_hops(lua_State *L, p_socket ps);
37int opt_set_ip6_multicast_loop(lua_State *L, p_socket ps);
38int opt_set_ip6_add_membership(lua_State *L, p_socket ps); 104int opt_set_ip6_add_membership(lua_State *L, p_socket ps);
39int opt_set_ip6_drop_membersip(lua_State *L, p_socket ps); 105int opt_set_ip6_drop_membersip(lua_State *L, p_socket ps);
106
40int opt_set_ip6_v6only(lua_State *L, p_socket ps); 107int opt_set_ip6_v6only(lua_State *L, p_socket ps);
108int opt_get_ip6_v6only(lua_State *L, p_socket ps);
41 109
42/* supported options for getoption */
43int opt_get_dontroute(lua_State *L, p_socket ps);
44int opt_get_broadcast(lua_State *L, p_socket ps);
45int opt_get_reuseaddr(lua_State *L, p_socket ps);
46int opt_get_tcp_nodelay(lua_State *L, p_socket ps);
47int opt_get_keepalive(lua_State *L, p_socket ps);
48int opt_get_linger(lua_State *L, p_socket ps);
49int opt_get_ip_multicast_loop(lua_State *L, p_socket ps);
50int opt_get_ip_multicast_if(lua_State *L, p_socket ps);
51int opt_get_error(lua_State *L, p_socket ps); 110int opt_get_error(lua_State *L, p_socket ps);
52int opt_get_ip6_multicast_loop(lua_State *L, p_socket ps);
53int opt_get_ip6_multicast_hops(lua_State *L, p_socket ps);
54int opt_get_ip6_unicast_hops(lua_State *L, p_socket ps);
55int opt_get_ip6_v6only(lua_State *L, p_socket ps);
56int opt_get_reuseport(lua_State *L, p_socket ps);
57 111
58/* invokes the appropriate option handler */ 112#ifndef _WIN32
59int opt_meth_setoption(lua_State *L, p_opt opt, p_socket ps); 113#pragma GCC visibility pop
60int opt_meth_getoption(lua_State *L, p_opt opt, p_socket ps); 114#endif
61 115
62#endif 116#endif