libosmocore 1.11.1
Osmocom core library
Loading...
Searching...
No Matches
Inter-Thread Queue

Data Structures

struct  osmo_it_q
 One instance of an inter-thread queue. More...
 

Macros

#define osmo_it_q_enqueue(queue, item, member)
 
#define osmo_it_q_dequeue(queue, item, member)
 

Functions

struct osmo_it_qosmo_it_q_by_name (const char *name)
 
int _osmo_it_q_enqueue (struct osmo_it_q *queue, struct llist_head *item)
 
struct llist_head_osmo_it_q_dequeue (struct osmo_it_q *queue)
 
struct osmo_it_qosmo_it_q_alloc (void *ctx, const char *name, unsigned int max_length, void(*read_cb)(struct osmo_it_q *q, struct llist_head *item), void *data)
 
void osmo_it_q_destroy (struct osmo_it_q *q)
 
void osmo_it_q_flush (struct osmo_it_q *q)
 

Detailed Description

Macro Definition Documentation

◆ osmo_it_q_dequeue

#define osmo_it_q_dequeue ( queue,
item,
member )
Value:
do { \
struct llist_head *l = _osmo_it_q_dequeue(queue); \
if (!l) \
*item = NULL; \
else \
*item = llist_entry(l, typeof(**item), member); \
} while (0)
#define llist_entry(ptr, type, member)
Get the struct containing this list entry.
Definition linuxlist.h:218
struct llist_head * _osmo_it_q_dequeue(struct osmo_it_q *queue)
int gsm48_generate_mid_from_tmsi *(uint8_t *buf, uint32_t tmsi) OSMO_DEPRECATED_OUTSIDE("Instead u l))
(double) linked list header structure
Definition linuxlist.h:46

◆ osmo_it_q_enqueue

#define osmo_it_q_enqueue ( queue,
item,
member )
Value:
_osmo_it_q_enqueue(queue, &(item)->member)
int _osmo_it_q_enqueue(struct osmo_it_q *queue, struct llist_head *item)

Function Documentation

◆ _osmo_it_q_dequeue()

struct llist_head * _osmo_it_q_dequeue ( struct osmo_it_q * queue)

◆ _osmo_it_q_enqueue()

int _osmo_it_q_enqueue ( struct osmo_it_q * queue,
struct llist_head * item )

◆ osmo_it_q_alloc()

struct osmo_it_q * osmo_it_q_alloc ( void * ctx,
const char * name,
unsigned int max_length,
void(* read_cb )(struct osmo_it_q *q, struct llist_head *item),
void * data )

◆ osmo_it_q_by_name()

struct osmo_it_q * osmo_it_q_by_name ( const char * name)

◆ osmo_it_q_destroy()

void osmo_it_q_destroy ( struct osmo_it_q * q)

◆ osmo_it_q_flush()

void osmo_it_q_flush ( struct osmo_it_q * q)