~flosoft/s25rttr/trunk

« back to all changes in this revision

Viewing changes to contrib/lua/lin64/include/lua.h

  • Committer: FloSoft
  • Date: 2014-04-25 15:35:50 UTC
  • Revision ID: flosoft@siedler25.org-20140425153550-9muu4vodhlqu58m0
committing subversion revision 9357 by FloSoft
astyle

modified:
s25client/trunk/
s25client/trunk/contrib/lua/lin32/include/
s25client/trunk/contrib/lua/lin64/include/
s25client/trunk/contrib/lua/mac/include/
s25client/trunk/contrib/lua/win32/include/
s25client/trunk/contrib/lua/win64/include/
s25client/trunk/driver/audio/SDL/src/
s25client/trunk/driver/src/
s25client/trunk/driver/video/GLFW/src/
s25client/trunk/driver/video/SDL/src/
s25client/trunk/driver/video/WinAPI/src/
s25client/trunk/src/
s25client/trunk/win32/
s25client/trunk/win32/prebuild-mutex/src/

Show diffs side-by-side

added added

removed removed

Lines of Context:
16
16
#include "luaconf.h"
17
17
 
18
18
 
19
 
#define LUA_VERSION_MAJOR       "5"
20
 
#define LUA_VERSION_MINOR       "2"
21
 
#define LUA_VERSION_NUM         502
22
 
#define LUA_VERSION_RELEASE     "1"
 
19
#define LUA_VERSION_MAJOR   "5"
 
20
#define LUA_VERSION_MINOR   "2"
 
21
#define LUA_VERSION_NUM     502
 
22
#define LUA_VERSION_RELEASE "1"
23
23
 
24
 
#define LUA_VERSION     "Lua " LUA_VERSION_MAJOR "." LUA_VERSION_MINOR
25
 
#define LUA_RELEASE     LUA_VERSION "." LUA_VERSION_RELEASE
26
 
#define LUA_COPYRIGHT   LUA_RELEASE "  Copyright (C) 1994-2012 Lua.org, PUC-Rio"
27
 
#define LUA_AUTHORS     "R. Ierusalimschy, L. H. de Figueiredo, W. Celes"
 
24
#define LUA_VERSION "Lua " LUA_VERSION_MAJOR "." LUA_VERSION_MINOR
 
25
#define LUA_RELEASE LUA_VERSION "." LUA_VERSION_RELEASE
 
26
#define LUA_COPYRIGHT   LUA_RELEASE "  Copyright (C) 1994-2012 Lua.org, PUC-Rio"
 
27
#define LUA_AUTHORS "R. Ierusalimschy, L. H. de Figueiredo, W. Celes"
28
28
 
29
29
 
30
30
/* mark for precompiled code ('<esc>Lua') */
31
 
#define LUA_SIGNATURE   "\033Lua"
 
31
#define LUA_SIGNATURE   "\033Lua"
32
32
 
33
33
/* option for multiple returns in 'lua_pcall' and 'lua_call' */
34
 
#define LUA_MULTRET     (-1)
 
34
#define LUA_MULTRET (-1)
35
35
 
36
36
 
37
37
/*
38
38
** pseudo-indices
39
39
*/
40
 
#define LUA_REGISTRYINDEX       LUAI_FIRSTPSEUDOIDX
41
 
#define lua_upvalueindex(i)     (LUA_REGISTRYINDEX - (i))
 
40
#define LUA_REGISTRYINDEX   LUAI_FIRSTPSEUDOIDX
 
41
#define lua_upvalueindex(i) (LUA_REGISTRYINDEX - (i))
42
42
 
43
43
 
44
44
/* thread status */
45
 
#define LUA_OK          0
46
 
#define LUA_YIELD       1
47
 
#define LUA_ERRRUN      2
48
 
#define LUA_ERRSYNTAX   3
49
 
#define LUA_ERRMEM      4
50
 
#define LUA_ERRGCMM     5
51
 
#define LUA_ERRERR      6
 
45
#define LUA_OK      0
 
46
#define LUA_YIELD   1
 
47
#define LUA_ERRRUN  2
 
48
#define LUA_ERRSYNTAX   3
 
49
#define LUA_ERRMEM  4
 
50
#define LUA_ERRGCMM 5
 
51
#define LUA_ERRERR  6
52
52
 
53
53
 
54
54
typedef struct lua_State lua_State;
55
55
 
56
 
typedef int (*lua_CFunction) (lua_State *L);
 
56
typedef int (*lua_CFunction) (lua_State* L);
57
57
 
58
58
 
