luaL_registervoid luaL_register (lua_State *L,
const char *libname,
const luaL_Reg *l);
Opens a library.
When called with libname equal to NULL,
it simply registers all functions in the list l
(see luaL_Reg) into the table on the top of the stack.
When called with a non-null libname,
creates a new table t,
sets it as the value of the global variable libname,
sets it as the value of package.loaded[libname],
and registers on it all functions in the list l.
If there is a table in package.loaded[libname] or in
variable libname,
reuses this table instead of creating a new one.
In any case the function leaves the table on the top of the stack.