Hackfut Security File Manager
Current Path:
/usr/include
usr
/
include
/
📁
..
📄
FlexLexer.h
(6.07 KB)
📁
GL
📁
X11
📄
_G_config.h
(2.47 KB)
📄
a.out.h
(4.25 KB)
📄
aio.h
(7.33 KB)
📄
aliases.h
(2.07 KB)
📄
alloca.h
(1.26 KB)
📄
ar.h
(1.75 KB)
📄
argp.h
(25.9 KB)
📄
argz.h
(7.14 KB)
📁
arpa
📁
asm
📁
asm-generic
📄
assert.h
(3.42 KB)
📄
autosprintf.h
(2.23 KB)
📁
bind9
📁
bits
📁
bsock
📄
byteswap.h
(1.45 KB)
📁
c++
📄
complex.h
(3.47 KB)
📄
cpio.h
(2.28 KB)
📄
crypt.h
(2.29 KB)
📄
ctype.h
(11.02 KB)
📁
curl
📄
curses.h
(77.96 KB)
📄
cursesapp.h
(6.43 KB)
📄
cursesf.h
(26.98 KB)
📄
cursesm.h
(19.03 KB)
📄
cursesp.h
(8.27 KB)
📄
cursesw.h
(48.11 KB)
📄
cursslk.h
(7.13 KB)
📄
db.h
(97.1 KB)
📁
db4
📁
db4.2.52
📁
db4.3.29
📄
db_185.h
(5.87 KB)
📄
db_cxx.h
(37.73 KB)
📄
dirent.h
(11.05 KB)
📄
dlfcn.h
(6.95 KB)
📁
dns
📁
drm
📁
dst
📁
e2p
📄
elf.h
(114.78 KB)
📄
endian.h
(2.92 KB)
📄
entities.h
(4.56 KB)
📄
envz.h
(2.89 KB)
📄
err.h
(2.26 KB)
📄
errno.h
(2.39 KB)
📄
error.h
(2.08 KB)
📁
et
📄
eti.h
(2.82 KB)
📄
etip.h
(8.99 KB)
📄
execinfo.h
(1.57 KB)
📄
expat.h
(39.74 KB)
📄
expat_external.h
(3.29 KB)
📁
ext2fs
📄
fam.h
(6.71 KB)
📄
fcntl.h
(8.92 KB)
📄
features.h
(12.58 KB)
📄
fenv.h
(4.56 KB)
📄
fmtmsg.h
(3.25 KB)
📄
fnmatch.h
(2.47 KB)
📁
fontconfig
📄
form.h
(16.79 KB)
📄
fpu_control.h
(3.09 KB)
📁
freetype2
📄
fstab.h
(3.04 KB)
📄
ft2build.h
(3.8 KB)
📄
fts.h
(5.17 KB)
📄
ftw.h
(5.23 KB)
📄
gconv.h
(5.21 KB)
📄
gcrypt-module.h
(7.02 KB)
📄
gcrypt.h
(68.92 KB)
📄
gd.h
(32.02 KB)
📄
gd_io.h
(1.13 KB)
📁
gdbm
📄
gdbm.h
(4.63 KB)
📄
gdcache.h
(2.75 KB)
📄
gdfontg.h
(623 B)
📄
gdfontl.h
(621 B)
📄
gdfontmb.h
(590 B)
📄
gdfonts.h
(585 B)
📄
gdfontt.h
(617 B)
📄
gdfx.h
(2.34 KB)
📄
getopt.h
(6.58 KB)
📄
gettext-po.h
(14.49 KB)
📄
glob.h
(6.84 KB)
📁
gnu
📄
gnu-versions.h
(2.36 KB)
📄
gpg-error.h
(22.16 KB)
📄
grp.h
(6.83 KB)
📄
gshadow.h
(4.5 KB)
📁
gssapi
📄
gssapi.h
(181 B)
📁
gssrpc
📄
iconv.h
(1.9 KB)
📄
idn-free.h
(2.25 KB)
📄
idn-int.h
(20 B)
📄
idna.h
(3.36 KB)
📄
ieee754.h
(4.87 KB)
📄
ifaddrs.h
(2.83 KB)
📄
inttypes.h
(11.92 KB)
📁
isc
📁
isccc
📁
isccfg
📄
jconfig.h
(1.61 KB)
📄
jerror.h
(14.4 KB)
📄
jmorecfg.h
(13.45 KB)
📄
jpeglib.h
(49.03 KB)
📁
kadm5
📄
kdb.h
(57.02 KB)
📄
keyutils.h
(5.95 KB)
📁
krb5
📄
krb5.h
(402 B)
📄
langinfo.h
(15.63 KB)
📄
lastlog.h
(126 B)
📄
lauxlib.h
(5.64 KB)
📄
libaio.h
(7.08 KB)
📁
libexslt
📄
libgen.h
(1.43 KB)
📄
libintl.h
(4.59 KB)
📄
libio.h
(17.37 KB)
📁
libltdl
📁
libpng12
📄
libssh2.h
(47.22 KB)
📄
libssh2_publickey.h
(4.79 KB)
📄
libssh2_sftp.h
(15.28 KB)
📁
libxml2
📁
libxslt
📄
limits.h
(4.49 KB)
📄
link.h
(7.05 KB)
📁
linux
📄
locale.h
(7.84 KB)
📄
ltdl.h
(5.58 KB)
📄
lua.h
(11.41 KB)
📄
lua.hpp
(191 B)
📄
luaconf.h
(21.61 KB)
📄
lualib.h
(1 KB)
📁
lve
📁
lwres
📁
lzma
📄
lzma.h
(9.09 KB)
📄
malloc.h
(6.15 KB)
📄
math.h
(15.61 KB)
📄
mcheck.h
(2.46 KB)
📄
memory.h
(1 KB)
📄
menu.h
(11.57 KB)
📄
mntent.h
(3.38 KB)
📄
monetary.h
(1.79 KB)
📄
mqueue.h
(3.78 KB)
📁
mtd
📁
mysql
📄
nc_tparm.h
(3.85 KB)
📁
ncurses
📄
ncurses.h
(77.96 KB)
📄
ncurses_dll.h
(3.81 KB)
📁
ncursesw
📁
net
📁
netash
📁
netatalk
📁
netax25
📄
netdb.h
(27.6 KB)
📁
neteconet
📁
netinet
📁
netipx
📁
netiucv
📁
netpacket
📁
netrom
📁
netrose
📁
nfs
📄
nl_types.h
(1.8 KB)
📄
nss.h
(1.92 KB)
📄
obstack.h
(19.21 KB)
📁
openssl
📄
panel.h
(3.68 KB)
📄
paths.h
(2.9 KB)
📄
png.h
(158.19 KB)
📄
pngconf.h
(49.8 KB)
📄
poll.h
(22 B)
📄
pr29.h
(1.93 KB)
📄
printf.h
(6.65 KB)
📄
profile.h
(11.87 KB)
📁
protocols
📄
pthread.h
(39.54 KB)
📄
pty.h
(1.57 KB)
📄
punycode.h
(9.2 KB)
📄
pwd.h
(5.94 KB)
📁
python2.6
📁
rdma
📄
re_comp.h
(1 KB)
📄
regex.h
(21.36 KB)
📄
regexp.h
(6.96 KB)
📄
resolv.h
(14.42 KB)
📁
rpc
📁
rpcsvc
📁
sasl
📄
sched.h
(4.62 KB)
📁
scsi
📄
search.h
(5.19 KB)
📁
security
📁
selinux
📄
semaphore.h
(2.41 KB)
📁
sepol
📄
setjmp.h
(4.02 KB)
📄
sgtty.h
(1.4 KB)
📄
shadow.h
(5.18 KB)
📄
signal.h
(13.34 KB)
📁
sound
📄
spawn.h
(6.6 KB)
📄
stab.h
(264 B)
📄
stdint.h
(8.34 KB)
📄
stdio.h
(30.83 KB)
📄
stdio_ext.h
(2.81 KB)
📄
stdlib.h
(33.45 KB)
📄
string.h
(22.08 KB)
📄
stringprep.h
(7.86 KB)
📄
strings.h
(4.65 KB)
📁
sys
📄
syscall.h
(25 B)
📄
sysexits.h
(5.11 KB)
📄
syslog.h
(24 B)
📄
tar.h
(3.68 KB)
📄
tcpd.h
(9.32 KB)
📄
term.h
(37.31 KB)
📄
term_entry.h
(6.89 KB)
📄
termcap.h
(3.4 KB)
📄
termio.h
(214 B)
📄
termios.h
(3.55 KB)
📄
tgmath.h
(18.17 KB)
📄
thread_db.h
(15.71 KB)
📄
tic.h
(11.9 KB)
📄
tiff.h
(33.02 KB)
📄
tiffconf-64.h
(2.9 KB)
📄
tiffconf.h
(250 B)
📄
tiffio.h
(20.03 KB)
📄
tiffio.hxx
(1.67 KB)
📄
tiffvers.h
(410 B)
📄
time.h
(13.22 KB)
📄
tld.h
(4.4 KB)
📄
ttyent.h
(2.44 KB)
📁
uapi
📄
ucontext.h
(1.97 KB)
📄
ulimit.h
(1.62 KB)
📄
unctrl.h
(2.93 KB)
📄
unistd.h
(41.55 KB)
📄
ustat.h
(23 B)
📄
utime.h
(1.57 KB)
📄
utmp.h
(3.26 KB)
📄
utmpx.h
(4.1 KB)
📄
values.h
(1.98 KB)
📄
verto-module.h
(5.88 KB)
📄
verto.h
(16.43 KB)
📁
video
📄
wait.h
(22 B)
📄
wchar.h
(31.62 KB)
📄
wctype.h
(10.96 KB)
📄
wordexp.h
(2.53 KB)
📁
xcb
📁
xen
📄
xlocale.h
(1.73 KB)
📄
zconf.h
(9.32 KB)
📄
zlib.h
(64.64 KB)
Editing: 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__ #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 60 /* ** {================================================================== ** 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
Upload File
Create Folder