OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
task_thread_api.h File Reference
#include "mcast_common.h"
Include dependency graph for task_thread_api.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  thread_
 

Macros

#define THREAD_TO_STRUCT(function, structure, member)
 
#define FOR_ALL_CIRCULAR_THREAD_ENTRIES(head, current)
 

Typedefs

typedef struct thread_ task_thread
 

Functions

void thread_new_circular_thread (task_thread *head)
 
boolean thread_circular_thread_empty (task_thread *head)
 
boolean thread_circular_thread_head (task_thread *head, task_thread *node)
 
boolean thread_node_on_thread (const task_thread *node)
 
task_threadthread_circular_top (task_thread *head)
 
void thread_circular_add_top (task_thread *head, task_thread *node)
 
void thread_circular_add_bottom (task_thread *head, task_thread *node)
 
task_threadthread_next_node (task_thread *node)
 
task_threadthread_circular_thread_next (task_thread *head, task_thread *node)
 
task_threadthread_circular_dequeue_top (task_thread *head)
 
void thread_remove (task_thread *node)
 

Macro Definition Documentation

#define FOR_ALL_CIRCULAR_THREAD_ENTRIES (   head,
  current 
)
Value:
for ((current) = thread_next_node(head); \
!thread_circular_thread_head(head, (current)); \
(current) = thread_next_node(current))
task_thread * thread_next_node(task_thread *node)
boolean thread_circular_thread_head(task_thread *head, task_thread *node)

Definition at line 35 of file task_thread_api.h.

#define THREAD_TO_STRUCT (   function,
  structure,
  member 
)
Value:
static inline structure * (function)(task_thread *address) { \
if (address) { \
return (structure *)((char*)address - offsetof(structure, member));\
} \
return NULL; \
}

Definition at line 15 of file task_thread_api.h.

Typedef Documentation

typedef struct thread_ task_thread

Function Documentation

void thread_circular_add_bottom ( task_thread head,
task_thread node 
)

Definition at line 59 of file task_thread_api.cc.

Here is the call graph for this function:

void thread_circular_add_top ( task_thread head,
task_thread node 
)

Definition at line 49 of file task_thread_api.cc.

task_thread* thread_circular_dequeue_top ( task_thread head)

Definition at line 91 of file task_thread_api.cc.

Here is the call graph for this function:

boolean thread_circular_thread_empty ( task_thread head)

Definition at line 25 of file task_thread_api.cc.

boolean thread_circular_thread_head ( task_thread head,
task_thread node 
)

Definition at line 30 of file task_thread_api.cc.

task_thread* thread_circular_thread_next ( task_thread head,
task_thread node 
)

Definition at line 69 of file task_thread_api.cc.

task_thread* thread_circular_top ( task_thread head)

Definition at line 40 of file task_thread_api.cc.

void thread_new_circular_thread ( task_thread head)

Definition at line 13 of file task_thread_api.cc.

task_thread* thread_next_node ( task_thread node)

Definition at line 64 of file task_thread_api.cc.

boolean thread_node_on_thread ( const task_thread node)

Definition at line 35 of file task_thread_api.cc.

void thread_remove ( task_thread node)

Definition at line 78 of file task_thread_api.cc.