1 // SPDX-FileCopyrightText: 2010-2012 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 // SPDX-License-Identifier: LGPL-2.1-or-later
6 * Userspace RCU library - Lock-Free Stack
9 /* Do not #define _LGPL_SOURCE to ensure we can emit the wrapper symbols */
11 #include "urcu/lfstack.h"
13 #include "urcu/static/lfstack.h"
16 * library wrappers to be used by non-LGPL compatible source code.
19 void cds_lfs_node_init(struct cds_lfs_node
*node
)
21 _cds_lfs_node_init(node
);
24 void cds_lfs_init(struct cds_lfs_stack
*s
)
29 void cds_lfs_destroy(struct cds_lfs_stack
*s
)
34 void __cds_lfs_init(struct __cds_lfs_stack
*s
)
39 bool cds_lfs_empty(cds_lfs_stack_ptr_t s
)
41 return _cds_lfs_empty(s
);
44 bool cds_lfs_push(cds_lfs_stack_ptr_t s
, struct cds_lfs_node
*node
)
46 return _cds_lfs_push(s
, node
);
49 struct cds_lfs_node
*cds_lfs_pop_blocking(struct cds_lfs_stack
*s
)
51 return _cds_lfs_pop_blocking(s
);
54 struct cds_lfs_head
*cds_lfs_pop_all_blocking(struct cds_lfs_stack
*s
)
56 return _cds_lfs_pop_all_blocking(s
);
59 void cds_lfs_pop_lock(struct cds_lfs_stack
*s
)
64 void cds_lfs_pop_unlock(struct cds_lfs_stack
*s
)
66 _cds_lfs_pop_unlock(s
);
69 struct cds_lfs_node
*__cds_lfs_pop(cds_lfs_stack_ptr_t s
)
71 return ___cds_lfs_pop(s
);
74 struct cds_lfs_head
*__cds_lfs_pop_all(cds_lfs_stack_ptr_t s
)
76 return ___cds_lfs_pop_all(s
);
This page took 0.030681 seconds and 4 git commands to generate.