RKH
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
rkhrq.h File Reference

Platform - independent interface for supporting queue services. More...

#include "rkhcfg.h"
#include "rkhtype.h"

Go to the source code of this file.

Data Structures

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

Macros

#define RKH_RQ_IS_EMPTY(q)   (rbool_t)(rkh_rq_get_num((RKH_RQ_T *)(q)) == 0)
 This macro query the queue. More...
 

Typedefs

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

Enumerations

enum  RKH_RQCODE_T
 Return codes from queue operations.
 

Functions

void rkh_rq_init (RKH_RQ_T *q, const void **sstart, RKH_RQNE_T ssize, const struct RKH_SMA_T *sma)
 Initializes the previously allocated queue data structure RKH_RQ_T. More...
 
rbool_t rkh_rq_is_full (RKH_RQ_T *q)
 This function query the queue. More...
 
RKH_RQNE_T rkh_rq_get_num (RKH_RQ_T *q)
 Returns the number of elements currently in the queue. More...
 
RKH_RQNE_T rkh_rq_get_lwm (RKH_RQ_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_rq_get (RKH_RQ_T *q)
 Get and remove an element from a queue. More...
 
void rkh_rq_put_fifo (RKH_RQ_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_rq_put_lifo (RKH_RQ_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_rq_deplete (RKH_RQ_T *q)
 Depletes a queue. Empties the contents of the queue and eliminates all stored elements. More...
 
ruint rkh_rq_read (RKH_RQ_T *q, void *pe)
 Read an element from a queue without remove it. More...
 
void rkh_rq_get_info (RKH_RQ_T *q, RKH_RQI_T *pqi)
 Retrieves performance information for a particular queue. More...
 
void rkh_rq_clear_info (RKH_RQ_T *q)
 Clear performance information for a particular queue. More...
 

Detailed Description

Platform - independent interface for supporting queue services.

Definition in file rkhrq.h.

Typedef Documentation

typedef rui8_t RKH_RQNE_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_RQ_SIZEOF_NELEM.

Definition at line 95 of file rkhrq.h.