tiros.h File Reference


Detailed Description

Application Programming Interface (API).

Definition in file tiros.h.

#include <tiros/tr_types.h>

Include dependency graph for tiros.h:

Go to the source code of this file.

Defines

#define O_NONBLOCKING   0x01
#define O_EFFECTIVE_PRIO   0x01
#define O_RELATIVE_TIME   0x02
#define O_EFLAG_CLEAR   0x04
#define O_EFLAG_TRIGGER   0x08
#define O_EFLAG_AND   0x04
#define O_EFLAG_OR   0x00
#define OS_CRITICAL_ENABLE()   OS_PORT_CRITICAL_ENABLE()
#define OS_CRITICAL_BEGIN()   OS_PORT_CRITICAL_BEGIN()
#define OS_CRITICAL_END()   OS_PORT_CRITICAL_END()
#define OS_INT_ENABLE()   OS_PORT_INT_ENABLE()
#define OS_INT_DISABLE()   OS_PORT_INT_DISABLE()
#define OS_ISR_BEGIN()   OS_PORT_ISR_BEGIN()
#define TIROS_MIN_CTXT_SZ   TRPORT_MIN_CTXT_SZ
#define msgQ_MEMSZ(qlen)
#define ERR_MAJOR(x)   (x & (~7) )
#define ERR_MINOR(x)   (x & 7)
#define ILLEGAL_ELEM   ((tid_t) ~0)
#define SUCCESS   0
#define EMINOR_ISR   0x01
#define EMINOR_PRIO_RULE   0x02
#define ERR_LOCK   -8
#define ERR_LOCK_ISR   (ERR_LOCK | EMINOR_ISR)
#define ERR_LOCK_PRIO_CEIL   (ERR_LOCK | EMINOR_PRIO_RULE)
#define ERR_WOULDBLOCK   -16
#define ERR_WOULDBLOCK_ISR   (ERR_WOULDBLOCK | EMINOR_ISR)
#define ERR_WOULDBLOCK_MUTEX   (ERR_WOULDBLOCK | EMINOR_PRIO_RULE)
#define ERR_FULL   -24
#define ERR_NOTOWNER   -32
#define ERR_TIMEOUT   -40
#define ERR_RESUMED   -48
#define ERR_NOSUCHTASK   -56
#define ERR_TASKBLOCKED   -64
#define ERR_PRIO_IN_USE   -72
#define ERR_FAILED   -80

Typedefs

typedef void(*) taskfunc_t (void *)

Functions

void OS_ISR_END (void)
void os_init (void)
void os_start (void)
tid_t os_task_create (taskfunc_t func, osptr_t param, osword_t *stack, osword_t stacksize, tid_t priority)
tid_t os_self_tid (void)
int8_t os_prio_set (tid_t task, tid_t prio)
tid_t os_prio_get (tid_t task, uint8_t options)
int8_t os_task_del (tid_t task)
int8_t os_task_suspend (tid_t task)
int8_t os_task_resume (tid_t task)
void os_time_get (trtime_t *curr_time)
int8_t os_time_set (const trtime_t *new_time)
int8_t os_wake_at (const trtime_t *wake_time, uint8_t options)
void mutex_init (mutex_t *m, tid_t prio_ceiling)
tid_t mutex_owner (mutex_t *m)
int8_t mutex_lock (mutex_t *m, const trtime_t *timeout, uint8_t options)
int8_t mutex_unlock (mutex_t *m)
void csem_init (csem_t *cs, csemval_t init_val, csemval_t max_val)
csemval_t csem_count (csem_t *cs)
csemval_t csem_P (csem_t *cs, const trtime_t *timeout, uint8_t options)
csemval_t csem_V (csem_t *cs)
void msgQ_init (msgQ_t *m, mqind_t qlen)
mqind_t msgQ_count (msgQ_t *m)
int8_t msgQ_send (msgQ_t *m, osptr_t tx_value)
int8_t msgQ_recv (msgQ_t *m, const trtime_t *timeout, uint8_t options, osptr_t *rx_value)
void eflag_init (eflag_t *ef, flag_t initval)
int8_t eflag_set (eflag_t *ef, flag_t setbits, uint8_t options)
flag_t eflag_get (eflag_t *ef)
int8_t eflag_wait (eflag_t *ef, flag_t checkbits, const trtime_t *timeout, uint8_t options)


TiROS User Manual: Last Updated on Fri Jul 20 10:52:23 2007