Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

include/tm.h File Reference

Interface: task management. More...

#include <config.h>
#include <mem.h>

Include dependency graph for tm.h:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Classes

struct  _pchain_t
 priority chain data structure More...

struct  _tdata_t
 task data structure More...


Defines

#define PRIO_LOWEST   1
 The lowest possible task priority.

#define PRIO_NORMAL   10
 The priority of most tasks.

#define PRIO_HIGHEST   20
 The highest possible task priority.

#define T_DEAD   0
 dead and gone, stack freed

#define T_ZOMBIE   1
 terminated, cleanup pending

#define T_WAITING   2
 waiting for an event

#define T_SLEEPING   3
 sleeping. wants to run.

#define T_RUNNING   4
 running

#define T_KERNEL   (1 << 0)
 kernel task

#define T_USER   (1 << 1)
 user task

#define T_IDLE   (1 << 2)
 idle task

#define T_SHUTDOWN   (1 << 7)
 shutdown requested

#define DEFAULT_STACK_SIZE   512
 that's enough.

#define shutdown_requested()   ((ctid->tflags & T_SHUTDOWN) != 0)
 test to see if task has been asked to shutdown


Typedefs

typedef volatile unsigned char tstate_t
 task state type

typedef volatile unsigned char tflags_t
 task flags type

typedef unsigned char priority_t
 task priority type

typedef unsigned long wakeup_t
 wakeup data area type

typedef _pchain_t pchain_t
 priority chain data type a shorthand

typedef _tdata_t tdata_t
 task data type

typedef signed int tid_t
 task id type


Variables

tdata_tctid


Detailed Description

Interface: task management.

Author:
Markus L. Noga <markus@noga.de>
Defines types and flags used in task management.

Definition in file tm.h.


Define Documentation

#define DEFAULT_STACK_SIZE   512
 

that's enough.

Definition at line 81 of file tm.h.

#define PRIO_HIGHEST   20
 

The highest possible task priority.

Definition at line 55 of file tm.h.

#define PRIO_LOWEST   1
 

The lowest possible task priority.

Definition at line 51 of file tm.h.

#define PRIO_NORMAL   10
 

The priority of most tasks.

Definition at line 53 of file tm.h.

 
#define shutdown_requested  )     ((ctid->tflags & T_SHUTDOWN) != 0)
 

test to see if task has been asked to shutdown

Check task shutdown flag. If set, the task should shutdown as soon as possible. If clear, continue running.

Definition at line 134 of file tm.h.

#define T_DEAD   0
 

dead and gone, stack freed

Todo:
the following comments on the defined may cause problems in when used in macros/expressions, etc. FixEm?

Definition at line 65 of file tm.h.

#define T_IDLE   (1 << 2)
 

idle task

Definition at line 77 of file tm.h.

#define T_KERNEL   (1 << 0)
 

kernel task

Definition at line 75 of file tm.h.

#define T_RUNNING   4
 

running

Definition at line 69 of file tm.h.

#define T_SHUTDOWN   (1 << 7)
 

shutdown requested

Definition at line 78 of file tm.h.

#define T_SLEEPING   3
 

sleeping. wants to run.

Definition at line 68 of file tm.h.

#define T_USER   (1 << 1)
 

user task

Definition at line 76 of file tm.h.

#define T_WAITING   2
 

waiting for an event

Definition at line 67 of file tm.h.

#define T_ZOMBIE   1
 

terminated, cleanup pending

Definition at line 66 of file tm.h.


Typedef Documentation

typedef struct _pchain_t pchain_t
 

priority chain data type a shorthand

Definition at line 100 of file tm.h.

typedef unsigned char priority_t
 

task priority type

Definition at line 48 of file tm.h.

typedef struct _tdata_t tdata_t
 

task data type

a shorthand

Definition at line 125 of file tm.h.

typedef volatile unsigned char tflags_t
 

task flags type

Definition at line 46 of file tm.h.

typedef signed int tid_t
 

task id type

In effect, the kernel simply typecasts *tdata_t to tid_t.

Definition at line 143 of file tm.h.

typedef volatile unsigned char tstate_t
 

task state type

Definition at line 45 of file tm.h.

typedef unsigned long wakeup_t
 

wakeup data area type

Definition at line 57 of file tm.h.

Referenced by enter_critical_section(), wait_critical_section(), and wait_event().


Variable Documentation

tdata_t* ctid
 

Definition at line 135 of file tm.h.


brickOS is released under the Mozilla Public License.
Original code copyright 1998-2002 by the authors.

Generated on Mon Feb 16 21:02:25 2004 for brickOS Kernel Developer by doxygen 1.3.5