]>
Commit | Line | Data |
---|---|---|
a4b75251 TL |
1 | /* SPDX-License-Identifier: BSD-3-Clause */ |
2 | /* Copyright 2014-2020, Intel Corporation */ | |
3 | ||
4 | /* | |
5 | * libpmemobj/lists_atomic_base.h -- definitions of libpmemobj atomic lists | |
6 | */ | |
7 | ||
8 | #ifndef LIBPMEMOBJ_LISTS_ATOMIC_BASE_H | |
9 | #define LIBPMEMOBJ_LISTS_ATOMIC_BASE_H 1 | |
10 | ||
11 | #include <libpmemobj/base.h> | |
12 | ||
13 | #ifdef __cplusplus | |
14 | extern "C" { | |
15 | #endif | |
16 | ||
17 | /* | |
18 | * Non-transactional persistent atomic circular doubly-linked list | |
19 | */ | |
20 | ||
21 | int pmemobj_list_insert(PMEMobjpool *pop, size_t pe_offset, void *head, | |
22 | PMEMoid dest, int before, PMEMoid oid); | |
23 | ||
24 | PMEMoid pmemobj_list_insert_new(PMEMobjpool *pop, size_t pe_offset, void *head, | |
25 | PMEMoid dest, int before, size_t size, uint64_t type_num, | |
26 | pmemobj_constr constructor, void *arg); | |
27 | ||
28 | int pmemobj_list_remove(PMEMobjpool *pop, size_t pe_offset, void *head, | |
29 | PMEMoid oid, int free); | |
30 | ||
31 | int pmemobj_list_move(PMEMobjpool *pop, size_t pe_old_offset, | |
32 | void *head_old, size_t pe_new_offset, void *head_new, | |
33 | PMEMoid dest, int before, PMEMoid oid); | |
34 | ||
35 | #ifdef __cplusplus | |
36 | } | |
37 | #endif | |
38 | ||
39 | #endif /* libpmemobj/lists_atomic_base.h */ |