diff options
author | Christian Pointner <equinox@spreadspace.org> | 2015-07-26 17:13:42 (GMT) |
---|---|---|
committer | Christian Pointner <equinox@spreadspace.org> | 2015-07-26 17:13:42 (GMT) |
commit | 1324242685b63a511be3b3625f78e1ebf2dafc76 (patch) | |
tree | b83d4947415757fba945b7a91a25230c9d044144 /l_log.c | |
parent | c6bbdfbdde366bfbb37858e7dc9e0fc351595023 (diff) |
moved sources to src/
Diffstat (limited to 'l_log.c')
-rw-r--r-- | l_log.c | 120 |
1 files changed, 0 insertions, 120 deletions
diff --git a/l_log.c b/l_log.c deleted file mode 100644 index 4ccf18d..0000000 --- a/l_log.c +++ /dev/null @@ -1,120 +0,0 @@ -/* - * anylike - * - * anylike is an IKEv2 Implementation written in Lua and C. It's main - * design goal is to provide anytun and uanytun or any other SATP - * implementation with a key exchange mechanism but it should also be - * possible to use anylike as key exchange daemon for IPSec security - * associations. The use of Lua guarantees that anylike is easily - * portable to many platforms including very small ones like wireless - * routers. - * - * - * Copyright (C) 2009-2010 Markus Grueneis <gimpf@anylike.org> - * Christian Pointner <equinox@anylike.org> - * - * This file is part of anylike. - * - * anylike is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * any later version. - * - * anylike 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 anylike. If not, see <http://www.gnu.org/licenses/>. - */ - -#include <lua.h> -#include <lauxlib.h> - -#include <stdlib.h> - -#include "datatypes.h" -#include "log.h" - -#include "l_log.h" - -static int l_log_init(lua_State *L) -{ - log_init(); - return 0; -} - -static int l_log_close(lua_State *L) -{ - log_close(); - return 0; -} - -static int l_log_add_target(lua_State *L) -{ - int ret = log_add_target(luaL_checkstring(L,1)); - if(ret) { - lua_pushboolean(L, 0); - switch(ret) { - case -2: lua_pushstring(L, "memory error at log_add_target"); break; - case -3: lua_pushstring(L, "unknown log target"); break; - case -4: lua_pushstring(L, "this log target is only allowed once"); break; - default: lua_pushstring(L, "syntax error"); break; - } - return 2; - } - - lua_pushboolean(L, 1); - return 1; -} - -static int l_log_printf(lua_State *L) -{ - int numargs = lua_gettop(L); - if(numargs < 2) - return luaL_error(L, "log.printf too few arguments"); - - if(numargs > 2) { - lua_getglobal(L, "string"); - lua_pushliteral(L, "format"); - lua_gettable(L, -2); - lua_insert(L, 2); - lua_remove(L, -1); - lua_call(L, numargs - 1, 1); - } - - log_prio_t prio = luaL_checkint(L,1); - log_printf(prio, "%s", luaL_checkstring(L, 2)); - return 0; -} - -static const struct luaL_reg log_funcs [] = { - { "init", l_log_init }, - { "close", l_log_close }, - { "add_target", l_log_add_target }, - { "printf", l_log_printf }, - { NULL, NULL } -}; - - -LUALIB_API int luaopen_log(lua_State *L) -{ - luaL_register(L, LUA_LOGLIBNAME, log_funcs); - lua_pushliteral(L, "ERROR"); - lua_pushinteger(L, ERROR); - lua_settable(L, -3); - lua_pushliteral(L, "WARNING"); - lua_pushinteger(L, WARNING); - lua_settable(L, -3); - lua_pushliteral(L, "NOTICE"); - lua_pushinteger(L, NOTICE); - lua_settable(L, -3); - lua_pushliteral(L, "INFO"); - lua_pushinteger(L, INFO); - lua_settable(L, -3); - lua_pushliteral(L, "DEBUG"); - lua_pushinteger(L, DEBUG); - lua_settable(L, -3); - return 1; -} |