tqueue.h File Reference

Heder file of implementation of cyclic sorted/unsorted queue. More...

#include "thread.h"
#include "errnums.h"

Go to the source code of this file.

Typedefs

typedef thread_t thread_queue_t

Functions

int thread_queue_empty (thread_queue_t *queue)
 Check the emptyness of the queue.
void thread_queue_init (thread_queue_t *queue)
 Initialize thread queue - empty queue is simply NULL.
int thread_queue_fetch (thread_queue_t *queue, thread_t *item, enum queue_types qt)
 fetch the first item from thread queue - remove from the queue
void thread_queue_add (thread_queue_t *queue, thread_t *item, enum queue_types qt)
 Add the item into thread_queue.
int thread_queue_remove_item (thread_queue_t *queue, thread_t *item, enum queue_types qt)
 remove item from the thread queue
int thread_queue_remove_item_by_id (thread_queue_t *queue, int thread_id, enum queue_types qt)
 remove item from the thread queue, by id
void thread_queue_rotate (thread_queue_t *queue, enum queue_types qt)
 Rotate the thread_queue one item to the right (on empty queue no effect).
void thread_queue_enqueue (thread_queue_t *queue, thread_t *item, enum queue_types qt)
 enqueue thread to the queue, sort threads by wakeup time.
void thread_queue_debug_print (thread_queue_t *queue, enum queue_types qt)
int thread_queue_exists (thread_queue_t *queue, thread_t item, enum queue_types qt)
 Checks, if the item is member of this queue.


Detailed Description

Heder file of implementation of cyclic sorted/unsorted queue.

This file is based on Kalisto, Development Kernel copyrighted (c) to Distributed Systems Research Group MFF UK, Czech republic.


Typedef Documentation

typedef thread_t thread_queue_t

thread_t can be a header of queue, threre is no diference betwen thread_t and thres_queue_t. This is only for better readability of code


Function Documentation

void thread_queue_add ( thread_queue_t queue,
thread_t *  item,
enum queue_types  qt 
)

Add the item into thread_queue.

Parameters:
queue - thread queue pointer
qt type of queue to be removed from
item - pointer to insert

void thread_queue_debug_print ( thread_queue_t queue,
enum queue_types  qt 
)

Created for debuging (internal) purposes only, prit memebers of the queue

Parameters:
queue - Pointer to the head of queue to be printed,
qt type of queue to be removed from.

int thread_queue_empty ( thread_queue_t queue  ) 

Check the emptyness of the queue.

Returns:
EEMPTY on empty list, ENOTEMPTY else

void thread_queue_enqueue ( thread_queue_t queue,
thread_t *  item,
enum queue_types  qt 
)

enqueue thread to the queue, sort threads by wakeup time.

Parameters:
queue - Pointer to the head of queue
item - thread to e enqueued
qt type of queue to be removed from
Returns:
EEMPTY on empty queue, EOK if removed, ENOTEXISTS if the item isn't in the queue

int thread_queue_exists ( thread_queue_t queue,
thread_t  item,
enum queue_types  qt 
)

Checks, if the item is member of this queue.

Parameters:
queue - Pointer to the head of queue to be printed,
item item to be checked
qt type of queue to be removed from.

int thread_queue_fetch ( thread_queue_t queue,
thread_t *  item,
enum queue_types  qt 
)

fetch the first item from thread queue - remove from the queue

Parameters:
queue thread queue pointer
item pointer - fetched item
qt type of queue to be fetched from
Returns:
EEMPTY on empty queue, EOK else

void thread_queue_init ( thread_queue_t queue  ) 

Initialize thread queue - empty queue is simply NULL.

Parameters:
queue thread queue pointer

int thread_queue_remove_item ( thread_queue_t queue,
thread_t *  item,
enum queue_types  qt 
)

remove item from the thread queue

Parameters:
queue - thread queue pointer
item pointer - item to remove
qt type of queue to be removed from
Returns:
EEMPTY on empty queue, EOK if removed, ENOTEXISTS if the item isn't in the queue

int thread_queue_remove_item_by_id ( thread_queue_t queue,
int  thread_id,
enum queue_types  qt 
)

remove item from the thread queue, by id

Parameters:
queue - thread queue pointer
thread_id - id of the thread to be remove
qt type of queue to be removed from
Returns:
EEMPTY on empty queue, EOK if removed, ENOTEXISTS if the item isn't in the queue

void thread_queue_rotate ( thread_queue_t queue,
enum queue_types  qt 
)

Rotate the thread_queue one item to the right (on empty queue no effect).

Parameters:
queue - Pointer to the head of queue
qt type of queue to be removed from


Generated on Wed Nov 15 17:25:44 2006 for Kalisto by  doxygen 1.4.7