59
59
/*
60
60
** functions that read/write blocks when loading/dumping Lua chunks
61
61
*/
62
 
typedef const char * (*lua_Reader) (lua_State *L, void *ud, size_t *sz);
 
62
typedef const char* (*lua_Reader) (lua_State* L, void* ud, size_t* sz);
63
63
 
64
 
typedef int (*lua_Writer) (lua_State *L, const void* p, size_t sz, void* ud);
 
64
typedef int (*lua_Writer) (lua_State* L, const void* p, size_t sz, void* ud);
65
65
 
66
66
 
67
67
/*
68
68
** prototype for memory-allocation functions
69
69
*/
70
 
typedef void * (*lua_Alloc) (void *ud, void *ptr, size_t osize, size_t nsize);
 
70
typedef void* (*lua_Alloc) (void* ud, void* ptr, size_t osize, size_t nsize);
71
71
 
72
72
 
73
73
/*
74
74
** basic types
75
75
*/
76
 
#define LUA_TNONE               (-1)
77
 
 
78
 
#define LUA_TNIL                0
79
 
#define LUA_TBOOLEAN            1
80
 
#define LUA_TLIGHTUSERDATA      2
81
 
#define LUA_TNUMBER             3
82
 
#define LUA_TSTRING             4
83
 
#define LUA_TTABLE              5
84
 
#define LUA_TFUNCTION           6
85
 
#define LUA_TUSERDATA           7
86
 
#define LUA_TTHREAD             8
87
 
 
88
 
#define LUA_NUMTAGS             9
 
76
#define LUA_TNONE       (-1)
 
77
 
 
78
#define LUA_TNIL        0
 
79
#define LUA_TBOOLEAN        1
 
80
#define LUA_TLIGHTUSERDATA  2
 
81
#define LUA_TNUMBER     3
 
82
#define LUA_TSTRING     4
 
83
#define LUA_TTABLE      5
 
84
#define LUA_TFUNCTION       6
 
85
#define LUA_TUSERDATA       7
 
86
#define LUA_TTHREAD     8
 
87
 
 
88
#define LUA_NUMTAGS     9
89
89
 
90
90
 
91
91
 
92
92
/* minimum Lua stack available to a C function */
93
 
#define LUA_MINSTACK    20
 
93
#define LUA_MINSTACK    20
94
94
 
95
95
 
96
96
/* predefined values in the registry */
97
 
#define LUA_RIDX_MAINTHREAD     1
98
 
#define LUA_RIDX_GLOBALS        2
99
 
#define LUA_RIDX_LAST           LUA_RIDX_GLOBALS
 
97
#define LUA_RIDX_MAINTHREAD 1
 
98
#define LUA_RIDX_GLOBALS    2
 
99
#define LUA_RIDX_LAST       LUA_RIDX_GLOBALS
100
100
 
101
101
 
102
102
/* type of numbers in Lua */
123
123
/*
124
124
** state manipulation
125
125
*/
126
 
LUA_API lua_State *(lua_newstate) (lua_Alloc f, void *ud);
127
 
LUA_API void       (lua_close) (lua_State *L);
128
 
LUA_API lua_State *(lua_newthread) (lua_State *L);
129
 
 
130
 
LUA_API lua_CFunction (lua_atpanic) (lua_State *L, lua_CFunction panicf);
131
 
 
132
 
 
133
 
LUA_API const lua_Number *(lua_version) (lua_State *L);
 
126
LUA_API lua_State* (lua_newstate) (lua_Alloc f, void* ud);
 
127
LUA_API void       (lua_close) (lua_State* L);
 
128
LUA_API lua_State* (lua_newthread) (lua_State* L);
 
129
 
 
130
LUA_API lua_CFunction (lua_atpanic) (lua_State* L, lua_CFunction panicf);
 
131
 
 
132
 
 
133
LUA_API const lua_Number* (lua_version) (lua_State* L);
134
134
 
135
135
 
136
136
/*
137
137
** basic stack manipulation
138
138
*/
139
 
LUA_API int   (lua_absindex) (lua_State *L, int idx);
140
 
LUA_API int   (lua_gettop) (lua_State *L);
141
 
LUA_API void  (lua_settop) (lua_State *L, int idx);
142
 
LUA_API void  (lua_pushvalue) (lua_State *L, int idx);
143
 
LUA_API void  (lua_remove) (lua_State *L, int idx);
144
 
LUA_API void  (lua_insert) (lua_State *L, int idx);
145
 
LUA_API void  (lua_replace) (lua_State *L, int idx);
146
 
