1 2 // Copyright 2019 - 2021 Michael D. Parker 3 // Distributed under the Boost Software License, Version 1.0. 4 // (See accompanying file LICENSE_1_0.txt or copy at 5 // http://www.boost.org/LICENSE_1_0.txt) 6 7 module bindbc.lua.v51.bindstatic; 8 9 version(BindBC_Static) version = BindLua_Static; 10 version(BindLua_Static) { 11 version(LUA_51) version = LUA_51_STATIC; 12 } 13 14 version(LUA_51_STATIC): 15 16 import core.stdc.stdarg : va_list; 17 import bindbc.lua.v51.types; 18 19 extern(C) @nogc nothrow: 20 // lauxlib.h 21 void luaI_openlib(lua_State* L, const(char)* libname, const(luaL_Reg)* l, int nup); 22 void luaL_register(lua_State* L, const(char)* libname, const(luaL_Reg)* l); 23 int luaL_getmetafield(lua_State* L, int obj, const(char)* e); 24 int luaL_callmeta(lua_State* L, int obj, const(char)* e); 25 int luaL_typerror(lua_State* L, int narg, const(char)* tname); 26 int luaL_argerror(lua_State* L, int numarg, const(char)* extramsg); 27 const(char)* luaL_checklstring(lua_State* L, int numarg, size_t* l); 28 const(char)* luaL_optlstring(lua_State* L, int numArg, const(char)* def, size_t* l); 29 lua_Number luaL_checknumber(lua_State* L, int numArg); 30 lua_Number luaL_optnumber(lua_State* L, int nArg, lua_Number def); 31 lua_Integer luaL_checkinteger(lua_State* L, int numArg); 32 lua_Integer luaL_optinteger(lua_State* L, int nArg, lua_Integer def); 33 void luaL_checkstack(lua_State* L, int sz, const(char)* msg); 34 void luaL_checktype(lua_State* L, int narg, int t); 35 void luaL_checkany(lua_State* L, int narg); 36 int luaL_newmetatable(lua_State* L, const(char)* tname); 37 void* luaL_checkudata(lua_State* L, int ud, const(char)* tname); 38 void luaL_where(lua_State* L, int lvl); 39 int luaL_error(lua_State* L, const(char)* fmt, ...); 40 int luaL_checkoption(lua_State* L, int narg, const(char)* def, const(char)** lst); 41 int luaL_ref(lua_State* L, int t); 42 void luaL_unref(lua_State* L, int t, int ref_); 43 int luaL_loadfile(lua_State* L, const(char)* filename); 44 int luaL_loadbuffer(lua_State* L, const(char)* buff, size_t sz, const(char)* name); 45 int luaL_loadstring(lua_State* L, const(char)* s); 46 lua_State* luaL_newstate(); 47 const(char)* luaL_gsub(lua_State* L, const(char)* s, const(char)* p, const(char)* r); 48 const(char)* luaL_findtable(lua_State* L, int idx, const(char)* fname, int szhint); 49 void luaL_buffinit(lua_State* L, luaL_Buffer* B); 50 char* luaL_prepbuffer(luaL_Buffer* B); 51 void luaL_addlstring(luaL_Buffer* B, const(char)* s, size_t l); 52 void luaL_addstring(luaL_Buffer* B, const(char)* s); 53 void luaL_addvalue(luaL_Buffer* B); 54 void luaL_pushresult(luaL_Buffer* B); 55 56 // lua.h 57 lua_State* lua_newstate(lua_Alloc f, void *ud); 58 lua_State* lua_close(lua_State* L); 59 lua_State* lua_newthread(lua_State* L); 60 lua_CFunction lua_atpanic(lua_State* L, lua_CFunction panicf); 61 int lua_gettop(lua_State* L); 62 void lua_settop(lua_State* L, int idx); 63 void lua_pushvalue(lua_State* L, int idx); 64 void lua_remove(lua_State* L, int idx); 65 void lua_insert(lua_State* L, int idx); 66 void lua_replace(lua_State* L, int idx); 67 int lua_checkstack(lua_State* L, int idx); 68 void lua_xmove(lua_State* L, lua_State*, int idx); 69 int lua_isnumber(lua_State* L, int idx); 70 int lua_isstring(lua_State* L, int idx); 71 int lua_iscfunction(lua_State* L, int idx); 72 int lua_isuserdata(lua_State* L, int idx); 73 int lua_type(lua_State* L, int idx); 74 const(char)* lua_typename(lua_State* L, int tp); 75 int lua_equal(lua_State* L, int idx1, int idx2); 76 int lua_rawequal(lua_State* L, int idx1, int idx2); 77 int lua_lessthan(lua_State* L, int idx1, int idx2); 78 lua_Number lua_tonumber(lua_State* L, int idx); 79 lua_Integer lua_tointeger(lua_State* L, int idx); 80 int lua_toboolean(lua_State* L, int idx); 81 const(char)* lua_tolstring(lua_State* L, int idx, size_t* len); 82 size_t lua_objlen(lua_State* L, int idx); 83 lua_CFunction lua_tocfunction(lua_State* L, int idx); 84 void* lua_touserdata(lua_State* L, int idx); 85 lua_State* lua_tothread(lua_State* L, int idx); 86 const(void)* lua_topointer(lua_State* L, int idx); 87 void lua_pushnil(lua_State* L); 88 void lua_pushnumber(lua_State* L, lua_Number n); 89 void lua_pushinteger(lua_State* L, lua_Integer n); 90 void lua_pushlstring(lua_State* L, const(char)* s, size_t l); 91 void lua_pushstring(lua_State* L, const(char)* s); 92 const(char)* lua_pushvfstring(lua_State* L, const(char)* fmt, va_list argp); 93 const(char)* lua_pushfstring(lua_State* L, const(char)* fmt, ...); 94 void lua_pushcclosure(lua_State* L, lua_CFunction fn, int n); 95 void lua_pushboolean(lua_State* L, int b); 96 void lua_pushlightuserdata(lua_State* L, void* p); 97 int lua_pushthread(lua_State* L); 98 void lua_gettable(lua_State* L, int idx); 99 void lua_getfield(lua_State* L, int idx, const(char)* k); 100 void lua_rawget(lua_State* L, int idx); 101 void lua_rawgeti(lua_State* L, int idx, int n); 102 void lua_createtable(lua_State* L, int narr, int nrec); 103 void* lua_newuserdata(lua_State* L, size_t sz); 104 int lua_getmetatable(lua_State* L, int objindex); 105 void lua_getfenv(lua_State* L, int idx); 106 void lua_settable(lua_State* L, int idx); 107 void lua_setfield(lua_State* L, int idx, const(char)* k); 108 void lua_rawset(lua_State* L, int idx); 109 void lua_rawseti(lua_State* L, int idx, int n); 110 int lua_setmetatable(lua_State* L, int objindex); 111 int lua_setfenv(lua_State* L, int idx); 112 void lua_call(lua_State* L, int nargs, int nresults); 113 int lua_pcall(lua_State* L, int nargs, int nresults, int errFunc); 114 int lua_cpcall(lua_State* L, lua_CFunction func, void* ud); 115 int lua_load(lua_State* L, lua_Reader reader, void* dt, const(char)* chunkname); 116 int lua_dump(lua_State* L, lua_Writer writer, void* data); 117 int lua_yield(lua_State* L, int nresults); 118 int lua_resume(lua_State* L, int nargs); 119 int lua_status(lua_State* L); 120 int lua_gc(lua_State* L, int what, int data); 121 int lua_error(lua_State* L); 122 int lua_next(lua_State* L, int idx); 123 void lua_concat(lua_State* L, int n); 124 lua_Alloc lua_getallocf(lua_State* L, void** ud); 125 void lua_setallocf(lua_State* L, lua_Alloc f, void* ud); 126 void lua_setlevel(lua_State* from, lua_State* to); 127 int lua_getstack(lua_State* L, int level, lua_Debug* ar); 128 int lua_getinfo(lua_State* L, const(char)* what, lua_Debug* ar); 129 const(char)* lua_getlocal(lua_State* L, const(lua_Debug)* ar, int n); 130 const(char)* lua_setlocal(lua_State* L, const(lua_Debug)* ar, int n); 131 const(char)* lua_getupvalue(lua_State* L, int funcindex, int n); 132 const(char)* lua_setupvalue(lua_State* L, int funcindex, int n); 133 int lua_sethook(lua_State* L, lua_Hook func, int mask, int count); 134 lua_Hook lua_gethook(lua_State* L); 135 int lua_gethookmask(lua_State* L); 136 int lua_gethookcount(lua_State* L); 137 138 // lualib.h 139 int luaopen_base(lua_State* L); 140 int luaopen_table(lua_State* L); 141 int luaopen_io(lua_State* L); 142 int luaopen_os(lua_State* L); 143 int luaopen_string(lua_State* L); 144 int luaopen_math(lua_State* L); 145 int luaopen_debug(lua_State* L); 146 int luaopen_package(lua_State* L); 147 void luaL_openlibs(lua_State* L);