⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⢠⣴⣿⣿⣿⣷⣼⣿⠀⣴⠾⠷⠶⠦⡄⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢠⡤⢶⣦⣾⣿⣿⣿⣿⣿⣿⣿⠀⣿⣶⣶⣦⣄⠳⣤⣤⠄⠀⠀⠀ ⠀⠀⠀⢀⣼⣳⡿⢻⣿⣿⣿⣿⣿⣿⣿⣿⣶⣿⣿⣗⠈⠙⠻⣶⣄⡀⠀⠀⠀ ⠀⠀⠀⣰⠿⠁⢀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡄⠀⠀⠈⠳⣤⠀⠀ ⠀⠀⢀⡟⠀⢰⣿⠟⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⠉⠁⠈⠻⣶⣄⠀⠀⠈⠛⢦ ⠀⣀⡼⠃⠀⣼⡟⠀⠀⢸⣿⡿⠉⣿⡿⠿⠛⣿⡄⠀⠀⠀⠙⠿⣆⠀⠀⠀⠈ ⠈⠁⠀⠀⢸⡟⠀⠀⠀⢸⣿⠀⠀⣿⠁⠀⠀⠈⠃⠀⠀⠀⠀⠀⠘⢷⡄⠀⠀ ⠀⠀⠀⠀⣼⠃⠀⠀⠀⢸⡟⠀⠀⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⡆⠀ ⠀⠀⠀⣠⡏⠀⠀⠀⠀⣼⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠻⠃⠀⠀⠀⠀⣻⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ Current Dir: /usr/include/ [DIR] GL [ delete | rename ] [DIR] KF5 [ delete | rename ] [DIR] X11 [ delete | rename ] [DIR] apache2 [ delete | rename ] [DIR] arpa [ delete | rename ] [DIR] asm [ delete | rename ] [DIR] asm-generic [ delete | rename ] [DIR] bind9 [ delete | rename ] [DIR] bits [ delete | rename ] [DIR] bsock [ delete | rename ] [DIR] c++ [ delete | rename ] [DIR] criu [ delete | rename ] [DIR] db4.7.25 [ delete | rename ] [DIR] drm [ delete | rename ] [DIR] e2p [ delete | rename ] [DIR] et [ delete | rename ] [DIR] ext2fs [ delete | rename ] [DIR] fontconfig [ delete | rename ] [DIR] freetype2 [ delete | rename ] [DIR] gdbm [ delete | rename ] [DIR] gnu [ delete | rename ] [DIR] google [ delete | rename ] [DIR] gssapi [ delete | rename ] [DIR] gssrpc [ delete | rename ] [DIR] kadm5 [ delete | rename ] [DIR] kde4 [ delete | rename ] [DIR] krb5 [ delete | rename ] [DIR] libdb [ delete | rename ] [DIR] libexslt [ delete | rename ] [DIR] libltdl [ delete | rename ] [DIR] libpng15 [ delete | rename ] [DIR] libxml2 [ delete | rename ] [DIR] libxslt [ delete | rename ] [DIR] linux [ delete | rename ] [DIR] lzma [ delete | rename ] [DIR] misc [ delete | rename ] [DIR] mtd [ delete | rename ] [DIR] mysql [ delete | rename ] [DIR] ncurses [ delete | rename ] [DIR] ncursesw [ delete | rename ] [DIR] net [ delete | rename ] [DIR] netash [ delete | rename ] [DIR] netatalk [ delete | rename ] [DIR] netax25 [ delete | rename ] [DIR] neteconet [ delete | rename ] [DIR] netinet [ delete | rename ] [DIR] netipx [ delete | rename ] [DIR] netiucv [ delete | rename ] [DIR] netpacket [ delete | rename ] [DIR] netrom [ delete | rename ] [DIR] netrose [ delete | rename ] [DIR] nfs [ delete | rename ] [DIR] openssl [ delete | rename ] [DIR] protobuf-c [ delete | rename ] [DIR] protocols [ delete | rename ] [DIR] python2.7 [ delete | rename ] [DIR] python3.6m [ delete | rename ] [DIR] quota [ delete | rename ] [DIR] rdma [ delete | rename ] [DIR] rpc [ delete | rename ] [DIR] rpcsvc [ delete | rename ] [DIR] sasl [ delete | rename ] [DIR] scsi [ delete | rename ] [DIR] security [ delete | rename ] [DIR] selinux [ delete | rename ] [DIR] sepol [ delete | rename ] [DIR] sound [ delete | rename ] [DIR] sys [ delete | rename ] [DIR] uapi [ delete | rename ] [DIR] uuid [ delete | rename ] [DIR] video [ delete | rename ] [DIR] xcb [ delete | rename ] [DIR] xen [ delete | rename ] [FILE] FlexLexer.h [ edit | delete | rename | download ] [FILE] _G_config.h [ edit | delete | rename | download ] [FILE] a.out.h [ edit | delete | rename | download ] [FILE] aio.h [ edit | delete | rename | download ] [FILE] aliases.h [ edit | delete | rename | download ] [FILE] alloca.h [ edit | delete | rename | download ] [FILE] ar.h [ edit | delete | rename | download ] [FILE] argp.h [ edit | delete | rename | download ] [FILE] argz.h [ edit | delete | rename | download ] [FILE] assert.h [ edit | delete | rename | download ] [FILE] autosprintf.h [ edit | delete | rename | download ] [FILE] byteswap.h [ edit | delete | rename | download ] [FILE] com_err.h [ edit | delete | rename | download ] [FILE] complex.h [ edit | delete | rename | download ] [FILE] cpio.h [ edit | delete | rename | download ] [FILE] cpufreq.h [ edit | delete | rename | download ] [FILE] crypt.h [ edit | delete | rename | download ] [FILE] ctype.h [ edit | delete | rename | download ] [FILE] curses.h [ edit | delete | rename | download ] [FILE] cursesapp.h [ edit | delete | rename | download ] [FILE] cursesf.h [ edit | delete | rename | download ] [FILE] cursesm.h [ edit | delete | rename | download ] [FILE] cursesp.h [ edit | delete | rename | download ] [FILE] cursesw.h [ edit | delete | rename | download ] [FILE] cursslk.h [ edit | delete | rename | download ] [FILE] db.h [ edit | delete | rename | download ] [FILE] db_185.h [ edit | delete | rename | download ] [FILE] dbm.h [ edit | delete | rename | download ] [FILE] dirent.h [ edit | delete | rename | download ] [FILE] dlfcn.h [ edit | delete | rename | download ] [FILE] elf.h [ edit | delete | rename | download ] [FILE] endian.h [ edit | delete | rename | download ] [FILE] entities.h [ edit | delete | rename | download ] [FILE] envz.h [ edit | delete | rename | download ] [FILE] err.h [ edit | delete | rename | download ] [FILE] errno.h [ edit | delete | rename | download ] [FILE] error.h [ edit | delete | rename | download ] [FILE] eti.h [ edit | delete | rename | download ] [FILE] etip.h [ edit | delete | rename | download ] [FILE] execinfo.h [ edit | delete | rename | download ] [FILE] expat.h [ edit | delete | rename | download ] [FILE] expat_external.h [ edit | delete | rename | download ] [FILE] fcntl.h [ edit | delete | rename | download ] [FILE] features.h [ edit | delete | rename | download ] [FILE] fenv.h [ edit | delete | rename | download ] [FILE] fmtmsg.h [ edit | delete | rename | download ] [FILE] fnmatch.h [ edit | delete | rename | download ] [FILE] form.h [ edit | delete | rename | download ] [FILE] fpu_control.h [ edit | delete | rename | download ] [FILE] fstab.h [ edit | delete | rename | download ] [FILE] fts.h [ edit | delete | rename | download ] [FILE] ftw.h [ edit | delete | rename | download ] [FILE] gconv.h [ edit | delete | rename | download ] [FILE] gcrypt-module.h [ edit | delete | rename | download ] [FILE] gcrypt.h [ edit | delete | rename | download ] [FILE] gd.h [ edit | delete | rename | download ] [FILE] gd_io.h [ edit | delete | rename | download ] [FILE] gdbm.h [ edit | delete | rename | download ] [FILE] gdcache.h [ edit | delete | rename | download ] [FILE] gdfontg.h [ edit | delete | rename | download ] [FILE] gdfontl.h [ edit | delete | rename | download ] [FILE] gdfontmb.h [ edit | delete | rename | download ] [FILE] gdfonts.h [ edit | delete | rename | download ] [FILE] gdfontt.h [ edit | delete | rename | download ] [FILE] gdfx.h [ edit | delete | rename | download ] [FILE] gelf.h [ edit | delete | rename | download ] [FILE] getopt.h [ edit | delete | rename | download ] [FILE] gettext-po.h [ edit | delete | rename | download ] [FILE] glob.h [ edit | delete | rename | download ] [FILE] gnu-versions.h [ edit | delete | rename | download ] [FILE] gpg-error.h [ edit | delete | rename | download ] [FILE] grp.h [ edit | delete | rename | download ] [FILE] gshadow.h [ edit | delete | rename | download ] [FILE] gssapi.h [ edit | delete | rename | download ] [FILE] iconv.h [ edit | delete | rename | download ] [FILE] idn-free.h [ edit | delete | rename | download ] [FILE] idn-int.h [ edit | delete | rename | download ] [FILE] idna.h [ edit | delete | rename | download ] [FILE] ieee754.h [ edit | delete | rename | download ] [FILE] ifaddrs.h [ edit | delete | rename | download ] [FILE] inttypes.h [ edit | delete | rename | download ] [FILE] jconfig.h [ edit | delete | rename | download ] [FILE] jerror.h [ edit | delete | rename | download ] [FILE] jmorecfg.h [ edit | delete | rename | download ] [FILE] jpeglib.h [ edit | delete | rename | download ] [FILE] kdb.h [ edit | delete | rename | download ] [FILE] keyutils.h [ edit | delete | rename | download ] [FILE] krad.h [ edit | delete | rename | download ] [FILE] krb5.h [ edit | delete | rename | download ] [FILE] langinfo.h [ edit | delete | rename | download ] [FILE] lastlog.h [ edit | delete | rename | download ] [FILE] lauxlib.h [ edit | delete | rename | download ] [FILE] lber.h [ edit | delete | rename | download ] [FILE] lber_types.h [ edit | delete | rename | download ] [FILE] ldap.h [ edit | delete | rename | download ] [FILE] ldap_cdefs.h [ edit | delete | rename | download ] [FILE] ldap_features.h [ edit | delete | rename | download ] [FILE] ldap_schema.h [ edit | delete | rename | download ] [FILE] ldap_utf8.h [ edit | delete | rename | download ] [FILE] ldif.h [ edit | delete | rename | download ] [FILE] libaio.h [ edit | delete | rename | download ] [FILE] libelf.h [ edit | delete | rename | download ] [FILE] libgen.h [ edit | delete | rename | download ] [FILE] libintl.h [ edit | delete | rename | download ] [FILE] libio.h [ edit | delete | rename | download ] [FILE] limits.h [ edit | delete | rename | download ] [FILE] link.h [ edit | delete | rename | download ] [FILE] locale.h [ edit | delete | rename | download ] [FILE] ltdl.h [ edit | delete | rename | download ] [FILE] lua.h [ edit | delete | rename | download ] [FILE] lua.hpp [ edit | delete | rename | download ] [FILE] luaconf.h [ edit | delete | rename | download ] [FILE] lualib.h [ edit | delete | rename | download ] [FILE] lzma.h [ edit | delete | rename | download ] [FILE] malloc.h [ edit | delete | rename | download ] [FILE] math.h [ edit | delete | rename | download ] [FILE] mcheck.h [ edit | delete | rename | download ] [FILE] memory.h [ edit | delete | rename | download ] [FILE] menu.h [ edit | delete | rename | download ] [FILE] mntent.h [ edit | delete | rename | download ] [FILE] monetary.h [ edit | delete | rename | download ] [FILE] mqueue.h [ edit | delete | rename | download ] [FILE] nc_tparm.h [ edit | delete | rename | download ] [FILE] ncurses.h [ edit | delete | rename | download ] [FILE] ncurses_dll.h [ edit | delete | rename | download ] [FILE] ndbm.h [ edit | delete | rename | download ] [FILE] netdb.h [ edit | delete | rename | download ] [FILE] nl_types.h [ edit | delete | rename | download ] [FILE] nlist.h [ edit | delete | rename | download ] [FILE] nss.h [ edit | delete | rename | download ] [FILE] obstack.h [ edit | delete | rename | download ] [FILE] panel.h [ edit | delete | rename | download ] [FILE] paths.h [ edit | delete | rename | download ] [FILE] pcre.h [ edit | delete | rename | download ] [FILE] pcre_scanner.h [ edit | delete | rename | download ] [FILE] pcre_stringpiece.h [ edit | delete | rename | download ] [FILE] pcrecpp.h [ edit | delete | rename | download ] [FILE] pcrecpparg.h [ edit | delete | rename | download ] [FILE] pcreposix.h [ edit | delete | rename | download ] [FILE] png.h [ edit | delete | rename | download ] [FILE] pngconf.h [ edit | delete | rename | download ] [FILE] pnglibconf.h [ edit | delete | rename | download ] [FILE] poll.h [ edit | delete | rename | download ] [FILE] pr29.h [ edit | delete | rename | download ] [FILE] printf.h [ edit | delete | rename | download ] [FILE] profile.h [ edit | delete | rename | download ] [FILE] pthread.h [ edit | delete | rename | download ] [FILE] pty.h [ edit | delete | rename | download ] [FILE] punycode.h [ edit | delete | rename | download ] [FILE] pwd.h [ edit | delete | rename | download ] [FILE] re_comp.h [ edit | delete | rename | download ] [FILE] regex.h [ edit | delete | rename | download ] [FILE] regexp.h [ edit | delete | rename | download ] [FILE] resolv.h [ edit | delete | rename | download ] [FILE] sched.h [ edit | delete | rename | download ] [FILE] search.h [ edit | delete | rename | download ] [FILE] semaphore.h [ edit | delete | rename | download ] [FILE] setjmp.h [ edit | delete | rename | download ] [FILE] sgtty.h [ edit | delete | rename | download ] [FILE] shadow.h [ edit | delete | rename | download ] [FILE] signal.h [ edit | delete | rename | download ] [FILE] slapi-plugin.h [ edit | delete | rename | download ] [FILE] spawn.h [ edit | delete | rename | download ] [FILE] stab.h [ edit | delete | rename | download ] [FILE] stdc-predef.h [ edit | delete | rename | download ] [FILE] stdint.h [ edit | delete | rename | download ] [FILE] stdio.h [ edit | delete | rename | download ] [FILE] stdio_ext.h [ edit | delete | rename | download ] [FILE] stdlib.h [ edit | delete | rename | download ] [FILE] string.h [ edit | delete | rename | download ] [FILE] stringprep.h [ edit | delete | rename | download ] [FILE] strings.h [ edit | delete | rename | download ] [FILE] syscall.h [ edit | delete | rename | download ] [FILE] sysexits.h [ edit | delete | rename | download ] [FILE] syslog.h [ edit | delete | rename | download ] [FILE] tar.h [ edit | delete | rename | download ] [FILE] tcpd.h [ edit | delete | rename | download ] [FILE] term.h [ edit | delete | rename | download ] [FILE] term_entry.h [ edit | delete | rename | download ] [FILE] termcap.h [ edit | delete | rename | download ] [FILE] termio.h [ edit | delete | rename | download ] [FILE] termios.h [ edit | delete | rename | download ] [FILE] tgmath.h [ edit | delete | rename | download ] [FILE] thread_db.h [ edit | delete | rename | download ] [FILE] tic.h [ edit | delete | rename | download ] [FILE] tiff.h [ edit | delete | rename | download ] [FILE] tiffconf-64.h [ edit | delete | rename | download ] [FILE] tiffconf.h [ edit | delete | rename | download ] [FILE] tiffio.h [ edit | delete | rename | download ] [FILE] tiffio.hxx [ edit | delete | rename | download ] [FILE] tiffvers.h [ edit | delete | rename | download ] [FILE] time.h [ edit | delete | rename | download ] [FILE] tld.h [ edit | delete | rename | download ] [FILE] ttyent.h [ edit | delete | rename | download ] [FILE] uchar.h [ edit | delete | rename | download ] [FILE] ucontext.h [ edit | delete | rename | download ] [FILE] ulimit.h [ edit | delete | rename | download ] [FILE] unctrl.h [ edit | delete | rename | download ] [FILE] unistd.h [ edit | delete | rename | download ] [FILE] ustat.h [ edit | delete | rename | download ] [FILE] utime.h [ edit | delete | rename | download ] [FILE] utmp.h [ edit | delete | rename | download ] [FILE] utmpx.h [ edit | delete | rename | download ] [FILE] values.h [ edit | delete | rename | download ] [FILE] verto-module.h [ edit | delete | rename | download ] [FILE] verto.h [ edit | delete | rename | download ] [FILE] wait.h [ edit | delete | rename | download ] [FILE] wchar.h [ edit | delete | rename | download ] [FILE] wctype.h [ edit | delete | rename | download ] [FILE] wordexp.h [ edit | delete | rename | download ] [FILE] xlocale.h [ edit | delete | rename | download ] [FILE] zconf.h [ edit | delete | rename | download ] [FILE] zlib.h [ edit | delete | rename | download ] Viewing: /usr/include/lua.h /* ** $Id: lua.h,v 1.218.1.5 2008/08/06 13:30:12 roberto Exp $ ** Lua - An Extensible Extension Language ** Lua.org, PUC-Rio, Brazil (http://www.lua.org) ** See Copyright Notice at the end of this file */ #ifndef lua_h #define lua_h #include <stdarg.h> #include <stddef.h> #include "luaconf.h" #define LUA_VERSION "Lua 5.1" #define LUA_RELEASE "Lua 5.1.4" #define LUA_VERSION_NUM 501 #define LUA_COPYRIGHT "Copyright (C) 1994-2008 Lua.org, PUC-Rio" #define LUA_AUTHORS "R. Ierusalimschy, L. H. de Figueiredo & W. Celes" /* mark for precompiled code (`<esc>Lua') */ #define LUA_SIGNATURE "\033Lua" /* option for multiple returns in `lua_pcall' and `lua_call' */ #define LUA_MULTRET (-1) /* ** pseudo-indices */ #define LUA_REGISTRYINDEX (-10000) #define LUA_ENVIRONINDEX (-10001) #define LUA_GLOBALSINDEX (-10002) #define lua_upvalueindex(i) (LUA_GLOBALSINDEX-(i)) /* thread status; 0 is OK */ #define LUA_YIELD 1 #define LUA_ERRRUN 2 #define LUA_ERRSYNTAX 3 #define LUA_ERRMEM 4 #define LUA_ERRERR 5 typedef struct lua_State lua_State; typedef int (*lua_CFunction) (lua_State *L); /* ** functions that read/write blocks when loading/dumping Lua chunks */ typedef const char * (*lua_Reader) (lua_State *L, void *ud, size_t *sz); typedef int (*lua_Writer) (lua_State *L, const void* p, size_t sz, void* ud); /* ** prototype for memory-allocation functions */ typedef void * (*lua_Alloc) (void *ud, void *ptr, size_t osize, size_t nsize); /* ** basic types */ #define LUA_TNONE (-1) #define LUA_TNIL 0 #define LUA_TBOOLEAN 1 #define LUA_TLIGHTUSERDATA 2 #define LUA_TNUMBER 3 #define LUA_TSTRING 4 #define LUA_TTABLE 5 #define LUA_TFUNCTION 6 #define LUA_TUSERDATA 7 #define LUA_TTHREAD 8 /* minimum Lua stack available to a C function */ #define LUA_MINSTACK 20 /* ** generic extra include file */ #if defined(LUA_USER_H) #include LUA_USER_H #endif /* type of numbers in Lua */ typedef LUA_NUMBER lua_Number; /* type for integer functions */ typedef LUA_INTEGER lua_Integer; /* ** state manipulation */ LUA_API lua_State *(lua_newstate) (lua_Alloc f, void *ud); LUA_API void (lua_close) (lua_State *L); LUA_API lua_State *(lua_newthread) (lua_State *L); LUA_API lua_CFunction (lua_atpanic) (lua_State *L, lua_CFunction panicf); /* ** basic stack manipulation */ LUA_API int (lua_gettop) (lua_State *L); LUA_API void (lua_settop) (lua_State *L, int idx); LUA_API void (lua_pushvalue) (lua_State *L, int idx); LUA_API void (lua_remove) (lua_State *L, int idx); LUA_API void (lua_insert) (lua_State *L, int idx); LUA_API void (lua_replace) (lua_State *L, int idx); LUA_API int (lua_checkstack) (lua_State *L, int sz); LUA_API void (lua_xmove) (lua_State *from, lua_State *to, int n); /* ** access functions (stack -> C) */ LUA_API int (lua_isnumber) (lua_State *L, int idx); LUA_API int (lua_isstring) (lua_State *L, int idx); LUA_API int (lua_iscfunction) (lua_State *L, int idx); LUA_API int (lua_isuserdata) (lua_State *L, int idx); LUA_API int (lua_type) (lua_State *L, int idx); LUA_API const char *(lua_typename) (lua_State *L, int tp); LUA_API int (lua_equal) (lua_State *L, int idx1, int idx2); LUA_API int (lua_rawequal) (lua_State *L, int idx1, int idx2); LUA_API int (lua_lessthan) (lua_State *L, int idx1, int idx2); LUA_API lua_Number (lua_tonumber) (lua_State *L, int idx); LUA_API lua_Integer (lua_tointeger) (lua_State *L, int idx); LUA_API int (lua_toboolean) (lua_State *L, int idx); LUA_API const char *(lua_tolstring) (lua_State *L, int idx, size_t *len); LUA_API size_t (lua_objlen) (lua_State *L, int idx); LUA_API lua_CFunction (lua_tocfunction) (lua_State *L, int idx); LUA_API void *(lua_touserdata) (lua_State *L, int idx); LUA_API lua_State *(lua_tothread) (lua_State *L, int idx); LUA_API const void *(lua_topointer) (lua_State *L, int idx); /* ** push functions (C -> stack) */ LUA_API void (lua_pushnil) (lua_State *L); LUA_API void (lua_pushnumber) (lua_State *L, lua_Number n); LUA_API void (lua_pushinteger) (lua_State *L, lua_Integer n); LUA_API void (lua_pushlstring) (lua_State *L, const char *s, size_t l); LUA_API void (lua_pushstring) (lua_State *L, const char *s); LUA_API const char *(lua_pushvfstring) (lua_State *L, const char *fmt, va_list argp); LUA_API const char *(lua_pushfstring) (lua_State *L, const char *fmt, ...); LUA_API void (lua_pushcclosure) (lua_State *L, lua_CFunction fn, int n); LUA_API void (lua_pushboolean) (lua_State *L, int b); LUA_API void (lua_pushlightuserdata) (lua_State *L, void *p); LUA_API int (lua_pushthread) (lua_State *L); /* ** get functions (Lua -> stack) */ LUA_API void (lua_gettable) (lua_State *L, int idx); LUA_API void (lua_getfield) (lua_State *L, int idx, const char *k); LUA_API void (lua_rawget) (lua_State *L, int idx); LUA_API void (lua_rawgeti) (lua_State *L, int idx, int n); LUA_API void (lua_createtable) (lua_State *L, int narr, int nrec); LUA_API void *(lua_newuserdata) (lua_State *L, size_t sz); LUA_API int (lua_getmetatable) (lua_State *L, int objindex); LUA_API void (lua_getfenv) (lua_State *L, int idx); /* ** set functions (stack -> Lua) */ LUA_API void (lua_settable) (lua_State *L, int idx); LUA_API void (lua_setfield) (lua_State *L, int idx, const char *k); LUA_API void (lua_rawset) (lua_State *L, int idx); LUA_API void (lua_rawseti) (lua_State *L, int idx, int n); LUA_API int (lua_setmetatable) (lua_State *L, int objindex); LUA_API int (lua_setfenv) (lua_State *L, int idx); /* ** `load' and `call' functions (load and run Lua code) */ LUA_API void (lua_call) (lua_State *L, int nargs, int nresults); LUA_API int (lua_pcall) (lua_State *L, int nargs, int nresults, int errfunc); LUA_API int (lua_cpcall) (lua_State *L, lua_CFunction func, void *ud); LUA_API int (lua_load) (lua_State *L, lua_Reader reader, void *dt, const char *chunkname); LUA_API int (lua_dump) (lua_State *L, lua_Writer writer, void *data); /* ** coroutine functions */ LUA_API int (lua_yield) (lua_State *L, int nresults); LUA_API int (lua_resume) (lua_State *L, int narg); LUA_API int (lua_status) (lua_State *L); /* ** garbage-collection function and options */ #define LUA_GCSTOP 0 #define LUA_GCRESTART 1 #define LUA_GCCOLLECT 2 #define LUA_GCCOUNT 3 #define LUA_GCCOUNTB 4 #define LUA_GCSTEP 5 #define LUA_GCSETPAUSE 6 #define LUA_GCSETSTEPMUL 7 LUA_API int (lua_gc) (lua_State *L, int what, int data); /* ** miscellaneous functions */ LUA_API int (lua_error) (lua_State *L); LUA_API int (lua_next) (lua_State *L, int idx); LUA_API void (lua_concat) (lua_State *L, int n); LUA_API lua_Alloc (lua_getallocf) (lua_State *L, void **ud); LUA_API void lua_setallocf (lua_State *L, lua_Alloc f, void *ud); /* ** =============================================================== ** some useful macros ** =============================================================== */ #define lua_pop(L,n) lua_settop(L, -(n)-1) #define lua_newtable(L) lua_createtable(L, 0, 0) #define lua_register(L,n,f) (lua_pushcfunction(L, (f)), lua_setglobal(L, (n))) #define lua_pushcfunction(L,f) lua_pushcclosure(L, (f), 0) #define lua_strlen(L,i) lua_objlen(L, (i)) #define lua_isfunction(L,n) (lua_type(L, (n)) == LUA_TFUNCTION) #define lua_istable(L,n) (lua_type(L, (n)) == LUA_TTABLE) #define lua_islightuserdata(L,n) (lua_type(L, (n)) == LUA_TLIGHTUSERDATA) #define lua_isnil(L,n) (lua_type(L, (n)) == LUA_TNIL) #define lua_isboolean(L,n) (lua_type(L, (n)) == LUA_TBOOLEAN) #define lua_isthread(L,n) (lua_type(L, (n)) == LUA_TTHREAD) #define lua_isnone(L,n) (lua_type(L, (n)) == LUA_TNONE) #define lua_isnoneornil(L, n) (lua_type(L, (n)) <= 0) #define lua_pushliteral(L, s) \ lua_pushlstring(L, "" s, (sizeof(s)/sizeof(char))-1) #define lua_setglobal(L,s) lua_setfield(L, LUA_GLOBALSINDEX, (s)) #define lua_getglobal(L,s) lua_getfield(L, LUA_GLOBALSINDEX, (s)) #define lua_tostring(L,i) lua_tolstring(L, (i), NULL) /* ** compatibility macros and functions */ #define lua_open() luaL_newstate() #define lua_getregistry(L) lua_pushvalue(L, LUA_REGISTRYINDEX) #define lua_getgccount(L) lua_gc(L, LUA_GCCOUNT, 0) #define lua_Chunkreader lua_Reader #define lua_Chunkwriter lua_Writer /* hack */ LUA_API void lua_setlevel (lua_State *from, lua_State *to); /* ** {====================================================================== ** Debug API ** ======================================================================= */ /* ** Event codes */ #define LUA_HOOKCALL 0 #define LUA_HOOKRET 1 #define LUA_HOOKLINE 2 #define LUA_HOOKCOUNT 3 #define LUA_HOOKTAILRET 4 /* ** Event masks */ #define LUA_MASKCALL (1 << LUA_HOOKCALL) #define LUA_MASKRET (1 << LUA_HOOKRET) #define LUA_MASKLINE (1 << LUA_HOOKLINE) #define LUA_MASKCOUNT (1 << LUA_HOOKCOUNT) typedef struct lua_Debug lua_Debug; /* activation record */ /* Functions to be called by the debuger in specific events */ typedef void (*lua_Hook) (lua_State *L, lua_Debug *ar); LUA_API int lua_getstack (lua_State *L, int level, lua_Debug *ar); LUA_API int lua_getinfo (lua_State *L, const char *what, lua_Debug *ar); LUA_API const char *lua_getlocal (lua_State *L, const lua_Debug *ar, int n); LUA_API const char *lua_setlocal (lua_State *L, const lua_Debug *ar, int n); LUA_API const char *lua_getupvalue (lua_State *L, int funcindex, int n); LUA_API const char *lua_setupvalue (lua_State *L, int funcindex, int n); LUA_API int lua_sethook (lua_State *L, lua_Hook func, int mask, int count); LUA_API lua_Hook lua_gethook (lua_State *L); LUA_API int lua_gethookmask (lua_State *L); LUA_API int lua_gethookcount (lua_State *L); struct lua_Debug { int event; const char *name; /* (n) */ const char *namewhat; /* (n) `global', `local', `field', `method' */ const char *what; /* (S) `Lua', `C', `main', `tail' */ const char *source; /* (S) */ int currentline; /* (l) */ int nups; /* (u) number of upvalues */ int linedefined; /* (S) */ int lastlinedefined; /* (S) */ char short_src[LUA_IDSIZE]; /* (S) */ /* private part */ int i_ci; /* active function */ }; /* }====================================================================== */ /****************************************************************************** * Copyright (C) 1994-2008 Lua.org, PUC-Rio. All rights reserved. * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including * without limitation the rights to use, copy, modify, merge, publish, * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ******************************************************************************/ #endif