PageRenderTime 20ms CodeModel.GetById 8ms app.highlight 6ms RepoModel.GetById 1ms app.codeStats 0ms

/src/middleware/lua/llimits.h

https://bitbucket.org/vivkin/gam3b00bs/
C++ Header | 128 lines | 53 code | 51 blank | 24 comment | 0 complexity | 49146162c71b60bac7d70aa68ad987c9 MD5 | raw file
  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