summaryrefslogtreecommitdiffhomepage
path: root/libs/iwinfo/src/iwinfo_lualib.c
diff options
context:
space:
mode:
Diffstat (limited to 'libs/iwinfo/src/iwinfo_lualib.c')
-rw-r--r--libs/iwinfo/src/iwinfo_lualib.c412
1 files changed, 0 insertions, 412 deletions
diff --git a/libs/iwinfo/src/iwinfo_lualib.c b/libs/iwinfo/src/iwinfo_lualib.c
deleted file mode 100644
index 5509f4b6ae..0000000000
--- a/libs/iwinfo/src/iwinfo_lualib.c
+++ /dev/null
@@ -1,412 +0,0 @@
-/*
- * iwinfo - Wireless Information Library - Lua Bindings
- *
- * Copyright (C) 2009 Jo-Philipp Wich <xm@subsignal.org>
- *
- * The iwinfo library is free software: you can redistribute it and/or
- * modify it under the terms of the GNU General Public License version 2
- * as published by the Free Software Foundation.
- *
- * The iwinfo library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with the iwinfo library. If not, see http://www.gnu.org/licenses/.
- */
-
-#include "iwinfo_lualib.h"
-
-/* Determine type */
-static int iwinfo_L_type(lua_State *L)
-{
- const char *ifname = luaL_checkstring(L, 1);
-
-#ifdef USE_MADWIFI
- if( madwifi_probe(ifname) )
- lua_pushstring(L, "madwifi");
- else
-#endif
-
-#ifdef USE_WL
- if( wl_probe(ifname) )
- lua_pushstring(L, "wl");
- else
-#endif
-
- if( wext_probe(ifname) )
- lua_pushstring(L, "wext");
-
- else
- lua_pushnil(L);
-
- return 1;
-}
-
-/* Wrapper for assoclist */
-static int iwinfo_L_assoclist(lua_State *L, int (*func)(const char *, char *, int *))
-{
- int i, len;
- char rv[IWINFO_BUFSIZE];
- char macstr[18];
- const char *ifname = luaL_checkstring(L, 1);
- struct iwinfo_assoclist_entry *e;
-
- lua_newtable(L);
- memset(rv, 0, sizeof(rv));
-
- if( !(*func)(ifname, rv, &len) )
- {
- for( i = 0; i < len; i += sizeof(struct iwinfo_assoclist_entry) )
- {
- e = (struct iwinfo_assoclist_entry *) &rv[i];
-
- sprintf(macstr, "%02X:%02X:%02X:%02X:%02X:%02X",
- e->mac[0], e->mac[1], e->mac[2],
- e->mac[3], e->mac[4], e->mac[5]);
-
- lua_newtable(L);
-
- lua_pushnumber(L, e->signal);
- lua_setfield(L, -2, "signal");
-
- lua_pushnumber(L, e->noise);
- lua_setfield(L, -2, "noise");
-
- lua_setfield(L, -2, macstr);
- }
- }
-
- return 1;
-}
-
-/* Wrapper for tx power list */
-static int iwinfo_L_txpwrlist(lua_State *L, int (*func)(const char *, char *, int *))
-{
- int i, x, len;
- char rv[IWINFO_BUFSIZE];
- const char *ifname = luaL_checkstring(L, 1);
- struct iwinfo_txpwrlist_entry *e;
-
- lua_newtable(L);
- memset(rv, 0, sizeof(rv));
-
- if( !(*func)(ifname, rv, &len) )
- {
- for( i = 0, x = 1; i < len; i += sizeof(struct iwinfo_txpwrlist_entry), x++ )
- {
- e = (struct iwinfo_txpwrlist_entry *) &rv[i];
-
- lua_newtable(L);
-
- lua_pushnumber(L, e->mw);
- lua_setfield(L, -2, "mw");
-
- lua_pushnumber(L, e->dbm);
- lua_setfield(L, -2, "dbm");
-
- lua_rawseti(L, -2, x);
- }
- }
-
- return 1;
-}
-
-/* Wrapper for scan list */
-static int iwinfo_L_scanlist(lua_State *L, int (*func)(const char *, char *, int *))
-{
- int i, j, x, y, len;
- char rv[IWINFO_BUFSIZE];
- char macstr[18];
- const char *ifname = luaL_checkstring(L, 1);
- struct iwinfo_scanlist_entry *e;
-
- lua_newtable(L);
- memset(rv, 0, sizeof(rv));
-
- if( !(*func)(ifname, rv, &len) )
- {
- for( i = 0, x = 1; i < len; i += sizeof(struct iwinfo_scanlist_entry), x++ )
- {
- e = (struct iwinfo_scanlist_entry *) &rv[i];
-
- lua_newtable(L);
-
- /* BSSID */
- sprintf(macstr, "%02X:%02X:%02X:%02X:%02X:%02X",
- e->mac[0], e->mac[1], e->mac[2],
- e->mac[3], e->mac[4], e->mac[5]);
-
- lua_pushstring(L, macstr);
- lua_setfield(L, -2, "bssid");
-
- /* ESSID */
- if( e->ssid[0] )
- {
- lua_pushstring(L, (char *) e->ssid);
- lua_setfield(L, -2, "ssid");
- }
-
- /* Channel */
- lua_pushinteger(L, e->channel);
- lua_setfield(L, -2, "channel");
-
- /* Mode */
- lua_pushstring(L, (char *) e->mode);
- lua_setfield(L, -2, "mode");
-
- /* Quality, Signal */
- lua_pushinteger(L, e->quality);
- lua_setfield(L, -2, "quality");
-
- lua_pushinteger(L, e->quality_max);
- lua_setfield(L, -2, "quality_max");
-
- lua_pushnumber(L, (e->signal - 0x100));
- lua_setfield(L, -2, "signal");
-
- /* Crypto */
- lua_pushboolean(L, (!e->crypto.wpa_version && e->crypto.enabled));
- lua_setfield(L, -2, "wep");
-
- if( e->crypto.wpa_version )
- {
- lua_pushinteger(L, e->crypto.wpa_version);
- lua_setfield(L, -2, "wpa");
-
- lua_newtable(L);
- for( j = 0, y = 1; j < IW_IE_CYPHER_NUM; j++ )
- {
- if( e->crypto.group_ciphers & (1<<j) )
- {
- lua_pushstring(L, iw_ie_cypher_name[j]);
- lua_rawseti(L, -2, y++);
- }
- }
- lua_setfield(L, -2, "group_ciphers");
-
- lua_newtable(L);
- for( j = 0, y = 1; j < IW_IE_CYPHER_NUM; j++ )
- {
- if( e->crypto.pair_ciphers & (1<<j) )
- {
- lua_pushstring(L, iw_ie_cypher_name[j]);
- lua_rawseti(L, -2, y++);
- }
- }
- lua_setfield(L, -2, "pair_ciphers");
-
- lua_newtable(L);
- for( j = 0, y = 1; j < IW_IE_KEY_MGMT_NUM; j++ )
- {
- if( e->crypto.auth_suites & (1<<j) )
- {
- lua_pushstring(L, iw_ie_key_mgmt_name[j]);
- lua_rawseti(L, -2, y++);
- }
- }
- lua_setfield(L, -2, "auth_suites");
- }
-
- lua_rawseti(L, -2, x);
- }
- }
-
- return 1;
-}
-
-/* Wrapper for frequency list */
-static int iwinfo_L_freqlist(lua_State *L, int (*func)(const char *, char *, int *))
-{
- int i, x, len;
- char rv[IWINFO_BUFSIZE];
- const char *ifname = luaL_checkstring(L, 1);
- struct iwinfo_freqlist_entry *e;
-
- lua_newtable(L);
- memset(rv, 0, sizeof(rv));
-
- if( !(*func)(ifname, rv, &len) )
- {
- for( i = 0, x = 1; i < len; i += sizeof(struct iwinfo_freqlist_entry), x++ )
- {
- e = (struct iwinfo_freqlist_entry *) &rv[i];
-
- lua_newtable(L);
-
- /* MHz */
- lua_pushinteger(L, e->mhz);
- lua_setfield(L, -2, "mhz");
-
- /* Channel */
- lua_pushinteger(L, e->channel);
- lua_setfield(L, -2, "channel");
-
- lua_rawseti(L, -2, x);
- }
- }
-
- return 1;
-}
-
-#ifdef USE_WL
-/* Broadcom */
-LUA_WRAP_INT(wl,channel)
-LUA_WRAP_INT(wl,frequency)
-LUA_WRAP_INT(wl,bitrate)
-LUA_WRAP_INT(wl,signal)
-LUA_WRAP_INT(wl,noise)
-LUA_WRAP_INT(wl,quality)
-LUA_WRAP_INT(wl,quality_max)
-LUA_WRAP_INT(wl,mbssid_support)
-LUA_WRAP_STRING(wl,mode)
-LUA_WRAP_STRING(wl,ssid)
-LUA_WRAP_STRING(wl,bssid)
-LUA_WRAP_STRING(wl,enctype)
-LUA_WRAP_LIST(wl,assoclist)
-LUA_WRAP_LIST(wl,txpwrlist)
-LUA_WRAP_LIST(wl,scanlist)
-LUA_WRAP_LIST(wl,freqlist)
-#endif
-
-#ifdef USE_MADWIFI
-/* Madwifi */
-LUA_WRAP_INT(madwifi,channel)
-LUA_WRAP_INT(madwifi,frequency)
-LUA_WRAP_INT(madwifi,bitrate)
-LUA_WRAP_INT(madwifi,signal)
-LUA_WRAP_INT(madwifi,noise)
-LUA_WRAP_INT(madwifi,quality)
-LUA_WRAP_INT(madwifi,quality_max)
-LUA_WRAP_INT(madwifi,mbssid_support)
-LUA_WRAP_STRING(madwifi,mode)
-LUA_WRAP_STRING(madwifi,ssid)
-LUA_WRAP_STRING(madwifi,bssid)
-LUA_WRAP_STRING(madwifi,enctype)
-LUA_WRAP_LIST(madwifi,assoclist)
-LUA_WRAP_LIST(madwifi,txpwrlist)
-LUA_WRAP_LIST(madwifi,scanlist)
-LUA_WRAP_LIST(madwifi,freqlist)
-#endif
-
-/* Wext */
-LUA_WRAP_INT(wext,channel)
-LUA_WRAP_INT(wext,frequency)
-LUA_WRAP_INT(wext,bitrate)
-LUA_WRAP_INT(wext,signal)
-LUA_WRAP_INT(wext,noise)
-LUA_WRAP_INT(wext,quality)
-LUA_WRAP_INT(wext,quality_max)
-LUA_WRAP_INT(wext,mbssid_support)
-LUA_WRAP_STRING(wext,mode)
-LUA_WRAP_STRING(wext,ssid)
-LUA_WRAP_STRING(wext,bssid)
-LUA_WRAP_STRING(wext,enctype)
-LUA_WRAP_LIST(wext,assoclist)
-LUA_WRAP_LIST(wext,txpwrlist)
-LUA_WRAP_LIST(wext,scanlist)
-LUA_WRAP_LIST(wext,freqlist)
-
-#ifdef USE_WL
-/* Broadcom table */
-static const luaL_reg R_wl[] = {
- LUA_REG(wl,channel),
- LUA_REG(wl,frequency),
- LUA_REG(wl,bitrate),
- LUA_REG(wl,signal),
- LUA_REG(wl,noise),
- LUA_REG(wl,quality),
- LUA_REG(wl,quality_max),
- LUA_REG(wl,mode),
- LUA_REG(wl,ssid),
- LUA_REG(wl,bssid),
- LUA_REG(wl,enctype),
- LUA_REG(wl,assoclist),
- LUA_REG(wl,txpwrlist),
- LUA_REG(wl,scanlist),
- LUA_REG(wl,freqlist),
- LUA_REG(wl,mbssid_support),
- { NULL, NULL }
-};
-#endif
-
-#ifdef USE_MADWIFI
-/* Madwifi table */
-static const luaL_reg R_madwifi[] = {
- LUA_REG(madwifi,channel),
- LUA_REG(madwifi,frequency),
- LUA_REG(madwifi,bitrate),
- LUA_REG(madwifi,signal),
- LUA_REG(madwifi,noise),
- LUA_REG(madwifi,quality),
- LUA_REG(madwifi,quality_max),
- LUA_REG(madwifi,mode),
- LUA_REG(madwifi,ssid),
- LUA_REG(madwifi,bssid),
- LUA_REG(madwifi,enctype),
- LUA_REG(madwifi,assoclist),
- LUA_REG(madwifi,txpwrlist),
- LUA_REG(madwifi,scanlist),
- LUA_REG(madwifi,freqlist),
- LUA_REG(madwifi,mbssid_support),
- { NULL, NULL }
-};
-#endif
-
-/* Wext table */
-static const luaL_reg R_wext[] = {
- LUA_REG(wext,channel),
- LUA_REG(wext,frequency),
- LUA_REG(wext,bitrate),
- LUA_REG(wext,signal),
- LUA_REG(wext,noise),
- LUA_REG(wext,quality),
- LUA_REG(wext,quality_max),
- LUA_REG(wext,mode),
- LUA_REG(wext,ssid),
- LUA_REG(wext,bssid),
- LUA_REG(wext,enctype),
- LUA_REG(wext,assoclist),
- LUA_REG(wext,txpwrlist),
- LUA_REG(wext,scanlist),
- LUA_REG(wext,freqlist),
- LUA_REG(wext,mbssid_support),
- { NULL, NULL }
-};
-
-/* Common */
-static const luaL_reg R_common[] = {
- { "type", iwinfo_L_type },
- { NULL, NULL }
-};
-
-
-LUALIB_API int luaopen_iwinfo(lua_State *L) {
- luaL_register(L, IWINFO_META, R_common);
-
-#ifdef USE_WL
- luaL_newmetatable(L, IWINFO_WL_META);
- luaL_register(L, NULL, R_wl);
- lua_pushvalue(L, -1);
- lua_setfield(L, -2, "__index");
- lua_setfield(L, -2, "wl");
-#endif
-
-#ifdef USE_MADWIFI
- luaL_newmetatable(L, IWINFO_MADWIFI_META);
- luaL_register(L, NULL, R_madwifi);
- lua_pushvalue(L, -1);
- lua_setfield(L, -2, "__index");
- lua_setfield(L, -2, "madwifi");
-#endif
-
- luaL_newmetatable(L, IWINFO_WEXT_META);
- luaL_register(L, NULL, R_wext);
- lua_pushvalue(L, -1);
- lua_setfield(L, -2, "__index");
- lua_setfield(L, -2, "wext");
-
- return 1;
-}
-