version 1.7, 2012/05/14 12:09:12
|
version 1.7.2.2, 2012/05/15 15:47:12
|
Line 59 SUCH DAMAGE.
|
Line 59 SUCH DAMAGE.
|
#define CRITERIA_ARG 1 |
#define CRITERIA_ARG 1 |
#define CRITERIA_FD 2 |
#define CRITERIA_FD 2 |
#define CRITERIA_VAL 3 |
#define CRITERIA_VAL 3 |
#define CRITERIA_TV 4 | #define CRITERIA_TS 4 |
|
|
|
|
/* early declaration for root & task */ |
/* early declaration for root & task */ |
Line 133 struct sched_Task {
|
Line 133 struct sched_Task {
|
sched_root_task_t *task_root; |
sched_root_task_t *task_root; |
#define TASK_ROOT(x) (x)->task_root |
#define TASK_ROOT(x) (x)->task_root |
sched_task_func_t task_func; |
sched_task_func_t task_func; |
|
#define TASK_FUNC(x) (x)->task_func |
|
|
void *task_arg; |
void *task_arg; |
union { |
union { |
Line 264 int schedCancel(sched_task_t * __restrict task);
|
Line 265 int schedCancel(sched_task_t * __restrict task);
|
* |
* |
* @root = root task |
* @root = root task |
* @type = cancel from queue type, if =taskMAX cancel same task from all queues |
* @type = cancel from queue type, if =taskMAX cancel same task from all queues |
* @criteria = find task by criteria [CRITERIA_CALL|CRITERIA_ARG|CRITERIA_FD|CRITERIA_VAL|CRITERIA_TV] | * @criteria = find task by criteria [CRITERIA_CALL|CRITERIA_ARG|CRITERIA_FD|CRITERIA_VAL|CRITERIA_TS] |
* @param = search parameter |
* @param = search parameter |
* @hook = custom cleanup hook function, may be NULL |
* @hook = custom cleanup hook function, may be NULL |
* return: -1 error, -2 error in sub-stage cancel execution, -3 error from custom hook or 0 ok |
* return: -1 error, -2 error in sub-stage cancel execution, -3 error from custom hook or 0 ok |
Line 286 int schedCancelby(sched_root_task_t * __restrict root,
|
Line 287 int schedCancelby(sched_root_task_t * __restrict root,
|
*/ |
*/ |
sched_task_t *schedRead(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, |
sched_task_t *schedRead(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, |
int fd, void *opt_data, size_t opt_dlen); |
int fd, void *opt_data, size_t opt_dlen); |
|
#define schedReadSelf(x) schedRead(TASK_ROOT((x)), TASK_FUNC((x)), TASK_ARG((x)), \ |
|
TASK_FD((x)), TASK_DATA((x)), TASK_DATLEN((x))) |
/* |
/* |
* schedWrite() - Add WRITE I/O task to scheduler queue |
* schedWrite() - Add WRITE I/O task to scheduler queue |
* |
* |
Line 299 sched_task_t *schedRead(sched_root_task_t * __restrict
|
Line 302 sched_task_t *schedRead(sched_root_task_t * __restrict
|
*/ |
*/ |
sched_task_t *schedWrite(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, |
sched_task_t *schedWrite(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, |
int fd, void *opt_data, size_t opt_dlen); |
int fd, void *opt_data, size_t opt_dlen); |
|
#define schedWriteSelf(x) schedWrite(TASK_ROOT((x)), TASK_FUNC((x)), TASK_ARG((x)), \ |
|
TASK_FD((x)), TASK_DATA((x)), TASK_DATLEN((x))) |
/* |
/* |
* schedTimer() - Add TIMER task to scheduler queue |
* schedTimer() - Add TIMER task to scheduler queue |
* |
* |
Line 312 sched_task_t *schedWrite(sched_root_task_t * __restric
|
Line 317 sched_task_t *schedWrite(sched_root_task_t * __restric
|
*/ |
*/ |
sched_task_t *schedTimer(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, |
sched_task_t *schedTimer(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, |
struct timespec ts, void *opt_data, size_t opt_dlen); |
struct timespec ts, void *opt_data, size_t opt_dlen); |
|
#define schedTimerSelf(x) schedTimer(TASK_ROOT((x)), TASK_FUNC((x)), TASK_ARG((x)), \ |
|
TASK_TS((x)), TASK_DATA((x)), TASK_DATLEN((x))) |
/* |
/* |
* schedEvent() - Add EVENT task to scheduler queue |
* schedEvent() - Add EVENT task to scheduler queue |
* |
* |
Line 325 sched_task_t *schedTimer(sched_root_task_t * __restric
|
Line 332 sched_task_t *schedTimer(sched_root_task_t * __restric
|
*/ |
*/ |
sched_task_t *schedEvent(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, |
sched_task_t *schedEvent(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, |
unsigned long val, void *opt_data, size_t opt_dlen); |
unsigned long val, void *opt_data, size_t opt_dlen); |
|
#define schedEventSelf(x) schedEvent(TASK_ROOT((x)), TASK_FUNC((x)), TASK_ARG((x)), \ |
|
TASK_VAL((x)), TASK_DATA((x)), TASK_DATLEN((x))) |
/* |
/* |
* schedEventLo() - Add EVENT_Lo task to scheduler queue |
* schedEventLo() - Add EVENT_Lo task to scheduler queue |
* |
* |
Line 338 sched_task_t *schedEvent(sched_root_task_t * __restric
|
Line 347 sched_task_t *schedEvent(sched_root_task_t * __restric
|
*/ |
*/ |
sched_task_t *schedEventLo(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, |
sched_task_t *schedEventLo(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, |
unsigned long val, void *opt_data, size_t opt_dlen); |
unsigned long val, void *opt_data, size_t opt_dlen); |
|
#define schedEventLoSelf(x) schedEventLo(TASK_ROOT((x)), TASK_FUNC((x)), TASK_ARG((x)), \ |
|
TASK_VAL((x)), TASK_DATA((x)), TASK_DATLEN((x))) |
/* |
/* |
* schedCallOnce() - Call once from scheduler |
* schedCallOnce() - Call once from scheduler |
* |
* |
Line 351 sched_task_t *schedEventLo(sched_root_task_t * __restr
|
Line 362 sched_task_t *schedEventLo(sched_root_task_t * __restr
|
*/ |
*/ |
sched_task_t *schedCallOnce(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, |
sched_task_t *schedCallOnce(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, |
unsigned long val, void *opt_data, size_t opt_dlen); |
unsigned long val, void *opt_data, size_t opt_dlen); |
|
#define schedCallAgain(x) schedCallOnce(TASK_ROOT((x)), TASK_FUNC((x)), TASK_ARG((x)), \ |
|
TASK_VAL((x)), TASK_DATA((x)), TASK_DATLEN((x))) |
|
|
|
|
#endif |
#endif |