aboutsummaryrefslogtreecommitdiff
path: root/src/options.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/options.h102
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;
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
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
24int 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
25#ifdef TCP_KEEPIDLE 37#ifdef TCP_KEEPIDLE
26int opt_set_tcp_keepidle(lua_State *L, p_socket ps); 38int opt_set_tcp_keepidle(lua_State *L, p_socket ps);
39int opt_get_tcp_keepidle(lua_State *L, p_socket ps);
27#endif 40#endif
41
28#ifdef TCP_KEEPCNT 42#ifdef TCP_KEEPCNT
29int opt_set_tcp_keepcnt(lua_State *L, p_socket ps); 43int opt_set_tcp_keepcnt(lua_State *L, p_socket ps);
44int opt_get_tcp_keepcnt(lua_State *L, p_socket ps);
30#endif 45#endif
46
31#ifdef TCP_KEEPINTVL 47#ifdef TCP_KEEPINTVL
32int opt_set_tcp_keepintvl(lua_State *L, p_socket ps); 48int opt_set_tcp_keepintvl(lua_State *L, p_socket ps);
49int opt_get_tcp_keepintvl(lua_State *L, p_socket ps);
33#endif 50#endif
51
34int opt_set_keepalive(lua_State *L, p_socket ps); 52int opt_set_keepalive(lua_State *L, p_socket ps);
53int opt_get_keepalive(lua_State *L, p_socket ps);
54
55int opt_set_dontroute(lua_State *L, p_socket ps);
56int opt_get_dontroute(lua_State *L, p_socket ps);
57
58int opt_set_broadcast(lua_State *L, p_socket ps);
59int opt_get_broadcast(lua_State *L, p_socket ps);
60
61int opt_set_recv_buf_size(lua_State *L, p_socket ps);
62int opt_get_recv_buf_size(lua_State *L, p_socket ps);
63
64int opt_set_send_buf_size(lua_State *L, p_socket ps);
65int opt_get_send_buf_size(lua_State *L, p_socket ps);
66
67int opt_set_ip6_unicast_hops(lua_State *L, p_socket ps);
68int opt_get_ip6_unicast_hops(lua_State *L, p_socket ps);
69
70int opt_set_ip6_multicast_hops(lua_State *L, p_socket ps);
71int opt_get_ip6_multicast_hops(lua_State *L, p_socket ps);
72
73int opt_set_ip_multicast_loop(lua_State *L, p_socket ps);
74int opt_get_ip_multicast_loop(lua_State *L, p_socket ps);
75
76int opt_set_ip6_multicast_loop(lua_State *L, p_socket ps);
77int opt_get_ip6_multicast_loop(lua_State *L, p_socket ps);
78
35int opt_set_linger(lua_State *L, p_socket ps); 79int opt_set_linger(lua_State *L, p_socket ps);
36int opt_set_reuseaddr(lua_State *L, p_socket ps); 80int opt_get_linger(lua_State *L, p_socket ps);
37int opt_set_reuseport(lua_State *L, p_socket ps); 81
38int opt_set_ip_multicast_if(lua_State *L, p_socket ps);
39int opt_set_ip_multicast_ttl(lua_State *L, p_socket ps); 82int opt_set_ip_multicast_ttl(lua_State *L, p_socket ps);
40int opt_set_ip_multicast_loop(lua_State *L, p_socket ps); 83
84int opt_set_ip_multicast_if(lua_State *L, p_socket ps);
85int opt_get_ip_multicast_if(lua_State *L, p_socket ps);
86
41int opt_set_ip_add_membership(lua_State *L, p_socket ps); 87int opt_set_ip_add_membership(lua_State *L, p_socket ps);
42int opt_set_ip_drop_membersip(lua_State *L, p_socket ps); 88int opt_set_ip_drop_membersip(lua_State *L, p_socket ps);
43int opt_set_ip6_unicast_hops(lua_State *L, p_socket ps); 89
44int opt_set_ip6_multicast_hops(lua_State *L, p_socket ps);
45int opt_set_ip6_multicast_loop(lua_State *L, p_socket ps);
46int opt_set_ip6_add_membership(lua_State *L, p_socket ps); 90int opt_set_ip6_add_membership(lua_State *L, p_socket ps);
47int opt_set_ip6_drop_membersip(lua_State *L, p_socket ps); 91int opt_set_ip6_drop_membersip(lua_State *L, p_socket ps);
92
48int opt_set_ip6_v6only(lua_State *L, p_socket ps); 93int opt_set_ip6_v6only(lua_State *L, p_socket ps);
49int opt_set_recv_buf_size(lua_State *L, p_socket ps); 94int opt_get_ip6_v6only(lua_State *L, p_socket ps);
50int opt_set_send_buf_size(lua_State *L, p_socket ps);
51 95
52/* supported options for getoption */
53int opt_get_dontroute(lua_State *L, p_socket ps);
54int opt_get_broadcast(lua_State *L, p_socket ps);
55int opt_get_reuseaddr(lua_State *L, p_socket ps);
56int opt_get_reuseport(lua_State *L, p_socket ps);
57int opt_get_tcp_nodelay(lua_State *L, p_socket ps);
58#ifdef TCP_KEEPIDLE
59int opt_get_tcp_keepidle(lua_State *L, p_socket ps);
60#endif
61#ifdef TCP_KEEPCNT
62int opt_get_tcp_keepcnt(lua_State *L, p_socket ps);
63#endif
64#ifdef TCP_KEEPINTVL
65int opt_get_tcp_keepintvl(lua_State *L, p_socket ps);
66#endif
67int opt_get_keepalive(lua_State *L, p_socket ps);
68int opt_get_linger(lua_State *L, p_socket ps);
69int opt_get_ip_multicast_loop(lua_State *L, p_socket ps);
70int opt_get_ip_multicast_if(lua_State *L, p_socket ps);
71int opt_get_error(lua_State *L, p_socket ps); 96int opt_get_error(lua_State *L, p_socket ps);
72int opt_get_ip6_multicast_loop(lua_State *L, p_socket ps);
73int opt_get_ip6_multicast_hops(lua_State *L, p_socket ps);
74int opt_get_ip6_unicast_hops(lua_State *L, p_socket ps);
75int opt_get_ip6_v6only(lua_State *L, p_socket ps);
76int opt_get_reuseport(lua_State *L, p_socket ps);
77int opt_get_recv_buf_size(lua_State *L, p_socket ps);
78int opt_get_send_buf_size(lua_State *L, p_socket ps);
79 97
80/* invokes the appropriate option handler */ 98#ifndef _WIN32
81int opt_meth_setoption(lua_State *L, p_opt opt, p_socket ps); 99#pragma GCC visibility pop
82int opt_meth_getoption(lua_State *L, p_opt opt, p_socket ps); 100#endif
83 101
84#endif 102#endif