Fix problem with FFI support on windows.

pull/47/merge
Robert G. Jakabosky 14 years ago
parent 38a3f21ba5
commit 7adc63d089

@ -39,9 +39,6 @@
#ifdef __WINDOWS__
/* disable FFI bindings for windows, it is broken right now. */
#undef LUAJIT_FFI
#define LUAJIT_FFI 0
/* for MinGW32 compiler need to include <stdint.h> */
#ifdef __GNUC__
#include <stdint.h>
@ -1172,7 +1169,31 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" _G[obj_name] = obj_pub\n"
" end\n"
"end\n"
"C = ffi_load_cmodule(\"zmq\", false)\n"
"\n"
"-- detect zmq version\n"
"local VERSION_2_0 = true\n"
"local VERSION_2_1 = false\n"
"local VERSION_3_0 = false\n"
"local zver = _M.version()\n"
"if zver[1] == 3 then\n"
" VERSION_2_0 = false\n"
" VERSION_3_0 = true\n"
"elseif zver[1] == 2 and zver[2] == 1 then\n"
" VERSION_2_1 = true\n"
"end\n"
"\n"
"if VERSION_2_0 then\n"
" ffi.cdef[==[\n"
"typedef int ZMQ_Error;\n"
"typedef struct ZMQ_Socket ZMQ_Socket;\n"
"typedef struct zmq_msg_t zmq_msg_t;\n"
"\n"
"ZMQ_Error zmq_sendmsg(ZMQ_Socket *sock, zmq_msg_t *msg, int flags) __asm__(\"zmq_send\");\n"
"ZMQ_Error zmq_recvmsg(ZMQ_Socket *sock, zmq_msg_t *msg, int flags) __asm__(\"zmq_recv\");\n"
"]==]\n"
"end\n"
"\n"
"local Cmod = ffi_load_cmodule(\"zmq\", false)\n"
"\n"
"ffi.cdef[[\n"
"typedef int ZMQ_Error;\n"
@ -1326,10 +1347,6 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
"\n"
"ZMQ_Error lzmq_socket_set_ipv4only(ZMQ_Socket *, int);\n"
"\n"
"typedef ZMQ_Error (*zmq_sendmsg_func)(ZMQ_Socket * this, zmq_msg_t * msg, int flags);\n"
"\n"
"typedef ZMQ_Error (*zmq_recvmsg_func)(ZMQ_Socket * this, zmq_msg_t * msg, int flags);\n"
"\n"
"typedef int socket_t;\n"
"typedef struct zmq_pollitem_t {\n"
" ZMQ_Socket *socket;\n"
@ -1684,9 +1701,10 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
"end\n"
"\n"
"\n"
"local zmq_sendmsg = ffi.new(\"zmq_sendmsg_func\", _priv[\"zmq_sendmsg\"])\n"
"\n"
"local zmq_recvmsg = ffi.new(\"zmq_recvmsg_func\", _priv[\"zmq_recvmsg\"])\n"
"local os_lib_table = {\n"
" [\"Windows\"] = \"libzmq\",\n"
"}\n"
"C = ffi_load(os_lib_table[ffi.os] or \"zmq\")\n"
"\n"
"\n"
"-- Start \"ZErrors\" FFI interface\n"
@ -1881,18 +1899,6 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
"\n"
"\n"
"-- Start \"ZMQ_Socket\" FFI interface\n"
"-- detect zmq version\n"
"local VERSION_2_0 = true\n"
"local VERSION_2_1 = false\n"
"local VERSION_3_0 = false\n"
"local zver = _M.version()\n"
"if zver[1] == 3 then\n"
" VERSION_2_0 = false\n"
" VERSION_3_0 = true\n"
"elseif zver[1] == 2 and zver[2] == 1 then\n"
" VERSION_2_1 = true\n"
"end\n"
"\n"
"-- method: close\n"
"function _meth.ZMQ_Socket.close(self)\n"
" local self,this_flags1 = obj_type_ZMQ_Socket_delete(self)\n"
@ -2028,7 +2034,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" flags3 = flags3 or 0\n"
" local rc_zmq_sendmsg1 = 0\n"
" rc_zmq_sendmsg1 = zmq_sendmsg(self, msg2, flags3)\n"
" rc_zmq_sendmsg1 = C.zmq_sendmsg(self, msg2, flags3)\n"
" -- check for error.\n"
" if (-1 == rc_zmq_sendmsg1) then\n"
" return nil, error_code__ZMQ_Error__push(rc_zmq_sendmsg1)\n"
@ -2042,7 +2048,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" local data_len2 = #data2\n"
" flags3 = flags3 or 0\n"
" local rc_simple_zmq_send1 = 0\n"
" rc_simple_zmq_send1 = C.simple_zmq_send(self, data2, data_len2, flags3)\n"
" rc_simple_zmq_send1 = Cmod.simple_zmq_send(self, data2, data_len2, flags3)\n"
" -- check for error.\n"
" if (-1 == rc_simple_zmq_send1) then\n"
" return nil, error_code__ZMQ_Error__push(rc_simple_zmq_send1)\n"
@ -2056,7 +2062,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" flags3 = flags3 or 0\n"
" local rc_zmq_recvmsg1 = 0\n"
" rc_zmq_recvmsg1 = zmq_recvmsg(self, msg2, flags3)\n"
" rc_zmq_recvmsg1 = C.zmq_recvmsg(self, msg2, flags3)\n"
" -- check for error.\n"
" if (-1 == rc_zmq_recvmsg1) then\n"
" return nil, error_code__ZMQ_Error__push(rc_zmq_recvmsg1)\n"
@ -2105,7 +2111,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" local value1 = hwm_value_tmp\n"
" local rc_lzmq_socket_hwm2 = 0\n"
" rc_lzmq_socket_hwm2 = C.lzmq_socket_hwm(self, value1)\n"
" rc_lzmq_socket_hwm2 = Cmod.lzmq_socket_hwm(self, value1)\n"
" if (-1 == rc_lzmq_socket_hwm2) then\n"
" return nil,error_code__ZMQ_Error__push(rc_lzmq_socket_hwm2)\n"
" end\n"
@ -2120,7 +2126,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" \n"
" local rc_lzmq_socket_set_hwm1 = 0\n"
" rc_lzmq_socket_set_hwm1 = C.lzmq_socket_set_hwm(self, value2)\n"
" rc_lzmq_socket_set_hwm1 = Cmod.lzmq_socket_set_hwm(self, value2)\n"
" -- check for error.\n"
" if (-1 == rc_lzmq_socket_set_hwm1) then\n"
" return nil, error_code__ZMQ_Error__push(rc_lzmq_socket_set_hwm1)\n"
@ -2137,7 +2143,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" local value1 = swap_value_tmp\n"
" local rc_lzmq_socket_swap2 = 0\n"
" rc_lzmq_socket_swap2 = C.lzmq_socket_swap(self, value1)\n"
" rc_lzmq_socket_swap2 = Cmod.lzmq_socket_swap(self, value1)\n"
" if (-1 == rc_lzmq_socket_swap2) then\n"
" return nil,error_code__ZMQ_Error__push(rc_lzmq_socket_swap2)\n"
" end\n"
@ -2152,7 +2158,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" \n"
" local rc_lzmq_socket_set_swap1 = 0\n"
" rc_lzmq_socket_set_swap1 = C.lzmq_socket_set_swap(self, value2)\n"
" rc_lzmq_socket_set_swap1 = Cmod.lzmq_socket_set_swap(self, value2)\n"
" -- check for error.\n"
" if (-1 == rc_lzmq_socket_set_swap1) then\n"
" return nil, error_code__ZMQ_Error__push(rc_lzmq_socket_set_swap1)\n"
@ -2169,7 +2175,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" local value1 = affinity_value_tmp\n"
" local rc_lzmq_socket_affinity2 = 0\n"
" rc_lzmq_socket_affinity2 = C.lzmq_socket_affinity(self, value1)\n"
" rc_lzmq_socket_affinity2 = Cmod.lzmq_socket_affinity(self, value1)\n"
" if (-1 == rc_lzmq_socket_affinity2) then\n"
" return nil,error_code__ZMQ_Error__push(rc_lzmq_socket_affinity2)\n"
" end\n"
@ -2184,7 +2190,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" \n"
" local rc_lzmq_socket_set_affinity1 = 0\n"
" rc_lzmq_socket_set_affinity1 = C.lzmq_socket_set_affinity(self, value2)\n"
" rc_lzmq_socket_set_affinity1 = Cmod.lzmq_socket_set_affinity(self, value2)\n"
" -- check for error.\n"
" if (-1 == rc_lzmq_socket_set_affinity1) then\n"
" return nil, error_code__ZMQ_Error__push(rc_lzmq_socket_set_affinity1)\n"
@ -2200,7 +2206,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" local value_len1 = 0\n"
" local value1\n"
" local rc_lzmq_socket_identity2 = 0\n"
" rc_lzmq_socket_identity2 = C.lzmq_socket_identity(self, value1, value_len1)\n"
" rc_lzmq_socket_identity2 = Cmod.lzmq_socket_identity(self, value1, value_len1)\n"
" if (-1 == rc_lzmq_socket_identity2) then\n"
" return nil,error_code__ZMQ_Error__push(rc_lzmq_socket_identity2)\n"
" end\n"
@ -2214,7 +2220,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" local value_len2 = #value2\n"
" local rc_lzmq_socket_set_identity1 = 0\n"
" rc_lzmq_socket_set_identity1 = C.lzmq_socket_set_identity(self, value2, value_len2)\n"
" rc_lzmq_socket_set_identity1 = Cmod.lzmq_socket_set_identity(self, value2, value_len2)\n"
" -- check for error.\n"
" if (-1 == rc_lzmq_socket_set_identity1) then\n"
" return nil, error_code__ZMQ_Error__push(rc_lzmq_socket_set_identity1)\n"
@ -2229,7 +2235,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" local value_len2 = #value2\n"
" local rc_lzmq_socket_subscribe1 = 0\n"
" rc_lzmq_socket_subscribe1 = C.lzmq_socket_subscribe(self, value2, value_len2)\n"
" rc_lzmq_socket_subscribe1 = Cmod.lzmq_socket_subscribe(self, value2, value_len2)\n"
" -- check for error.\n"
" if (-1 == rc_lzmq_socket_subscribe1) then\n"
" return nil, error_code__ZMQ_Error__push(rc_lzmq_socket_subscribe1)\n"
@ -2244,7 +2250,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" local value_len2 = #value2\n"
" local rc_lzmq_socket_unsubscribe1 = 0\n"
" rc_lzmq_socket_unsubscribe1 = C.lzmq_socket_unsubscribe(self, value2, value_len2)\n"
" rc_lzmq_socket_unsubscribe1 = Cmod.lzmq_socket_unsubscribe(self, value2, value_len2)\n"
" -- check for error.\n"
" if (-1 == rc_lzmq_socket_unsubscribe1) then\n"
" return nil, error_code__ZMQ_Error__push(rc_lzmq_socket_unsubscribe1)\n"
@ -2261,7 +2267,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" local value1 = rate_value_tmp\n"
" local rc_lzmq_socket_rate2 = 0\n"
" rc_lzmq_socket_rate2 = C.lzmq_socket_rate(self, value1)\n"
" rc_lzmq_socket_rate2 = Cmod.lzmq_socket_rate(self, value1)\n"
" if (-1 == rc_lzmq_socket_rate2) then\n"
" return nil,error_code__ZMQ_Error__push(rc_lzmq_socket_rate2)\n"
" end\n"
@ -2276,7 +2282,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" \n"
" local rc_lzmq_socket_set_rate1 = 0\n"
" rc_lzmq_socket_set_rate1 = C.lzmq_socket_set_rate(self, value2)\n"
" rc_lzmq_socket_set_rate1 = Cmod.lzmq_socket_set_rate(self, value2)\n"
" -- check for error.\n"
" if (-1 == rc_lzmq_socket_set_rate1) then\n"
" return nil, error_code__ZMQ_Error__push(rc_lzmq_socket_set_rate1)\n"
@ -2293,7 +2299,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" local value1 = recovery_ivl_value_tmp\n"
" local rc_lzmq_socket_recovery_ivl2 = 0\n"
" rc_lzmq_socket_recovery_ivl2 = C.lzmq_socket_recovery_ivl(self, value1)\n"
" rc_lzmq_socket_recovery_ivl2 = Cmod.lzmq_socket_recovery_ivl(self, value1)\n"
" if (-1 == rc_lzmq_socket_recovery_ivl2) then\n"
" return nil,error_code__ZMQ_Error__push(rc_lzmq_socket_recovery_ivl2)\n"
" end\n"
@ -2308,7 +2314,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" \n"
" local rc_lzmq_socket_set_recovery_ivl1 = 0\n"
" rc_lzmq_socket_set_recovery_ivl1 = C.lzmq_socket_set_recovery_ivl(self, value2)\n"
" rc_lzmq_socket_set_recovery_ivl1 = Cmod.lzmq_socket_set_recovery_ivl(self, value2)\n"
" -- check for error.\n"
" if (-1 == rc_lzmq_socket_set_recovery_ivl1) then\n"
" return nil, error_code__ZMQ_Error__push(rc_lzmq_socket_set_recovery_ivl1)\n"
@ -2325,7 +2331,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" local value1 = mcast_loop_value_tmp\n"
" local rc_lzmq_socket_mcast_loop2 = 0\n"
" rc_lzmq_socket_mcast_loop2 = C.lzmq_socket_mcast_loop(self, value1)\n"
" rc_lzmq_socket_mcast_loop2 = Cmod.lzmq_socket_mcast_loop(self, value1)\n"
" if (-1 == rc_lzmq_socket_mcast_loop2) then\n"
" return nil,error_code__ZMQ_Error__push(rc_lzmq_socket_mcast_loop2)\n"
" end\n"
@ -2340,7 +2346,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" \n"
" local rc_lzmq_socket_set_mcast_loop1 = 0\n"
" rc_lzmq_socket_set_mcast_loop1 = C.lzmq_socket_set_mcast_loop(self, value2)\n"
" rc_lzmq_socket_set_mcast_loop1 = Cmod.lzmq_socket_set_mcast_loop(self, value2)\n"
" -- check for error.\n"
" if (-1 == rc_lzmq_socket_set_mcast_loop1) then\n"
" return nil, error_code__ZMQ_Error__push(rc_lzmq_socket_set_mcast_loop1)\n"
@ -2357,7 +2363,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" local value1 = sndbuf_value_tmp\n"
" local rc_lzmq_socket_sndbuf2 = 0\n"
" rc_lzmq_socket_sndbuf2 = C.lzmq_socket_sndbuf(self, value1)\n"
" rc_lzmq_socket_sndbuf2 = Cmod.lzmq_socket_sndbuf(self, value1)\n"
" if (-1 == rc_lzmq_socket_sndbuf2) then\n"
" return nil,error_code__ZMQ_Error__push(rc_lzmq_socket_sndbuf2)\n"
" end\n"
@ -2372,7 +2378,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" \n"
" local rc_lzmq_socket_set_sndbuf1 = 0\n"
" rc_lzmq_socket_set_sndbuf1 = C.lzmq_socket_set_sndbuf(self, value2)\n"
" rc_lzmq_socket_set_sndbuf1 = Cmod.lzmq_socket_set_sndbuf(self, value2)\n"
" -- check for error.\n"
" if (-1 == rc_lzmq_socket_set_sndbuf1) then\n"
" return nil, error_code__ZMQ_Error__push(rc_lzmq_socket_set_sndbuf1)\n"
@ -2389,7 +2395,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" local value1 = rcvbuf_value_tmp\n"
" local rc_lzmq_socket_rcvbuf2 = 0\n"
" rc_lzmq_socket_rcvbuf2 = C.lzmq_socket_rcvbuf(self, value1)\n"
" rc_lzmq_socket_rcvbuf2 = Cmod.lzmq_socket_rcvbuf(self, value1)\n"
" if (-1 == rc_lzmq_socket_rcvbuf2) then\n"
" return nil,error_code__ZMQ_Error__push(rc_lzmq_socket_rcvbuf2)\n"
" end\n"
@ -2404,7 +2410,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" \n"
" local rc_lzmq_socket_set_rcvbuf1 = 0\n"
" rc_lzmq_socket_set_rcvbuf1 = C.lzmq_socket_set_rcvbuf(self, value2)\n"
" rc_lzmq_socket_set_rcvbuf1 = Cmod.lzmq_socket_set_rcvbuf(self, value2)\n"
" -- check for error.\n"
" if (-1 == rc_lzmq_socket_set_rcvbuf1) then\n"
" return nil, error_code__ZMQ_Error__push(rc_lzmq_socket_set_rcvbuf1)\n"
@ -2421,7 +2427,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" local value1 = rcvmore_value_tmp\n"
" local rc_lzmq_socket_rcvmore2 = 0\n"
" rc_lzmq_socket_rcvmore2 = C.lzmq_socket_rcvmore(self, value1)\n"
" rc_lzmq_socket_rcvmore2 = Cmod.lzmq_socket_rcvmore(self, value1)\n"
" if (-1 == rc_lzmq_socket_rcvmore2) then\n"
" return nil,error_code__ZMQ_Error__push(rc_lzmq_socket_rcvmore2)\n"
" end\n"
@ -2438,7 +2444,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" local value1 = fd_value_tmp\n"
" local rc_lzmq_socket_fd2 = 0\n"
" rc_lzmq_socket_fd2 = C.lzmq_socket_fd(self, value1)\n"
" rc_lzmq_socket_fd2 = Cmod.lzmq_socket_fd(self, value1)\n"
" if (-1 == rc_lzmq_socket_fd2) then\n"
" return nil,error_code__ZMQ_Error__push(rc_lzmq_socket_fd2)\n"
" end\n"
@ -2455,7 +2461,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" local value1 = events_value_tmp\n"
" local rc_lzmq_socket_events2 = 0\n"
" rc_lzmq_socket_events2 = C.lzmq_socket_events(self, value1)\n"
" rc_lzmq_socket_events2 = Cmod.lzmq_socket_events(self, value1)\n"
" if (-1 == rc_lzmq_socket_events2) then\n"
" return nil,error_code__ZMQ_Error__push(rc_lzmq_socket_events2)\n"
" end\n"
@ -2472,7 +2478,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" local value1 = type_value_tmp\n"
" local rc_lzmq_socket_type2 = 0\n"
" rc_lzmq_socket_type2 = C.lzmq_socket_type(self, value1)\n"
" rc_lzmq_socket_type2 = Cmod.lzmq_socket_type(self, value1)\n"
" if (-1 == rc_lzmq_socket_type2) then\n"
" return nil,error_code__ZMQ_Error__push(rc_lzmq_socket_type2)\n"
" end\n"
@ -2489,7 +2495,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" local value1 = linger_value_tmp\n"
" local rc_lzmq_socket_linger2 = 0\n"
" rc_lzmq_socket_linger2 = C.lzmq_socket_linger(self, value1)\n"
" rc_lzmq_socket_linger2 = Cmod.lzmq_socket_linger(self, value1)\n"
" if (-1 == rc_lzmq_socket_linger2) then\n"
" return nil,error_code__ZMQ_Error__push(rc_lzmq_socket_linger2)\n"
" end\n"
@ -2504,7 +2510,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" \n"
" local rc_lzmq_socket_set_linger1 = 0\n"
" rc_lzmq_socket_set_linger1 = C.lzmq_socket_set_linger(self, value2)\n"
" rc_lzmq_socket_set_linger1 = Cmod.lzmq_socket_set_linger(self, value2)\n"
" -- check for error.\n"
" if (-1 == rc_lzmq_socket_set_linger1) then\n"
" return nil, error_code__ZMQ_Error__push(rc_lzmq_socket_set_linger1)\n"
@ -2521,7 +2527,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" local value1 = reconnect_ivl_value_tmp\n"
" local rc_lzmq_socket_reconnect_ivl2 = 0\n"
" rc_lzmq_socket_reconnect_ivl2 = C.lzmq_socket_reconnect_ivl(self, value1)\n"
" rc_lzmq_socket_reconnect_ivl2 = Cmod.lzmq_socket_reconnect_ivl(self, value1)\n"
" if (-1 == rc_lzmq_socket_reconnect_ivl2) then\n"
" return nil,error_code__ZMQ_Error__push(rc_lzmq_socket_reconnect_ivl2)\n"
" end\n"
@ -2536,7 +2542,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" \n"
" local rc_lzmq_socket_set_reconnect_ivl1 = 0\n"
" rc_lzmq_socket_set_reconnect_ivl1 = C.lzmq_socket_set_reconnect_ivl(self, value2)\n"
" rc_lzmq_socket_set_reconnect_ivl1 = Cmod.lzmq_socket_set_reconnect_ivl(self, value2)\n"
" -- check for error.\n"
" if (-1 == rc_lzmq_socket_set_reconnect_ivl1) then\n"
" return nil, error_code__ZMQ_Error__push(rc_lzmq_socket_set_reconnect_ivl1)\n"
@ -2553,7 +2559,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" local value1 = backlog_value_tmp\n"
" local rc_lzmq_socket_backlog2 = 0\n"
" rc_lzmq_socket_backlog2 = C.lzmq_socket_backlog(self, value1)\n"
" rc_lzmq_socket_backlog2 = Cmod.lzmq_socket_backlog(self, value1)\n"
" if (-1 == rc_lzmq_socket_backlog2) then\n"
" return nil,error_code__ZMQ_Error__push(rc_lzmq_socket_backlog2)\n"
" end\n"
@ -2568,7 +2574,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" \n"
" local rc_lzmq_socket_set_backlog1 = 0\n"
" rc_lzmq_socket_set_backlog1 = C.lzmq_socket_set_backlog(self, value2)\n"
" rc_lzmq_socket_set_backlog1 = Cmod.lzmq_socket_set_backlog(self, value2)\n"
" -- check for error.\n"
" if (-1 == rc_lzmq_socket_set_backlog1) then\n"
" return nil, error_code__ZMQ_Error__push(rc_lzmq_socket_set_backlog1)\n"
@ -2585,7 +2591,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" local value1 = recovery_ivl_msec_value_tmp\n"
" local rc_lzmq_socket_recovery_ivl_msec2 = 0\n"
" rc_lzmq_socket_recovery_ivl_msec2 = C.lzmq_socket_recovery_ivl_msec(self, value1)\n"
" rc_lzmq_socket_recovery_ivl_msec2 = Cmod.lzmq_socket_recovery_ivl_msec(self, value1)\n"
" if (-1 == rc_lzmq_socket_recovery_ivl_msec2) then\n"
" return nil,error_code__ZMQ_Error__push(rc_lzmq_socket_recovery_ivl_msec2)\n"
" end\n"
@ -2600,7 +2606,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" \n"
" local rc_lzmq_socket_set_recovery_ivl_msec1 = 0\n"
" rc_lzmq_socket_set_recovery_ivl_msec1 = C.lzmq_socket_set_recovery_ivl_msec(self, value2)\n"
" rc_lzmq_socket_set_recovery_ivl_msec1 = Cmod.lzmq_socket_set_recovery_ivl_msec(self, value2)\n"
" -- check for error.\n"
" if (-1 == rc_lzmq_socket_set_recovery_ivl_msec1) then\n"
" return nil, error_code__ZMQ_Error__push(rc_lzmq_socket_set_recovery_ivl_msec1)\n"
@ -2617,7 +2623,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" local value1 = reconnect_ivl_max_value_tmp\n"
" local rc_lzmq_socket_reconnect_ivl_max2 = 0\n"
" rc_lzmq_socket_reconnect_ivl_max2 = C.lzmq_socket_reconnect_ivl_max(self, value1)\n"
" rc_lzmq_socket_reconnect_ivl_max2 = Cmod.lzmq_socket_reconnect_ivl_max(self, value1)\n"
" if (-1 == rc_lzmq_socket_reconnect_ivl_max2) then\n"
" return nil,error_code__ZMQ_Error__push(rc_lzmq_socket_reconnect_ivl_max2)\n"
" end\n"
@ -2632,7 +2638,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" \n"
" local rc_lzmq_socket_set_reconnect_ivl_max1 = 0\n"
" rc_lzmq_socket_set_reconnect_ivl_max1 = C.lzmq_socket_set_reconnect_ivl_max(self, value2)\n"
" rc_lzmq_socket_set_reconnect_ivl_max1 = Cmod.lzmq_socket_set_reconnect_ivl_max(self, value2)\n"
" -- check for error.\n"
" if (-1 == rc_lzmq_socket_set_reconnect_ivl_max1) then\n"
" return nil, error_code__ZMQ_Error__push(rc_lzmq_socket_set_reconnect_ivl_max1)\n"
@ -2649,7 +2655,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" local value1 = maxmsgsize_value_tmp\n"
" local rc_lzmq_socket_maxmsgsize2 = 0\n"
" rc_lzmq_socket_maxmsgsize2 = C.lzmq_socket_maxmsgsize(self, value1)\n"
" rc_lzmq_socket_maxmsgsize2 = Cmod.lzmq_socket_maxmsgsize(self, value1)\n"
" if (-1 == rc_lzmq_socket_maxmsgsize2) then\n"
" return nil,error_code__ZMQ_Error__push(rc_lzmq_socket_maxmsgsize2)\n"
" end\n"
@ -2664,7 +2670,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" \n"
" local rc_lzmq_socket_set_maxmsgsize1 = 0\n"
" rc_lzmq_socket_set_maxmsgsize1 = C.lzmq_socket_set_maxmsgsize(self, value2)\n"
" rc_lzmq_socket_set_maxmsgsize1 = Cmod.lzmq_socket_set_maxmsgsize(self, value2)\n"
" -- check for error.\n"
" if (-1 == rc_lzmq_socket_set_maxmsgsize1) then\n"
" return nil, error_code__ZMQ_Error__push(rc_lzmq_socket_set_maxmsgsize1)\n"
@ -2681,7 +2687,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" local value1 = sndhwm_value_tmp\n"
" local rc_lzmq_socket_sndhwm2 = 0\n"
" rc_lzmq_socket_sndhwm2 = C.lzmq_socket_sndhwm(self, value1)\n"
" rc_lzmq_socket_sndhwm2 = Cmod.lzmq_socket_sndhwm(self, value1)\n"
" if (-1 == rc_lzmq_socket_sndhwm2) then\n"
" return nil,error_code__ZMQ_Error__push(rc_lzmq_socket_sndhwm2)\n"
" end\n"
@ -2696,7 +2702,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" \n"
" local rc_lzmq_socket_set_sndhwm1 = 0\n"
" rc_lzmq_socket_set_sndhwm1 = C.lzmq_socket_set_sndhwm(self, value2)\n"
" rc_lzmq_socket_set_sndhwm1 = Cmod.lzmq_socket_set_sndhwm(self, value2)\n"
" -- check for error.\n"
" if (-1 == rc_lzmq_socket_set_sndhwm1) then\n"
" return nil, error_code__ZMQ_Error__push(rc_lzmq_socket_set_sndhwm1)\n"
@ -2713,7 +2719,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" local value1 = rcvhwm_value_tmp\n"
" local rc_lzmq_socket_rcvhwm2 = 0\n"
" rc_lzmq_socket_rcvhwm2 = C.lzmq_socket_rcvhwm(self, value1)\n"
" rc_lzmq_socket_rcvhwm2 = Cmod.lzmq_socket_rcvhwm(self, value1)\n"
" if (-1 == rc_lzmq_socket_rcvhwm2) then\n"
" return nil,error_code__ZMQ_Error__push(rc_lzmq_socket_rcvhwm2)\n"
" end\n"
@ -2728,7 +2734,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" \n"
" local rc_lzmq_socket_set_rcvhwm1 = 0\n"
" rc_lzmq_socket_set_rcvhwm1 = C.lzmq_socket_set_rcvhwm(self, value2)\n"
" rc_lzmq_socket_set_rcvhwm1 = Cmod.lzmq_socket_set_rcvhwm(self, value2)\n"
" -- check for error.\n"
" if (-1 == rc_lzmq_socket_set_rcvhwm1) then\n"
" return nil, error_code__ZMQ_Error__push(rc_lzmq_socket_set_rcvhwm1)\n"
@ -2745,7 +2751,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" local value1 = multicast_hops_value_tmp\n"
" local rc_lzmq_socket_multicast_hops2 = 0\n"
" rc_lzmq_socket_multicast_hops2 = C.lzmq_socket_multicast_hops(self, value1)\n"
" rc_lzmq_socket_multicast_hops2 = Cmod.lzmq_socket_multicast_hops(self, value1)\n"
" if (-1 == rc_lzmq_socket_multicast_hops2) then\n"
" return nil,error_code__ZMQ_Error__push(rc_lzmq_socket_multicast_hops2)\n"
" end\n"
@ -2760,7 +2766,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" \n"
" local rc_lzmq_socket_set_multicast_hops1 = 0\n"
" rc_lzmq_socket_set_multicast_hops1 = C.lzmq_socket_set_multicast_hops(self, value2)\n"
" rc_lzmq_socket_set_multicast_hops1 = Cmod.lzmq_socket_set_multicast_hops(self, value2)\n"
" -- check for error.\n"
" if (-1 == rc_lzmq_socket_set_multicast_hops1) then\n"
" return nil, error_code__ZMQ_Error__push(rc_lzmq_socket_set_multicast_hops1)\n"
@ -2777,7 +2783,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" local value1 = rcvtimeo_value_tmp\n"
" local rc_lzmq_socket_rcvtimeo2 = 0\n"
" rc_lzmq_socket_rcvtimeo2 = C.lzmq_socket_rcvtimeo(self, value1)\n"
" rc_lzmq_socket_rcvtimeo2 = Cmod.lzmq_socket_rcvtimeo(self, value1)\n"
" if (-1 == rc_lzmq_socket_rcvtimeo2) then\n"
" return nil,error_code__ZMQ_Error__push(rc_lzmq_socket_rcvtimeo2)\n"
" end\n"
@ -2792,7 +2798,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" \n"
" local rc_lzmq_socket_set_rcvtimeo1 = 0\n"
" rc_lzmq_socket_set_rcvtimeo1 = C.lzmq_socket_set_rcvtimeo(self, value2)\n"
" rc_lzmq_socket_set_rcvtimeo1 = Cmod.lzmq_socket_set_rcvtimeo(self, value2)\n"
" -- check for error.\n"
" if (-1 == rc_lzmq_socket_set_rcvtimeo1) then\n"
" return nil, error_code__ZMQ_Error__push(rc_lzmq_socket_set_rcvtimeo1)\n"
@ -2809,7 +2815,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" local value1 = sndtimeo_value_tmp\n"
" local rc_lzmq_socket_sndtimeo2 = 0\n"
" rc_lzmq_socket_sndtimeo2 = C.lzmq_socket_sndtimeo(self, value1)\n"
" rc_lzmq_socket_sndtimeo2 = Cmod.lzmq_socket_sndtimeo(self, value1)\n"
" if (-1 == rc_lzmq_socket_sndtimeo2) then\n"
" return nil,error_code__ZMQ_Error__push(rc_lzmq_socket_sndtimeo2)\n"
" end\n"
@ -2824,7 +2830,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" \n"
" local rc_lzmq_socket_set_sndtimeo1 = 0\n"
" rc_lzmq_socket_set_sndtimeo1 = C.lzmq_socket_set_sndtimeo(self, value2)\n"
" rc_lzmq_socket_set_sndtimeo1 = Cmod.lzmq_socket_set_sndtimeo(self, value2)\n"
" -- check for error.\n"
" if (-1 == rc_lzmq_socket_set_sndtimeo1) then\n"
" return nil, error_code__ZMQ_Error__push(rc_lzmq_socket_set_sndtimeo1)\n"
@ -2841,7 +2847,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" local value1 = ipv4only_value_tmp\n"
" local rc_lzmq_socket_ipv4only2 = 0\n"
" rc_lzmq_socket_ipv4only2 = C.lzmq_socket_ipv4only(self, value1)\n"
" rc_lzmq_socket_ipv4only2 = Cmod.lzmq_socket_ipv4only(self, value1)\n"
" if (-1 == rc_lzmq_socket_ipv4only2) then\n"
" return nil,error_code__ZMQ_Error__push(rc_lzmq_socket_ipv4only2)\n"
" end\n"
@ -2856,7 +2862,7 @@ static const char zmq_ffi_lua_code[] = "local ffi=require\"ffi\"\n"
" \n"
" \n"
" local rc_lzmq_socket_set_ipv4only1 = 0\n"
" rc_lzmq_socket_set_ipv4only1 = C.lzmq_socket_set_ipv4only(self, value2)\n"
" rc_lzmq_socket_set_ipv4only1 = Cmod.lzmq_socket_set_ipv4only(self, value2)\n"
" -- check for error.\n"
" if (-1 == rc_lzmq_socket_set_ipv4only1) then\n"
" return nil, error_code__ZMQ_Error__push(rc_lzmq_socket_set_ipv4only1)\n"
@ -6614,8 +6620,6 @@ static const reg_sub_module reg_sub_modules[] = {
#if LUAJIT_FFI
static const ffi_export_symbol zmq_ffi_export[] = {
{ "zmq_sendmsg", { .func = (ffi_export_func_t)zmq_sendmsg } },
{ "zmq_recvmsg", { .func = (ffi_export_func_t)zmq_recvmsg } },
{NULL, { .data = NULL } }
};
#endif

@ -355,7 +355,7 @@ local function build_option_methods()
end
m[#m+1] = method (name) { if_defs = if_defs,
var_out(val_out),
c_method_call "ZMQ_Error" (meth.c_get) (args),
c_export_method_call "ZMQ_Error" (meth.c_get) (args),
}
end
-- generate setter method.
@ -366,7 +366,7 @@ local function build_option_methods()
args = { ltype, "value", "size_t", "#value" }
end
m[#m+1] = method (name) { if_defs = if_defs,
c_method_call "ZMQ_Error" (meth.c_set) (args),
c_export_method_call "ZMQ_Error" (meth.c_set) (args),
}
end
end
@ -383,7 +383,8 @@ end
object "ZMQ_Socket" {
error_on_null = "get_zmq_strerror()",
ffi_source [[
ffi_source "ffi_pre_cdef" [[
-- detect zmq version
local VERSION_2_0 = true
local VERSION_2_1 = false
@ -395,6 +396,17 @@ if zver[1] == 3 then
elseif zver[1] == 2 and zver[2] == 1 then
VERSION_2_1 = true
end
if VERSION_2_0 then
ffi.cdef[==[
typedef int ZMQ_Error;
typedef struct ZMQ_Socket ZMQ_Socket;
typedef struct zmq_msg_t zmq_msg_t;
ZMQ_Error zmq_sendmsg(ZMQ_Socket *sock, zmq_msg_t *msg, int flags) __asm__("zmq_send");
ZMQ_Error zmq_recvmsg(ZMQ_Socket *sock, zmq_msg_t *msg, int flags) __asm__("zmq_recv");
]==]
end
]],
c_source ([[
@ -649,7 +661,7 @@ local tmp_val_len = ffi.new('size_t[1]', 4)
-- zmq_send
--
method "send_msg" {
c_export_method_call "ZMQ_Error" "zmq_sendmsg" { "zmq_msg_t *", "msg", "int", "flags?" },
c_method_call "ZMQ_Error" "zmq_sendmsg" { "zmq_msg_t *", "msg", "int", "flags?" },
},
-- create helper function for `zmq_send`
c_source[[
@ -670,14 +682,14 @@ ZMQ_Error simple_zmq_send(ZMQ_Socket *sock, const char *data, size_t data_len, i
}
]],
method "send" {
c_method_call "ZMQ_Error" "simple_zmq_send"
c_export_method_call "ZMQ_Error" "simple_zmq_send"
{ "const char *", "data", "size_t", "#data", "int", "flags?"}
},
--
-- zmq_recv
--
method "recv_msg" {
c_export_method_call "ZMQ_Error" "zmq_recvmsg" { "zmq_msg_t *", "msg", "int", "flags?" },
c_method_call "ZMQ_Error" "zmq_recvmsg" { "zmq_msg_t *", "msg", "int", "flags?" },
},
ffi_source[[
local tmp_msg = ffi.new('zmq_msg_t')

@ -27,8 +27,14 @@ module_globals = true, -- support old code that doesn't do: local zmq = require"
use_globals = false,
hide_meta_info = true,
luajit_ffi = true,
-- needed for functions exported from module.
luajit_ffi_load_cmodule = true,
ffi_load {
"zmq", -- default lib name.
Windows = "libzmq", -- lib name for on windows.
},
sys_include "string.h",
include "zmq.h",

Loading…
Cancel
Save