Diff for /libaitsched/inc/aitsched.h between versions 1.6 and 1.8

version 1.6, 2012/03/13 10:01:59 version 1.8, 2012/05/19 00:46:53
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 182  struct sched_RootTask { Line 183  struct sched_RootTask {
 #define ROOT_DATA(x)    (x)->root_data.iov_base  #define ROOT_DATA(x)    (x)->root_data.iov_base
 #define ROOT_DATLEN(x)  (x)->root_data.iov_len  #define ROOT_DATLEN(x)  (x)->root_data.iov_len
 };  };
   #define ROOT_QUEUE_EMPTY(x, _q) TAILQ_EMPTY(&((x)->root_##_q))
   
   
 inline int sched_GetErrno();  inline int sched_GetErrno();
Line 250  inline void *schedFetch(sched_root_task_t * __restrict Line 252  inline void *schedFetch(sched_root_task_t * __restrict
  * @killState = kill condition variable, if !=0 stop scheduler loop   * @killState = kill condition variable, if !=0 stop scheduler loop
  * return: -1 error or 0 ok   * return: -1 error or 0 ok
  */   */
int schedRun(sched_root_task_t * __restrict root, volatile intptr_t * __restrict killState);int schedRun(sched_root_task_t *root, volatile intptr_t * __restrict killState);
 /*  /*
  * schedCancel() - Cancel task from scheduler   * schedCancel() - Cancel task from scheduler
  *   *
Line 263  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 285  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 298  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 311  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 324  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 337  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 350  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

Removed from v.1.6  
changed lines
  Added in v.1.8


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