aboutsummaryrefslogtreecommitdiff
path: root/src/keeper.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/keeper.h')
-rw-r--r--src/keeper.h16
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
15struct s_Universe; 15struct Universe;
16typedef struct s_Universe Universe; 16enum LookupMode;
17enum eLookupMode;
18typedef enum eLookupMode LookupMode;
19 17
20struct s_Keeper 18struct 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};
26typedef struct s_Keeper Keeper;
27 24
28struct s_Keepers 25struct Keepers
29{ 26{
30 int nb_keepers; 27 int nb_keepers;
31 Keeper keeper_array[1]; 28 Keeper keeper_array[1];
32}; 29};
33typedef struct s_Keepers Keepers;
34 30
35void init_keepers( Universe* U, lua_State* L); 31void init_keepers( Universe* U, lua_State* L);
36void close_keepers( Universe* U); 32void 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/
46static constexpr UniqueKey NIL_SENTINEL{ 0x7eaafa003a1d11a1ull }; 42static constexpr UniqueKey NIL_SENTINEL{ 0x7eaafa003a1d11a1ull };
47 43
48typedef lua_CFunction keeper_api_t; 44using 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);
58int keepercall_set( lua_State* L); 54int keepercall_set( lua_State* L);
59int keepercall_count( lua_State* L); 55int keepercall_count( lua_State* L);
60 56
61int keeper_call( Universe* U, lua_State* K, keeper_api_t _func, lua_State* L, void* linda, uint_t starting_index); 57int keeper_call(Universe* U, lua_State* K, keeper_api_t _func, lua_State* L, void* linda, int starting_index);