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);