1 /* -*- Mode: C; tab-width: 2; c-basic-offset: 2; indent-tabs-mode: nil -*- */
2 #pragma once
3 
4 struct item {
5   uint64_t cas;
6   void* key;
7   size_t nkey;
8   void* data;
9   size_t size;
10   uint32_t flags;
11   time_t exp;
12 };
13 
14 bool initialize_storage(void);
15 void shutdown_storage(void);
16 
17 void update_cas(struct item* item);
18 void put_item(struct item* item);
19 struct item* get_item(const void* key, size_t nkey);
20 struct item* create_item(const void* key, size_t nkey, const void *data,
21                          size_t size, uint32_t flags, time_t exp);
22 bool delete_item(const void* key, size_t nkey);
23 void flush(uint32_t when);
24 void release_item(struct item* item);
25