tm.h File Reference

Interface: task management. More...

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

Include dependency graph for tm.h:

Go to the source code of this file.

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
 task states 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)
 task flags 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 signed int tid_t
 task id type

Variables

tdata_t * ctid


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

task states 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)

task flags 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 unsigned char priority_t

task priority type

Definition at line 48 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.


Variable Documentation

tdata_t* ctid


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

Generated on Tue Apr 10 19:51:37 2007 for brickOS C by doxygen 1.5.1