XROAD
xroad_storage_fwd.h
Go to the documentation of this file.
1 
6 #pragma once
7 
8 #include <stdlib.h>
9 #include <stdint.h>
10 
11 #ifdef __cplusplus
12 extern "C"
13 {
14 #endif
15 
16 typedef struct xroad_storage_s xroad_storage_t;
17 typedef struct xroad_cursor_s xroad_cursor_t;
18 typedef uint64_t xroad_row_id_t;
19 typedef uint64_t storage_heap_ref_t;
20 
21 typedef enum
22 {
23  page_type_row = 1,
24  page_type_heap = 2
25 } xroad_storage_page_type_t;
26 
27 typedef struct
28 {
29  uint32_t len;
30  void* data;
32 
36 typedef struct
37 {
38  uint32_t id;
39  uint32_t flags;
40  uint32_t sys_page_size;
41  uint32_t meta_size;
42  size_t file_size;
43  uint32_t row_size;
44  size_t rows_at_page;
45  size_t row_count;
46  size_t row_page_size;
47  size_t heap_page_size;
48  uint32_t row_page_count;
49  uint32_t heap_page_count;
53 
57 typedef struct
58 {
59  uint64_t chunks_in_use;
60  uint64_t chunks_free;
61  uint64_t allocated_space;
62  uint64_t free_space;
64 
65 #ifdef __cplusplus
66 }
67 #endif
Definition: xroad_storage_fwd.h:28
Definition: xroad_storage_fwd.h:37
size_t file_size
file size
Definition: xroad_storage_fwd.h:42
uint32_t row_page_count
count of row pages
Definition: xroad_storage_fwd.h:48
size_t row_count
count of row
Definition: xroad_storage_fwd.h:45
uint32_t id
storage id
Definition: xroad_storage_fwd.h:38
size_t rows_at_page
rows at page
Definition: xroad_storage_fwd.h:44
uint32_t sys_page_size
system page size
Definition: xroad_storage_fwd.h:40
uint32_t heap_page_count
count of heap pages
Definition: xroad_storage_fwd.h:49
size_t initial_heap_page_size
initial size of page in bytes
Definition: xroad_storage_fwd.h:51
size_t initial_rows_at_page
initial rows at page
Definition: xroad_storage_fwd.h:50
uint32_t flags
flags
Definition: xroad_storage_fwd.h:39
size_t row_page_size
size of page in bytes
Definition: xroad_storage_fwd.h:46
size_t heap_page_size
size of page in bytes
Definition: xroad_storage_fwd.h:47
uint32_t meta_size
size of meta to unmap
Definition: xroad_storage_fwd.h:41
uint32_t row_size
size of row
Definition: xroad_storage_fwd.h:43
Definition: xroad_storage_fwd.h:58
uint64_t free_space
how many free space in storage
Definition: xroad_storage_fwd.h:62
uint64_t allocated_space
how many space allocated
Definition: xroad_storage_fwd.h:61
uint64_t chunks_in_use
how many chunks used
Definition: xroad_storage_fwd.h:59
uint64_t chunks_free
how many chunks are free
Definition: xroad_storage_fwd.h:60