diff options
Diffstat (limited to 'apps/plugins/lua/lua.h')
-rw-r--r-- | apps/plugins/lua/lua.h | 224 |
1 files changed, 140 insertions, 84 deletions
diff --git a/apps/plugins/lua/lua.h b/apps/plugins/lua/lua.h index a0c57dc60b..149a2c37bc 100644 --- a/apps/plugins/lua/lua.h +++ b/apps/plugins/lua/lua.h | |||
@@ -1,6 +1,6 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id$ | 2 | ** $Id: lua.h,v 1.285.1.2 2013/11/11 12:09:16 roberto Exp $ |
3 | ** Lua - An Extensible Extension Language | 3 | ** Lua - A Scripting Language |
4 | ** Lua.org, PUC-Rio, Brazil (http://www.lua.org) | 4 | ** Lua.org, PUC-Rio, Brazil (http://www.lua.org) |
5 | ** See Copyright Notice at the end of this file | 5 | ** See Copyright Notice at the end of this file |
6 | */ | 6 | */ |
@@ -16,35 +16,39 @@ | |||
16 | #include "luaconf.h" | 16 | #include "luaconf.h" |
17 | 17 | ||
18 | 18 | ||
19 | #define LUA_VERSION "Lua 5.1" | 19 | #define LUA_VERSION_MAJOR "5" |
20 | #define LUA_RELEASE "Lua 5.1.4" | 20 | #define LUA_VERSION_MINOR "2" |
21 | #define LUA_VERSION_NUM 501 | 21 | #define LUA_VERSION_NUM 502 |
22 | #define LUA_COPYRIGHT "Copyright (C) 1994-2008 Lua.org, PUC-Rio" | 22 | #define LUA_VERSION_RELEASE "3" |
23 | #define LUA_AUTHORS "R. Ierusalimschy, L. H. de Figueiredo & W. Celes" | ||
24 | 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-2013 Lua.org, PUC-Rio" | ||
27 | #define LUA_AUTHORS "R. Ierusalimschy, L. H. de Figueiredo, W. Celes" | ||
25 | 28 | ||
26 | /* mark for precompiled code (`<esc>Lua') */ | ||
27 | #define LUA_SIGNATURE "\033Lua" | ||
28 | 29 | ||
29 | /* option for multiple returns in `lua_pcall' and `lua_call' */ | 30 | /* mark for precompiled code ('<esc>Lua') */ |
31 | #define LUA_SIGNATURE "\033Lua" | ||
32 | |||
33 | /* option for multiple returns in 'lua_pcall' and 'lua_call' */ | ||
30 | #define LUA_MULTRET (-1) | 34 | #define LUA_MULTRET (-1) |
31 | 35 | ||
32 | 36 | ||
33 | /* | 37 | /* |
34 | ** pseudo-indices | 38 | ** pseudo-indices |
35 | */ | 39 | */ |
36 | #define LUA_REGISTRYINDEX (-10000) | 40 | #define LUA_REGISTRYINDEX LUAI_FIRSTPSEUDOIDX |
37 | #define LUA_ENVIRONINDEX (-10001) | 41 | #define lua_upvalueindex(i) (LUA_REGISTRYINDEX - (i)) |
38 | #define LUA_GLOBALSINDEX (-10002) | ||
39 | #define lua_upvalueindex(i) (LUA_GLOBALSINDEX-(i)) | ||
40 | 42 | ||
41 | 43 | ||
42 | /* thread status; 0 is OK */ | 44 | /* thread status */ |
45 | #define LUA_OK 0 | ||
43 | #define LUA_YIELD 1 | 46 | #define LUA_YIELD 1 |
44 | #define LUA_ERRRUN 2 | 47 | #define LUA_ERRRUN 2 |
45 | #define LUA_ERRSYNTAX 3 | 48 | #define LUA_ERRSYNTAX 3 |
46 | #define LUA_ERRMEM 4 | 49 | #define LUA_ERRMEM 4 |
47 | #define LUA_ERRERR 5 | 50 | #define LUA_ERRGCMM 5 |
51 | #define LUA_ERRERR 6 | ||
48 | 52 | ||
49 | 53 | ||
50 | typedef struct lua_State lua_State; | 54 | typedef struct lua_State lua_State; |
@@ -81,18 +85,18 @@ typedef void * (*lua_Alloc) (void *ud, void *ptr, size_t osize, size_t nsize); | |||
81 | #define LUA_TUSERDATA 7 | 85 | #define LUA_TUSERDATA 7 |
82 | #define LUA_TTHREAD 8 | 86 | #define LUA_TTHREAD 8 |
83 | 87 | ||
88 | #define LUA_NUMTAGS 9 | ||
89 | |||
84 | 90 | ||
85 | 91 | ||
86 | /* minimum Lua stack available to a C function */ | 92 | /* minimum Lua stack available to a C function */ |
87 | #define LUA_MINSTACK 20 | 93 | #define LUA_MINSTACK 20 |
88 | 94 | ||
89 | 95 | ||
90 | /* | 96 | /* predefined values in the registry */ |
91 | ** generic extra include file | 97 | #define LUA_RIDX_MAINTHREAD 1 |
92 | */ | 98 | #define LUA_RIDX_GLOBALS 2 |
93 | #if defined(LUA_USER_H) | 99 | #define LUA_RIDX_LAST LUA_RIDX_GLOBALS |
94 | #include LUA_USER_H | ||
95 | #endif | ||
96 | 100 | ||
97 | 101 | ||
98 | /* type of numbers in Lua */ | 102 | /* type of numbers in Lua */ |
@@ -102,6 +106,23 @@ typedef LUA_NUMBER lua_Number; | |||
102 | /* type for integer functions */ | 106 | /* type for integer functions */ |
103 | typedef LUA_INTEGER lua_Integer; | 107 | typedef LUA_INTEGER lua_Integer; |
104 | 108 | ||
109 | /* unsigned integer type */ | ||
110 | typedef LUA_UNSIGNED lua_Unsigned; | ||
111 | |||
112 | |||
113 | |||
114 | /* | ||
115 | ** generic extra include file | ||
116 | */ | ||
117 | #if defined(LUA_USER_H) | ||
118 | #include LUA_USER_H | ||
119 | #endif | ||
120 | |||
121 | |||
122 | /* | ||
123 | ** RCS ident string | ||
124 | */ | ||
125 | extern const char lua_ident[]; | ||
105 | 126 | ||
106 | 127 | ||
107 | /* | 128 | /* |
@@ -114,15 +135,20 @@ LUA_API lua_State *(lua_newthread) (lua_State *L); | |||
114 | LUA_API lua_CFunction (lua_atpanic) (lua_State *L, lua_CFunction panicf); | 135 | LUA_API lua_CFunction (lua_atpanic) (lua_State *L, lua_CFunction panicf); |
115 | 136 | ||
116 | 137 | ||
138 | LUA_API const lua_Number *(lua_version) (lua_State *L); | ||
139 | |||
140 | |||
117 | /* | 141 | /* |
118 | ** basic stack manipulation | 142 | ** basic stack manipulation |
119 | */ | 143 | */ |
144 | LUA_API int (lua_absindex) (lua_State *L, int idx); | ||
120 | LUA_API int (lua_gettop) (lua_State *L); | 145 | LUA_API int (lua_gettop) (lua_State *L); |
121 | LUA_API void (lua_settop) (lua_State *L, int idx); | 146 | LUA_API void (lua_settop) (lua_State *L, int idx); |
122 | LUA_API void (lua_pushvalue) (lua_State *L, int idx); | 147 | LUA_API void (lua_pushvalue) (lua_State *L, int idx); |
123 | LUA_API void (lua_remove) (lua_State *L, int idx); | 148 | LUA_API void (lua_remove) (lua_State *L, int idx); |
124 | LUA_API void (lua_insert) (lua_State *L, int idx); | 149 | LUA_API void (lua_insert) (lua_State *L, int idx); |
125 | LUA_API void (lua_replace) (lua_State *L, int idx); | 150 | LUA_API void (lua_replace) (lua_State *L, int idx); |
151 | LUA_API void (lua_copy) (lua_State *L, int fromidx, int toidx); | ||
126 | LUA_API int (lua_checkstack) (lua_State *L, int sz); | 152 | LUA_API int (lua_checkstack) (lua_State *L, int sz); |
127 | 153 | ||
128 | LUA_API void (lua_xmove) (lua_State *from, lua_State *to, int n); | 154 | LUA_API void (lua_xmove) (lua_State *from, lua_State *to, int n); |
@@ -139,15 +165,12 @@ LUA_API int (lua_isuserdata) (lua_State *L, int idx); | |||
139 | LUA_API int (lua_type) (lua_State *L, int idx); | 165 | LUA_API int (lua_type) (lua_State *L, int idx); |
140 | LUA_API const char *(lua_typename) (lua_State *L, int tp); | 166 | LUA_API const char *(lua_typename) (lua_State *L, int tp); |
141 | 167 | ||
142 | LUA_API int (lua_equal) (lua_State *L, int idx1, int idx2); | 168 | LUA_API lua_Number (lua_tonumberx) (lua_State *L, int idx, int *isnum); |
143 | LUA_API int (lua_rawequal) (lua_State *L, int idx1, int idx2); | 169 | LUA_API lua_Integer (lua_tointegerx) (lua_State *L, int idx, int *isnum); |
144 | LUA_API int (lua_lessthan) (lua_State *L, int idx1, int idx2); | 170 | LUA_API lua_Unsigned (lua_tounsignedx) (lua_State *L, int idx, int *isnum); |
145 | |||
146 | LUA_API lua_Number (lua_tonumber) (lua_State *L, int idx); | ||
147 | LUA_API lua_Integer (lua_tointeger) (lua_State *L, int idx); | ||
148 | LUA_API int (lua_toboolean) (lua_State *L, int idx); | 171 | LUA_API int (lua_toboolean) (lua_State *L, int idx); |
149 | LUA_API const char *(lua_tolstring) (lua_State *L, int idx, size_t *len); | 172 | LUA_API const char *(lua_tolstring) (lua_State *L, int idx, size_t *len); |
150 | LUA_API size_t (lua_objlen) (lua_State *L, int idx); | 173 | LUA_API size_t (lua_rawlen) (lua_State *L, int idx); |
151 | LUA_API lua_CFunction (lua_tocfunction) (lua_State *L, int idx); | 174 | LUA_API lua_CFunction (lua_tocfunction) (lua_State *L, int idx); |
152 | LUA_API void *(lua_touserdata) (lua_State *L, int idx); | 175 | LUA_API void *(lua_touserdata) (lua_State *L, int idx); |
153 | LUA_API lua_State *(lua_tothread) (lua_State *L, int idx); | 176 | LUA_API lua_State *(lua_tothread) (lua_State *L, int idx); |
@@ -155,13 +178,36 @@ LUA_API const void *(lua_topointer) (lua_State *L, int idx); | |||
155 | 178 | ||
156 | 179 | ||
157 | /* | 180 | /* |
181 | ** Comparison and arithmetic functions | ||
182 | */ | ||
183 | |||
184 | #define LUA_OPADD 0 /* ORDER TM */ | ||
185 | #define LUA_OPSUB 1 | ||
186 | #define LUA_OPMUL 2 | ||
187 | #define LUA_OPDIV 3 | ||
188 | #define LUA_OPMOD 4 | ||
189 | #define LUA_OPPOW 5 | ||
190 | #define LUA_OPUNM 6 | ||
191 | |||
192 | LUA_API void (lua_arith) (lua_State *L, int op); | ||
193 | |||
194 | #define LUA_OPEQ 0 | ||
195 | #define LUA_OPLT 1 | ||
196 | #define LUA_OPLE 2 | ||
197 | |||
198 | LUA_API int (lua_rawequal) (lua_State *L, int idx1, int idx2); | ||
199 | LUA_API int (lua_compare) (lua_State *L, int idx1, int idx2, int op); | ||
200 | |||
201 | |||
202 | /* | ||
158 | ** push functions (C -> stack) | 203 | ** push functions (C -> stack) |
159 | */ | 204 | */ |
160 | LUA_API void (lua_pushnil) (lua_State *L); | 205 | LUA_API void (lua_pushnil) (lua_State *L); |
161 | LUA_API void (lua_pushnumber) (lua_State *L, lua_Number n); | 206 | LUA_API void (lua_pushnumber) (lua_State *L, lua_Number n); |
162 | LUA_API void (lua_pushinteger) (lua_State *L, lua_Integer n); | 207 | LUA_API void (lua_pushinteger) (lua_State *L, lua_Integer n); |
163 | LUA_API void (lua_pushlstring) (lua_State *L, const char *s, size_t l); | 208 | LUA_API void (lua_pushunsigned) (lua_State *L, lua_Unsigned n); |
164 | LUA_API void (lua_pushstring) (lua_State *L, const char *s); | 209 | LUA_API const char *(lua_pushlstring) (lua_State *L, const char *s, size_t l); |
210 | LUA_API const char *(lua_pushstring) (lua_State *L, const char *s); | ||
165 | LUA_API const char *(lua_pushvfstring) (lua_State *L, const char *fmt, | 211 | LUA_API const char *(lua_pushvfstring) (lua_State *L, const char *fmt, |
166 | va_list argp); | 212 | va_list argp); |
167 | LUA_API const char *(lua_pushfstring) (lua_State *L, const char *fmt, ...); | 213 | LUA_API const char *(lua_pushfstring) (lua_State *L, const char *fmt, ...); |
@@ -174,35 +220,47 @@ LUA_API int (lua_pushthread) (lua_State *L); | |||
174 | /* | 220 | /* |
175 | ** get functions (Lua -> stack) | 221 | ** get functions (Lua -> stack) |
176 | */ | 222 | */ |
223 | LUA_API void (lua_getglobal) (lua_State *L, const char *var); | ||
177 | LUA_API void (lua_gettable) (lua_State *L, int idx); | 224 | LUA_API void (lua_gettable) (lua_State *L, int idx); |
178 | LUA_API void (lua_getfield) (lua_State *L, int idx, const char *k); | 225 | LUA_API void (lua_getfield) (lua_State *L, int idx, const char *k); |
179 | LUA_API void (lua_rawget) (lua_State *L, int idx); | 226 | LUA_API void (lua_rawget) (lua_State *L, int idx); |
180 | LUA_API void (lua_rawgeti) (lua_State *L, int idx, int n); | 227 | LUA_API void (lua_rawgeti) (lua_State *L, int idx, int n); |
228 | LUA_API void (lua_rawgetp) (lua_State *L, int idx, const void *p); | ||
181 | LUA_API void (lua_createtable) (lua_State *L, int narr, int nrec); | 229 | LUA_API void (lua_createtable) (lua_State *L, int narr, int nrec); |
182 | LUA_API void *(lua_newuserdata) (lua_State *L, size_t sz); | 230 | LUA_API void *(lua_newuserdata) (lua_State *L, size_t sz); |
183 | LUA_API int (lua_getmetatable) (lua_State *L, int objindex); | 231 | LUA_API int (lua_getmetatable) (lua_State *L, int objindex); |
184 | LUA_API void (lua_getfenv) (lua_State *L, int idx); | 232 | LUA_API void (lua_getuservalue) (lua_State *L, int idx); |
185 | 233 | ||
186 | 234 | ||
187 | /* | 235 | /* |
188 | ** set functions (stack -> Lua) | 236 | ** set functions (stack -> Lua) |
189 | */ | 237 | */ |
238 | LUA_API void (lua_setglobal) (lua_State *L, const char *var); | ||
190 | LUA_API void (lua_settable) (lua_State *L, int idx); | 239 | LUA_API void (lua_settable) (lua_State *L, int idx); |
191 | LUA_API void (lua_setfield) (lua_State *L, int idx, const char *k); | 240 | LUA_API void (lua_setfield) (lua_State *L, int idx, const char *k); |
192 | LUA_API void (lua_rawset) (lua_State *L, int idx); | 241 | LUA_API void (lua_rawset) (lua_State *L, int idx); |
193 | LUA_API void (lua_rawseti) (lua_State *L, int idx, int n); | 242 | LUA_API void (lua_rawseti) (lua_State *L, int idx, int n); |
243 | LUA_API void (lua_rawsetp) (lua_State *L, int idx, const void *p); | ||
194 | LUA_API int (lua_setmetatable) (lua_State *L, int objindex); | 244 | LUA_API int (lua_setmetatable) (lua_State *L, int objindex); |
195 | LUA_API int (lua_setfenv) (lua_State *L, int idx); | 245 | LUA_API void (lua_setuservalue) (lua_State *L, int idx); |
196 | 246 | ||
197 | 247 | ||
198 | /* | 248 | /* |
199 | ** `load' and `call' functions (load and run Lua code) | 249 | ** 'load' and 'call' functions (load and run Lua code) |
200 | */ | 250 | */ |
201 | LUA_API void (lua_call) (lua_State *L, int nargs, int nresults); | 251 | LUA_API void (lua_callk) (lua_State *L, int nargs, int nresults, int ctx, |
202 | LUA_API int (lua_pcall) (lua_State *L, int nargs, int nresults, int errfunc); | 252 | lua_CFunction k); |
203 | LUA_API int (lua_cpcall) (lua_State *L, lua_CFunction func, void *ud); | 253 | #define lua_call(L,n,r) lua_callk(L, (n), (r), 0, NULL) |
254 | |||
255 | LUA_API int (lua_getctx) (lua_State *L, int *ctx); | ||
256 | |||
257 | LUA_API int (lua_pcallk) (lua_State *L, int nargs, int nresults, int errfunc, | ||
258 | int ctx, lua_CFunction k); | ||
259 | #define lua_pcall(L,n,r,f) lua_pcallk(L, (n), (r), (f), 0, NULL) | ||
260 | |||
204 | LUA_API int (lua_load) (lua_State *L, lua_Reader reader, void *dt, | 261 | LUA_API int (lua_load) (lua_State *L, lua_Reader reader, void *dt, |
205 | const char *chunkname); | 262 | const char *chunkname, |
263 | const char *mode); | ||
206 | 264 | ||
207 | LUA_API int (lua_dump) (lua_State *L, lua_Writer writer, void *data); | 265 | LUA_API int (lua_dump) (lua_State *L, lua_Writer writer, void *data); |
208 | 266 | ||
@@ -210,8 +268,10 @@ LUA_API int (lua_dump) (lua_State *L, lua_Writer writer, void *data); | |||
210 | /* | 268 | /* |
211 | ** coroutine functions | 269 | ** coroutine functions |
212 | */ | 270 | */ |
213 | LUA_API int (lua_yield) (lua_State *L, int nresults); | 271 | LUA_API int (lua_yieldk) (lua_State *L, int nresults, int ctx, |
214 | LUA_API int (lua_resume) (lua_State *L, int narg); | 272 | lua_CFunction k); |
273 | #define lua_yield(L,n) lua_yieldk(L, (n), 0, NULL) | ||
274 | LUA_API int (lua_resume) (lua_State *L, lua_State *from, int narg); | ||
215 | LUA_API int (lua_status) (lua_State *L); | 275 | LUA_API int (lua_status) (lua_State *L); |
216 | 276 | ||
217 | /* | 277 | /* |
@@ -226,6 +286,10 @@ LUA_API int (lua_status) (lua_State *L); | |||
226 | #define LUA_GCSTEP 5 | 286 | #define LUA_GCSTEP 5 |
227 | #define LUA_GCSETPAUSE 6 | 287 | #define LUA_GCSETPAUSE 6 |
228 | #define LUA_GCSETSTEPMUL 7 | 288 | #define LUA_GCSETSTEPMUL 7 |
289 | #define LUA_GCSETMAJORINC 8 | ||
290 | #define LUA_GCISRUNNING 9 | ||
291 | #define LUA_GCGEN 10 | ||
292 | #define LUA_GCINC 11 | ||
229 | 293 | ||
230 | LUA_API int (lua_gc) (lua_State *L, int what, int data); | 294 | LUA_API int (lua_gc) (lua_State *L, int what, int data); |
231 | 295 | ||
@@ -239,18 +303,23 @@ LUA_API int (lua_error) (lua_State *L); | |||
239 | LUA_API int (lua_next) (lua_State *L, int idx); | 303 | LUA_API int (lua_next) (lua_State *L, int idx); |
240 | 304 | ||
241 | LUA_API void (lua_concat) (lua_State *L, int n); | 305 | LUA_API void (lua_concat) (lua_State *L, int n); |
306 | LUA_API void (lua_len) (lua_State *L, int idx); | ||
242 | 307 | ||
243 | LUA_API lua_Alloc (lua_getallocf) (lua_State *L, void **ud); | 308 | LUA_API lua_Alloc (lua_getallocf) (lua_State *L, void **ud); |
244 | LUA_API void lua_setallocf (lua_State *L, lua_Alloc f, void *ud); | 309 | LUA_API void (lua_setallocf) (lua_State *L, lua_Alloc f, void *ud); |
245 | 310 | ||
246 | 311 | ||
247 | 312 | ||
248 | /* | 313 | /* |
249 | ** =============================================================== | 314 | ** =============================================================== |
250 | ** some useful macros | 315 | ** some useful macros |
251 | ** =============================================================== | 316 | ** =============================================================== |
252 | */ | 317 | */ |
253 | 318 | ||
319 | #define lua_tonumber(L,i) lua_tonumberx(L,i,NULL) | ||
320 | #define lua_tointeger(L,i) lua_tointegerx(L,i,NULL) | ||
321 | #define lua_tounsigned(L,i) lua_tounsignedx(L,i,NULL) | ||
322 | |||
254 | #define lua_pop(L,n) lua_settop(L, -(n)-1) | 323 | #define lua_pop(L,n) lua_settop(L, -(n)-1) |
255 | 324 | ||
256 | #define lua_newtable(L) lua_createtable(L, 0, 0) | 325 | #define lua_newtable(L) lua_createtable(L, 0, 0) |
@@ -259,8 +328,6 @@ LUA_API void lua_setallocf (lua_State *L, lua_Alloc f, void *ud); | |||
259 | 328 | ||
260 | #define lua_pushcfunction(L,f) lua_pushcclosure(L, (f), 0) | 329 | #define lua_pushcfunction(L,f) lua_pushcclosure(L, (f), 0) |
261 | 330 | ||
262 | #define lua_strlen(L,i) lua_objlen(L, (i)) | ||
263 | |||
264 | #define lua_isfunction(L,n) (lua_type(L, (n)) == LUA_TFUNCTION) | 331 | #define lua_isfunction(L,n) (lua_type(L, (n)) == LUA_TFUNCTION) |
265 | #define lua_istable(L,n) (lua_type(L, (n)) == LUA_TTABLE) | 332 | #define lua_istable(L,n) (lua_type(L, (n)) == LUA_TTABLE) |
266 | #define lua_islightuserdata(L,n) (lua_type(L, (n)) == LUA_TLIGHTUSERDATA) | 333 | #define lua_islightuserdata(L,n) (lua_type(L, (n)) == LUA_TLIGHTUSERDATA) |
@@ -273,32 +340,14 @@ LUA_API void lua_setallocf (lua_State *L, lua_Alloc f, void *ud); | |||
273 | #define lua_pushliteral(L, s) \ | 340 | #define lua_pushliteral(L, s) \ |
274 | lua_pushlstring(L, "" s, (sizeof(s)/sizeof(char))-1) | 341 | lua_pushlstring(L, "" s, (sizeof(s)/sizeof(char))-1) |
275 | 342 | ||
276 | #define lua_setglobal(L,s) lua_setfield(L, LUA_GLOBALSINDEX, (s)) | 343 | #define lua_pushglobaltable(L) \ |
277 | #define lua_getglobal(L,s) lua_getfield(L, LUA_GLOBALSINDEX, (s)) | 344 | lua_rawgeti(L, LUA_REGISTRYINDEX, LUA_RIDX_GLOBALS) |
278 | 345 | ||
279 | #define lua_tostring(L,i) lua_tolstring(L, (i), NULL) | 346 | #define lua_tostring(L,i) lua_tolstring(L, (i), NULL) |
280 | 347 | ||
281 | 348 | ||
282 | 349 | ||
283 | /* | 350 | /* |
284 | ** compatibility macros and functions | ||
285 | */ | ||
286 | |||
287 | #define lua_open() luaL_newstate() | ||
288 | |||
289 | #define lua_getregistry(L) lua_pushvalue(L, LUA_REGISTRYINDEX) | ||
290 | |||
291 | #define lua_getgccount(L) lua_gc(L, LUA_GCCOUNT, 0) | ||
292 | |||
293 | #define lua_Chunkreader lua_Reader | ||
294 | #define lua_Chunkwriter lua_Writer | ||
295 | |||
296 | |||
297 | /* hack */ | ||
298 | LUA_API void lua_setlevel (lua_State *from, lua_State *to); | ||
299 | |||
300 | |||
301 | /* | ||
302 | ** {====================================================================== | 351 | ** {====================================================================== |
303 | ** Debug API | 352 | ** Debug API |
304 | ** ======================================================================= | 353 | ** ======================================================================= |
@@ -312,7 +361,7 @@ LUA_API void lua_setlevel (lua_State *from, lua_State *to); | |||
312 | #define LUA_HOOKRET 1 | 361 | #define LUA_HOOKRET 1 |
313 | #define LUA_HOOKLINE 2 | 362 | #define LUA_HOOKLINE 2 |
314 | #define LUA_HOOKCOUNT 3 | 363 | #define LUA_HOOKCOUNT 3 |
315 | #define LUA_HOOKTAILRET 4 | 364 | #define LUA_HOOKTAILCALL 4 |
316 | 365 | ||
317 | 366 | ||
318 | /* | 367 | /* |
@@ -326,43 +375,50 @@ LUA_API void lua_setlevel (lua_State *from, lua_State *to); | |||
326 | typedef struct lua_Debug lua_Debug; /* activation record */ | 375 | typedef struct lua_Debug lua_Debug; /* activation record */ |
327 | 376 | ||
328 | 377 | ||
329 | /* Functions to be called by the debuger in specific events */ | 378 | /* Functions to be called by the debugger in specific events */ |
330 | typedef void (*lua_Hook) (lua_State *L, lua_Debug *ar); | 379 | typedef void (*lua_Hook) (lua_State *L, lua_Debug *ar); |
331 | 380 | ||
332 | 381 | ||
333 | LUA_API int lua_getstack (lua_State *L, int level, lua_Debug *ar); | 382 | LUA_API int (lua_getstack) (lua_State *L, int level, lua_Debug *ar); |
334 | LUA_API int lua_getinfo (lua_State *L, const char *what, lua_Debug *ar); | 383 | LUA_API int (lua_getinfo) (lua_State *L, const char *what, lua_Debug *ar); |
335 | LUA_API const char *lua_getlocal (lua_State *L, const lua_Debug *ar, int n); | 384 | LUA_API const char *(lua_getlocal) (lua_State *L, const lua_Debug *ar, int n); |
336 | LUA_API const char *lua_setlocal (lua_State *L, const lua_Debug *ar, int n); | 385 | LUA_API const char *(lua_setlocal) (lua_State *L, const lua_Debug *ar, int n); |
337 | LUA_API const char *lua_getupvalue (lua_State *L, int funcindex, int n); | 386 | LUA_API const char *(lua_getupvalue) (lua_State *L, int funcindex, int n); |
338 | LUA_API const char *lua_setupvalue (lua_State *L, int funcindex, int n); | 387 | LUA_API const char *(lua_setupvalue) (lua_State *L, int funcindex, int n); |
388 | |||
389 | LUA_API void *(lua_upvalueid) (lua_State *L, int fidx, int n); | ||
390 | LUA_API void (lua_upvaluejoin) (lua_State *L, int fidx1, int n1, | ||
391 | int fidx2, int n2); | ||
339 | 392 | ||
340 | LUA_API int lua_sethook (lua_State *L, lua_Hook func, int mask, int count); | 393 | LUA_API int (lua_sethook) (lua_State *L, lua_Hook func, int mask, int count); |
341 | LUA_API lua_Hook lua_gethook (lua_State *L); | 394 | LUA_API lua_Hook (lua_gethook) (lua_State *L); |
342 | LUA_API int lua_gethookmask (lua_State *L); | 395 | LUA_API int (lua_gethookmask) (lua_State *L); |
343 | LUA_API int lua_gethookcount (lua_State *L); | 396 | LUA_API int (lua_gethookcount) (lua_State *L); |
344 | 397 | ||
345 | 398 | ||
346 | struct lua_Debug { | 399 | struct lua_Debug { |
347 | int event; | 400 | int event; |
348 | const char *name; /* (n) */ | 401 | const char *name; /* (n) */ |
349 | const char *namewhat; /* (n) `global', `local', `field', `method' */ | 402 | const char *namewhat; /* (n) 'global', 'local', 'field', 'method' */ |
350 | const char *what; /* (S) `Lua', `C', `main', `tail' */ | 403 | const char *what; /* (S) 'Lua', 'C', 'main', 'tail' */ |
351 | const char *source; /* (S) */ | 404 | const char *source; /* (S) */ |
352 | int currentline; /* (l) */ | 405 | int currentline; /* (l) */ |
353 | int nups; /* (u) number of upvalues */ | ||
354 | int linedefined; /* (S) */ | 406 | int linedefined; /* (S) */ |
355 | int lastlinedefined; /* (S) */ | 407 | int lastlinedefined; /* (S) */ |
408 | unsigned char nups; /* (u) number of upvalues */ | ||
409 | unsigned char nparams;/* (u) number of parameters */ | ||
410 | char isvararg; /* (u) */ | ||
411 | char istailcall; /* (t) */ | ||
356 | char short_src[LUA_IDSIZE]; /* (S) */ | 412 | char short_src[LUA_IDSIZE]; /* (S) */ |
357 | /* private part */ | 413 | /* private part */ |
358 | int i_ci; /* active function */ | 414 | struct CallInfo *i_ci; /* active function */ |
359 | }; | 415 | }; |
360 | 416 | ||
361 | /* }====================================================================== */ | 417 | /* }====================================================================== */ |
362 | 418 | ||
363 | 419 | ||
364 | /****************************************************************************** | 420 | /****************************************************************************** |
365 | * Copyright (C) 1994-2008 Lua.org, PUC-Rio. All rights reserved. | 421 | * Copyright (C) 1994-2013 Lua.org, PUC-Rio. |
366 | * | 422 | * |
367 | * Permission is hereby granted, free of charge, to any person obtaining | 423 | * Permission is hereby granted, free of charge, to any person obtaining |
368 | * a copy of this software and associated documentation files (the | 424 | * a copy of this software and associated documentation files (the |