--- libaitsched/inc/aitsched.h 2011/08/05 15:52:00 1.1.1.1 +++ libaitsched/inc/aitsched.h 2011/08/11 22:55:28 1.1.1.1.2.1 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitsched.h,v 1.1.1.1 2011/08/05 15:52:00 misho Exp $ +* $Id: aitsched.h,v 1.1.1.1.2.1 2011/08/11 22:55:28 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -159,7 +159,7 @@ struct sched_RootTask { * return: allocated root task if ok or NULL error */ sched_root_task_t *schedInit(void ** __restrict data, size_t datlen); -#define schedInitIO() schedInit(&schedRegisterIO, 0) +#define schedBegin() schedInit(&schedRegisterHooks, 0) /* * schedEnd() - End scheduler & free all resources * @root = root task @@ -167,11 +167,11 @@ sched_root_task_t *schedInit(void ** __restrict data, */ int schedEnd(sched_root_task_t * __restrict root); /* - * schedRegisterIO() - Register IO handles and bind tasks to it + * schedRegisterHooks() - Register IO handles and bind tasks to it * @root = root task * return: -1 error or 0 ok */ -int schedRegisterIO(sched_root_task_t * __restrict root); +int schedRegisterHooks(sched_root_task_t * __restrict root); /* * schedCall() - Call task execution function * @task = current task @@ -210,59 +210,59 @@ int schedCancelby(sched_root_task_t * __restrict root, /* - * schedRead() - Add READ task to scheduler queue + * schedRead() - Add READ I/O task to scheduler queue * @root = root task * @func = task execution function * @arg = 1st func argument - * @... = next func arguments, like fd handle + * @fd = fd handle * return: NULL error or !=NULL new queued task */ -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); /* - * schedWrite() - Add WRITE task to scheduler queue + * schedWrite() - Add WRITE I/O task to scheduler queue * @root = root task * @func = task execution function * @arg = 1st func argument - * @... = next func arguments, like fd handle + * @fd = fd handle * return: NULL error or !=NULL new queued task */ -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); /* * schedTimer() - Add TIMER task to scheduler queue * @root = root task * @func = task execution function * @arg = 1st func argument - * @... = next func arguments in microSecs, define period 1sec == 1000000 + * @ms = arguments in microSecs, define period 1sec == 1000000 * return: NULL error or !=NULL new queued task */ -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, unsigned int ms); /* * schedEvent() - Add EVENT task to scheduler queue * @root = root task * @func = task execution function * @arg = 1st func argument - * @... = next func arguments, like u_long + * @val = additional func argument * return: NULL error or !=NULL new queued task */ -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); /* * schedEventLo() - Add EVENT_Lo task to scheduler queue * @root = root task * @func = task execution function * @arg = 1st func argument - * @... = next func arguments, like u_long + * @val = additional func argument * return: NULL error or !=NULL new queued task */ -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); /* * schedCallOnce() - Call once from scheduler * @root = root task * @func = task execution function * @arg = 1st func argument - * @... = next func arguments, like u_long - * return: NULL error or !=NULL new queued task + * @val = additional func argument + * return: return value from called func */ -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); #endif