RKH
rkhqueue.h File Reference

Specifies the interface of the queue services. More...

#include "rkhcfg.h"
#include "rkhtype.h"
Include dependency graph for rkhqueue.h:

Go to the source code of this file.

Data Structures

struct  RKH_QUEI_T
 Defines the data structure into which the performance information for queues is stored. More...
 
struct  RKH_QUEUE_T
 Defines the data structure used to maintain information about the queue. More...
 

Macros

#define RKH_QUEUE_IS_EMPTY(q)    (rbool_t)(rkh_queue_get_num((RKH_QUEUE_T *)(q)) == 0)
 This macro query the queue. More...
 

Typedefs

typedef rui8_t RKH_QUENE_T
 This data type defines the maximum number of elements that any queue can contain. More...
 

Enumerations

enum  RKH_QUECODE_T
 Return codes from queue operations.
 

Functions

void rkh_queue_init (RKH_QUEUE_T *q, const void **sstart, RKH_QUENE_T ssize, void *sma)
 Initializes the previously allocated queue data structure RKH_QUEUE_T. More...
 
rbool_t rkh_queue_is_full (RKH_QUEUE_T *q)
 This function query the queue. More...
 
RKH_QUENE_T rkh_queue_get_num (RKH_QUEUE_T *q)
 Returns the number of elements currently in the queue. More...
 
RKH_QUENE_T rkh_queue_get_lwm (RKH_QUEUE_T *q)
 This function returns the lowest number of free elements ever present in the pool. This number provides valuable empirical data for proper sizing of the queue. More...
 
void * rkh_queue_get (RKH_QUEUE_T *q)
 Get and remove an element from a queue. More...
 
void rkh_queue_put_fifo (RKH_QUEUE_T *q, const void *pe)
 Puts an element on a queue in a FIFO manner. The element is queued by reference, not by copy. More...
 
void rkh_queue_put_lifo (RKH_QUEUE_T *q, const void *pe)
 Puts an element on a queue in a LIFO manner. The element is queued by reference, not by copy. More...
 
void rkh_queue_deplete (RKH_QUEUE_T *q)
 Depletes a queue. Empties the contents of the queue and eliminates all stored elements. More...
 
ruint rkh_queue_read (RKH_QUEUE_T *q, void *pe)
 Read an element from a queue without remove it. More...
 
void rkh_queue_get_info (RKH_QUEUE_T *q, RKH_QUEI_T *pqi)
 Retrieves performance information for a particular queue. More...
 
void rkh_queue_clear_info (RKH_QUEUE_T *q)
 Clear performance information for a particular queue. More...
 

Detailed Description

Specifies the interface of the queue services.

Definition in file rkhqueue.h.

Typedef Documentation

◆ RKH_QUENE_T

typedef rui8_t RKH_QUENE_T

This data type defines the maximum number of elements that any queue can contain.

The valid values [in bits] are 8, 16 or 32. Default is 8. This type is configurable via the preprocessor switch RKH_CFG_QUE_SIZEOF_NELEM.

Definition at line 97 of file rkhqueue.h.