LUA_API void  (lua_copy) (lua_State *L, int fromidx, int toidx);
147
 
LUA_API int   (lua_checkstack) (lua_State *L, int sz);
 
139
LUA_API int   (lua_absindex) (lua_State* L, int idx);
 
140
LUA_API int   (lua_gettop) (lua_State* L);
 
141
LUA_API void  (lua_settop) (lua_State* L, int idx);
 
142
LUA_API void  (lua_pushvalue) (lua_State* L, int idx);
 
143
LUA_API void  (lua_remove) (lua_State* L, int idx);
 
144
LUA_API void  (lua_insert) (lua_State* L, int idx);
 
145
LUA_API void  (lua_replace) (lua_State* L, int idx);
 
146
LUA_API void  (lua_copy) (lua_State* L, int fromidx, int toidx);
 
147
LUA_API int   (lua_checkstack) (lua_State* L, int sz);
148
148
 
149
 
LUA_API void  (lua_xmove) (lua_State *from, lua_State *to, int n);
 
149
LUA_API void  (lua_xmove) (lua_State* from, lua_State* to, int n);
150
150
 
151
151
 
152
152
/*
153
153
** access functions (stack -> C)
154
154
*/
155
155
 
156
 
LUA_API int             (lua_isnumber) (lua_State *L, int idx);
157
 
LUA_API int             (lua_isstring) (lua_State *L, int idx);
158
 
LUA_API int             (lua_iscfunction) (lua_State *L, int idx);
159
 
LUA_API int             (lua_isuserdata) (lua_State *L, int idx);
160
 
LUA_API int             (lua_type) (lua_State *L, int idx);
161
 
LUA_API const char     *(lua_typename) (lua_State *L, int tp);
 
156
LUA_API int             (lua_isnumber) (lua_State* L, int idx);
 
157
LUA_API int             (lua_isstring) (lua_State* L, int idx);
 
158
LUA_API int             (lua_iscfunction) (lua_State* L, int idx);
 
159
LUA_API int             (lua_isuserdata) (lua_State* L, int idx);
 
160
LUA_API int             (lua_type) (lua_State* L, int idx);
 
161
LUA_API const char*     (lua_typename) (lua_State* L, int tp);
162
162
 
163
 
LUA_API lua_Number      (lua_tonumberx) (lua_State *L, int idx, int *isnum);
164
 
LUA_API lua_Integer     (lua_tointegerx) (lua_State *L, int idx, int *isnum);
165
 
LUA_API lua_Unsigned    (lua_tounsignedx) (lua_State *L, int idx, int *isnum);
166
 
LUA_API int             (lua_toboolean) (lua_State *L, int idx);
167
 
LUA_API const char     *(lua_tolstring) (lua_State *L, int idx, size_t *len);
168
 
LUA_API size_t          (lua_rawlen) (lua_State *L, int idx);
169
 
LUA_API lua_CFunction   (lua_tocfunction) (lua_State *L, int idx);
170
 
LUA_API void           *(lua_touserdata) (lua_State *L, int idx);
171
 
LUA_API lua_State      *(lua_tothread) (lua_State *L, int idx);
172
 
LUA_API const void     *(lua_topointer) (lua_State *L, int idx);
 
163
LUA_API lua_Number      (lua_tonumberx) (lua_State* L, int idx, int* isnum);
 
164
LUA_API lua_Integer     (lua_tointegerx) (lua_State* L, int idx, int* isnum);
 
165
LUA_API lua_Unsigned    (lua_tounsignedx) (lua_State* L, int idx, int* isnum);
 
166
LUA_API int             (lua_toboolean) (lua_State* L, int idx);
 
167
LUA_API const char*     (lua_tolstring) (lua_State* L, int idx, size_t* len);
 
168
LUA_API size_t          (lua_rawlen) (lua_State* L, int idx);
 
169
LUA_API lua_CFunction   (lua_tocfunction) (lua_State* L, int idx);
 
170
LUA_API void*           (lua_touserdata) (lua_State* L, int idx);
 
171
LUA_API lua_State*      (lua_tothread) (lua_State* L, int idx);
 
172
LUA_API const void*     (lua_topointer) (lua_State* L, int idx);
173
173
 
174
174
 
175
175
/*
176
176
** Comparison and arithmetic functions
177
177
*/
178
178
 
179
 
#define LUA_OPADD       0       /* ORDER TM */
180
 
#define LUA_OPSUB       1
181
 
#define LUA_OPMUL       2
182
 
#define LUA_OPDIV       3
183
 
#define LUA_OPMOD       4
184
 
