00001
00009 #ifndef _TQUEUE_H_
00010 #define _TQUEUE_H_
00011
00012 #include "thread.h"
00013 #include "errnums.h"
00014
00019 typedef thread_t thread_queue_t;
00020
00021
00022 int thread_queue_empty(thread_queue_t *queue);
00023 void thread_queue_init(thread_queue_t *queue);
00024 int thread_queue_fetch(thread_queue_t *queue, thread_t *item, enum queue_types qt);
00025 void thread_queue_add(thread_queue_t *queue, thread_t *item, enum queue_types qt);
00026 int thread_queue_remove_item(thread_queue_t *queue, thread_t *item, enum queue_types qt);
00027 int thread_queue_remove_item_by_id(thread_queue_t *queue, int thread_id, enum queue_types qt);
00028
00029 void thread_queue_rotate(thread_queue_t *queue, enum queue_types qt);
00030 void thread_queue_enqueue(thread_queue_t *queue, thread_t *item, enum queue_types qt);
00031 void thread_queue_debug_print(thread_queue_t *queue, enum queue_types qt);
00032
00033 int thread_queue_exists(thread_queue_t *queue, thread_t item, enum queue_types qt);
00034
00035
00036 #endif