#include <sys/types.h>
#include <cfg/memory.h>
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 | |
NUTTHREADINFO * | runningThread |
NUTTHREADINFO * | nutThreadList |
NUTTHREADINFO * | runQueue |
* * $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 THREAD | ( | threadfn, | |||
arg | ) |
Value:
void threadfn(void *arg) __attribute__ ((noreturn)); \ void threadfn(void *arg)
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 | ) |
void NutThreadSwitch | ( | void | ) |
void NutThreadYield | ( | void | ) |