#include <sysc/qt/qtmd.h>Go to the source code of this file.
Classes | |
| struct | qt_t |
Defines | |
| #define | QUICKTHREADS_STKROUNDUP(bytes) (((bytes)+QUICKTHREADS_STKALIGN) & ~(QUICKTHREADS_STKALIGN-1)) |
| #define | QUICKTHREADS_SPUT(top, at, val) (((qt_word_t *)(top))[(at)] = (qt_word_t)(val)) |
| #define | QUICKTHREADS_ARGS_MD (0) |
| #define | QUICKTHREADS_ADJ(sp) (((char *)sp) + QUICKTHREADS_STKBASE) |
| #define | QUICKTHREADS_ARGS(sp, pu, pt, userf, only) |
| #define | QUICKTHREADS_ABORT(h, a0, a1, newthread) do { qt_abort (h, a0, a1, newthread); } while (0) |
| #define | QUICKTHREADS_BLOCK(h, a0, a1, newthread) (qt_block (h, a0, a1, newthread)) |
| #define | QUICKTHREADS_BLOCKI(h, a0, a1, newthread) (qt_blocki (h, a0, a1, newthread)) |
Typedefs | |
| typedef void *( | qt_userf_t )(void *pu) |
| typedef void *( | qt_vuserf_t )(int arg0,...) |
| typedef void( | qt_only_t )(void *pu, void *pt, qt_userf_t *userf) |
| typedef void( | qt_startup_t )(void *pt) |
| typedef void( | qt_cleanup_t )(void *pt, void *vuserf_return) |
| typedef void *( | qt_helper_t )(qt_t *old, void *a0, void *a1) |
| typedef void *( | qt_block_t )(qt_helper_t *helper, void *a0, void *a1, qt_t *newthread) |
Functions | |
| void * | qt_abort (qt_helper_t *h, void *a0, void *a1, qt_t *newthread) |
| void * | qt_block (qt_helper_t *h, void *a0, void *a1, qt_t *newthread) |
| void * | qt_blocki (qt_helper_t *h, void *a0, void *a1, qt_t *newthread) |
| #define QUICKTHREADS_ABORT | ( | h, | |||
| a0, | |||||
| a1, | |||||
| newthread | ) | do { qt_abort (h, a0, a1, newthread); } while (0) |
| #define QUICKTHREADS_ADJ | ( | sp | ) | (((char *)sp) + QUICKTHREADS_STKBASE) |
| #define QUICKTHREADS_ARGS | ( | sp, | |||
| pu, | |||||
| pt, | |||||
| userf, | |||||
| only | ) |
Value:
(QUICKTHREADS_ARGS_MD (QUICKTHREADS_ADJ(sp)), \ QUICKTHREADS_SPUT (QUICKTHREADS_ADJ(sp), QUICKTHREADS_ONLY_INDEX, only), \ QUICKTHREADS_SPUT (QUICKTHREADS_ADJ(sp), QUICKTHREADS_USER_INDEX, userf), \ QUICKTHREADS_SPUT (QUICKTHREADS_ADJ(sp), QUICKTHREADS_ARGT_INDEX, pt), \ QUICKTHREADS_SPUT (QUICKTHREADS_ADJ(sp), QUICKTHREADS_ARGU_INDEX, pu), \ ((qt_t *)QUICKTHREADS_ADJ(sp)))
| #define QUICKTHREADS_ARGS_MD (0) |
| #define QUICKTHREADS_BLOCK | ( | h, | |||
| a0, | |||||
| a1, | |||||
| newthread | ) | (qt_block (h, a0, a1, newthread)) |
| #define QUICKTHREADS_BLOCKI | ( | h, | |||
| a0, | |||||
| a1, | |||||
| newthread | ) | (qt_blocki (h, a0, a1, newthread)) |
| #define QUICKTHREADS_STKROUNDUP | ( | bytes | ) | (((bytes)+QUICKTHREADS_STKALIGN) & ~(QUICKTHREADS_STKALIGN-1)) |
| typedef void*( qt_block_t)(qt_helper_t *helper, void *a0, void *a1, qt_t *newthread) |
| typedef void( qt_cleanup_t)(void *pt, void *vuserf_return) |
| typedef void*( qt_helper_t)(qt_t *old, void *a0, void *a1) |
| typedef void( qt_only_t)(void *pu, void *pt, qt_userf_t *userf) |
| typedef void( qt_startup_t)(void *pt) |
| typedef void*( qt_userf_t)(void *pu) |
| typedef void*( qt_vuserf_t)(int arg0,...) |
| void* qt_abort | ( | qt_helper_t * | h, | |
| void * | a0, | |||
| void * | a1, | |||
| qt_t * | newthread | |||
| ) |
| void* qt_block | ( | qt_helper_t * | h, | |
| void * | a0, | |||
| void * | a1, | |||
| qt_t * | newthread | |||
| ) |
| void* qt_blocki | ( | qt_helper_t * | h, | |
| void * | a0, | |||
| void * | a1, | |||
| qt_t * | newthread | |||
| ) |