![]() |
NVMLib
very early alpha
A library to optimally use a Hybrid RAM setup.
|


Go to the source code of this file.
Macros | |
| #define | LIB_TOID_NULL(t) ((LIB_TOID(t))MEMOID_NULL) |
| #define | LIB_TOID_ASSIGN(o, value) |
| #define | LIB_TOID_EQUALS(lhs, rhs) |
| #define | _lib_toid_struct |
| #define | _lib_toid_union |
| #define | _lib_toid_enum |
| #define | LIB_TOID(t) union _lib_toid_##t##_toid |
| The MACRO used by user while allocating memory. More... | |
| #define | LIB_TOID_DECLARE(t) |
| Declaration of a type. More... | |
| #define | LIB_TOID_TYPE_NUM(t) (sizeof(_lib_toid_##t##_toid_type_num) - 1) |
| #define | LIB_TOID_TYPE_NUM_OF(o) (sizeof(*(o)._type_num) - 1) |
| #define | LIB_TOID_IS_NULL(o) (get_MEMoid((o).oidkey).off == 0) |
| NULL check. More... | |
| #define | LIB_TOID_TYPEOF(o) __typeof__(*(o)._type) |
| #define | LIB_DIRECT_RW(o) |
| #define | LIB_DIRECT_RO(o) |
| #define | LIB_D_RW LIB_DIRECT_RW |
| The MACRO used by the user when they want to write into the object. More... | |
| #define | LIB_D_RO LIB_DIRECT_RO |
| The MACRO used by the user when they want to read from the object. More... | |
Functions | |
| void | init_types_table () |
| MEMoid | get_MEMoid (MEMoidKey key) |
The function to obtain the MEMoid object given the MEMoidKey More... | |
| void | insert_object_to_hashmap (MEMoidKey key, MEMoid oid) |
| void | remove_object_from_hashmap (MEMoidKey key) |
| TOID (struct hashmap_tx) *get_types_map() | |
| void | debug_hashmap (MEMoidKey key) |
This file contains the information required for maintaining the types of objects. The user facing APIs for reading and wrinting the object are defined here.
Definition in file types.h.
| #define LIB_D_RO LIB_DIRECT_RO |
| #define LIB_D_RW LIB_DIRECT_RW |
| #define LIB_DIRECT_RO | ( | o | ) |
| #define LIB_DIRECT_RW | ( | o | ) |
| #define LIB_TOID | ( | t | ) | union _lib_toid_##t##_toid |
| #define LIB_TOID_ASSIGN | ( | o, | |
| value | |||
| ) |
| #define LIB_TOID_DECLARE | ( | t | ) |
Declaration of a type.
type they want to use with memalloc, before the declare the varibale using LIB_TOID. __COUNTER__ in preprocessor!!!!! | #define LIB_TOID_EQUALS | ( | lhs, | |
| rhs | |||
| ) |
| #define LIB_TOID_IS_NULL | ( | o | ) | (get_MEMoid((o).oidkey).off == 0) |
| #define LIB_TOID_NULL | ( | t | ) | ((LIB_TOID(t))MEMOID_NULL) |
| #define LIB_TOID_TYPE_NUM | ( | t | ) | (sizeof(_lib_toid_##t##_toid_type_num) - 1) |
| #define LIB_TOID_TYPE_NUM_OF | ( | o | ) | (sizeof(*(o)._type_num) - 1) |
| void debug_hashmap | ( | MEMoidKey | key | ) |
| void init_types_table | ( | ) |
| void remove_object_from_hashmap | ( | MEMoidKey | key | ) |
| TOID | ( | struct hashmap_tx | ) |