?login_element?

Subversion Repositories NedoOS

Rev

Blame | Last modification | View Log | Download

  1. /*
  2. ** $Id: llimits.h,v 1.69.1.1 2007/12/27 13:02:25 roberto Exp $
  3. ** Limits, basic types, and some other `installation-dependent' definitions
  4. ** See Copyright Notice in lua.h
  5. */
  6.  
  7. #ifndef llimits_h
  8. #define llimits_h
  9.  
  10.  
  11. #include <limits.h>
  12. #include <stddef.h>
  13.  
  14.  
  15. #include "lua.h"
  16.  
  17.  
  18. typedef LUAI_UINT32 lu_int32;
  19.  
  20. typedef LUAI_UMEM lu_mem;
  21.  
  22. typedef LUAI_MEM l_mem;
  23.  
  24.  
  25.  
  26. /* chars used as small naturals (so that `char' is reserved for characters) */
  27. typedef unsigned char lu_byte;
  28.  
  29.  
  30. #define MAX_SIZET       ((size_t)(~(size_t)0)-2)
  31.  
  32. #define MAX_LUMEM       ((lu_mem)(~(lu_mem)0)-2)
  33.  
  34.  
  35. #define MAX_INT (INT_MAX-2)  /* maximum value of an int (-2 for safety) */
  36.  
  37. /*
  38. ** conversion of pointer to integer
  39. ** this is for hashing only; there is no problem if the integer
  40. ** cannot hold the whole pointer value
  41. */
  42. #define IntPoint(p)  ((unsigned int)(lu_mem)(p))
  43.  
  44.  
  45.  
  46. /* type to ensure maximum alignment */
  47. typedef LUAI_USER_ALIGNMENT_T L_Umaxalign;
  48.  
  49.  
  50. /* result of a `usual argument conversion' over lua_Number */
  51. typedef LUAI_UACNUMBER l_uacNumber;
  52.  
  53.  
  54. /* internal assertions for in-house debugging */
  55. #ifdef lua_assert
  56.  
  57. #define check_exp(c,e)          (lua_assert(c), (e))
  58. #define api_check(l,e)          lua_assert(e)
  59.  
  60. #else
  61.  
  62. #define lua_assert(c)           ((void)0)
  63. #define check_exp(c,e)          (e)
  64. #define api_check               luai_apicheck
  65.  
  66. #endif
  67.  
  68.  
  69. #ifndef UNUSED
  70. #define UNUSED(x)       ((void)(x))     /* to avoid warnings */
  71. #endif
  72.  
  73.  
  74. #ifndef cast
  75. #define cast(t, exp)    ((t)(exp))
  76. #endif
  77.  
  78. #define cast_byte(i)    cast(lu_byte, (i))
  79. #define cast_num(i)     cast(lua_Number, (i))
  80. #define cast_int(i)     cast(int, (i))
  81.  
  82.  
  83.  
  84. /*
  85. ** type for virtual-machine instructions
  86. ** must be an unsigned with (at least) 4 bytes (see details in lopcodes.h)
  87. */
  88. typedef lu_int32 Instruction;
  89.  
  90.  
  91.  
  92. /* maximum stack for a Lua function */
  93. #define MAXSTACK        250
  94.  
  95.  
  96.  
  97. /* minimum size for the string table (must be power of 2) */
  98. #ifndef MINSTRTABSIZE
  99. #define MINSTRTABSIZE   32
  100. #endif
  101.  
  102.  
  103. /* minimum size for string buffer */
  104. #ifndef LUA_MINBUFFER
  105. #define LUA_MINBUFFER   32
  106. #endif
  107.  
  108.  
  109. #ifndef lua_lock
  110. #define lua_lock(L)     ((void) 0)
  111. #define lua_unlock(L)   ((void) 0)
  112. #endif
  113.  
  114. #ifndef luai_threadyield
  115. #define luai_threadyield(L)     {lua_unlock(L); lua_lock(L);}
  116. #endif
  117.  
  118.  
  119. /*
  120. ** macro to control inclusion of some hard tests on stack reallocation
  121. */
  122. #ifndef HARDSTACKTESTS
  123. #define condhardstacktests(x)   ((void)0)
  124. #else
  125. #define condhardstacktests(x)   x
  126. #endif
  127.  
  128. #endif
  129.