GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> PBS / dev > pbs / rhel6-64
#include <PBI/Inline.h>
#include <PBI/Attribute.h>
#include <PBS/Q_pubdefs.h>
Defines | |
#define | Q__EXP_PROTO INLINE_USR_EXP_PROTO |
Export Prototype spec. | |
#define | Q__LCL_PROTO INLINE_USR_LCL_PROTO |
Internal Prototype spec. | |
#define | Q__EXP_FNC INLINE_USR_EXP_FNC |
Export Function declaration. | |
#define | Q__LCL_FNC INLINE_USR_LCL_FNC |
Internal Function declaration. | |
Functions | |
Q__EXP_PROTO void | Q__append (Q_head *dst, Q_head *src) ATTR_UNUSED_OK |
Appends the src que members to the dst que. | |
Q__EXP_PROTO void | Q__destroy (Q_head *que) ATTR_UNUSED_OK |
Destroys the data structures associate with the que. | |
Q__EXP_PROTO int | Q__empty (Q_head *que) ATTR_UNUSED_OK |
Returns non zero if the que is empty. | |
Q__EXP_PROTO void | Q__init (Q_head *que) ATTR_UNUSED_OK |
Initializes a que (doubly linked list) to an empty que. | |
Q__EXP_PROTO Q_node * | Q__insert (Q_head *que, Q_node *node) ATTR_UNUSED_OK |
Adds a node to the tail of a previously initialized que. | |
Q__EXP_PROTO Q_node * | Q__jam (Q_head *que, Q_node *node) ATTR_UNUSED_OK |
Adds a node to the head of a previously initialized que. | |
Q__EXP_PROTO void | Q__prepend (Q_head *dst, Q_head *src) ATTR_UNUSED_OK |
Prepends the src que members to the que list. | |
Q__EXP_PROTO Q_node * | Q__remove (Q_head *que) ATTR_UNUSED_OK |
Removes the node from the tail of a previously initialized que. An empty que returns NULL as its node. | |
Q__EXP_PROTO Q_node * | Q__unlink (const Q_node *node) ATTR_UNUSED_OK |
Removes the specified node from the que. |
CVS $Id: Q.ih,v 1.4 2011/03/24 23:05:43 apw Exp $
This defines the inline versions of the Que routines. These allow the the user to build non-interlocked doubly linked lists. These routines parallel some of the functionality of the VxWorks llxxxx routines, but are portable to both VxWorks and host platforms.
See also the non-inlined versions of these routines which offer possible savings in code space and increased modularity at the expense of some performance. The QI routines provide the same functionality with the added feature of being interlocked, and, therefore, thread safe.
Appends the src que members to the dst que.
dst | A previously initialized que acting as the destination | |
src | A previously initialized que acting as the source |
References _Q_node::blnk, _Q_node::flnk, and _Q_head::node.
Referenced by QI__append().
Q__EXP_FNC void Q__destroy | ( | Q_head * | que | ) |
Destroys the data structures associate with the que.
que | Pointer to the que to destroy. |
Q__EXP_FNC int Q__empty | ( | Q_head * | que | ) |
Returns non zero if the que is empty.
que | Pointer to the que to initialize. |
References _Q_node::flnk, and _Q_head::node.
Q__EXP_FNC void Q__init | ( | Q_head * | que | ) |
Initializes a que (doubly linked list) to an empty que.
que | Pointer to the que to initialize. |
References _Q_node::blnk, _Q_node::flnk, and _Q_head::node.
Adds a node to the tail of a previously initialized que.
que | A previously initialized que. | |
node | The node to add at the tail of the que |
References _Q_node::blnk, _Q_node::flnk, and _Q_head::node.
Referenced by add_wut(), and QI__insert().
Adds a node to the head of a previously initialized que.
que | A previously initialized que. | |
node | The node to add. |
References _Q_node::blnk, _Q_node::flnk, and _Q_head::node.
Prepends the src que members to the que list.
dst | A previously initialized que acting as the destination | |
src | A previously initialized que acting as the source |
References _Q_node::blnk, _Q_node::flnk, and _Q_head::node.
Referenced by QI__prepend().
Removes the node from the tail of a previously initialized que. An empty que returns NULL as its node.
que | A previously initialized que. |
References _Q_node::blnk, _Q_node::flnk, and _Q_head::node.
Referenced by QI__remove(), QI__removeW(), and wut_sys_kill().
Removes the specified node from the que.
node | The node to unlink from the que |
References _Q_node::blnk, and _Q_node::flnk.
Referenced by WUT_cancel(), and WUT_sys_handler().