1 /* SPDX-License-Identifier: BSD-3-Clause */
2 /* Copyright 2015-2020, Intel Corporation */
5 * list.h -- internal definitions for persistent atomic lists module
8 #ifndef LIBPMEMOBJ_LIST_H
9 #define LIBPMEMOBJ_LIST_H 1
13 #include <sys/types.h>
15 #include "libpmemobj.h"
34 int list_insert_new_user(PMEMobjpool
*pop
,
35 size_t pe_offset
, struct list_head
*user_head
, PMEMoid dest
, int before
,
36 size_t size
, uint64_t type_num
, palloc_constr constructor
, void *arg
,
39 int list_insert(PMEMobjpool
*pop
,
40 ssize_t pe_offset
, struct list_head
*head
, PMEMoid dest
, int before
,
43 int list_remove_free_user(PMEMobjpool
*pop
,
44 size_t pe_offset
, struct list_head
*user_head
,
47 int list_remove(PMEMobjpool
*pop
,
48 ssize_t pe_offset
, struct list_head
*head
,
51 int list_move(PMEMobjpool
*pop
,
52 size_t pe_offset_old
, struct list_head
*head_old
,
53 size_t pe_offset_new
, struct list_head
*head_new
,
54 PMEMoid dest
, int before
, PMEMoid oid
);
56 void list_move_oob(PMEMobjpool
*pop
,
57 struct list_head
*head_old
, struct list_head
*head_new
,