Home | History | Annotate | Line # | Download | only in src
      1 // SPDX-FileCopyrightText: 2010 Mathieu Desnoyers <mathieu.desnoyers (at) efficios.com>
      2 //
      3 // SPDX-License-Identifier: LGPL-2.1-or-later
      4 
      5 /*
      6  * Userspace RCU library - Queue with Wait-Free Enqueue/Blocking Dequeue
      7  */
      8 
      9 /* Remove deprecation warnings from LGPL wrapper build. */
     10 #define CDS_WFQ_DEPRECATED
     11 
     12 /* Do not #define _LGPL_SOURCE to ensure we can emit the wrapper symbols */
     13 #include "urcu/wfqueue.h"
     14 #include "urcu/static/wfqueue.h"
     15 
     16 /*
     17  * library wrappers to be used by non-LGPL compatible source code.
     18  */
     19 
     20 void cds_wfq_node_init(struct cds_wfq_node *node)
     21 {
     22 	_cds_wfq_node_init(node);
     23 }
     24 
     25 void cds_wfq_init(struct cds_wfq_queue *q)
     26 {
     27 	_cds_wfq_init(q);
     28 }
     29 
     30 void cds_wfq_destroy(struct cds_wfq_queue *q)
     31 {
     32 	_cds_wfq_destroy(q);
     33 }
     34 
     35 void cds_wfq_enqueue(struct cds_wfq_queue *q, struct cds_wfq_node *node)
     36 {
     37 	_cds_wfq_enqueue(q, node);
     38 }
     39 
     40 struct cds_wfq_node *__cds_wfq_dequeue_blocking(struct cds_wfq_queue *q)
     41 {
     42 	return ___cds_wfq_dequeue_blocking(q);
     43 }
     44 
     45 struct cds_wfq_node *cds_wfq_dequeue_blocking(struct cds_wfq_queue *q)
     46 {
     47 	return _cds_wfq_dequeue_blocking(q);
     48 }
     49