Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/ceguilua/src/lua/llimits.h @ 2193

Last change on this file since 2193 was 1806, checked in by rgrieder, 16 years ago

added single 5.1.3 directory for lua since CEGUILua 0.5 can also build against lua 5.1

  • Property svn:eol-style set to native
File size: 2.3 KB
Line 
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
18typedef LUAI_UINT32 lu_int32;
19
20typedef LUAI_UMEM lu_mem;
21
22typedef LUAI_MEM l_mem;
23
24
25
26/* chars used as small naturals (so that `char' is reserved for characters) */
27typedef 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 */
47typedef LUAI_USER_ALIGNMENT_T L_Umaxalign;
48
49
50/* result of a `usual argument conversion' over lua_Number */
51typedef 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*/
88typedef 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
Note: See TracBrowser for help on using the repository browser.