- /* 
- ** $Id: llimits.h,v 1.69.1.1 2007/12/27 13:02:25 roberto Exp $ 
- ** Limits, basic types, and some other `installation-dependent' definitions 
- ** See Copyright Notice in lua.h 
- */ 
-   
- #ifndef llimits_h 
- #define llimits_h 
-   
-   
- #include <limits.h> 
- #include <stddef.h> 
-   
-   
- #include "lua.h" 
-   
-   
- typedef LUAI_UINT32 lu_int32; 
-   
- typedef LUAI_UMEM lu_mem; 
-   
- typedef LUAI_MEM l_mem; 
-   
-   
-   
- /* chars used as small naturals (so that `char' is reserved for characters) */ 
- typedef unsigned char lu_byte; 
-   
-   
- #define MAX_SIZET       ((size_t)(~(size_t)0)-2) 
-   
- #define MAX_LUMEM       ((lu_mem)(~(lu_mem)0)-2) 
-   
-   
- #define MAX_INT (INT_MAX-2)  /* maximum value of an int (-2 for safety) */ 
-   
- /* 
- ** conversion of pointer to integer 
- ** this is for hashing only; there is no problem if the integer 
- ** cannot hold the whole pointer value 
- */ 
- #define IntPoint(p)  ((unsigned int)(lu_mem)(p)) 
-   
-   
-   
- /* type to ensure maximum alignment */ 
- typedef LUAI_USER_ALIGNMENT_T L_Umaxalign; 
-   
-   
- /* result of a `usual argument conversion' over lua_Number */ 
- typedef LUAI_UACNUMBER l_uacNumber; 
-   
-   
- /* internal assertions for in-house debugging */ 
- #ifdef lua_assert 
-   
- #define check_exp(c,e)          (lua_assert(c), (e)) 
- #define api_check(l,e)          lua_assert(e) 
-   
- #else 
-   
- #define lua_assert(c)           ((void)0) 
- #define check_exp(c,e)          (e) 
- #define api_check               luai_apicheck 
-   
- #endif 
-   
-   
- #ifndef UNUSED 
- #define UNUSED(x)       ((void)(x))     /* to avoid warnings */ 
- #endif 
-   
-   
- #ifndef cast 
- #define cast(t, exp)    ((t)(exp)) 
- #endif 
-   
- #define cast_byte(i)    cast(lu_byte, (i)) 
- #define cast_num(i)     cast(lua_Number, (i)) 
- #define cast_int(i)     cast(int, (i)) 
-   
-   
-   
- /* 
- ** type for virtual-machine instructions 
- ** must be an unsigned with (at least) 4 bytes (see details in lopcodes.h) 
- */ 
- typedef lu_int32 Instruction; 
-   
-   
-   
- /* maximum stack for a Lua function */ 
- #define MAXSTACK        250 
-   
-   
-   
- /* minimum size for the string table (must be power of 2) */ 
- #ifndef MINSTRTABSIZE 
- #define MINSTRTABSIZE   32 
- #endif 
-   
-   
- /* minimum size for string buffer */ 
- #ifndef LUA_MINBUFFER 
- #define LUA_MINBUFFER   32 
- #endif 
-   
-   
- #ifndef lua_lock 
- #define lua_lock(L)     ((void) 0)  
- #define lua_unlock(L)   ((void) 0) 
- #endif 
-   
- #ifndef luai_threadyield 
- #define luai_threadyield(L)     {lua_unlock(L); lua_lock(L);} 
- #endif 
-   
-   
- /* 
- ** macro to control inclusion of some hard tests on stack reallocation 
- */  
- #ifndef HARDSTACKTESTS 
- #define condhardstacktests(x)   ((void)0) 
- #else 
- #define condhardstacktests(x)   x 
- #endif 
-   
- #endif 
-