19 #define LUA_VERSION_MAJOR "5" 20 #define LUA_VERSION_MINOR "3" 21 #define LUA_VERSION_NUM 503 22 #define LUA_VERSION_RELEASE "4" 24 #define LUA_VERSION "Lua " LUA_VERSION_MAJOR "." LUA_VERSION_MINOR 25 #define LUA_RELEASE LUA_VERSION "." LUA_VERSION_RELEASE 26 #define LUA_COPYRIGHT LUA_RELEASE " Copyright (C) 1994-2017 Lua.org, PUC-Rio" 27 #define LUA_AUTHORS "R. Ierusalimschy, L. H. de Figueiredo, W. Celes" 31 #define LUA_SIGNATURE "\x1bLua" 34 #define LUA_MULTRET (-1) 42 #define LUA_REGISTRYINDEX (-LUAI_MAXSTACK - 1000) 43 #define lua_upvalueindex(i) (LUA_REGISTRYINDEX - (i)) 50 #define LUA_ERRSYNTAX 3 62 #define LUA_TNONE (-1) 65 #define LUA_TBOOLEAN 1 66 #define LUA_TLIGHTUSERDATA 2 70 #define LUA_TFUNCTION 6 71 #define LUA_TUSERDATA 7 79 #define LUA_MINSTACK 20 83 #define LUA_RIDX_MAINTHREAD 1 84 #define LUA_RIDX_GLOBALS 2 85 #define LUA_RIDX_LAST LUA_RIDX_GLOBALS 89 typedef LUA_NUMBER lua_Number;
93 typedef LUA_INTEGER lua_Integer;
96 typedef LUA_UNSIGNED lua_Unsigned;
99 typedef LUA_KCONTEXT lua_KContext;
105 typedef int (*lua_CFunction) (
lua_State *L);
110 typedef int (*lua_KFunction) (
lua_State *L,
int status, lua_KContext ctx);
116 typedef const char * (*lua_Reader) (
lua_State *L,
void *ud,
size_t *sz);
118 typedef int (*lua_Writer) (
lua_State *L,
const void *p,
size_t sz,
void *ud);
124 typedef void * (*lua_Alloc) (
void *ud,
void *ptr,
size_t osize,
size_t nsize);
131 #if defined(LUA_USER_H) 139 extern const char lua_ident[];
145 LUA_API
lua_State *(lua_newstate) (lua_Alloc f,
void *ud);
149 LUA_API lua_CFunction (lua_atpanic) (
lua_State *L, lua_CFunction panicf);
152 LUA_API
const lua_Number *(lua_version) (
lua_State *L);
158 LUA_API int (lua_absindex) (
lua_State *L,
int idx);
160 LUA_API void (lua_settop) (
lua_State *L,
int idx);
161 LUA_API void (lua_pushvalue) (
lua_State *L,
int idx);
162 LUA_API void (lua_rotate) (
lua_State *L,
int idx,
int n);
163 LUA_API void (lua_copy) (
lua_State *L,
int fromidx,
int toidx);
164 LUA_API int (lua_checkstack) (
lua_State *L,
int n);
173 LUA_API int (lua_isnumber) (
lua_State *L,
int idx);
174 LUA_API int (lua_isstring) (
lua_State *L,
int idx);
175 LUA_API int (lua_iscfunction) (
lua_State *L,
int idx);
176 LUA_API int (lua_isinteger) (
lua_State *L,
int idx);
177 LUA_API int (lua_isuserdata) (
lua_State *L,
int idx);
178 LUA_API int (lua_type) (
lua_State *L,
int idx);
179 LUA_API
const char *(lua_typename) (
lua_State *L,
int tp);
181 LUA_API lua_Number (lua_tonumberx) (
lua_State *L,
int idx,
int *isnum);
182 LUA_API lua_Integer (lua_tointegerx) (
lua_State *L,
int idx,
int *isnum);
183 LUA_API int (lua_toboolean) (
lua_State *L,
int idx);
184 LUA_API
const char *(lua_tolstring) (
lua_State *L,
int idx,
size_t *len);
185 LUA_API size_t (lua_rawlen) (
lua_State *L,
int idx);
186 LUA_API lua_CFunction (lua_tocfunction) (
lua_State *L,
int idx);
187 LUA_API
void *(lua_touserdata) (
lua_State *L,
int idx);
189 LUA_API
const void *(lua_topointer) (
lua_State *L,
int idx);
209 #define LUA_OPBNOT 13 211 LUA_API void (lua_arith) (
lua_State *L,
int op);
217 LUA_API int (lua_rawequal) (
lua_State *L,
int idx1,
int idx2);
218 LUA_API int (lua_compare) (
lua_State *L,
int idx1,
int idx2,
int op);
224 LUA_API void (lua_pushnil) (
lua_State *L);
225 LUA_API void (lua_pushnumber) (
lua_State *L, lua_Number n);
226 LUA_API void (lua_pushinteger) (
lua_State *L, lua_Integer n);
227 LUA_API
const char *(lua_pushlstring) (
lua_State *L,
const char *s,
size_t len);
228 LUA_API
const char *(lua_pushstring) (
lua_State *L,
const char *s);
229 LUA_API
const char *(lua_pushvfstring) (
lua_State *L,
const char *fmt,
231 LUA_API
const char *(lua_pushfstring) (
lua_State *L,
const char *fmt, ...);
232 LUA_API void (lua_pushcclosure) (
lua_State *L, lua_CFunction fn,
int n);
233 LUA_API void (lua_pushboolean) (
lua_State *L,
int b);
234 LUA_API void (lua_pushlightuserdata) (
lua_State *L,
void *p);
235 LUA_API int (lua_pushthread) (
lua_State *L);
241 LUA_API int (lua_getglobal) (
lua_State *L,
const char *name);
242 LUA_API int (lua_gettable) (
lua_State *L,
int idx);
243 LUA_API int (lua_getfield) (
lua_State *L,
int idx,
const char *k);
244 LUA_API int (lua_geti) (
lua_State *L,
int idx, lua_Integer n);
245 LUA_API int (lua_rawget) (
lua_State *L,
int idx);
246 LUA_API int (lua_rawgeti) (
lua_State *L,
int idx, lua_Integer n);
247 LUA_API int (lua_rawgetp) (
lua_State *L,
int idx,
const void *p);
249 LUA_API void (lua_createtable) (
lua_State *L,
int narr,
int nrec);
250 LUA_API
void *(lua_newuserdata) (
lua_State *L,
size_t sz);
251 LUA_API int (lua_getmetatable) (
lua_State *L,
int objindex);
252 LUA_API int (lua_getuservalue) (
lua_State *L,
int idx);
258 LUA_API void (lua_setglobal) (
lua_State *L,
const char *name);
259 LUA_API void (lua_settable) (
lua_State *L,
int idx);
260 LUA_API void (lua_setfield) (
lua_State *L,
int idx,
const char *k);
261 LUA_API void (lua_seti) (
lua_State *L,
int idx, lua_Integer n);
262 LUA_API void (lua_rawset) (
lua_State *L,
int idx);
263 LUA_API void (lua_rawseti) (
lua_State *L,
int idx, lua_Integer n);
264 LUA_API void (lua_rawsetp) (
lua_State *L,
int idx,
const void *p);
265 LUA_API int (lua_setmetatable) (
lua_State *L,
int objindex);
266 LUA_API void (lua_setuservalue) (
lua_State *L,
int idx);
272 LUA_API void (lua_callk) (
lua_State *L,
int nargs,
int nresults,
273 lua_KContext ctx, lua_KFunction k);
274 #define lua_call(L,n,r) lua_callk(L, (n), (r), 0, NULL) 276 LUA_API int (lua_pcallk) (
lua_State *L,
int nargs,
int nresults,
int errfunc,
277 lua_KContext ctx, lua_KFunction k);
278 #define lua_pcall(L,n,r,f) lua_pcallk(L, (n), (r), (f), 0, NULL) 280 LUA_API int (lua_load) (
lua_State *L, lua_Reader reader,
void *dt,
281 const char *chunkname,
const char *mode);
283 LUA_API int (lua_dump) (
lua_State *L, lua_Writer writer,
void *data,
int strip);
289 LUA_API int (lua_yieldk) (
lua_State *L,
int nresults, lua_KContext ctx,
293 LUA_API int (lua_isyieldable) (
lua_State *L);
295 #define lua_yield(L,n) lua_yieldk(L, (n), 0, NULL) 303 #define LUA_GCRESTART 1 304 #define LUA_GCCOLLECT 2 305 #define LUA_GCCOUNT 3 306 #define LUA_GCCOUNTB 4 308 #define LUA_GCSETPAUSE 6 309 #define LUA_GCSETSTEPMUL 7 310 #define LUA_GCISRUNNING 9 312 LUA_API int (lua_gc) (
lua_State *L,
int what,
int data);
321 LUA_API int (lua_next) (
lua_State *L,
int idx);
323 LUA_API void (lua_concat) (
lua_State *L,
int n);
324 LUA_API void (lua_len) (
lua_State *L,
int idx);
326 LUA_API size_t (lua_stringtonumber) (
lua_State *L,
const char *s);
328 LUA_API lua_Alloc (lua_getallocf) (
lua_State *L,
void **ud);
329 LUA_API void (lua_setallocf) (
lua_State *L, lua_Alloc f,
void *ud);
339 #define lua_getextraspace(L) ((void *)((char *)(L) - LUA_EXTRASPACE)) 341 #define lua_tonumber(L,i) lua_tonumberx(L,(i),NULL) 342 #define lua_tointeger(L,i) lua_tointegerx(L,(i),NULL) 344 #define lua_pop(L,n) lua_settop(L, -(n)-1) 346 #define lua_newtable(L) lua_createtable(L, 0, 0) 348 #define lua_register(L,n,f) (lua_pushcfunction(L, (f)), lua_setglobal(L, (n))) 350 #define lua_pushcfunction(L,f) lua_pushcclosure(L, (f), 0) 352 #define lua_isfunction(L,n) (lua_type(L, (n)) == LUA_TFUNCTION) 353 #define lua_istable(L,n) (lua_type(L, (n)) == LUA_TTABLE) 354 #define lua_islightuserdata(L,n) (lua_type(L, (n)) == LUA_TLIGHTUSERDATA) 355 #define lua_isnil(L,n) (lua_type(L, (n)) == LUA_TNIL) 356 #define lua_isboolean(L,n) (lua_type(L, (n)) == LUA_TBOOLEAN) 357 #define lua_isthread(L,n) (lua_type(L, (n)) == LUA_TTHREAD) 358 #define lua_isnone(L,n) (lua_type(L, (n)) == LUA_TNONE) 359 #define lua_isnoneornil(L, n) (lua_type(L, (n)) <= 0) 361 #define lua_pushliteral(L, s) lua_pushstring(L, "" s) 363 #define lua_pushglobaltable(L) \ 364 ((void)lua_rawgeti(L, LUA_REGISTRYINDEX, LUA_RIDX_GLOBALS)) 366 #define lua_tostring(L,i) lua_tolstring(L, (i), NULL) 369 #define lua_insert(L,idx) lua_rotate(L, (idx), 1) 371 #define lua_remove(L,idx) (lua_rotate(L, (idx), -1), lua_pop(L, 1)) 373 #define lua_replace(L,idx) (lua_copy(L, -1, (idx)), lua_pop(L, 1)) 383 #if defined(LUA_COMPAT_APIINTCASTS) 385 #define lua_pushunsigned(L,n) lua_pushinteger(L, (lua_Integer)(n)) 386 #define lua_tounsignedx(L,i,is) ((lua_Unsigned)lua_tointegerx(L,i,is)) 387 #define lua_tounsigned(L,i) lua_tounsignedx(L,(i),NULL) 402 #define LUA_HOOKCALL 0 403 #define LUA_HOOKRET 1 404 #define LUA_HOOKLINE 2 405 #define LUA_HOOKCOUNT 3 406 #define LUA_HOOKTAILCALL 4 412 #define LUA_MASKCALL (1 << LUA_HOOKCALL) 413 #define LUA_MASKRET (1 << LUA_HOOKRET) 414 #define LUA_MASKLINE (1 << LUA_HOOKLINE) 415 #define LUA_MASKCOUNT (1 << LUA_HOOKCOUNT) 428 LUA_API
const char *(lua_getupvalue) (
lua_State *L,
int funcindex,
int n);
429 LUA_API
const char *(lua_setupvalue) (
lua_State *L,
int funcindex,
int n);
431 LUA_API
void *(lua_upvalueid) (
lua_State *L,
int fidx,
int n);
432 LUA_API void (lua_upvaluejoin) (
lua_State *L,
int fidx1,
int n1,
435 LUA_API void (lua_sethook) (
lua_State *L, lua_Hook func,
int mask,
int count);
436 LUA_API lua_Hook (lua_gethook) (
lua_State *L);
437 LUA_API int (lua_gethookmask) (
lua_State *L);
438 LUA_API int (lua_gethookcount) (
lua_State *L);
444 const char *namewhat;
451 unsigned char nparams;
454 char short_src[LUA_IDSIZE];