11 #ifndef _RTE_RING_ELEM_H_ 12 #define _RTE_RING_ELEM_H_ 24 #include <rte_ring_elem_pvt.h> 107 unsigned int count,
int socket_id,
unsigned int flags);
133 unsigned int esize,
unsigned int n,
unsigned int *free_space)
135 return __rte_ring_do_enqueue_elem(r, obj_table, esize, n,
162 unsigned int esize,
unsigned int n,
unsigned int *free_space)
164 return __rte_ring_do_enqueue_elem(r, obj_table, esize, n,
168 #ifdef ALLOW_EXPERIMENTAL_API 198 unsigned int esize,
unsigned int n,
unsigned int *free_space)
207 #ifdef ALLOW_EXPERIMENTAL_API 208 case RTE_RING_SYNC_MT_RTS:
211 case RTE_RING_SYNC_MT_HTS:
219 if (free_space != NULL)
323 unsigned int esize,
unsigned int n,
unsigned int *available)
325 return __rte_ring_do_dequeue_elem(r, obj_table, esize, n,
351 unsigned int esize,
unsigned int n,
unsigned int *available)
353 return __rte_ring_do_dequeue_elem(r, obj_table, esize, n,
382 unsigned int esize,
unsigned int n,
unsigned int *available)
391 #ifdef ALLOW_EXPERIMENTAL_API 392 case RTE_RING_SYNC_MT_RTS:
395 case RTE_RING_SYNC_MT_HTS:
403 if (available != NULL)
510 unsigned int esize,
unsigned int n,
unsigned int *free_space)
512 return __rte_ring_do_enqueue_elem(r, obj_table, esize, n,
539 unsigned int esize,
unsigned int n,
unsigned int *free_space)
541 return __rte_ring_do_enqueue_elem(r, obj_table, esize, n,
570 unsigned int esize,
unsigned int n,
unsigned int *free_space)
579 #ifdef ALLOW_EXPERIMENTAL_API 580 case RTE_RING_SYNC_MT_RTS:
583 case RTE_RING_SYNC_MT_HTS:
591 if (free_space != NULL)
622 unsigned int esize,
unsigned int n,
unsigned int *available)
624 return __rte_ring_do_dequeue_elem(r, obj_table, esize, n,
651 unsigned int esize,
unsigned int n,
unsigned int *available)
653 return __rte_ring_do_dequeue_elem(r, obj_table, esize, n,
682 unsigned int esize,
unsigned int n,
unsigned int *available)
691 #ifdef ALLOW_EXPERIMENTAL_API 692 case RTE_RING_SYNC_MT_RTS:
695 case RTE_RING_SYNC_MT_HTS:
703 if (available != NULL)
708 #ifdef ALLOW_EXPERIMENTAL_API static __rte_always_inline int rte_ring_sp_enqueue_elem(struct rte_ring *r, void *obj, unsigned int esize)
static __rte_always_inline int rte_ring_sc_dequeue_elem(struct rte_ring *r, void *obj_p, unsigned int esize)
#define __rte_always_inline
static __rte_experimental __rte_always_inline unsigned int rte_ring_mc_rts_dequeue_burst_elem(struct rte_ring *r, void *obj_table, unsigned int esize, unsigned int n, unsigned int *available)
static __rte_experimental __rte_always_inline unsigned int rte_ring_mp_hts_enqueue_burst_elem(struct rte_ring *r, const void *obj_table, unsigned int esize, unsigned int n, unsigned int *free_space)
static __rte_always_inline int rte_ring_enqueue_elem(struct rte_ring *r, void *obj, unsigned int esize)
static __rte_always_inline unsigned int rte_ring_sc_dequeue_burst_elem(struct rte_ring *r, void *obj_table, unsigned int esize, unsigned int n, unsigned int *available)
static __rte_experimental __rte_always_inline unsigned int rte_ring_mp_hts_enqueue_bulk_elem(struct rte_ring *r, const void *obj_table, unsigned int esize, unsigned int n, unsigned int *free_space)
static __rte_always_inline unsigned int rte_ring_enqueue_bulk_elem(struct rte_ring *r, const void *obj_table, unsigned int esize, unsigned int n, unsigned int *free_space)
static __rte_always_inline unsigned int rte_ring_mp_enqueue_burst_elem(struct rte_ring *r, const void *obj_table, unsigned int esize, unsigned int n, unsigned int *free_space)
static __rte_experimental __rte_always_inline unsigned int rte_ring_mc_rts_dequeue_bulk_elem(struct rte_ring *r, void *obj_table, unsigned int esize, unsigned int n, unsigned int *available)
static __rte_always_inline unsigned int rte_ring_mp_enqueue_bulk_elem(struct rte_ring *r, const void *obj_table, unsigned int esize, unsigned int n, unsigned int *free_space)
static __rte_always_inline unsigned int rte_ring_mc_dequeue_bulk_elem(struct rte_ring *r, void *obj_table, unsigned int esize, unsigned int n, unsigned int *available)
static __rte_experimental __rte_always_inline unsigned int rte_ring_mp_rts_enqueue_burst_elem(struct rte_ring *r, const void *obj_table, unsigned int esize, unsigned int n, unsigned int *free_space)
static __rte_always_inline int rte_ring_mc_dequeue_elem(struct rte_ring *r, void *obj_p, unsigned int esize)
static __rte_experimental __rte_always_inline unsigned int rte_ring_mc_hts_dequeue_bulk_elem(struct rte_ring *r, void *obj_table, unsigned int esize, unsigned int n, unsigned int *available)
static __rte_experimental __rte_always_inline unsigned int rte_ring_mc_hts_dequeue_burst_elem(struct rte_ring *r, void *obj_table, unsigned int esize, unsigned int n, unsigned int *available)
static __rte_experimental __rte_always_inline unsigned int rte_ring_mp_rts_enqueue_bulk_elem(struct rte_ring *r, const void *obj_table, unsigned int esize, unsigned int n, unsigned int *free_space)
static __rte_always_inline unsigned int rte_ring_enqueue_burst_elem(struct rte_ring *r, const void *obj_table, unsigned int esize, unsigned int n, unsigned int *free_space)
static __rte_always_inline unsigned int rte_ring_sc_dequeue_bulk_elem(struct rte_ring *r, void *obj_table, unsigned int esize, unsigned int n, unsigned int *available)
static __rte_always_inline unsigned int rte_ring_sp_enqueue_burst_elem(struct rte_ring *r, const void *obj_table, unsigned int esize, unsigned int n, unsigned int *free_space)
static __rte_always_inline unsigned int rte_ring_mc_dequeue_burst_elem(struct rte_ring *r, void *obj_table, unsigned int esize, unsigned int n, unsigned int *available)
static __rte_always_inline unsigned int rte_ring_dequeue_bulk_elem(struct rte_ring *r, void *obj_table, unsigned int esize, unsigned int n, unsigned int *available)
static __rte_always_inline int rte_ring_dequeue_elem(struct rte_ring *r, void *obj_p, unsigned int esize)
enum rte_ring_sync_type sync_type
static __rte_always_inline unsigned int rte_ring_sp_enqueue_bulk_elem(struct rte_ring *r, const void *obj_table, unsigned int esize, unsigned int n, unsigned int *free_space)
ssize_t rte_ring_get_memsize_elem(unsigned int esize, unsigned int count)
struct rte_ring * rte_ring_create_elem(const char *name, unsigned int esize, unsigned int count, int socket_id, unsigned int flags)
static __rte_always_inline int rte_ring_mp_enqueue_elem(struct rte_ring *r, void *obj, unsigned int esize)
static __rte_always_inline unsigned int rte_ring_dequeue_burst_elem(struct rte_ring *r, void *obj_table, unsigned int esize, unsigned int n, unsigned int *available)