Tizen RT Libs&Environment  v1.0 D5
queue.h File Reference

Queue APIs. More...

#include <sys/types.h>
Include dependency graph for queue.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  sq_entry_s
 structure for singly-linked queue More...
 
struct  dq_entry_s
 structure for double-linked queue More...
 
struct  sq_queue_s
 structure for header queue More...
 
struct  dq_queue_s
 structure for header queue More...
 

Macros

#define sq_init(q)   do { (q)->head = NULL; (q)->tail = NULL; } while (0)
 
#define dq_init(q)   do { (q)->head = NULL; (q)->tail = NULL; } while (0)
 
#define sq_next(p)   ((p)->flink)
 
#define dq_next(p)   ((p)->flink)
 
#define dq_prev(p)   ((p)->blink)
 
#define sq_empty(q)   ((q)->head == NULL)
 
#define dq_empty(q)   ((q)->head == NULL)
 
#define sq_peek(q)   ((q)->head)
 
#define dq_peek(q)   ((q)->head)
 
#define EXTERN   extern
 

Typedefs

typedef struct sq_entry_s sq_entry_t
 
typedef struct dq_entry_s dq_entry_t
 
typedef struct sq_queue_s sq_queue_t
 
typedef struct dq_queue_s dq_queue_t
 

Functions

void sq_addfirst (FAR sq_entry_t *node, FAR sq_queue_t *queue)
 places the 'node' at the head of the 'queue' More...
 
void dq_addfirst (FAR dq_entry_t *node, FAR dq_queue_t *queue)
 adds 'node' at the beginning of 'queue' More...
 
void sq_addlast (FAR sq_entry_t *node, FAR sq_queue_t *queue)
 places the 'node' at the tail of the 'queue' More...
 
void dq_addlast (FAR dq_entry_t *node, FAR dq_queue_t *queue)
 adds 'node' to the end of 'queue' More...
 
void sq_addafter (FAR sq_entry_t *prev, FAR sq_entry_t *node, FAR sq_queue_t *queue)
 adds 'node' after 'prev' in the 'queue.' More...
 
void dq_addafter (FAR dq_entry_t *prev, FAR dq_entry_t *node, FAR dq_queue_t *queue)
 adds 'node' after 'prev' in the 'queue.' More...
 
void dq_addbefore (FAR dq_entry_t *next, FAR dq_entry_t *node, FAR dq_queue_t *queue)
 adds 'node' before 'next' in 'queue' More...
 
FAR sq_entry_tsq_remafter (FAR sq_entry_t *node, FAR sq_queue_t *queue)
 removes the entry following 'node More...
 
void sq_rem (FAR sq_entry_t *node, FAR sq_queue_t *queue)
 removes a 'node' for 'queue.' More...
 
void dq_rem (FAR dq_entry_t *node, FAR dq_queue_t *queue)
 removes 'node' from 'queue' More...
 
FAR sq_entry_tsq_remlast (FAR sq_queue_t *queue)
 Removes the last entry in a singly-linked queue. More...
 
FAR dq_entry_tdq_remlast (FAR dq_queue_t *queue)
 removes the last entry from 'queue' More...
 
FAR sq_entry_tsq_remfirst (FAR sq_queue_t *queue)
 removes the first entry from 'queue' More...
 
FAR dq_entry_tdq_remfirst (FAR dq_queue_t *queue)
 removes 'node' from the head of 'queue' More...
 

Detailed Description

Queue APIs.

Definition in file queue.h.