#define LUA_OPPOW       5
185
 
#define LUA_OPUNM       6
186
 
 
187
 
LUA_API void  (lua_arith) (lua_State *L, int op);
188
 
 
189
 
#define LUA_OPEQ        0
190
 
#define LUA_OPLT        1
191
 
#define LUA_OPLE        2
192
 
 
193
 
LUA_API int   (lua_rawequal) (lua_State *L, int idx1, int idx2);
194
 
LUA_API int   (lua_compare) (lua_State *L, int idx1, int idx2, int op);
 
179
#define LUA_OPADD   0   /* ORDER TM */
 
180
#define LUA_OPSUB   1
 
181
#define LUA_OPMUL   2
 
182
#define LUA_OPDIV   3
 
183
#define LUA_OPMOD   4
 
184
#define LUA_OPPOW   5
 
185
#define LUA_OPUNM   6
 
186
 
 
187
LUA_API void  (lua_arith) (lua_State* L, int op);
 
188
 
 
189
#define LUA_OPEQ    0
 
190
#define LUA_OPLT    1
 
191
#define LUA_OPLE    2
 
192
 
 
193
LUA_API int   (lua_rawequal) (lua_State* L, int idx1, int idx2);
 
194
LUA_API int   (lua_compare) (lua_State* L, int idx1, int idx2, int op);
195
195
 
196
196
 
197
197
/*
198
198
** push functions (C -> stack)
199
199
*/
200
 
LUA_API void        (lua_pushnil) (lua_State *L);
201
 
LUA_API void        (lua_pushnumber) (lua_State *L, lua_Number n);
202
 
LUA_API void        (lua_pushinteger) (lua_State *L, lua_Integer n);
203
 
LUA_API void        (lua_pushunsigned) (lua_State *L, lua_Unsigned n);
204
 
LUA_API const char *(lua_pushlstring) (lua_State *L, const char *s, size_t l);
205
 
LUA_API const char *(lua_pushstring) (lua_State *L, const char *s);
206
 
LUA_API const char *(lua_pushvfstring) (lua_State *L, const char *fmt,
207
 
                                                      va_list argp);
208
 
LUA_API const char *(lua_pushfstring) (lua_State *L, const char *fmt, ...);
209
 
LUA_API void  (lua_pushcclosure) (lua_State *L, lua_CFunction fn, int n);
210
 
LUA_API void  (lua_pushboolean) (lua_State *L, int b);
211
 
LUA_API void  (lua_pushlightuserdata) (lua_State *L, void *p);
212
 
LUA_API int   (lua_pushthread) (lua_State *L);
 
200
LUA_API void        (lua_pushnil) (lua_State* L);
 
201
LUA_API void        (lua_pushnumber) (lua_State* L, lua_Number n);
 
202
LUA_API void        (lua_pushinteger) (lua_State* L, lua_Integer n);
 
203
LUA_API void        (lua_pushunsigned) (lua_State* L, lua_Unsigned n);
 
204
LUA_API const char* (lua_pushlstring) (lua_State* L, const char* s, size_t l);
 
205
LUA_API const char* (lua_pushstring) (lua_State* L, const char* s);
 
206
LUA_API const char* (lua_pushvfstring) (lua_State* L, const char* fmt,
 
207
                                        va_list argp);
 
208
LUA_API const char* (lua_pushfstring) (lua_State* L, const char* fmt, ...);
 
209
LUA_API void  (lua_pushcclosure) (lua_State* L, lua_CFunction fn, int n);
 
210
LUA_API void  (lua_pushboolean) (lua_State* L, int b);
 
211
LUA_API void  (lua_pushlightuserdata) (lua_State* L, void* p);
 
212
LUA_API int   (lua_pushthread) (lua_State* L);
213
213
 
214
214
 
215
215
/*
216
216
** get functions (Lua -> stack)
217
217
*/
218
 
LUA_API void  (lua_getglobal) (lua_State *L, const char *var);
219
 
LUA_API void  (lua_gettable) (lua_State *L, int idx);
220
 
LUA_API void  (lua_getfield) (lua_State *L, int idx, const char *k);
221
 
LUA_API void  (lua_rawget) (lua_State *L, int idx);
222
 
LUA_API void  (lua_rawgeti) (lua_State *L, int idx, int n);
223
 
LUA_API void  (lua_rawgetp) (lua_State *L, int idx, const void *p);
224
 
LUA_API void  (lua_createtable) (lua_State *L, int narr, int nrec);
225
 
LUA_API void *(lua_newuserdata) (lua_State *L, size_t sz);
226
 
