dbd/common.h

Sun, 23 Nov 2008 01:29:09 +0000

author
nrich@ii.net
date
Sun, 23 Nov 2008 01:29:09 +0000
changeset 1
408291a6eb3e
child 2
c4f02fc67e5a
permissions
-rw-r--r--

Initial import.

1
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
1 #include <string.h>
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
2 #include <stdio.h>
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
3 #include <stdlib.h>
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
4
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
5 #include <lua.h>
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
6 #include <lauxlib.h>
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
7 #include <lualib.h>
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
8
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
9 #if !defined(LUA_VERSION_NUM) || (LUA_VERSION_NUM < 501)
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
10 #include <compat-5.1.h>
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
11 #endif
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
12
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
13
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
14
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
15 #define LUA_PUSH_ATTRIB_INT(n, v) \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
16 lua_pushstring(L, n); \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
17 lua_pushinteger(L, v); \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
18 lua_rawset(L, -3);
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
19
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
20 #define LUA_PUSH_ATTRIB_FLOAT(n, v) \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
21 lua_pushstring(L, n); \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
22 lua_pushnumber(L, v); \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
23 lua_rawset(L, -3);
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
24
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
25 #define LUA_PUSH_ATTRIB_STRING(n, v) \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
26 lua_pushstring(L, n); \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
27 lua_pushstring(L, v); \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
28 lua_rawset(L, -3);
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
29
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
30 #define LUA_PUSH_ATTRIB_BOOL(n, v) \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
31 lua_pushstring(L, n); \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
32 lua_pushboolean(L, v); \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
33 lua_rawset(L, -3);
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
34
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
35 #define LUA_PUSH_ATTRIB_NIL(n) \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
36 lua_pushstring(L, n); \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
37 lua_pushnil(L); \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
38 lua_rawset(L, -3);
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
39
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
40
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
41
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
42 #define LUA_PUSH_ARRAY_INT(n, v) \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
43 lua_pushinteger(L, v); \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
44 lua_rawseti(L, -2, n); \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
45 n++;
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
46
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
47 #define LUA_PUSH_ARRAY_FLOAT(n, v) \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
48 lua_pushnumber(L, v); \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
49 lua_rawseti(L, -2, n); \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
50 n++;
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
51
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
52 #define LUA_PUSH_ARRAY_STRING(n, v) \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
53 lua_pushstring(L, v); \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
54 lua_rawseti(L, -2, n); \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
55 n++;
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
56
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
57 #define LUA_PUSH_ARRAY_BOOL(n, v) \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
58 lua_pushboolean(L, v); \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
59 lua_rawseti(L, -2, n); \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
60 n++;
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
61
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
62 #define LUA_PUSH_ARRAY_NIL(n) \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
63 lua_pushnil(L); \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
64 lua_rawseti(L, -2, n); \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
65 n++;
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
66
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
67
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
68
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
69 typedef enum lua_push_type {
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
70 LUA_PUSH_NIL = 0,
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
71 LUA_PUSH_INTEGER,
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
72 LUA_PUSH_NUMBER,
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
73 LUA_PUSH_STRING,
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
74 LUA_PUSH_BOOLEAN,
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
75
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
76 LUA_PUSH_MAX
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
77 } lua_push_type_t;
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
78

mercurial