int luaopen_sax(lua_State* lua) { #ifdef LUA_SANDBOX lua_newtable(lua); lsb_add_serialize_function(lua, serialize_sax); lsb_add_output_function(lua, output_sax); lua_replace(lua, LUA_ENVIRONINDEX); #endif // LUA_SANDBOX /* We're registering sax_equal separately since it's the only way to make lua * aware that it's exactly the same function each time * (otherwise it doesn't get called on different object types) */ lua_pushcfunction(lua, sax_equal); reg_class(lua, mozsvc_sax_window, saxlib_win); reg_class(lua, mozsvc_sax_word, saxlib_word); lua_newtable(lua); luaL_register(lua, NULL, saxlib_f); reg_module(lua, mozsvc_sax_word_suffix, sax_new_word); reg_module(lua, mozsvc_sax_win_suffix, sax_new_window); lua_pushvalue(lua, -1); lua_setfield(lua, LUA_GLOBALSINDEX, mozsvc_sax_table); return 1; }
static int luaopen_ud(lua_State *lua) { lua_newtable(lua); lsb_add_serialize_function(lua, ud_serialize); lsb_add_output_function(lua, ud_output); lua_replace(lua, LUA_ENVIRONINDEX); luaL_newmetatable(lua, mozsvc_test_ud); luaL_register(lua, "ud", testudlib_f); return 1; }
int luaopen_bloom_filter(lua_State* lua) { #ifdef LUA_SANDBOX lua_newtable(lua); lsb_add_serialize_function(lua, serialize_bloom_filter); lua_replace(lua, LUA_ENVIRONINDEX); #endif luaL_newmetatable(lua, mozsvc_bloom_filter); lua_pushvalue(lua, -1); lua_setfield(lua, -2, "__index"); luaL_register(lua, NULL, bloom_filterlib_m); luaL_register(lua, "bloom_filter", bloom_filterlib_f); return 1; }
int luaopen_hyperloglog(lua_State *lua) { #ifdef LUA_SANDBOX lua_newtable(lua); lsb_add_serialize_function(lua, serialize_hyperloglog); lsb_add_output_function(lua, output_hyperloglog); lua_replace(lua, LUA_ENVIRONINDEX); #endif luaL_newmetatable(lua, mozsvc_hyperloglog); lua_pushvalue(lua, -1); lua_setfield(lua, -2, "__index"); luaL_register(lua, NULL, hyperlogloglib_m); luaL_register(lua, "hyperloglog", hyperlogloglib_f); return 1; }