summaryrefslogtreecommitdiff
path: root/src/socket/options.h
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2013-05-04 21:26:49 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2013-05-04 21:26:49 (GMT)
commit66e21ce0498f623ccffcee95b1fdcbc218464caa (patch)
tree83de913847ce0b1808c46a1bdedb1c4c6c66296d /src/socket/options.h
parent3799d5ed86e7b508b39544cad3b3346655c804f1 (diff)
parente7b29ab9b5e037a8896c62f0473cae8d353d5114 (diff)
downloadpowder-66e21ce0498f623ccffcee95b1fdcbc218464caa.zip
powder-66e21ce0498f623ccffcee95b1fdcbc218464caa.tar.gz
Merge pull request #131 from mniip/lua
builtin luasocket
Diffstat (limited to 'src/socket/options.h')
-rw-r--r--src/socket/options.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/socket/options.h b/src/socket/options.h
new file mode 100644
index 0000000..4981cf2
--- /dev/null
+++ b/src/socket/options.h
@@ -0,0 +1,39 @@
+#ifndef OPTIONS_H
+#define OPTIONS_H
+/*=========================================================================*\
+* Common option interface
+* LuaSocket toolkit
+*
+* This module provides a common interface to socket options, used mainly by
+* modules UDP and TCP.
+*
+* RCS ID: $Id: options.h,v 1.4 2005/10/07 04:40:59 diego Exp $
+\*=========================================================================*/
+
+#include "lua.h"
+#include "socket.h"
+
+/* option registry */
+typedef struct t_opt {
+ const char *name;
+ int (*func)(lua_State *L, p_socket ps);
+} t_opt;
+typedef t_opt *p_opt;
+
+/* supported options */
+int opt_dontroute(lua_State *L, p_socket ps);
+int opt_broadcast(lua_State *L, p_socket ps);
+int opt_reuseaddr(lua_State *L, p_socket ps);
+int opt_tcp_nodelay(lua_State *L, p_socket ps);
+int opt_keepalive(lua_State *L, p_socket ps);
+int opt_linger(lua_State *L, p_socket ps);
+int opt_reuseaddr(lua_State *L, p_socket ps);
+int opt_ip_multicast_ttl(lua_State *L, p_socket ps);
+int opt_ip_multicast_loop(lua_State *L, p_socket ps);
+int opt_ip_add_membership(lua_State *L, p_socket ps);
+int opt_ip_drop_membersip(lua_State *L, p_socket ps);
+
+/* invokes the appropriate option handler */
+int opt_meth_setoption(lua_State *L, p_opt opt, p_socket ps);
+
+#endif