golden hour
/usr/include
⬆️ Go Up
Upload
File/Folder
Size
Actions
FlexLexer.h
6.07 KB
Del
OK
GL
-
Del
OK
KF5
-
Del
OK
X11
-
Del
OK
_G_config.h
1.26 KB
Del
OK
a.out.h
4.25 KB
Del
OK
aio.h
7.27 KB
Del
OK
aliases.h
2 KB
Del
OK
alloca.h
1.19 KB
Del
OK
apache2
-
Del
OK
ar.h
1.68 KB
Del
OK
argp.h
24.75 KB
Del
OK
argz.h
6.96 KB
Del
OK
arpa
-
Del
OK
asm
-
Del
OK
asm-generic
-
Del
OK
assert.h
3.52 KB
Del
OK
autosprintf.h
2.33 KB
Del
OK
bind9
-
Del
OK
bits
-
Del
OK
bsock
-
Del
OK
byteswap.h
1.41 KB
Del
OK
c++
-
Del
OK
com_err.h
2.07 KB
Del
OK
complex.h
3.62 KB
Del
OK
cpio.h
2.21 KB
Del
OK
cpufreq.h
5.8 KB
Del
OK
criu
-
Del
OK
crypt.h
2.22 KB
Del
OK
ctype.h
11.52 KB
Del
OK
curses.h
93.19 KB
Del
OK
cursesapp.h
6.62 KB
Del
OK
cursesf.h
27.05 KB
Del
OK
cursesm.h
19.09 KB
Del
OK
cursesp.h
8.3 KB
Del
OK
cursesw.h
48.24 KB
Del
OK
cursslk.h
7.13 KB
Del
OK
db.h
120.21 KB
Del
OK
db4.7.25
-
Del
OK
db_185.h
5.84 KB
Del
OK
dbm.h
1.37 KB
Del
OK
dirent.h
12.34 KB
Del
OK
dlfcn.h
6.88 KB
Del
OK
drm
-
Del
OK
e2p
-
Del
OK
elf.h
141.01 KB
Del
OK
endian.h
2.95 KB
Del
OK
entities.h
4.56 KB
Del
OK
envz.h
2.82 KB
Del
OK
err.h
2.18 KB
Del
OK
errno.h
2.33 KB
Del
OK
error.h
2.01 KB
Del
OK
et
-
Del
OK
eti.h
2.82 KB
Del
OK
etip.h
9.04 KB
Del
OK
execinfo.h
1.5 KB
Del
OK
expat.h
41.04 KB
Del
OK
expat_external.h
3.29 KB
Del
OK
ext2fs
-
Del
OK
fcntl.h
9.89 KB
Del
OK
features.h
12.87 KB
Del
OK
fenv.h
4.5 KB
Del
OK
fmtmsg.h
3.18 KB
Del
OK
fnmatch.h
2.27 KB
Del
OK
fontconfig
-
Del
OK
form.h
17.56 KB
Del
OK
fpu_control.h
3.5 KB
Del
OK
freetype2
-
Del
OK
fstab.h
3.04 KB
Del
OK
fts.h
5.17 KB
Del
OK
ftw.h
5.15 KB
Del
OK
gconv.h
5.16 KB
Del
OK
gcrypt-module.h
7.18 KB
Del
OK
gcrypt.h
76.51 KB
Del
OK
gd.h
32.02 KB
Del
OK
gd_io.h
1.13 KB
Del
OK
gdbm
-
Del
OK
gdbm.h
5.75 KB
Del
OK
gdcache.h
2.75 KB
Del
OK
gdfontg.h
623 B
Del
OK
gdfontl.h
621 B
Del
OK
gdfontmb.h
590 B
Del
OK
gdfonts.h
585 B
Del
OK
gdfontt.h
617 B
Del
OK
gdfx.h
2.34 KB
Del
OK
gelf.h
11.05 KB
Del
OK
getopt.h
6.53 KB
Del
OK
gettext-po.h
15.17 KB
Del
OK
glob.h
6.51 KB
Del
OK
gnu
-
Del
OK
gnu-versions.h
2.29 KB
Del
OK
google
-
Del
OK
gpg-error.h
23.66 KB
Del
OK
grp.h
6.75 KB
Del
OK
gshadow.h
4.43 KB
Del
OK
gssapi
-
Del
OK
gssapi.h
181 B
Del
OK
gssrpc
-
Del
OK
iconv.h
1.83 KB
Del
OK
idn-free.h
2.41 KB
Del
OK
idn-int.h
20 B
Del
OK
idna.h
3.48 KB
Del
OK
ieee754.h
4.81 KB
Del
OK
ifaddrs.h
2.77 KB
Del
OK
inttypes.h
11.61 KB
Del
OK
jconfig.h
1.7 KB
Del
OK
jerror.h
14.4 KB
Del
OK
jmorecfg.h
13.5 KB
Del
OK
jpeglib.h
49.12 KB
Del
OK
kadm5
-
Del
OK
kdb.h
60.12 KB
Del
OK
kde4
-
Del
OK
keyutils.h
7.08 KB
Del
OK
krad.h
8.72 KB
Del
OK
krb5
-
Del
OK
krb5.h
402 B
Del
OK
langinfo.h
15.57 KB
Del
OK
lastlog.h
126 B
Del
OK
lauxlib.h
5.64 KB
Del
OK
lber.h
14.95 KB
Del
OK
lber_types.h
1.43 KB
Del
OK
ldap.h
63.46 KB
Del
OK
ldap_cdefs.h
9.24 KB
Del
OK
ldap_features.h
1.77 KB
Del
OK
ldap_schema.h
9.23 KB
Del
OK
ldap_utf8.h
3.39 KB
Del
OK
ldif.h
4.58 KB
Del
OK
libaio.h
7.8 KB
Del
OK
libdb
-
Del
OK
libelf.h
19.11 KB
Del
OK
libexslt
-
Del
OK
libgen.h
1.37 KB
Del
OK
libintl.h
4.49 KB
Del
OK
libio.h
16.87 KB
Del
OK
libltdl
-
Del
OK
libpng15
-
Del
OK
libxml2
-
Del
OK
libxslt
-
Del
OK
limits.h
4.42 KB
Del
OK
link.h
6.99 KB
Del
OK
linux
-
Del
OK
locale.h
7.78 KB
Del
OK
ltdl.h
5.58 KB
Del
OK
lua.h
11.41 KB
Del
OK
lua.hpp
191 B
Del
OK
luaconf.h
21.64 KB
Del
OK
lualib.h
1 KB
Del
OK
lzma
-
Del
OK
lzma.h
9.51 KB
Del
OK
malloc.h
6.44 KB
Del
OK
math.h
15.7 KB
Del
OK
mcheck.h
2.4 KB
Del
OK
memory.h
962 B
Del
OK
menu.h
11.67 KB
Del
OK
misc
-
Del
OK
mntent.h
3.3 KB
Del
OK
monetary.h
1.73 KB
Del
OK
mqueue.h
3.7 KB
Del
OK
mtd
-
Del
OK
mysql
-
Del
OK
nc_tparm.h
4.05 KB
Del
OK
ncurses
-
Del
OK
ncurses.h
93.19 KB
Del
OK
ncurses_dll.h
3.83 KB
Del
OK
ncursesw
-
Del
OK
ndbm.h
2.39 KB
Del
OK
net
-
Del
OK
netash
-
Del
OK
netatalk
-
Del
OK
netax25
-
Del
OK
netdb.h
27.46 KB
Del
OK
neteconet
-
Del
OK
netinet
-
Del
OK
netipx
-
Del
OK
netiucv
-
Del
OK
netpacket
-
Del
OK
netrom
-
Del
OK
netrose
-
Del
OK
nfs
-
Del
OK
nl_types.h
1.73 KB
Del
OK
nlist.h
1.56 KB
Del
OK
nss.h
1.85 KB
Del
OK
obstack.h
18.84 KB
Del
OK
openssl
-
Del
OK
panel.h
3.97 KB
Del
OK
paths.h
2.91 KB
Del
OK
pcre.h
29.73 KB
Del
OK
pcre_scanner.h
6.45 KB
Del
OK
pcre_stringpiece.h
6.11 KB
Del
OK
pcrecpp.h
25.91 KB
Del
OK
pcrecpparg.h
6.62 KB
Del
OK
pcreposix.h
5.32 KB
Del
OK
png.h
113.36 KB
Del
OK
pngconf.h
20.94 KB
Del
OK
pnglibconf.h
6.3 KB
Del
OK
poll.h
22 B
Del
OK
pr29.h
2.07 KB
Del
OK
printf.h
6.56 KB
Del
OK
profile.h
11.87 KB
Del
OK
protobuf-c
-
Del
OK
protocols
-
Del
OK
pthread.h
39.95 KB
Del
OK
pty.h
1.51 KB
Del
OK
punycode.h
9.36 KB
Del
OK
pwd.h
5.87 KB
Del
OK
python2.7
-
Del
OK
python3.6m
-
Del
OK
quota
-
Del
OK
rdma
-
Del
OK
re_comp.h
957 B
Del
OK
regex.h
21.58 KB
Del
OK
regexp.h
6.89 KB
Del
OK
resolv.h
14.67 KB
Del
OK
rpc
-
Del
OK
rpcsvc
-
Del
OK
sasl
-
Del
OK
sched.h
4.55 KB
Del
OK
scsi
-
Del
OK
search.h
5.11 KB
Del
OK
security
-
Del
OK
selinux
-
Del
OK
semaphore.h
2.36 KB
Del
OK
sepol
-
Del
OK
setjmp.h
3.97 KB
Del
OK
sgtty.h
1.33 KB
Del
OK
shadow.h
5.1 KB
Del
OK
signal.h
13.3 KB
Del
OK
slapi-plugin.h
37.45 KB
Del
OK
sound
-
Del
OK
spawn.h
6.53 KB
Del
OK
stab.h
264 B
Del
OK
stdc-predef.h
1.59 KB
Del
OK
stdint.h
7.94 KB
Del
OK
stdio.h
30.9 KB
Del
OK
stdio_ext.h
2.74 KB
Del
OK
stdlib.h
33.23 KB
Del
OK
string.h
21.75 KB
Del
OK
stringprep.h
8 KB
Del
OK
strings.h
4.55 KB
Del
OK
sys
-
Del
OK
syscall.h
25 B
Del
OK
sysexits.h
5.11 KB
Del
OK
syslog.h
24 B
Del
OK
tar.h
3.67 KB
Del
OK
tcpd.h
11.48 KB
Del
OK
term.h
38.63 KB
Del
OK
term_entry.h
7.91 KB
Del
OK
termcap.h
3.4 KB
Del
OK
termio.h
214 B
Del
OK
termios.h
3.52 KB
Del
OK
tgmath.h
18.11 KB
Del
OK
thread_db.h
15.65 KB
Del
OK
tic.h
12.35 KB
Del
OK
tiff.h
34.95 KB
Del
OK
tiffconf-64.h
3.35 KB
Del
OK
tiffconf.h
250 B
Del
OK
tiffio.h
22.52 KB
Del
OK
tiffio.hxx
1.66 KB
Del
OK
tiffvers.h
410 B
Del
OK
time.h
13.4 KB
Del
OK
tld.h
4.54 KB
Del
OK
ttyent.h
2.44 KB
Del
OK
uapi
-
Del
OK
uchar.h
2.42 KB
Del
OK
ucontext.h
1.92 KB
Del
OK
ulimit.h
1.55 KB
Del
OK
unctrl.h
3.03 KB
Del
OK
unistd.h
41.78 KB
Del
OK
ustat.h
23 B
Del
OK
utime.h
1.5 KB
Del
OK
utmp.h
3.16 KB
Del
OK
utmpx.h
4.02 KB
Del
OK
uuid
-
Del
OK
values.h
1.92 KB
Del
OK
verto-module.h
6.48 KB
Del
OK
verto.h
18.57 KB
Del
OK
video
-
Del
OK
wait.h
22 B
Del
OK
wchar.h
31.37 KB
Del
OK
wctype.h
10.89 KB
Del
OK
wordexp.h
2.47 KB
Del
OK
xcb
-
Del
OK
xen
-
Del
OK
xlocale.h
1.66 KB
Del
OK
zconf.h
14.92 KB
Del
OK
zlib.h
84.68 KB
Del
OK
Edit: luaconf.h
/* ** $Id: luaconf.h,v 1.81 2006/02/10 17:44:06 roberto Exp $ ** Configuration file for Lua ** See Copyright Notice in lua.h */ #ifndef lconfig_h #define lconfig_h #include <limits.h> #include <stddef.h> /* ** ================= ** Autotoolification ** ================= */ /** autotools-patch **/ #define LUA_USE_POSIX #define LUA_DL_DLOPEN #undef LUA_BUILD_AS_DLL #define LUA_USE_READLINE /** autotools-patch **/ /* ** ================================================================== ** Search for "@@" to find all configurable definitions. ** =================================================================== */ /* @@ LUA_ANSI controls the use of non-ansi features. ** CHANGE it (define it) if you want Lua to avoid the use of any ** non-ansi feature or library. */ #if defined(__STRICT_ANSI__) #define LUA_ANSI #endif #if !defined(LUA_ANSI) && defined(_WIN32) #define LUA_WIN #endif /* @@ LUA_USE_POSIX includes all functionallity listed as X/Open System @* Interfaces Extension (XSI). ** CHANGE it (define it) if your system is XSI compatible. */ #if defined(LUA_USE_POSIX) #define LUA_USE_MKSTEMP #define LUA_USE_ISATTY #define LUA_USE_POPEN #define LUA_USE_ULONGJMP #endif /* @@ LUA_PATH and LUA_CPATH are the names of the environment variables that @* Lua check to set its paths. @@ LUA_INIT is the name of the environment variable that Lua @* checks for initialization code. ** CHANGE them if you want different names. */ #define LUA_PATH "LUA_PATH" #define LUA_CPATH "LUA_CPATH" #define LUA_INIT "LUA_INIT" /* @@ LUA_PATH_DEFAULT is the default path that Lua uses to look for @* Lua libraries. @@ LUA_CPATH_DEFAULT is the default path that Lua uses to look for @* C libraries. ** CHANGE them if your machine has a non-conventional directory ** hierarchy or if you want to install your libraries in ** non-conventional directories. */ #if defined(_WIN32) /* ** In Windows, any exclamation mark ('!') in the path is replaced by the ** path of the directory of the executable file of the current process. */ #define LUA_LDIR "!\\lua\\" #define LUA_CDIR "!\\" #define LUA_PATH_DEFAULT \ ".\\?.lua;" LUA_LDIR"?.lua;" LUA_LDIR"?\\init.lua;" \ LUA_CDIR"?.lua;" LUA_CDIR"?\\init.lua" #define LUA_CPATH_DEFAULT \ ".\\?.dll;" LUA_CDIR"?.dll;" LUA_CDIR"loadall.dll" #else /** autotools-patch **/ #define LUA_LDIR "/usr/share/lua/5.1/" #if defined __alpha__ || defined __ia64__ || defined __powerpc64__ || \ defined __s390x__ || defined __sparc64__ || defined __x86_64__ || \ defined __aarch64__ #define LUA_CDIR "/usr/lib64/lua/5.1/" #else #define LUA_CDIR "/usr/lib/lua/5.1/" #endif /** autotools-patch **/ #define LUA_PATH_DEFAULT \ "./?.lua;" LUA_LDIR"?.lua;" LUA_LDIR"?/init.lua;" \ LUA_CDIR"?.lua;" LUA_CDIR"?/init.lua" #define LUA_CPATH_DEFAULT \ "./?.so;" LUA_CDIR"?.so;" LUA_CDIR"loadall.so" #endif /* @@ LUA_DIRSEP is the directory separator (for submodules). ** CHANGE it if your machine does not use "/" as the directory separator ** and is not Windows. (On Windows Lua automatically uses "\".) */ #if defined(_WIN32) #define LUA_DIRSEP "\\" #else #define LUA_DIRSEP "/" #endif /* @@ LUA_PATHSEP is the character that separates templates in a path. @@ LUA_PATH_MARK is the string that marks the substitution points in a @* template. @@ LUA_EXECDIR in a Windows path is replaced by the executable's @* directory. @@ LUA_IGMARK is a mark to ignore all before it when bulding the @* luaopen_ function name. ** CHANGE them if for some reason your system cannot use those ** characters. (E.g., if one of those characters is a common character ** in file/directory names.) Probably you do not need to change them. */ #define LUA_PATHSEP ";" #define LUA_PATH_MARK "?" #define LUA_EXECDIR "!" #define LUA_IGMARK "-" /* @@ LUA_INTEGER is the integral type used by lua_pushinteger/lua_tointeger. ** CHANGE that if ptrdiff_t is not adequate on your machine. (On most ** machines, ptrdiff_t gives a good choice between int or long.) */ #define LUA_INTEGER ptrdiff_t /* @@ LUA_API is a mark for all core API functions. @@ LUALIB_API is a mark for all standard library functions. ** CHANGE them if you need to define those functions in some special way. ** For instance, if you want to create one Windows DLL with the core and ** the libraries, you may want to use the following definition (define ** LUA_BUILD_AS_DLL to get it). */ #if defined(LUA_BUILD_AS_DLL) #if defined(LUA_CORE) || defined(LUA_LIB) #define LUA_API __declspec(dllexport) #else #define LUA_API __declspec(dllimport) #endif #else #define LUA_API extern #endif /* more often than not the libs go together with the core */ #define LUALIB_API LUA_API /* @@ LUAI_FUNC is a mark for all extern functions that are not to be @* exported to outside modules. @@ LUAI_DATA is a mark for all extern (const) variables that are not to @* be exported to outside modules. ** CHANGE them if you need to mark them in some special way. Elf/gcc ** (versions 3.2 and later) mark them as "hidden" to optimize access ** when Lua is compiled as a shared library. */ #if defined(luaall_c) #define LUAI_FUNC static #define LUAI_DATA /* empty */ #elif defined(__GNUC__) && ((__GNUC__*100 + __GNUC_MINOR__) >= 302) && \ defined(__ELF__) #define LUAI_FUNC __attribute__((visibility("hidden"))) extern #define LUAI_DATA LUAI_FUNC #else #define LUAI_FUNC extern #define LUAI_DATA extern #endif /* @@ LUA_QL describes how error messages quote program elements. ** CHANGE it if you want a different appearance. */ #define LUA_QL(x) "'" x "'" #define LUA_QS LUA_QL("%s") /* @@ LUA_IDSIZE gives the maximum size for the description of the source @* of a function in debug information. ** CHANGE it if you want a different size. */ #define LUA_IDSIZE 512 /* ** {================================================================== ** Stand-alone configuration ** =================================================================== */ #if defined(lua_c) || defined(luaall_c) /* @@ lua_stdin_is_tty detects whether the standard input is a 'tty' (that @* is, whether we're running lua interactively). ** CHANGE it if you have a better definition for non-POSIX/non-Windows ** systems. */ #if defined(LUA_USE_ISATTY) #include <unistd.h> #define lua_stdin_is_tty() isatty(0) #elif defined(LUA_WIN) #include <io.h> #include <stdio.h> #define lua_stdin_is_tty() _isatty(_fileno(stdin)) #else #define lua_stdin_is_tty() 1 /* assume stdin is a tty */ #endif /* @@ LUA_PROMPT is the default prompt used by stand-alone Lua. @@ LUA_PROMPT2 is the default continuation prompt used by stand-alone Lua. ** CHANGE them if you want different prompts. (You can also change the ** prompts dynamically, assigning to globals _PROMPT/_PROMPT2.) */ #define LUA_PROMPT "> " #define LUA_PROMPT2 ">> " /* @@ LUA_PROGNAME is the default name for the stand-alone Lua program. ** CHANGE it if your stand-alone interpreter has a different name and ** your system is not able to detect that name automatically. */ #define LUA_PROGNAME "lua" /* @@ LUA_MAXINPUT is the maximum length for an input line in the @* stand-alone interpreter. ** CHANGE it if you need longer lines. */ #define LUA_MAXINPUT 512 /* @@ lua_readline defines how to show a prompt and then read a line from @* the standard input. @@ lua_saveline defines how to "save" a read line in a "history". @@ lua_freeline defines how to free a line read by lua_readline. ** CHANGE them if you want to improve this functionality (e.g., by using ** GNU readline and history facilities). */ #if defined(LUA_USE_READLINE) #include <stdio.h> #include <readline/readline.h> #include <readline/history.h> #define lua_readline(L,b,p) ((void)L, ((b)=readline(p)) != NULL) #define lua_saveline(L,idx) \ if (lua_strlen(L,idx) > 0) /* non-empty line? */ \ add_history(lua_tostring(L, idx)); /* add it to history */ #define lua_freeline(L,b) ((void)L, free(b)) #else #define lua_readline(L,b,p) \ ((void)L, fputs(p, stdout), fflush(stdout), /* show prompt */ \ fgets(b, LUA_MAXINPUT, stdin) != NULL) /* get line */ #define lua_saveline(L,idx) { (void)L; (void)idx; } #define lua_freeline(L,b) { (void)L; (void)b; } #endif #endif /* }================================================================== */ /* @@ LUAI_GCPAUSE defines the default pause between garbage-collector cycles @* as a percentage. ** CHANGE it if you want the GC to run faster or slower (higher values ** mean larger pauses which mean slower collection.) You can also change ** this value dynamically. */ #define LUAI_GCPAUSE 200 /* 200% (wait memory to double before next GC) */ /* @@ LUAI_GCMUL defines the default speed of garbage collection relative to @* memory allocation as a percentage. ** CHANGE it if you want to change the granularity of the garbage ** collection. (Higher values mean coarser collections. 0 represents ** infinity, where each step performs a full collection.) You can also ** change this value dynamically. */ #define LUAI_GCMUL 200 /* GC runs 'twice the speed' of memory allocation */ /* @@ LUA_COMPAT_GETN controls compatibility with old getn behavior. ** CHANGE it (define it) if you want exact compatibility with the ** behavior of setn/getn in Lua 5.0. */ #undef LUA_COMPAT_GETN /* @@ LUA_COMPAT_LOADLIB controls compatibility about global loadlib. ** CHANGE it to undefined as soon as you do not need a global 'loadlib' ** function (the function is still available as 'package.loadlib'). */ #undef LUA_COMPAT_LOADLIB /* @@ LUA_COMPAT_VARARG controls compatibility with old vararg feature. ** CHANGE it to undefined as soon as your programs use only '...' to ** access vararg parameters (instead of the old 'arg' table). */ #define LUA_COMPAT_VARARG /* @@ LUA_COMPAT_MOD controls compatibility with old math.mod function. ** CHANGE it to undefined as soon as your programs use 'math.fmod' or ** the new '%' operator instead of 'math.mod'. */ #define LUA_COMPAT_MOD /* @@ LUA_COMPAT_LSTR controls compatibility with old long string nesting @* facility. ** CHANGE it to 2 if you want the old behaviour, or undefine it to turn ** off the advisory error when nesting [[...]]. */ #define LUA_COMPAT_LSTR 1 /* @@ LUA_COMPAT_GFIND controls compatibility with old 'string.gfind' name. ** CHANGE it to undefined as soon as you rename 'string.gfind' to ** 'string.gmatch'. */ #define LUA_COMPAT_GFIND /* @@ LUA_COMPAT_OPENLIB controls compatibility with old 'luaL_openlib' @* behavior. ** CHANGE it to undefined as soon as you replace to 'luaL_registry' ** your uses of 'luaL_openlib' */ #define LUA_COMPAT_OPENLIB /* @@ luai_apicheck is the assert macro used by the Lua-C API. ** CHANGE luai_apicheck if you want Lua to perform some checks in the ** parameters it gets from API calls. This may slow down the interpreter ** a bit, but may be quite useful when debugging C code that interfaces ** with Lua. A useful redefinition is to use assert.h. */ #if defined(LUA_USE_APICHECK) #include <assert.h> #define luai_apicheck(L,o) { (void)L; assert(o); } #else #define luai_apicheck(L,o) { (void)L; } #endif /* @@ LUAI_BITSINT defines the number of bits in an int. ** CHANGE here if Lua cannot automatically detect the number of bits of ** your machine. Probably you do not need to change this. */ /* avoid overflows in comparison */ #if INT_MAX-20 < 32760 #define LUAI_BITSINT 16 #elif INT_MAX > 2147483640L /* int has at least 32 bits */ #define LUAI_BITSINT 32 #else #error "you must define LUA_BITSINT with number of bits in an integer" #endif /* @@ LUAI_UINT32 is an unsigned integer with at least 32 bits. @@ LUAI_INT32 is an signed integer with at least 32 bits. @@ LUAI_UMEM is an unsigned integer big enough to count the total @* memory used by Lua. @@ LUAI_MEM is a signed integer big enough to count the total memory @* used by Lua. ** CHANGE here if for some weird reason the default definitions are not ** good enough for your machine. (The definitions in the 'else' ** part always works, but may waste space on machines with 64-bit ** longs.) Probably you do not need to change this. */ #if LUAI_BITSINT >= 32 #define LUAI_UINT32 unsigned int #define LUAI_INT32 int #define LUAI_MAXINT32 INT_MAX #define LUAI_UMEM size_t #define LUAI_MEM ptrdiff_t #else /* 16-bit ints */ #define LUAI_UINT32 unsigned long #define LUAI_INT32 long #define LUAI_MAXINT32 LONG_MAX #define LUAI_UMEM unsigned long #define LUAI_MEM long #endif /* @@ LUAI_MAXCALLS limits the number of nested calls. ** CHANGE it if you need really deep recursive calls. This limit is ** arbitrary; its only purpose is to stop infinite recursion before ** exhausting memory. */ #define LUAI_MAXCALLS 20000 /* @@ LUAI_MAXCSTACK limits the number of Lua stack slots that a C function @* can use. ** CHANGE it if you need lots of (Lua) stack space for your C ** functions. This limit is arbitrary; its only purpose is to stop C ** functions to consume unlimited stack space. */ #define LUAI_MCS_AUX ((int)(INT_MAX / (4*sizeof(LUA_NUMBER)))) #define LUAI_MAXCSTACK (LUAI_MCS_AUX > SHRT_MAX ? SHRT_MAX : LUAI_MCS_AUX) /* ** {================================================================== ** CHANGE (to smaller values) the following definitions if your system ** has a small C stack. (Or you may want to change them to larger ** values if your system has a large C stack and these limits are ** too rigid for you.) Some of these constants control the size of ** stack-allocated arrays used by the compiler or the interpreter, while ** others limit the maximum number of recursive calls that the compiler ** or the interpreter can perform. Values too large may cause a C stack ** overflow for some forms of deep constructs. ** =================================================================== */ /* @@ LUAI_MAXCCALLS is the maximum depth for nested C calls (short) and @* syntactical nested non-terminals in a program. */ #define LUAI_MAXCCALLS 200 /* @@ LUAI_MAXVARS is the maximum number of local variables per function @* (must be smaller than 250). */ #define LUAI_MAXVARS 200 /* @@ LUAI_MAXUPVALUES is the maximum number of upvalues per function @* (must be smaller than 250). */ #define LUAI_MAXUPVALUES 60 /* @@ LUAL_BUFFERSIZE is the buffer size used by the lauxlib buffer system. */ #define LUAL_BUFFERSIZE BUFSIZ /* }================================================================== */ /* ** {================================================================== @@ LUA_NUMBER is the type of numbers in Lua. ** CHANGE the following definitions only if you want to build Lua ** with a number type different from double. You may also need to ** change lua_number2int & lua_number2integer. ** =================================================================== */ #define LUA_NUMBER_DOUBLE #define LUA_NUMBER double /* @@ LUAI_UACNUMBER is the result of an 'usual argument conversion' @* over a number. */ #define LUAI_UACNUMBER double /* @@ LUA_NUMBER_SCAN is the format for reading numbers. @@ LUA_NUMBER_FMT is the format for writing numbers. @@ lua_number2str converts a number to a string. @@ LUAI_MAXNUMBER2STR is maximum size of previous conversion. @@ lua_str2number converts a string to a number. */ #define LUA_NUMBER_SCAN "%lf" #define LUA_NUMBER_FMT "%.14g" #define lua_number2str(s,n) sprintf((s), LUA_NUMBER_FMT, (n)) #define LUAI_MAXNUMBER2STR 32 /* 16 digits, sign, point, and \0 */ #define lua_str2number(s,p) strtod((s), (p)) /* @@ The luai_num* macros define the primitive operations over numbers. */ #if defined(LUA_CORE) #include <math.h> #define luai_numadd(a,b) ((a)+(b)) #define luai_numsub(a,b) ((a)-(b)) #define luai_nummul(a,b) ((a)*(b)) #define luai_numdiv(a,b) ((a)/(b)) #define luai_nummod(a,b) ((a) - floor((a)/(b))*(b)) #define luai_numpow(a,b) (pow(a,b)) #define luai_numunm(a) (-(a)) #define luai_numeq(a,b) ((a)==(b)) #define luai_numlt(a,b) ((a)<(b)) #define luai_numle(a,b) ((a)<=(b)) #define luai_numisnan(a) (!luai_numeq((a), (a))) #endif /* @@ lua_number2int is a macro to convert lua_Number to int. @@ lua_number2integer is a macro to convert lua_Number to lua_Integer. ** CHANGE them if you know a faster way to convert a lua_Number to ** int (with any rounding method and without throwing errors) in your ** system. In Pentium machines, a naive typecast from double to int ** in C is extremely slow, so any alternative is worth trying. */ /* On a Pentium, resort to a trick */ #if defined(LUA_NUMBER_DOUBLE) && !defined(LUA_ANSI) && !defined(__SSE2__) && \ (defined(__i386) || defined (_M_IX86) || defined(__i386__)) union luai_Cast { double l_d; long l_l; }; #define lua_number2int(i,d) \ { volatile union luai_Cast u; u.l_d = (d) + 6755399441055744.0; (i) = u.l_l; } #define lua_number2integer(i,n) lua_number2int(i, n) /* this option always works, but may be slow */ #else #define lua_number2int(i,d) ((i)=(int)(d)) #define lua_number2integer(i,d) ((i)=(lua_Integer)(d)) #endif /* }================================================================== */ /* @@ LUAI_USER_ALIGNMENT_T is a type that requires maximum alignment. ** CHANGE it if your system requires alignments larger than double. (For ** instance, if your system supports long doubles and they must be ** aligned in 16-byte boundaries, then you should add long double in the ** union.) Probably you do not need to change this. */ #define LUAI_USER_ALIGNMENT_T union { double u; void *s; long l; } /* @@ LUAI_THROW/LUAI_TRY define how Lua does exception handling. ** CHANGE them if you prefer to use longjmp/setjmp even with C++ ** or if want/don't to use _longjmp/_setjmp instead of regular ** longjmp/setjmp. By default, Lua handles errors with exceptions when ** compiling as C++ code, with _longjmp/_setjmp when asked to use them, ** and with longjmp/setjmp otherwise. */ #if defined(__cplusplus) /* C++ exceptions */ #define LUAI_THROW(L,c) throw(c) #define LUAI_TRY(L,c,a) try { a } catch(...) \ { if ((c)->status == 0) (c)->status = -1; } #define luai_jmpbuf int /* dummy variable */ #elif defined(LUA_USE_ULONGJMP) /* in Unix, try _longjmp/_setjmp (more efficient) */ #define LUAI_THROW(L,c) _longjmp((c)->b, 1) #define LUAI_TRY(L,c,a) if (_setjmp((c)->b) == 0) { a } #define luai_jmpbuf jmp_buf #else /* default handling with long jumps */ #define LUAI_THROW(L,c) longjmp((c)->b, 1) #define LUAI_TRY(L,c,a) if (setjmp((c)->b) == 0) { a } #define luai_jmpbuf jmp_buf #endif /* @@ LUA_MAXCAPTURES is the maximum number of captures that a pattern @* can do during pattern-matching. ** CHANGE it if you need more captures. This limit is arbitrary. */ #define LUA_MAXCAPTURES 32 /* @@ lua_tmpnam is the function that the OS library uses to create a @* temporary name. @@ LUA_TMPNAMBUFSIZE is the maximum size of a name created by lua_tmpnam. ** CHANGE them if you have an alternative to tmpnam (which is considered ** insecure) or if you want the original tmpnam anyway. By default, Lua ** uses tmpnam except when POSIX is available, where it uses mkstemp. */ #if defined(loslib_c) || defined(luaall_c) #if defined(LUA_USE_MKSTEMP) #include <unistd.h> #define LUA_TMPNAMBUFSIZE 32 #define lua_tmpnam(b,e) { \ strcpy(b, "/tmp/lua_XXXXXX"); \ e = mkstemp(b); \ if (e != -1) close(e); \ e = (e == -1); } #else #define LUA_TMPNAMBUFSIZE L_tmpnam #define lua_tmpnam(b,e) { e = (tmpnam(b) == NULL); } #endif #endif /* @@ lua_popen spawns a new process connected to the current one through @* the file streams. ** CHANGE it if you have a way to implement it in your system. */ #if defined(LUA_USE_POPEN) #define lua_popen(L,c,m) ((void)L, fflush(NULL), popen(c,m)) #define lua_pclose(L,file) ((void)L, (pclose(file) != -1)) #elif defined(LUA_WIN) #define lua_popen(L,c,m) ((void)L, _popen(c,m)) #define lua_pclose(L,file) ((void)L, (_pclose(file) != -1)) #else #define lua_popen(L,c,m) ((void)((void)c, m), \ luaL_error(L, LUA_QL("popen") " not supported"), (FILE*)0) #define lua_pclose(L,file) ((void)((void)L, file), 0) #endif /* @@ LUA_DL_* define which dynamic-library system Lua should use. ** CHANGE here if Lua has problems choosing the appropriate ** dynamic-library system for your platform (either Windows' DLL, Mac's ** dyld, or Unix's dlopen). If your system is some kind of Unix, there ** is a good chance that it has dlopen, so LUA_DL_DLOPEN will work for ** it. To use dlopen you also need to adapt the src/Makefile (probably ** adding -ldl to the linker options), so Lua does not select it ** automatically. (When you change the makefile to add -ldl, you must ** also add -DLUA_USE_DLOPEN.) ** If you do not want any kind of dynamic library, undefine all these ** options. ** By default, _WIN32 gets LUA_DL_DLL and MAC OS X gets LUA_DL_DYLD. */ #if defined(LUA_WIN) #define LUA_DL_DLL #endif /* @@ LUAI_EXTRASPACE allows you to add user-specific data in a lua_State @* (the data goes just *before* the lua_State pointer). ** CHANGE (define) this if you really need that. This value must be ** a multiple of the maximum alignment required for your machine. */ #define LUAI_EXTRASPACE 0 /* @@ luai_userstate* allow user-specific actions on threads. ** CHANGE them if you defined LUAI_EXTRASPACE and need to do something ** extra when a thread is created/deleted/resumed/yielded. */ #define luai_userstateopen(L) ((void)L) #define luai_userstateclose(L) ((void)L) #define luai_userstatethread(L,L1) ((void)L) #define luai_userstatefree(L) ((void)L) #define luai_userstateresume(L,n) ((void)L) #define luai_userstateyield(L,n) ((void)L) /* @@ LUA_INTFRMLEN is the length modifier for integer conversions @* in 'string.format'. @@ LUA_INTFRM_T is the integer type correspoding to the previous length @* modifier. ** CHANGE them if your system supports long long or does not support long. */ #if defined(LUA_USELONGLONG) #define LUA_INTFRMLEN "ll" #define LUA_INTFRM_T long long #else #define LUA_INTFRMLEN "l" #define LUA_INTFRM_T long #endif /* =================================================================== */ /* ** Local configuration. You can use this space to add your redefinitions ** without modifying the main part of the file. */ #endif
Save