touched up qse_task_t
This commit is contained in:
@ -24,28 +24,55 @@
|
||||
#include <qse/types.h>
|
||||
#include <qse/macros.h>
|
||||
|
||||
typedef void (*qse_task_fnc_t) (void* ctx);
|
||||
|
||||
typedef struct qse_task_t qse_task_t;
|
||||
typedef struct qse_task_slice_t qse_task_slice_t;
|
||||
|
||||
typedef qse_task_slice_t* (*qse_task_fnc_t) (
|
||||
qse_task_t* task,
|
||||
qse_task_slice_t* slice,
|
||||
void* ctx
|
||||
);
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
int qse_gettaskid (
|
||||
qse_task_t* qse_task_open (
|
||||
qse_mmgr_t* mmgr,
|
||||
qse_size_t xtnsize
|
||||
);
|
||||
|
||||
void qse_task_close (
|
||||
qse_task_t* task
|
||||
);
|
||||
|
||||
qse_task_t* qse_maketask (
|
||||
qse_mmgr_t* qse_task_getmmgr (
|
||||
qse_task_t* task
|
||||
);
|
||||
|
||||
void* qse_task_getxtn (
|
||||
qse_task_t* task
|
||||
);
|
||||
|
||||
qse_task_slice_t* qse_task_create (
|
||||
qse_task_t* task,
|
||||
qse_task_fnc_t fnc,
|
||||
void* ctx,
|
||||
qse_size_t stsize
|
||||
qse_size_t stksize
|
||||
);
|
||||
|
||||
int qse_task_boot (
|
||||
void
|
||||
qse_task_t* task,
|
||||
qse_task_slice_t* to
|
||||
);
|
||||
|
||||
void qse_task_schedule (
|
||||
qse_task_t* task,
|
||||
qse_task_slice_t* from,
|
||||
qse_task_slice_t* to
|
||||
);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
@ -105,15 +105,14 @@
|
||||
* The QSE_OFFSETOF() macro returns the offset of a field from the beginning
|
||||
* of a structure.
|
||||
*/
|
||||
#define QSE_OFFSETOF(type,member) \
|
||||
((qse_size_t)&((type*)0)->member)
|
||||
#define QSE_OFFSETOF(type,member) ((qse_size_t)&((type*)0)->member)
|
||||
|
||||
/**
|
||||
* The QSE_ALIGNOF() macro returns the alignment size of a structure.
|
||||
* Note that this macro may not work reliably depending on the type given.
|
||||
*/
|
||||
#define QSE_ALIGNOF(type) QSE_OFFSETOF(struct { qse_uint8_t d1; type d2 }, d2)
|
||||
/*(sizeof(struct { qse_uint8_t d1; type d2 }) - sizeof(type))*/
|
||||
#define QSE_ALIGNOF(type) QSE_OFFSETOF(struct { qse_uint8_t d1; type d2; }, d2)
|
||||
/*(sizeof(struct { qse_uint8_t d1; type d2; }) - sizeof(type))*/
|
||||
|
||||
/**
|
||||
* The QSE_TYPE_IS_SIGNED() macro determines if a type is signed.
|
||||
|
Reference in New Issue
Block a user