LUA_API int   (lua_getmetatable) (lua_State *L, int objindex);
227
 
LUA_API void  (lua_getuservalue) (lua_State *L, int idx);
 
218
LUA_API void  (lua_getglobal) (lua_State* L, const char* var);
 
219
LUA_API void  (lua_gettable) (lua_State* L, int idx);
 
220
LUA_API void  (lua_getfield) (lua_State* L, int idx, const char* k);
 
221
LUA_API void  (lua_rawget) (lua_State* L, int idx);
 
222
LUA_API void  (lua_rawgeti) (lua_State* L, int idx, int n);
 
223
LUA_API void  (lua_rawgetp) (lua_State* L, int idx, const void* p);
 
224
LUA_API void  (lua_createtable) (lua_State* L, int narr, int nrec);
 
225
LUA_API void* (lua_newuserdata) (lua_State* L, size_t sz);
 
226
LUA_API int   (lua_getmetatable) (lua_State* L, int objindex);
 
227
LUA_API void  (lua_getuservalue) (lua_State* L, int idx);
228
228
 
229
229
 
230
230
/*
231
231
** set functions (stack -> Lua)
232
232
*/
233
 
LUA_API void  (lua_setglobal) (lua_State *L, const char *var);
234
 
LUA_API void  (lua_settable) (lua_State *L, int idx);
235
 
LUA_API void  (lua_setfield) (lua_State *L, int idx, const char *k);
236
 
LUA_API void  (lua_rawset) (lua_State *L, int idx);
237
 
LUA_API void  (lua_rawseti) (lua_State *L, int idx, int n);
238
 
LUA_API void  (lua_rawsetp) (lua_State *L, int idx, const void *p);
239
 
LUA_API int   (lua_setmetatable) (lua_State *L, int objindex);
240
 
LUA_API void  (lua_setuservalue) (lua_State *L, int idx);
 
233
LUA_API void  (lua_setglobal) (lua_State* L, const char* var);
 
234
LUA_API void  (lua_settable) (lua_State* L, int idx);
 
235
LUA_API void  (lua_setfield) (lua_State* L, int idx, const char* k);
 
236
LUA_API void  (lua_rawset) (lua_State* L, int idx);
 
237
LUA_API void  (lua_rawseti) (lua_State* L, int idx, int n);
 
238
LUA_API void  (lua_rawsetp) (lua_State* L, int idx, const void* p);
 
239
LUA_API int   (lua_setmetatable) (lua_State* L, int objindex);
 
240
LUA_API void  (lua_setuservalue) (lua_State* L, int idx);
241
241
 
242
242
 
243
243
/*
244
244
** 'load' and 'call' functions (load and run Lua code)
245
245
*/
246
 
