Process-in-Process
 All Functions Groups Pages
Functions
Task Queue Operations

Functions

int pip_task_queue_init (pip_task_queue_t *queue, pip_task_queue_methods_t *methods)
 Initialize task queue. More...
 
int pip_task_queue_trylock (pip_task_queue_t *queue)
 Try locking task queue. More...
 
void pip_task_queue_lock (pip_task_queue_t *queue)
 Lock task queue. More...
 
void pip_task_queue_unlock (pip_task_queue_t *queue)
 Unlock task queue. More...
 
int pip_task_queue_isempty (pip_task_queue_t *queue)
 Query function if the current task has some tasks to be scheduled with. More...
 
int pip_task_queue_count (pip_task_queue_t *queue, int *np)
 Count the length of task queue. More...
 
void pip_task_queue_enqueue (pip_task_queue_t *queue, pip_task_t *task)
 Enqueue a BLT. More...
 
pip_task_t * pip_task_queue_dequeue (pip_task_queue_t *queue)
 Dequeue a task from a task queue. More...
 
void pip_task_queue_describe (pip_task_queue_t *queue, FILE *fp)
 Describe queue. More...
 
int pip_task_queue_fin (pip_task_queue_t *queue)
 Finalize a task queue. More...
 

Detailed Description

Task queue operations

Description
Manipulating ULP/BLT task queue functions

Function Documentation

int pip_task_queue_init ( pip_task_queue_t *  queue,
pip_task_queue_methods_t *  methods 
)
Name
pip_task_queue_init
Synopsis
#include <pip/pip.h>
int pip_task_queue_init( pip_task_queue_t *queue, pip_task_queue_methods_t *methods );
Parameters
[in]queueA task queue
[in]methodsMust be set to NULL. Researved for future use.
Returns
Always return 0.
int pip_task_queue_trylock ( pip_task_queue_t *  queue)
Name
pip_task_queue_trylock
Synopsis
#include <pip/pip.h>
int pip_task_queue_trylock( pip_task_queue_t *queue );
Parameters
[in]queueA task queue
Returns
Returns a non-zero value if lock succeeds.
void pip_task_queue_lock ( pip_task_queue_t *  queue)
Name
pip_task_queue_lock
Synopsis
#include <pip/pip.h>
int pip_task_queue_lock( pip_task_queue_t *queue );
Parameters
[in]queueA task queue
Returns
This function returns no error
void pip_task_queue_unlock ( pip_task_queue_t *  queue)
Name
pip_task_queue_unlock
Synopsis
#include <pip/pip.h>
int pip_task_queue_unlock( pip_task_queue_t *queue );
Parameters
[in]queueA task queue
Returns
This function returns no error
int pip_task_queue_isempty ( pip_task_queue_t *  queue)
Name
pip_task_queue_isempty
Synopsis
#include <pip/pip.h>
int pip_task_queue_isempty( pip_task_queue_t *queue );
Parameters
[in]queueA task queue
Returns
Returns a non-zero value if the queue is empty
int pip_task_queue_count ( pip_task_queue_t *  queue,
int *  np 
)
Name
pip_task_queue_count
Synopsis
#include <pip/pip.h>
int pip_task_queue_count( pip_task_queue_t *queue, int *np );
Parameters
[in]queueA task queue
[out]npthe queue length returned
Returns
Return 0 on success. Return an error code on error.
Return values
EINVALqueue is NULL
EINVALnp is NULL
void pip_task_queue_enqueue ( pip_task_queue_t *  queue,
pip_task_t *  task 
)
Name
pip_task_queue_enqueue
Synopsis
#include <pip/pip.h>
void pip_task_queue_enqueue( pip_task_queue_t *queue, pip_task_t *task );
Parameters
[in]queueA task queue
[in]taskA task to be enqueued
Note
It is the user responsibility to lock (and unlock) the queue.
pip_task_t* pip_task_queue_dequeue ( pip_task_queue_t *  queue)
Name
pip_task_queue_dequeue
Synopsis
#include <pip/pip.h>
pip_task_t* pip_task_queue_dequeue( pip_task_queue_t *queue );
Parameters
[in]queueA task queue
Returns
Dequeued task iss returned. If the queue is empty then NULL is returned.
Note
It is the user responsibility to lock (and unlock) the queue.
void pip_task_queue_describe ( pip_task_queue_t *  queue,
FILE *  fp 
)
Name
pip_task_queue_describe
Synopsis
#include <pip/pip.h>
void pip_task_queue_describe( pip_task_queue_t *queue, FILE *fp );
Parameters
[in]queueA task queue
[in]fpa File pointer
int pip_task_queue_fin ( pip_task_queue_t *  queue)
Name
pip_task_queue_fin
Synopsis
#include <pip/pip.h>
int pip_task_queue_fin( pip_task_queue_t *queue );
Parameters
[in]queueA task queue
Returns
Zero is returned always