Diff for /libaitsched/inc/aitsched.h between versions 1.7 and 1.9

version 1.7, 2012/05/14 12:09:12 version 1.9, 2012/05/30 08:52:45
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 70  typedef enum { Line 70  typedef enum {
         taskREAD = 0,          taskREAD = 0,
         taskWRITE,          taskWRITE,
         taskTIMER,          taskTIMER,
        taskEVENT,         taskEVENT,
        taskEVENTLO,         taskEVENTLO,
         taskALARM,
         taskREADY,          taskREADY,
         taskUNUSE,          taskUNUSE,
         taskMAX          taskMAX
Line 89  struct sched_HooksTask { Line 90  struct sched_HooksTask {
                 sched_hook_func_t       event;                  sched_hook_func_t       event;
                 /* eventlo(sched_task_t *task, NULL) -> int */                  /* eventlo(sched_task_t *task, NULL) -> int */
                 sched_hook_func_t       eventlo;                  sched_hook_func_t       eventlo;
                   /* alarm(sched_task_t *task, NULL) -> int */
                   sched_hook_func_t       alarm;
                 /* timer(sched_task_t *task, struct timespec *ts) -> int */                  /* timer(sched_task_t *task, struct timespec *ts) -> int */
                 sched_hook_func_t       timer;                  sched_hook_func_t       timer;
         }       hook_add;          }       hook_add;
Line 133  struct sched_Task { Line 136  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 171  struct sched_RootTask { Line 175  struct sched_RootTask {
         sched_queue_t   root_read;          sched_queue_t   root_read;
         sched_queue_t   root_write;          sched_queue_t   root_write;
         sched_queue_t   root_timer;          sched_queue_t   root_timer;
           sched_queue_t   root_alarm;
         sched_queue_t   root_event;          sched_queue_t   root_event;
         sched_queue_t   root_ready;          sched_queue_t   root_ready;
         sched_queue_t   root_unuse;          sched_queue_t   root_unuse;
Line 264  int schedCancel(sched_task_t * __restrict task); Line 269  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 291  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 306  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)))
 /*  /*
    * schedAlarm() - Add ALARM task to scheduler queue
    *
    * @root = root task
    * @func = task execution function
    * @arg = 1st func argument
    * @ts = timeout argument structure, minimum alarm timer resolution is 1msec!
    * @opt_data = Optional data
    * @opt_dlen = Optional data length
    * return: NULL error or !=NULL new queued task
    */
   sched_task_t *schedAlarm(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, 
                   struct timespec ts, void *opt_data, size_t opt_dlen);
   #define schedAlarmSelf(x)       schedAlarm(TASK_ROOT((x)), TASK_FUNC((x)), TASK_ARG((x)), \
                   TASK_TS((x)), TASK_DATA((x)), TASK_DATLEN((x)))
   /*
  * schedTimer() - Add TIMER task to scheduler queue   * schedTimer() - Add TIMER task to scheduler queue
  *   *
  * @root = root task   * @root = root task
Line 312  sched_task_t *schedWrite(sched_root_task_t * __restric Line 336  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 351  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 366  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 381  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

Removed from v.1.7  
changed lines
  Added in v.1.9


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>