iwinfo: move wext_ops to iwinfo_wext.c, make functions static
[openwrt.git] / package / network / utils / iwinfo / src / include / iwinfo / lua.h
index d976c0c..ad79897 100644 (file)
@@ -24,7 +24,6 @@
 #include <lauxlib.h>
 
 #include "iwinfo.h"
-#include "iwinfo/wext_scan.h"
 
 
 #define IWINFO_META                    "iwinfo"
                return 1;                                                                               \
        }
 
+#define LUA_WRAP_INT_OP(type,op)                                               \
+       static int iwinfo_L_##type##_##op(lua_State *L)         \
+       {                                                                                                       \
+               const char *ifname = luaL_checkstring(L, 1);    \
+               int rv;                                                                                 \
+               if( !type##_ops.op(ifname, &rv) )                               \
+                       lua_pushnumber(L, rv);                                          \
+               else                                                                                    \
+                       lua_pushnil(L);                                                         \
+               return 1;                                                                               \
+       }
+
 #define LUA_WRAP_STRING(type,op)                                               \
        static int iwinfo_L_##type##_##op(lua_State *L)         \
        {                                                                                                       \
                return 1;                                                                               \
        }
 
+#define LUA_WRAP_STRING_OP(type,op)                                            \
+       static int iwinfo_L_##type##_##op(lua_State *L)         \
+       {                                                                                                       \
+               const char *ifname = luaL_checkstring(L, 1);    \
+               char rv[IWINFO_BUFSIZE];                                                \
+               memset(rv, 0, IWINFO_BUFSIZE);                                  \
+               if( !type##_ops.op(ifname, rv) )                                \
+                       lua_pushstring(L, rv);                                          \
+               else                                                                                    \
+                       lua_pushnil(L);                                                         \
+               return 1;                                                                               \
+       }
+
 #define LUA_WRAP_STRUCT(type,op)                                               \
        static int iwinfo_L_##type##_##op(lua_State *L)         \
        {                                                                                                       \
                return iwinfo_L_##op(L, type##_get_##op);               \
        }
 
+#define LUA_WRAP_STRUCT_OP(type,op)                                            \
+       static int iwinfo_L_##type##_##op(lua_State *L)         \
+       {                                                                                                       \
+               return iwinfo_L_##op(L, type##_ops.op);                 \
+       }
+
 #endif