LUA_API void  (lua_callk) (lua_State *L, int nargs, int nresults, int ctx,
 
246
LUA_API void  (lua_callk) (lua_State* L, int nargs, int nresults, int ctx,
247
247
                           lua_CFunction k);
248
 
#define lua_call(L,n,r)         lua_callk(L, (n), (r), 0, NULL)
249
 
 
250
 
LUA_API int   (lua_getctx) (lua_State *L, int *ctx);
251
 
 
252
 
LUA_API int   (lua_pcallk) (lua_State *L, int nargs, int nresults, int errfunc,
 
248
#define lua_call(L,n,r)     lua_callk(L, (n), (r), 0, NULL)
 
249
 
 
250
LUA_API int   (lua_getctx) (lua_State* L, int* ctx);
 
251
 
 
252
LUA_API int   (lua_pcallk) (lua_State* L, int nargs, int nresults, int errfunc,
253
253
                            int ctx, lua_CFunction k);
254
 
#define lua_pcall(L,n,r,f)      lua_pcallk(L, (n), (r), (f), 0, NULL)
255
 
 
256
 
LUA_API int   (lua_load) (lua_State *L, lua_Reader reader, void *dt,
257
 
                                        const char *chunkname,
258
 
                                        const char *mode);
259
 
 
260
 
LUA_API int (lua_dump) (lua_State *L, lua_Writer writer, void *data);
 
254
#define lua_pcall(L,n,r,f)  lua_pcallk(L, (n), (r), (f), 0, NULL)
 
255
 
 
256
LUA_API int   (lua_load) (lua_State* L, lua_Reader reader, void* dt,
 
257
                          const char* chunkname,
 
258
                          const char* mode);
 
259
 
 
260
LUA_API int (lua_dump) (lua_State* L, lua_Writer writer, void* data);
261
261
 
262
262
 
263
263
/*
264
264
** coroutine functions
265
265
*/
266
 
LUA_API int  (lua_yieldk) (lua_State *L, int nresults, int ctx,
 
266
LUA_API int  (lua_yieldk) (lua_State* L, int nresults, int ctx,
267
267
                           lua_CFunction k);
268
 
#define lua_yield(L,n)          lua_yieldk(L, (n), 0, NULL)
269
 
LUA_API int  (lua_resume) (lua_State *L, lua_State *from, int narg);
270
 
LUA_API int  (lua_status) (lua_State *L);
 
268
#define lua_yield(L,n)      lua_yieldk(L, (n), 0, NULL)
 
269
LUA_API int  (lua_resume) (lua_State* L, lua_State* from, int narg);
 
270
LUA_API int  (lua_status) (lua_State* L);
271
271
 
272
272
/*
273
273
** garbage-collection function and options
274
274
*/
275
275
 
276
 
#define LUA_GCSTOP              0
277
 
#define LUA_GCRESTART           1
278
 
#define LUA_GCCOLLECT           2
279
 
#define LUA_GCCOUNT             3
280
 
#define LUA_GCCOUNTB            4
281
 
#define LUA_GCSTEP              5
282
 
#define LUA_GCSETPAUSE          6
283
 
#define LUA_GCSETSTEPMUL        7
284
 
#define LUA_GCSETMAJORINC       8
285
 
#define LUA_GCISRUNNING         9
286
 
#define LUA_GCGEN               10
287
 
#define LUA_GCINC               11
 
276
#define LUA_GCSTOP      0
 
277
#define LUA_GCRESTART       1
 
278
#define LUA_GCCOLLECT       2
 
279
#define LUA_GCCOUNT     3
 
280
#define LUA_GCCOUNTB        4
 
281
#define LUA_GCSTEP      5
 
282
#define LUA_GCSETPAUSE      6
 
283
#define LUA_GCSETSTEPMUL    7
 
284
#define LUA_GCSETMAJORINC   8
 
285
#define LUA_GCISRUNNING     9
 
286
#define LUA_GCGEN       10
 
287
#define LUA_GCINC       11
288
288
 
289
 
LUA_API int (lua_gc) (lua_State *L, int what, int data);
 
289
LUA_API int (lua_gc) (lua_State* L, int what, int data);
290
290
 
291
291
 
292
292
/*
293
293
** miscellaneous functions
294
294
*/
295
295
 
296
 
LUA_API int   (lua_error) (lua_State *L);
297
 
 
298
 
LUA_API int   (lua_next) (lua_State *L, int idx);
299
 
 
300
 
LUA_API void  (lua_concat) (lua_State *L, int n);
301
 
LUA_API void  (lua_len)    (lua_State *L, int idx);
302
 
 
303
 
LUA_API lua_Alloc (lua_getallocf) (lua_State *L, void **ud);
304
 
LUA_API void      (lua_setallocf) (lua_State *L, lua_Alloc f, void *ud);
 
296
LUA_API int   (lua_error) (lua_State* L);
 
297
 
 
298
LUA_API int   (lua_next) (lua_State* L, int idx);
 
299
 
 
300
LUA_API void  (lua_concat) (lua_State* L, int n);
 
301
LUA_API void  (lua_len)    (lua_State* L, int idx);
 
302
 
 
303
LUA_API lua_Alloc (lua_getallocf) (lua_State* L, void** ud);
 
304
LUA_API void      (lua_setallocf) (lua_State* L, lua_Alloc f, void* ud);
305
305
 
306
306
 
307
307
 
311
311
** ===============================================================
312
312
*/
313
313
 
314
 
#define lua_tonumber(L,i)       lua_tonumberx(L,i,NULL)
315
 
#define lua_tointeger(L,i)      lua_tointegerx(L,i,NULL)
316
 
#define lua_tounsigned(L,i)     lua_tounsignedx(L,i,NULL)
317
 
 
318
 
#define lua_pop(L,n)            lua_settop(L, -(n)-1)
319
 
 
320
 
#define lua_newtable(L)         lua_createtable(L, 0, 0)
 
314
#define lua_tonumber(L,i)   lua_tonumberx(L,i,NULL)
 
315
#define lua_tointeger(L,i)  lua_tointegerx(L,i,NULL)
 
316
#define lua_tounsigned(L,i) lua_tounsignedx(L,i,NULL)
 
317
 
 
318
#define lua_pop(L,n)        lua_settop(L, -(n)-1)
 
319
 
 
320
#define lua_newtable(L)     lua_createtable(L, 0, 0)
321
321
 
322
322
#define lua_register(L,n,f) (lua_pushcfunction(L, (f)), lua_setglobal(L, (n)))
323
323
 
324
 
#define lua_pushcfunction(L,f)  lua_pushcclosure(L, (f), 0)
325
 
 
326
 
#define lua_isfunction(L,n)     (lua_type(L, (n)) == LUA_TFUNCTION)
327
 
#define lua_istable(L,n)        (lua_type(L, (n)) == LUA_TTABLE)
328
 
#define lua_islightuserdata(L,n)        (lua_type(L, (n)) == LUA_TLIGHTUSERDATA)
329
 
#define lua_isnil(L,n)          (lua_type(L, (n)) == LUA_TNIL)
330
 
#define lua_isboolean(L,n)      (lua_type(L, (n)) == LUA_TBOOLEAN)
331
 
#define lua_isthread(L,n)       (lua_type(L, (n)) == LUA_TTHREAD)
332
 
#define lua_isnone(L,n)         (lua_type(L, (n)) == LUA_TNONE)
333
 
#define lua_isnoneornil(L, n)   (lua_type(L, (n)) <= 0)
334
 
 
335
 
#define lua_pushliteral(L, s)   \
336
 
        lua_pushlstring(L, "" s, (sizeof(s)/sizeof(char))-1)
 
324
#define lua_pushcfunction(L,f)  lua_pushcclosure(L, (f), 0)
 
325
 
 
326
#define lua_isfunction(L,n) (lua_type(L, (n)) == LUA_TFUNCTION)
 
327
#define lua_istable(L,n)    (lua_type(L, (n)) == LUA_TTABLE)
 
328
#define lua_islightuserdata(L,n)    (lua_type(L, (n)) == LUA_TLIGHTUSERDATA)
 
329
#define lua_isnil(L,n)      (lua_type(L, (n)) == LUA_TNIL)
 
330
#define lua_isboolean(L,n)  (lua_type(L, (n)) == LUA_TBOOLEAN)
 
331
#define lua_isthread(L,n)   (lua_type(L, (n)) == LUA_TTHREAD)
 
332
#define lua_isnone(L,n)     (lua_type(L, (n)) == LUA_TNONE)
 
333
#define lua_isnoneornil(L, n)   (lua_type(L, (n)) <= 0)
 
334
 
 
335
#define lua_pushliteral(L, s)   \
 
336
    lua_pushlstring(L, "" s, (sizeof(s)/sizeof(char))-1)
337
337
 
338
338
#define lua_pushglobaltable(L)  \
339
 
        lua_rawgeti(L, LUA_REGISTRYINDEX, LUA_RIDX_GLOBALS)
 
339
    lua_rawgeti(L, LUA_REGISTRYINDEX, LUA_RIDX_GLOBALS)
340
340
 
341
 
#define lua_tostring(L,i)       lua_tolstring(L, (i), NULL)
 
341
#define lua_tostring(L,i)   lua_tolstring(L, (i), NULL)
342
342
 
343
343
 
344
344
 
352
352
/*
353
353
** Event codes
354
354
*/
355
 
#define LUA_HOOKCALL    0
356
 
#define LUA_HOOKRET     1
357
 
#define LUA_HOOKLINE    2
358
 
#define LUA_HOOKCOUNT   3
 
355
#define LUA_HOOKCALL    0
 
356
#define LUA_HOOKRET 1
 
357
#define LUA_HOOKLINE    2
 
358
#define LUA_HOOKCOUNT   3
359
359
#define LUA_HOOKTAILCALL 4
360
360
 
361
361
 
362
362
/*
363
363
** Event masks
364
364
*/
365
 
#define LUA_MASKCALL    (1 << LUA_HOOKCALL)
366
 
#define LUA_MASKRET     (1 << LUA_HOOKRET)
367
 
#define LUA_MASKLINE    (1 << LUA_HOOKLINE)
368
 
#define LUA_MASKCOUNT   (1 << LUA_HOOKCOUNT)
 
365
#define LUA_MASKCALL    (1 << LUA_HOOKCALL)
 
366
#define LUA_MASKRET (1 << LUA_HOOKRET)
 
367
#define LUA_MASKLINE    (1 << LUA_HOOKLINE)
 
368
#define LUA_MASKCOUNT   (1 << LUA_HOOKCOUNT)
369
369
 
370
370
typedef struct lua_Debug lua_Debug;  /* activation record */
371
371
 
372
372
 
373
373
/* Functions to be called by the debugger in specific events */
374
 
typedef void (*lua_Hook) (lua_State *L, lua_Debug *ar);
375
 
 
376
 
 
377
 
LUA_API int (lua_getstack) (lua_State *L, int level, lua_Debug *ar);
378
 
LUA_API int (lua_getinfo) (lua_State *L, const char *what, lua_Debug *ar);
379
 
LUA_API const char *(lua_getlocal) (lua_State *L, const lua_Debug *ar, int n);
380
 
LUA_API const char *(lua_setlocal) (lua_State *L, const lua_Debug *ar, int n);
381
 
LUA_API const char *(lua_getupvalue) (lua_State *L, int funcindex, int n);
382
 
LUA_API const char *(lua_setupvalue) (lua_State *L, int funcindex, int n);
383
 
 
384
 
LUA_API void *(lua_upvalueid) (lua_State *L, int fidx, int n);
385
 
LUA_API void  (lua_upvaluejoin) (lua_State *L, int fidx1, int n1,
386
 
                                               int fidx2, int n2);
387
 
 
388
 
LUA_API int (lua_sethook) (lua_State *L, lua_Hook func, int mask, int count);
389
 
LUA_API lua_Hook (lua_gethook) (lua_State *L);
390
 
LUA_API int (lua_gethookmask) (lua_State *L);
391
 
LUA_API int (lua_gethookcount) (lua_State *L);
392
 
 
393
 
 
394
 
struct lua_Debug {
395
 
  int event;
396
 
  const char *name;     /* (n) */
397
 
  const char *namewhat; /* (n) 'global', 'local', 'field', 'method' */
398
 
  const char *what;     /* (S) 'Lua', 'C', 'main', 'tail' */
399
 
  const char *source;   /* (S) */
400
 
  int currentline;      /* (l) */
401
 
  int linedefined;      /* (S) */
402
 
  int lastlinedefined;  /* (S) */
403
 
  unsigned char nups;   /* (u) number of upvalues */
404
 
  unsigned char nparams;/* (u) number of parameters */
405
 
  char isvararg;        /* (u) */
406
 
  char istailcall;      /* (t) */
407
 
  char short_src[LUA_IDSIZE]; /* (S) */
408
 
  /* private part */
409
 
  struct CallInfo *i_ci;  /* active function */
 
374
typedef void (*lua_Hook) (lua_State* L, lua_Debug* ar);
 
375
 
 
376
 
 
377
LUA_API int (lua_getstack) (lua_State* L, int level, lua_Debug* ar);
 
378
LUA_API int (lua_getinfo) (lua_State* L, const char* what, lua_Debug* ar);
 
379
LUA_API const char* (lua_getlocal) (lua_State* L, const lua_Debug* ar, int n);
 
380
LUA_API const char* (lua_setlocal) (lua_State* L, const lua_Debug* ar, int n);
 
381
LUA_API const char* (lua_getupvalue) (lua_State* L, int funcindex, int n);
 
382
LUA_API const char* (lua_setupvalue) (lua_State* L, int funcindex, int n);
 
383
 
 
384
LUA_API void* (lua_upvalueid) (lua_State* L, int fidx, int n);
 
385
LUA_API void  (lua_upvaluejoin) (lua_State* L, int fidx1, int n1,
 
386
                                 int fidx2, int n2);
 
387
 
 
388
LUA_API int (lua_sethook) (lua_State* L, lua_Hook func, int mask, int count);
 
389
LUA_API lua_Hook (lua_gethook) (lua_State* L);
 
390
LUA_API int (lua_gethookmask) (lua_State* L);
 
391
LUA_API int (lua_gethookcount) (lua_State* L);
 
392
 
 
393
 
 
394
struct lua_Debug
 
395
{
 
396
    int event;
 
397
    const char* name; /* (n) */
 
398
    const char* namewhat; /* (n) 'global', 'local', 'field', 'method' */
 
399
    const char* what; /* (S) 'Lua', 'C', 'main', 'tail' */
 
400
    const char* source;   /* (S) */
 
401
    int currentline;  /* (l) */
 
402
    int linedefined;  /* (S) */
 
403
    int lastlinedefined;  /* (S) */
 
404
    unsigned char nups;   /* (u) number of upvalues */
 
405
    unsigned char nparams;/* (u) number of parameters */
 
406
    char isvararg;        /* (u) */
 
407
    char istailcall;  /* (t) */
 
408
    char short_src[LUA_IDSIZE]; /* (S) */
 
409
    /* private part */
 
410
    struct CallInfo* i_ci;  /* active function */
410
411
};
411
412
 
412
413
/* }====================================================================== */