diff options
Diffstat (limited to 'src/keeper.h')
-rw-r--r-- | src/keeper.h | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/src/keeper.h b/src/keeper.h index 4cf3605..ce9742a 100644 --- a/src/keeper.h +++ b/src/keeper.h | |||
@@ -12,25 +12,21 @@ extern "C" { | |||
12 | #include "uniquekey.h" | 12 | #include "uniquekey.h" |
13 | 13 | ||
14 | // forwards | 14 | // forwards |
15 | struct s_Universe; | 15 | struct Universe; |
16 | typedef struct s_Universe Universe; | 16 | enum LookupMode; |
17 | enum eLookupMode; | ||
18 | typedef enum eLookupMode LookupMode; | ||
19 | 17 | ||
20 | struct s_Keeper | 18 | struct Keeper |
21 | { | 19 | { |
22 | MUTEX_T keeper_cs; | 20 | MUTEX_T keeper_cs; |
23 | lua_State* L; | 21 | lua_State* L; |
24 | //int count; | 22 | //int count; |
25 | }; | 23 | }; |
26 | typedef struct s_Keeper Keeper; | ||
27 | 24 | ||
28 | struct s_Keepers | 25 | struct Keepers |
29 | { | 26 | { |
30 | int nb_keepers; | 27 | int nb_keepers; |
31 | Keeper keeper_array[1]; | 28 | Keeper keeper_array[1]; |
32 | }; | 29 | }; |
33 | typedef struct s_Keepers Keepers; | ||
34 | 30 | ||
35 | void init_keepers( Universe* U, lua_State* L); | 31 | void init_keepers( Universe* U, lua_State* L); |
36 | void close_keepers( Universe* U); | 32 | void close_keepers( Universe* U); |
@@ -45,7 +41,7 @@ int keeper_push_linda_storage( Universe* U, lua_State* L, void* ptr_, ptrdiff_t | |||
45 | // crc64/we of string "NIL_SENTINEL" generated at http://www.nitrxgen.net/hashgen/ | 41 | // crc64/we of string "NIL_SENTINEL" generated at http://www.nitrxgen.net/hashgen/ |
46 | static constexpr UniqueKey NIL_SENTINEL{ 0x7eaafa003a1d11a1ull }; | 42 | static constexpr UniqueKey NIL_SENTINEL{ 0x7eaafa003a1d11a1ull }; |
47 | 43 | ||
48 | typedef lua_CFunction keeper_api_t; | 44 | using keeper_api_t = lua_CFunction; |
49 | #define KEEPER_API( _op) keepercall_ ## _op | 45 | #define KEEPER_API( _op) keepercall_ ## _op |
50 | #define PUSH_KEEPER_FUNC lua_pushcfunction | 46 | #define PUSH_KEEPER_FUNC lua_pushcfunction |
51 | // lua_Cfunctions to run inside a keeper state (formerly implemented in Lua) | 47 | // lua_Cfunctions to run inside a keeper state (formerly implemented in Lua) |
@@ -58,4 +54,4 @@ int keepercall_get( lua_State* L); | |||
58 | int keepercall_set( lua_State* L); | 54 | int keepercall_set( lua_State* L); |
59 | int keepercall_count( lua_State* L); | 55 | int keepercall_count( lua_State* L); |
60 | 56 | ||
61 | int keeper_call( Universe* U, lua_State* K, keeper_api_t _func, lua_State* L, void* linda, uint_t starting_index); | 57 | int keeper_call(Universe* U, lua_State* K, keeper_api_t _func, lua_State* L, void* linda, int starting_index); |