GLAST/LAT > DAQ and FSW > FSW > Doxygen Index > PBS / V2-10-11
Constituent: pbs     Tag: sun-gcc
#include "PBS/PL_comdefs.h"
Include dependency graph for PL_protos.h:
This graph shows which files directly or indirectly include this file:
Defines | |
#define | PL_K_ALL ((PL_list)(0xffffffff)) |
Specifies the list of all available ques. | |
#define | PL_LIST(_que_id) ((unsigned int)0x80000000 >> (_que_id)) |
Translates a que id into the equivalant que list. | |
#define | PL_NLIST(_nques) ((signed int)0x80000000 >> ((_nques) - 1)) |
Creates a list of corresponding to _nques. | |
#define | PL_FIND(_pl_list) FFSL(_pl_list) |
Finds the next highest available que in the list. | |
#define | PL_ADD(_pl_list, _que_id) ((_pl_list) | PL_LIST(_que_id)) |
Adds the specified que to the specified que list. | |
#define | PL_ELIMINATE(_pl_list, _que_id) ((_pl_list) & ~PL_LIST(_que_id)) |
Eliminates the specified que from the specified que list. | |
Functions | |
int | PL_init (PL_ctl *pl, PL_type type, int nques) |
Initializes the list head of a doubly linked list to an empty list of the specified type. | |
int | PL_destroy (PL_ctl *pl) |
Destroys the data structures associate with a PL. | |
PL_list | PL_wake (PL_ctl *pl, PL_list wake_list) |
Issues a wake up call to the PL ques if any of ques in the wakeup list are currently active. | |
PL_que * | PL_que_get (PL_ctl *pl, int que_id) |
Locates a pointer to the que specified by que_id. | |
PL_node * | PL_insert (PL_que *que, PL_node *node) |
Adds a node to the tail of a PL managed que. | |
PL_node * | PL_jam (PL_que *que, PL_node *node) |
Adds a node to the head of a PL managed que. | |
PL_node * | PL_remove (PL_ctl *pl, volatile const PL_list *wait_list, int *que_id) |
Removes a node from the head of the highest priority non-empty que. If all eligible queues are empty, then PL_remove returns NULL immediately without blocking. | |
PL_node * | PL_removeW (PL_ctl *pl, volatile const PL_list *wait_list, int *que_id) |
Removes a node from the head of the highest priority non-empty que. If all eligible queues are empty, then PL_removeW waits indefinitely. | |
PL_node * | PL_removeW_toc (PL_ctl *pl, volatile const PL_list *wait_list, int *que_id, const TOC *toc) |
Removes a node from the head of the highest priority non-empty que. If all eligible queues are empty, then PL_removeW_toc waits the specified until the timeout expires. | |
PL_list | PL_get (PL_ctl *pl) |
Returns a list of the currently active ques. | |
PL_list | PL_getW (PL_ctl *pl, volatile const PL_list *wait_list) |
Returns a list of the currently active ques which, at the time of the call, is guaranteed to include at least one member of the wait list. The routine blocks indefinitely until this condition is met. | |
PL_list | PL_getW_toc (PL_ctl *pl, volatile const PL_list *wait_list, const TOC *toc) |
Returns a list of the currently active ques which, at the time of the call, is guaranteed to include at least one member of the wait list. The routine blocks until this condition is met or the timeout expires. |
CVS $Id: PL_protos.h,v 1.3 2004/05/12 16:19:03 russell Exp $
|
Adds the specified que to the specified que list.
|
|
Eliminates the specified que from the specified que list.
|
|
Finds the next highest available que in the list.
|
|
Specifies the list of all available ques. This specifies the list of all available ques and is typically used as the wait list parameter in the removal routines. |
|
Translates a que id into the equivalant que list.
list_of_only_que_3 = PL_LIST (3);
This would return the value |
|
Creates a list of corresponding to _nques.
mask_of_all_ques = PL_NLIST (6);
This would return the value |
|
Destroys the data structures associate with a PL.
|
|
Returns a list of the currently active ques.
|
|
Returns a list of the currently active ques which, at the time of the call, is guaranteed to include at least one member of the wait list. The routine blocks indefinitely until this condition is met.
|
|
Returns a list of the currently active ques which, at the time of the call, is guaranteed to include at least one member of the wait list. The routine blocks until this condition is met or the timeout expires.
|
|
Initializes the list head of a doubly linked list to an empty list of the specified type.
|
|
Adds a node to the tail of a PL managed que.
|
|
Adds a node to the head of a PL managed que.
|
|
Locates a pointer to the que specified by que_id.
|
|
Removes a node from the head of the highest priority non-empty que. If all eligible queues are empty, then PL_remove returns NULL immediately without blocking.
|
|
Removes a node from the head of the highest priority non-empty que. If all eligible queues are empty, then PL_removeW waits indefinitely.
If there is an error, the routine returns NULL as its node. There are only two reasons NULL will be returned: 1. Internal error 2. The list of eligible ques does not include any configured ques. |
|
Removes a node from the head of the highest priority non-empty que. If all eligible queues are empty, then PL_removeW_toc waits the specified until the timeout expires.
If there is an error, the routine returns NULL as its node. There are only three reasons NULL will be returned:
|
|
Issues a wake up call to the PL ques if any of ques in the wakeup list are currently active.
|