1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/core/include/tcb.h
Oleg 416029d2c0 * changed default project from "hello-world" to "default"
* increased main priority to the half of maximum priority
* introduced define for minimum stack size
* decreased stack size for uart0 thread
* merged commands for rtc shell module to one command (date)
* cleanup of header includes
2010-11-05 19:33:45 +01:00

55 lines
1.1 KiB
C

/**
* @ingroup kernel
* @{
* @file
* @author Freie Universität Berlin, Computer Systems & Telematics, FeuerWhere project
* @author Kaspar Schleiser <kaspar@schleiser.de>
*/
/*
* tcb.h
*
* Created on: 19.08.2008
* Author: heiko, kaspar
*/
#ifndef TCB_H_
#define TCB_H_
#include <stdint.h>
#include <queue.h>
#include <clist.h>
/* uneven means has to be on runqueue */
#define STATUS_NOT_FOUND (0x0000)
#define STATUS_ON_RUNQUEUE (0x0001)
#define STATUS_RUNNING (0x0002) + STATUS_ON_RUNQUEUE
#define STATUS_PENDING (0x0004) + STATUS_ON_RUNQUEUE
#define STATUS_STOPPED (0x0008)
#define STATUS_SLEEPING (0x0010)
#define STATUS_MUTEX_BLOCKED (0x0020)
#define STATUS_RECEIVE_BLOCKED (0x0040)
#define STATUS_SEND_BLOCKED (0x0080)
#define STATUS_REPLY_BLOCKED (0x0100)
#define STATUS_TIMER_WAITING (0x0200)
typedef struct tcb {
char* sp;
uint16_t status;
uint16_t pid;
uint16_t priority;
void* wait_data;
queue_node_t msg_queue;
clist_node_t rq_entry;
const char* name;
char* stack_start;
int stack_size;
} tcb;
/** @} */
#endif /* TCB_H_ */