gateway: simplify stopping the cleanup timer
[olsrd.git] / lib / tas / src / lua / ltm.h
1
2 /*
3 ** $Id: ltm.h,v 1.41 2002/11/14 11:51:50 roberto Exp $
4 ** Tag methods
5 ** See Copyright Notice in lua.h
6 */
7
8 #ifndef ltm_h
9 #define ltm_h
10
11
12 #include "lobject.h"
13
14
15 /*
16 * WARNING: if you change the order of this enumeration,
17 * grep "ORDER TM"
18 */
19 typedef enum {
20   TM_INDEX,
21   TM_NEWINDEX,
22   TM_GC,
23   TM_MODE,
24   TM_EQ,                               /* last tag method with `fast' access */
25   TM_ADD,
26   TM_SUB,
27   TM_MUL,
28   TM_DIV,
29   TM_POW,
30   TM_UNM,
31   TM_LT,
32   TM_LE,
33   TM_CONCAT,
34   TM_CALL,
35   TM_N                                 /* number of elements in the enum */
36 } TMS;
37
38
39
40 #define gfasttm(g,et,e) \
41   (((et)->flags & (1u<<(e))) ? NULL : luaT_gettm(et, e, (g)->tmname[e]))
42
43 #define fasttm(l,et,e)  gfasttm(G(l), et, e)
44
45
46 const TObject *luaT_gettm(Table * events, TMS event, TString * ename);
47 const TObject *luaT_gettmbyobj(lua_State * L, const TObject * o, TMS event);
48 void luaT_init(lua_State * L);
49
50 extern const char *const luaT_typenames[];
51
52 #endif