Barracuda Application Server C/C++ Reference
Native APIs, integration guides, and platform interfaces
gluaconf.h
1/*
2** $Id: luaconf.h $
3** Configuration file for Lua
4** See Copyright Notice in lua.h
5*/
6
7
8#ifndef luaconf_h
9#define luaconf_h
10
11/* Used by C code generated by mutex.lua */
12#define BA_LUA_LIB
13
14#include <limits.h>
15#include <stddef.h>
16#include <HttpTrace.h>
17#undef LoadString
18
19#define LUA_FLOORN2I 1
20
21/* lstate.c : the seed is used to randomize hashes */
22BA_API unsigned int baluai_makeseed(void);
23#define luai_makeseed() baluai_makeseed()
24#if !defined(lua_writestringerror)
25#define lua_writestringerror(s,p) HttpTrace_printf(0, (s), (p))
26#endif
27
28#if !defined(lua_writestring)
29#define lua_writestring(s,l) HttpTrace_write(0,s,(int)l)
30#endif
31
32#if !defined(lua_writeline)
33#define lua_writeline() (HttpTrace_write(0,"\n", 1), HttpTrace_flush())
34#endif
35
36#if USE_DBGMON
37struct lua_State;
38BA_API void LDbgMon_userstatethread(struct lua_State* L, struct lua_State* L1);
39BA_API void LDbgMon_userstatefree(struct lua_State* L, struct lua_State* L1);
40#define luai_userstatethread(L,L1) LDbgMon_userstatethread(L,L1)
41#define luai_userstatefree(L,L1) LDbgMon_userstatefree(L,L1)
42#endif
43
44
45/*
46** ===================================================================
47** General Configuration File for Lua
48**
49** Some definitions here can be changed externally, through the compiler
50** (e.g., with '-D' options): They are commented out or protected
51** by '#if !defined' guards. However, several other definitions
52** should be changed directly here, either because they affect the
53** Lua ABI (by making the changes here, you ensure that all software
54** connected to Lua, such as C libraries, will be compiled with the same
55** configuration); or because they are seldom changed.
56**
57** Search for "@@" to find all configurable definitions.
58** ===================================================================
59*/
60
61
62/*
63** {====================================================================
64** System Configuration: macros to adapt (if needed) Lua to some
65** particular platform, for instance restricting it to C89.
66** =====================================================================
67*/
68
69/*
70@@ LUA_USE_C89 controls the use of non-ISO-C89 features.
71** Define it if you want Lua to avoid the use of a few C99 features
72** or Windows-specific features on Windows.
73*/
74/* #define LUA_USE_C89 */
75
76
77/*
78** By default, Lua on Windows use (some) specific Windows features
79*/
80#if !defined(BAS_RTOS_WINDOWS_SIM) && !defined(__INTIME__)
81#if !defined(LUA_USE_C89) && defined(_WIN32) && !defined(_WIN32_WCE)
82#define LUA_USE_WINDOWS /* enable goodies for regular Windows */
83#endif
84#endif
85
86
87#if defined(LUA_USE_WINDOWS)
88#define LUA_DL_DLL /* enable support for DLL */
89#define LUA_USE_C89 /* broadly, Windows is C89 */
90#endif
91
92
93/*
94** When POSIX DLL ('LUA_USE_DLOPEN') is enabled, the Lua stand-alone
95** application will try to dynamically link a 'readline' facility
96** for its REPL. In that case, LUA_READLINELIB is the name of the
97** library it will look for those facilities. If lua.c cannot open
98** the specified library, it will generate a warning and then run
99** without 'readline'. If that macro is not defined, lua.c will not
100** use 'readline'.
101*/
102
103#ifndef LUA_NO_DLOPEN
104
105
106#if defined(LUA_USE_LINUX)
107#define LUA_USE_POSIX
108#define LUA_USE_DLOPEN /* needs an extra library: -ldl */
109#define LUA_READLINELIB "libreadline.so"
110#endif
111
112
113#if defined(LUA_USE_MACOSX)
114#define LUA_USE_POSIX
115#define LUA_USE_DLOPEN /* macOS does not need -ldl */
116#define LUA_READLINELIB "libedit.dylib"
117#endif
118
119
120#if defined(LUA_USE_IOS)
121#define LUA_USE_POSIX
122#define LUA_USE_DLOPEN
123#endif
124
125#endif /* LUA_NO_DLOPEN */
126
127
128#if defined(LUA_USE_C89) && defined(LUA_USE_POSIX)
129#error "POSIX is not compatible with C89"
130#endif
131
132
133/*
134@@ LUAI_IS32INT is true iff 'int' has (at least) 32 bits.
135*/
136#define LUAI_IS32INT ((UINT_MAX >> 30) >= 3)
137
138/* }================================================================== */
139
140
141
142/*
143** {==================================================================
144** Configuration for Number types. These options should not be
145** set externally, because any other code connected to Lua must
146** use the same configuration.
147** ===================================================================
148*/
149
150/*
151@@ LUA_INT_TYPE defines the type for Lua integers.
152@@ LUA_FLOAT_TYPE defines the type for Lua floats.
153** Lua should work fine with any mix of these options supported
154** by your C compiler. The usual configurations are 64-bit integers
155** and 'double' (the default), 32-bit integers and 'float' (for
156** restricted platforms), and 'long'/'double' (for C compilers not
157** compliant with C99, which may not have support for 'long long').
158*/
159
160/* predefined options for LUA_INT_TYPE */
161#define LUA_INT_INT 1
162#define LUA_INT_LONG 2
163#define LUA_INT_LONGLONG 3
164
165/* predefined options for LUA_FLOAT_TYPE */
166#define LUA_FLOAT_FLOAT 1
167#define LUA_FLOAT_DOUBLE 2
168#define LUA_FLOAT_LONGDOUBLE 3
169
170
171/* Default configuration ('long long' and 'double', for 64-bit Lua) */
172#define LUA_INT_DEFAULT LUA_INT_LONGLONG
173#define LUA_FLOAT_DEFAULT LUA_FLOAT_DOUBLE
174
175
176/*
177@@ LUA_32BITS enables Lua with 32-bit integers and 32-bit floats.
178*/
179/* #define LUA_32BITS */
180
181
182/*
183@@ LUA_C89_NUMBERS ensures that Lua uses the largest types available for
184** C89 ('long' and 'double'); Windows always has '__int64', so it does
185** not need to use this case.
186*/
187#if defined(LUA_USE_C89) && !defined(LUA_USE_WINDOWS)
188#define LUA_C89_NUMBERS 1
189#else
190#define LUA_C89_NUMBERS 0
191#endif
192
193
194#if defined(LUA_32BITS) /* { */
195/*
196** 32-bit integers and 'float'
197*/
198#if LUAI_IS32INT /* use 'int' if big enough */
199#define LUA_INT_TYPE LUA_INT_INT
200#else /* otherwise use 'long' */
201#define LUA_INT_TYPE LUA_INT_LONG
202#endif
203#define LUA_FLOAT_TYPE LUA_FLOAT_FLOAT
204
205#elif LUA_C89_NUMBERS /* }{ */
206/*
207** largest types available for C89 ('long' and 'double')
208*/
209#define LUA_INT_TYPE LUA_INT_LONG
210#define LUA_FLOAT_TYPE LUA_FLOAT_DOUBLE
211
212#else /* }{ */
213/* use defaults */
214
215#define LUA_INT_TYPE LUA_INT_DEFAULT
216#define LUA_FLOAT_TYPE LUA_FLOAT_DEFAULT
217
218#endif /* } */
219
220
221/* }================================================================== */
222
223
224
225/*
226** {==================================================================
227** Configuration for Paths.
228** ===================================================================
229*/
230
231/*
232** LUA_PATH_SEP is the character that separates templates in a path.
233** LUA_PATH_MARK is the string that marks the substitution points in a
234** template.
235** LUA_EXEC_DIR in a Windows path is replaced by the executable's
236** directory.
237*/
238#define LUA_PATH_SEP ";"
239#define LUA_PATH_MARK "?"
240#define LUA_EXEC_DIR "!"
241
242
243/*
244@@ LUA_PATH_DEFAULT is the default path that Lua uses to look for
245** Lua libraries.
246@@ LUA_CPATH_DEFAULT is the default path that Lua uses to look for
247** C libraries.
248** CHANGE them if your machine has a non-conventional directory
249** hierarchy or if you want to install your libraries in
250** non-conventional directories.
251*/
252
253#define LUA_VDIR LUA_VERSION_MAJOR "." LUA_VERSION_MINOR
254#if defined(_WIN32) /* { */
255/*
256** In Windows, any exclamation mark ('!') in the path is replaced by the
257** path of the directory of the executable file of the current process.
258*/
259#define LUA_LDIR "!\\lua\\"
260#define LUA_CDIR "!\\"
261#define LUA_SHRDIR "!\\..\\share\\lua\\" LUA_VDIR "\\"
262
263#if !defined(LUA_PATH_DEFAULT)
264#define LUA_PATH_DEFAULT \
265 LUA_LDIR"?.lua;" LUA_LDIR"?\\init.lua;" \
266 LUA_CDIR"?.lua;" LUA_CDIR"?\\init.lua;" \
267 LUA_SHRDIR"?.lua;" LUA_SHRDIR"?\\init.lua;" \
268 ".\\?.lua;" ".\\?\\init.lua"
269#endif
270
271#if !defined(LUA_CPATH_DEFAULT)
272#define LUA_CPATH_DEFAULT \
273 LUA_CDIR"?.dll;" \
274 LUA_CDIR"..\\lib\\lua\\" LUA_VDIR "\\?.dll;" \
275 LUA_CDIR"loadall.dll;" ".\\?.dll"
276#endif
277
278#else /* }{ */
279
280#define LUA_ROOT "/usr/local/"
281#define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR "/"
282#define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR "/"
283
284#if !defined(LUA_PATH_DEFAULT)
285#define LUA_PATH_DEFAULT \
286 LUA_LDIR"?.lua;" LUA_LDIR"?/init.lua;" \
287 LUA_CDIR"?.lua;" LUA_CDIR"?/init.lua;" \
288 "./?.lua;" "./?/init.lua"
289#endif
290
291#if !defined(LUA_CPATH_DEFAULT)
292#define LUA_CPATH_DEFAULT \
293 LUA_CDIR"?.so;" LUA_CDIR"loadall.so;" "./?.so"
294#endif
295
296#endif /* } */
297
298
299/*
300@@ LUA_DIRSEP is the directory separator (for submodules).
301** CHANGE it if your machine does not use "/" as the directory separator
302** and is not Windows. (On Windows Lua automatically uses "\".)
303*/
304#if !defined(LUA_DIRSEP)
305
306#if defined(_WIN32)
307#define LUA_DIRSEP "\\"
308#else
309#define LUA_DIRSEP "/"
310#endif
311
312#endif
313
314
315/*
316** LUA_IGMARK is a mark to ignore all after it when building the
317** module name (e.g., used to build the luaopen_ function name).
318** Typically, the suffix after the mark is the module version,
319** as in "mod-v1.2.so".
320*/
321#define LUA_IGMARK "-"
322
323/* }================================================================== */
324
325
326/*
327** {==================================================================
328** Marks for exported symbols in the C code
329** ===================================================================
330*/
331
332/*
333@@ LUA_API is a mark for all core API functions.
334@@ LUALIB_API is a mark for all auxiliary library functions.
335@@ LUAMOD_API is a mark for all standard library opening functions.
336** CHANGE them if you need to define those functions in some special way.
337** For instance, if you want to create one Windows DLL with the core and
338** the libraries, you may want to use the following definition (define
339** LUA_BUILD_AS_DLL to get it).
340*/
341#if defined(LUA_BUILD_AS_DLL) /* { */
342
343#if defined(LUA_CORE) || defined(LUA_LIB) /* { */
344#define LUA_API __declspec(dllexport)
345#else /* }{ */
346#define LUA_API __declspec(dllimport)
347#endif /* } */
348
349#else /* }{ */
350
351#define LUA_API extern
352
353#endif /* } */
354
355
356/*
357** More often than not the libs go together with the core.
358*/
359#define LUALIB_API LUA_API
360
361#if defined(__cplusplus)
362/* Lua uses the "C name" when calling open functions */
363#define LUAMOD_API extern "C"
364#else
365#define LUAMOD_API LUA_API
366#endif
367
368/* }================================================================== */
369
370
371/*
372** {==================================================================
373** Compatibility with previous versions
374** ===================================================================
375*/
376
377/*
378@@ LUA_COMPAT_GLOBAL avoids 'global' being a reserved word
379*/
380#define LUA_COMPAT_GLOBAL
381
382
383/*
384@@ LUA_COMPAT_MATHLIB controls the presence of several deprecated
385** functions in the mathematical library.
386** (These functions were already officially removed in 5.3;
387** nevertheless they are still available here.)
388*/
389/* #define LUA_COMPAT_MATHLIB */
390
391
392/*
393@@ The following macros supply trivial compatibility for some
394** changes in the API. The macros themselves document how to
395** change your code to avoid using them.
396** (Once more, these macros were officially removed in 5.3, but they are
397** still available here.)
398*/
399#define lua_strlen(L,i) lua_rawlen(L, (i))
400
401#define lua_objlen(L,i) lua_rawlen(L, (i))
402
403#define lua_equal(L,idx1,idx2) lua_compare(L,(idx1),(idx2),LUA_OPEQ)
404#define lua_lessthan(L,idx1,idx2) lua_compare(L,(idx1),(idx2),LUA_OPLT)
405
406/* }================================================================== */
407
408
409
410/*
411** {==================================================================
412** Configuration for Numbers (low-level part).
413** Change these definitions if no predefined LUA_FLOAT_* / LUA_INT_*
414** satisfy your needs.
415** ===================================================================
416*/
417
418
419/*
420@@ LUAI_UACNUMBER is the result of a 'default argument promotion'
421@@ over a floating number.
422@@ l_floatatt(x) corrects float attribute 'x' to the proper float type
423** by prefixing it with one of FLT/DBL/LDBL.
424@@ LUA_NUMBER_FRMLEN is the length modifier for writing floats.
425@@ LUA_NUMBER_FMT is the format for writing floats with the maximum
426** number of digits that respects tostring(tonumber(numeral)) == numeral.
427** (That would be floor(log10(2^n)), where n is the number of bits in
428** the float mantissa.)
429@@ LUA_NUMBER_FMT_N is the format for writing floats with the minimum
430** number of digits that ensures tonumber(tostring(number)) == number.
431** (That would be LUA_NUMBER_FMT+2.)
432@@ l_mathop allows the addition of an 'l' or 'f' to all math operations.
433@@ l_floor takes the floor of a float.
434@@ lua_str2number converts a decimal numeral to a number.
435*/
436
437#define LUA_NZERO 0.0
438
439/* The following definition is good for most cases here */
440
441#define l_floor(x) (l_mathop(floor)(x))
442
443
444/* now the variable definitions */
445
446#if LUA_FLOAT_TYPE == LUA_FLOAT_FLOAT /* { single float */
447
448#define LUA_NUMBER float
449
450#define l_floatatt(n) (FLT_##n)
451
452#define LUAI_UACNUMBER double
453
454#define LUA_NUMBER_FRMLEN ""
455#define LUA_NUMBER_FMT "%.7g"
456#define LUA_NUMBER_FMT_N "%.9g"
457
458#define l_mathop(op) op##f
459
460#define lua_str2number(s,p) strtof((s), (p))
461
462
463#elif LUA_FLOAT_TYPE == LUA_FLOAT_LONGDOUBLE /* }{ long double */
464
465#define LUA_NUMBER long double
466
467#define l_floatatt(n) (LDBL_##n)
468
469#define LUAI_UACNUMBER long double
470
471#define LUA_NUMBER_FRMLEN "L"
472#define LUA_NUMBER_FMT "%.19Lg"
473#define LUA_NUMBER_FMT_N "%.21Lg"
474
475#define l_mathop(op) op##l
476
477#define lua_str2number(s,p) strtold((s), (p))
478
479#elif LUA_FLOAT_TYPE == LUA_FLOAT_DOUBLE /* }{ double */
480
481#define LUA_NUMBER double
482
483#define l_floatatt(n) (DBL_##n)
484
485#define LUAI_UACNUMBER double
486
487#define LUA_NUMBER_FRMLEN ""
488#define LUA_NUMBER_FMT "%.15g"
489#define LUA_NUMBER_FMT_N "%.17g"
490
491#define l_mathop(op) op
492
493#define lua_str2number(s,p) strtod((s), (p))
494
495#else /* }{ */
496
497#error "numeric float type not defined"
498
499#endif /* } */
500
501
502
503/*
504@@ LUA_UNSIGNED is the unsigned version of LUA_INTEGER.
505@@ LUAI_UACINT is the result of a 'default argument promotion'
506@@ over a LUA_INTEGER.
507@@ LUA_INTEGER_FRMLEN is the length modifier for reading/writing integers.
508@@ LUA_INTEGER_FMT is the format for writing integers.
509@@ LUA_MAXINTEGER is the maximum value for a LUA_INTEGER.
510@@ LUA_MININTEGER is the minimum value for a LUA_INTEGER.
511@@ LUA_MAXUNSIGNED is the maximum value for a LUA_UNSIGNED.
512@@ lua_integer2str converts an integer to a string.
513*/
514
515
516/* The following definitions are good for most cases here */
517
518#define LUA_INTEGER_FMT "%" LUA_INTEGER_FRMLEN "d"
519
520#define LUAI_UACINT LUA_INTEGER
521
522#define lua_integer2str(s,sz,n) \
523 l_sprintf((s), sz, LUA_INTEGER_FMT, (LUAI_UACINT)(n))
524
525/*
526** use LUAI_UACINT here to avoid problems with promotions (which
527** can turn a comparison between unsigneds into a signed comparison)
528*/
529#define LUA_UNSIGNED unsigned LUAI_UACINT
530
531
532/* now the variable definitions */
533
534#if LUA_INT_TYPE == LUA_INT_INT /* { int */
535
536#define LUA_INTEGER int
537#define LUA_INTEGER_FRMLEN ""
538
539#define LUA_MAXINTEGER INT_MAX
540#define LUA_MININTEGER INT_MIN
541
542#define LUA_MAXUNSIGNED UINT_MAX
543
544#elif LUA_INT_TYPE == LUA_INT_LONG /* }{ long */
545
546#define LUA_INTEGER long
547#define LUA_INTEGER_FRMLEN "l"
548
549#define LUA_MAXINTEGER LONG_MAX
550#define LUA_MININTEGER LONG_MIN
551
552#define LUA_MAXUNSIGNED ULONG_MAX
553
554#elif LUA_INT_TYPE == LUA_INT_LONGLONG /* }{ long long */
555
556/* use presence of macro LLONG_MAX as proxy for C99 compliance */
557#if defined(LLONG_MAX) /* { */
558/* use ISO C99 stuff */
559
560#define LUA_INTEGER long long
561#define LUA_INTEGER_FRMLEN "ll"
562
563#define LUA_MAXINTEGER LLONG_MAX
564#define LUA_MININTEGER LLONG_MIN
565
566#define LUA_MAXUNSIGNED ULLONG_MAX
567
568#elif defined(LUA_USE_WINDOWS) /* }{ */
569/* in Windows, can use specific Windows types */
570
571#define LUA_INTEGER __int64
572#define LUA_INTEGER_FRMLEN "I64"
573
574#define LUA_MAXINTEGER _I64_MAX
575#define LUA_MININTEGER _I64_MIN
576
577#define LUA_MAXUNSIGNED _UI64_MAX
578
579#else /* }{ */
580
581#error "Compiler does not support 'long long'. Use option '-DLUA_32BITS' \
582 or '-DLUA_C89_NUMBERS' (see file 'luaconf.h' for details)"
583
584#endif /* } */
585
586#else /* }{ */
587
588#error "numeric integer type not defined"
589
590#endif /* } */
591
592
593/* }================================================================== */
594
595
596/*
597** {==================================================================
598** Dependencies with C99 and other C details
599** ===================================================================
600*/
601
602/*
603@@ l_sprintf is equivalent to 'snprintf' or 'sprintf' in C89.
604** (All uses in Lua have only one format item.)
605*/
606#define l_sprintf(s,sz,f,i) basnprintf(s,sz,f,i)
607
608
609/*
610@@ lua_strx2number converts a hexadecimal numeral to a number.
611** In C99, 'strtod' does that conversion. Otherwise, you can
612** leave 'lua_strx2number' undefined and Lua will provide its own
613** implementation.
614*/
615#if !defined(LUA_USE_C89)
616#define lua_strx2number(s,p) lua_str2number(s,p)
617#endif
618
619
620/*
621@@ lua_pointer2str converts a pointer to a readable string in a
622** non-specified way.
623*/
624#define lua_pointer2str(buff,sz,p) l_sprintf(buff,sz,"%p",p)
625
626
627/*
628@@ lua_number2strx converts a float to a hexadecimal numeral.
629** In C99, 'sprintf' (with format specifiers '%a'/'%A') does that.
630** Otherwise, you can leave 'lua_number2strx' undefined and Lua will
631** provide its own implementation.
632*/
633#if !defined(LUA_USE_C89)
634#define lua_number2strx(L,b,sz,f,n) \
635 ((void)L, l_sprintf(b,sz,f,(LUAI_UACNUMBER)(n)))
636#endif
637
638
639/*
640** 'strtof' and 'opf' variants for math functions are not valid in
641** C89. Otherwise, the macro 'HUGE_VALF' is a good proxy for testing the
642** availability of these variants. ('math.h' is already included in
643** all files that use these macros.)
644*/
645#if defined(LUA_USE_C89) || (defined(HUGE_VAL) && !defined(HUGE_VALF))
646#undef l_mathop /* variants not available */
647#undef lua_str2number
648#define l_mathop(op) (lua_Number)op /* no variant */
649#define lua_str2number(s,p) ((lua_Number)strtod((s), (p)))
650#endif
651
652
653/*
654@@ LUA_KCONTEXT is the type of the context ('ctx') for continuation
655** functions. It must be a numerical type; Lua will use 'intptr_t' if
656** available, otherwise it will use 'ptrdiff_t' (the nearest thing to
657** 'intptr_t' in C89)
658*/
659#define LUA_KCONTEXT ptrdiff_t
660
661#if !defined(LUA_USE_C89) && defined(__STDC_VERSION__) && \
662 __STDC_VERSION__ >= 199901L
663#include <stdint.h>
664#if defined(INTPTR_MAX) /* even in C99 this type is optional */
665#undef LUA_KCONTEXT
666#define LUA_KCONTEXT intptr_t
667#endif
668#endif
669
670
671/*
672@@ lua_getlocaledecpoint gets the locale "radix character" (decimal point).
673** Change that if you do not want to use C locales. (Code using this
674** macro must include the header 'locale.h'.)
675*/
676#if !defined(lua_getlocaledecpoint)
677#define lua_getlocaledecpoint() (localeconv()->decimal_point[0])
678#endif
679
680
681/*
682** macros to improve jump prediction, used mostly for error handling
683** and debug facilities. (Some macros in the Lua API use these macros.
684** Define LUA_NOBUILTIN if you do not want '__builtin_expect' in your
685** code.)
686*/
687#if !defined(luai_likely)
688
689#if defined(__GNUC__) && !defined(LUA_NOBUILTIN)
690#define luai_likely(x) (__builtin_expect(((x) != 0), 1))
691#define luai_unlikely(x) (__builtin_expect(((x) != 0), 0))
692#else
693#define luai_likely(x) (x)
694#define luai_unlikely(x) (x)
695#endif
696
697#endif
698
699
700
701/* }================================================================== */
702
703
704/*
705** {==================================================================
706** Language Variations
707** =====================================================================
708*/
709
710/*
711@@ LUA_NOCVTN2S/LUA_NOCVTS2N control how Lua performs some
712** coercions. Define LUA_NOCVTN2S to turn off automatic coercion from
713** numbers to strings. Define LUA_NOCVTS2N to turn off automatic
714** coercion from strings to numbers.
715*/
716/* #define LUA_NOCVTN2S */
717/* #define LUA_NOCVTS2N */
718
719
720/*
721@@ LUA_USE_APICHECK turns on several consistency checks on the C API.
722** Define it as a help when debugging C code.
723*/
724/* #define LUA_USE_APICHECK */
725
726/* }================================================================== */
727
728
729/*
730** {==================================================================
731** Macros that affect the API and must be stable (that is, must be the
732** same when you compile Lua and when you compile code that links to
733** Lua).
734** =====================================================================
735*/
736
737/*
738@@ LUA_EXTRASPACE defines the size of a raw memory area associated with
739** a Lua state with very fast access.
740** CHANGE it if you need a different size.
741*/
742#define LUA_EXTRASPACE (sizeof(void *))
743
744
745/*
746@@ LUA_IDSIZE gives the maximum size for the description of the source
747** of a function in debug information.
748** CHANGE it if you want a different size.
749*/
750#define LUA_IDSIZE 60
751
752
753/*
754@@ LUAL_BUFFERSIZE is the initial buffer size used by the lauxlib
755** buffer system.
756*/
757#define LUAL_BUFFERSIZE ((int)(16 * sizeof(void*) * sizeof(lua_Number)))
758
759
760/*
761@@ LUAI_MAXALIGN defines fields that, when used in a union, ensure
762** maximum alignment for the other items in that union.
763*/
764#define LUAI_MAXALIGN lua_Number n; double u; void *s; lua_Integer i; long l
765
766/* }================================================================== */
767
768
769
770
771
772/* =================================================================== */
773
774/*
775** Local configuration. You can use this space to add your redefinitions
776** without modifying the main part of the file.
777*/
778
779
780
781#endif
782