E:/Projects/AvrLib/include/sys/thread.h File Reference

Thread management definitions. More...

#include <sys/types.h>
#include <cfg/memory.h>

Include dependency graph for thread.h:

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

Go to the source code of this file.

Data Structures

struct  _NUTTHREADINFO
 Thread information structure. More...

Defines

#define DEADBEEF   0xDEADBEEF
#define SLEEP_MODE_NONE   0xff
#define THREAD(threadfn, arg)
 Macro for thread entry definitions.
Thread States
#define TDS_TERM   0
#define TDS_RUNNING   1
#define TDS_READY   2
#define TDS_SLEEP   3

Typedefs

typedef struct _NUTTHREADINFO NUTTHREADINFO

Functions

__BEGIN_DECLS HANDLE NutThreadCreate (char *name, void(*fn)(void *), void *arg, size_t stackSize)
u_char NutThreadSetPriority (u_char level)
void NutThreadKill (void)
void NutThreadDestroy (void)
void NutThreadExit (void)
void NutThreadResume (void)
void NutThreadWake (HANDLE timer, HANDLE th)
void NutThreadYield (void)
void NutThreadAddPriQueue (NUTTHREADINFO *td, NUTTHREADINFO *volatile *tqpp)
void NutThreadRemoveQueue (NUTTHREADINFO *td, NUTTHREADINFO *volatile *tqpp)
void NutThreadSwitch (void)
HANDLE GetThreadByName (char *name)

Variables

NUTTHREADINFOrunningThread
NUTTHREADINFOnutThreadList
NUTTHREADINFOrunQueue


Detailed Description

Thread management definitions.

 *
 * $Log: thread.h,v $
 * Revision 1.16  2007/06/14 07:24:38  freckle
 * Disable ADC and buskeeper during idle thread sleep, if IDLE_THREAD_ADC_OFF and IDLE_THREAD_BUSKEEPER_OFF are defined
 *
 * Revision 1.15  2006/09/29 12:24:14  haraldkipp
 * Stack allocation code moved from thread module to heap module.
 * All code should use dedicated stack allocation routines. For targets
 * allocating stack from the normal heap the API calls are remapped by
 * preprocessor macros.
 *
 * Revision 1.14  2006/06/29 03:52:19  hwmaier
 * Added include statement for cfg/memory.h so the macro
 * NUTMEM_STACKHEAP is found when compiling for the
 * AT90CAN128.
 *
 * Revision 1.13  2006/06/28 14:35:31  haraldkipp
 * Event/thread/timer re-design.
 * Code indention corrected.
 * Volatile attribute removed from THREADINFO link pointer.
 *
 * Revision 1.12  2006/03/16 15:25:34  haraldkipp
 * Changed human readable strings from u_char to char to stop GCC 4 from
 * nagging about signedness.
 *
 * Revision 1.11  2005/10/07 21:48:25  hwmaier
 * Using __AVR_ENHANCED__ macro instead of __AVR_ATmega128__ to support also AT90CAN128 MCU
 *
 * Revision 1.10  2005/10/04 05:25:17  hwmaier
 * Added support for separating stack and conventional heap as required by AT09CAN128 MCUs
 *
 * Revision 1.9  2005/08/02 17:46:49  haraldkipp
 * Major API documentation update.
 *
 * Revision 1.8  2005/07/26 15:49:59  haraldkipp
 * Cygwin support added.
 *
 * Revision 1.7  2005/02/17 14:42:37  phblum
 * Removed volatile declarations of runQueue since it is not touched from interrupt context. Same for nutThreadList, runningThread and killedThreads.
 *
 * Revision 1.6  2005/02/16 19:53:15  haraldkipp
 * Ready-to-run queue handling removed from interrupt context.
 *
 * Revision 1.5  2004/07/09 19:51:34  freckle
 * Added new function NutThreadSetSleepMode to tell nut/os to set the MCU
 * into sleep mode when idle (avr-gcc && avr128 only)
 *
 * Revision 1.4  2004/04/07 12:13:57  haraldkipp
 * Matthias Ringwald's *nix emulation added
 *
 * Revision 1.3  2004/03/16 16:48:44  haraldkipp
 * Added Jan Dubiec's H8/300 port.
 *
 * Revision 1.2  2003/12/15 19:28:26  haraldkipp
 * Kill function prototypes
 *
 * Revision 1.1.1.1  2003/05/09 14:41:22  haraldkipp
 * Initial using 3.2.1
 *
 * Revision 1.14  2003/02/04 18:00:54  harald
 * Version 3 released
 *
 * Revision 1.13  2002/10/29 15:40:50  harald
 * *** empty log message ***
 *
 * Revision 1.12  2002/06/26 17:29:29  harald
 * First pre-release with 2.4 stack
 *
 * 

Definition in file thread.h.


Define Documentation

#define DEADBEEF   0xDEADBEEF

Definition at line 131 of file thread.h.

#define SLEEP_MODE_NONE   0xff

Definition at line 182 of file thread.h.

#define TDS_READY   2

Thread is ready to run.

Definition at line 178 of file thread.h.

#define TDS_RUNNING   1

Thread is running.

Definition at line 177 of file thread.h.

#define TDS_SLEEP   3

Thread is sleeping.

Definition at line 179 of file thread.h.

#define TDS_TERM   0

Thread has exited.

Definition at line 176 of file thread.h.

#define THREAD ( threadfn,
arg   ) 

Value:

void threadfn(void *arg) __attribute__ ((noreturn)); \
void threadfn(void *arg)
Macro for thread entry definitions.

Definition at line 218 of file thread.h.


Function Documentation

HANDLE GetThreadByName ( char *  name  ) 

void NutThreadAddPriQueue ( NUTTHREADINFO td,
NUTTHREADINFO *volatile *  tqpp 
)

__BEGIN_DECLS HANDLE NutThreadCreate ( char *  name,
void(*)(void *)  fn,
void *  arg,
size_t  stackSize 
)

void NutThreadDestroy ( void   ) 

void NutThreadExit ( void   ) 

void NutThreadKill ( void   ) 

void NutThreadRemoveQueue ( NUTTHREADINFO td,
NUTTHREADINFO *volatile *  tqpp 
)

void NutThreadResume ( void   ) 

u_char NutThreadSetPriority ( u_char  level  ) 

void NutThreadSwitch ( void   ) 

void NutThreadWake ( HANDLE  timer,
HANDLE  th 
)

void NutThreadYield ( void   ) 


Variable Documentation


Generated on Sun Aug 31 13:30:41 2008 for FrankenRTOS by  doxygen 1.5.6