version 1.4.2.2, 2012/01/08 02:52:29
|
version 1.4.2.5, 2012/01/23 15:56:23
|
Line 51 SUCH DAMAGE.
|
Line 51 SUCH DAMAGE.
|
#include <sys/queue.h> |
#include <sys/queue.h> |
#include <sys/uio.h> |
#include <sys/uio.h> |
#include <stdint.h> |
#include <stdint.h> |
|
#include <pthread.h> |
|
|
|
|
/* criteria type */ |
/* criteria type */ |
Line 149 struct sched_Task {
|
Line 150 struct sched_Task {
|
TAILQ_ENTRY(sched_Task) task_node; |
TAILQ_ENTRY(sched_Task) task_node; |
}; |
}; |
typedef TAILQ_HEAD(, sched_Task) sched_queue_t; |
typedef TAILQ_HEAD(, sched_Task) sched_queue_t; |
|
#define TASK_DATA_SET(x, _dp, _dl) do { \ |
|
if ((x)) { \ |
|
(x)->task_data.iov_base = (_dp); \ |
|
(x)->task_data.iov_len = _dl; \ |
|
} \ |
|
while (0) |
|
|
/* root task */ |
/* root task */ |
struct sched_RootTask { |
struct sched_RootTask { |
Line 240 int schedCancelby(sched_root_task_t * __restrict root,
|
Line 247 int schedCancelby(sched_root_task_t * __restrict root,
|
* @func = task execution function |
* @func = task execution function |
* @arg = 1st func argument |
* @arg = 1st func argument |
* @fd = fd handle |
* @fd = fd handle |
|
* @opt_data = Optional data |
|
* @opt_dlen = Optional data length |
* return: NULL error or !=NULL new queued task |
* 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, int fd); | 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); |
/* |
/* |
* schedWrite() - Add WRITE I/O task to scheduler queue |
* schedWrite() - Add WRITE I/O task to scheduler queue |
* @root = root task |
* @root = root task |
* @func = task execution function |
* @func = task execution function |
* @arg = 1st func argument |
* @arg = 1st func argument |
* @fd = fd handle |
* @fd = fd handle |
|
* @opt_data = Optional data |
|
* @opt_dlen = Optional data length |
* return: NULL error or !=NULL new queued task |
* 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, int fd); | 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); |
/* |
/* |
* schedTimer() - Add TIMER task to scheduler queue |
* schedTimer() - Add TIMER task to scheduler queue |
* @root = root task |
* @root = root task |
* @func = task execution function |
* @func = task execution function |
* @arg = 1st func argument |
* @arg = 1st func argument |
* @tv = timeout argument structure |
* @tv = timeout argument structure |
|
* @opt_data = Optional data |
|
* @opt_dlen = Optional data length |
* return: NULL error or !=NULL new queued task |
* 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, struct timeval tv); | sched_task_t *schedTimer(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, |
| struct timeval tv, void *opt_data, size_t opt_dlen); |
/* |
/* |
* schedEvent() - Add EVENT task to scheduler queue |
* schedEvent() - Add EVENT task to scheduler queue |
* @root = root task |
* @root = root task |
* @func = task execution function |
* @func = task execution function |
* @arg = 1st func argument |
* @arg = 1st func argument |
* @val = additional func argument |
* @val = additional func argument |
|
* @opt_data = Optional data |
|
* @opt_dlen = Optional data length |
* return: NULL error or !=NULL new queued task |
* 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, unsigned long val); | 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); |
/* |
/* |
* schedEventLo() - Add EVENT_Lo task to scheduler queue |
* schedEventLo() - Add EVENT_Lo task to scheduler queue |
* @root = root task |
* @root = root task |
* @func = task execution function |
* @func = task execution function |
* @arg = 1st func argument |
* @arg = 1st func argument |
* @val = additional func argument |
* @val = additional func argument |
|
* @opt_data = Optional data |
|
* @opt_dlen = Optional data length |
* return: NULL error or !=NULL new queued task |
* 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, unsigned long val); | 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); |
/* |
/* |
* schedCallOnce() - Call once from scheduler |
* schedCallOnce() - Call once from scheduler |
* @root = root task |
* @root = root task |
* @func = task execution function |
* @func = task execution function |
* @arg = 1st func argument |
* @arg = 1st func argument |
* @val = additional func argument |
* @val = additional func argument |
|
* @opt_data = Optional data |
|
* @opt_dlen = Optional data length |
* return: return value from called func |
* return: return value from called func |
*/ |
*/ |
sched_task_t *schedCallOnce(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, unsigned long val); | 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); |
|
|
|
|
#endif |
#endif |