Diff for /libaitsched/inc/aitsched.h between versions 1.2 and 1.3

version 1.2, 2011/10/04 12:34:33 version 1.3, 2011/12/08 08:02:23
Line 50  SUCH DAMAGE. Line 50  SUCH DAMAGE.
 #include <sys/types.h>  #include <sys/types.h>
 #include <sys/queue.h>  #include <sys/queue.h>
 #include <sys/uio.h>  #include <sys/uio.h>
   #include <stdint.h>
   
   
 /* criteria type */  /* criteria type */
Line 96  struct sched_HooksTask { Line 97  struct sched_HooksTask {
                 sched_hook_func_t       run;                  sched_hook_func_t       run;
                 /* fetch(sched_root_task_t *root, NULL) -> sched_task_t* */                  /* fetch(sched_root_task_t *root, NULL) -> sched_task_t* */
                 sched_hook_func_t       fetch;                  sched_hook_func_t       fetch;
                   /* exception(sched_root_task_t *root, NULL) -> int */
                   sched_hook_func_t       exception;
         }       hook_exec;          }       hook_exec;
         struct {          struct {
                 /* init(sched_root_task_t *root, void *data) -> int */                  /* init(sched_root_task_t *root, void *data) -> int */
                 sched_hook_func_t       init;                  sched_hook_func_t       init;
                 /* fini(sched_root_task_t *root, NULL) -> int */                  /* fini(sched_root_task_t *root, NULL) -> int */
                 sched_hook_func_t       fini;                  sched_hook_func_t       fini;
                   /* error(sched_root_task_t *root, int errno) -> int */
                   sched_hook_func_t       error;
         }       hook_root;          }       hook_root;
 };  };
 typedef struct sched_HooksTask hooks_task_t;  typedef struct sched_HooksTask hooks_task_t;
Line 121  struct sched_Task { Line 126  struct sched_Task {
         void                            *task_arg;          void                            *task_arg;
         union {          union {
                 unsigned long   v;                  unsigned long   v;
                int             fd;                intptr_t        fd;
                 struct timeval  tv;                  struct timeval  tv;
         }                               task_val;          }                               task_val;
 #define TASK_ARG(x)     (x)->task_arg  #define TASK_ARG(x)     (x)->task_arg
Line 160  struct sched_RootTask { Line 165  struct sched_RootTask {
   
 inline int sched_GetErrno();  inline int sched_GetErrno();
 inline const char *sched_GetError();  inline const char *sched_GetError();
 inline void sched_SetErr(int, char *, ...);  
   
   
 /*  /*
Line 215  int schedCancel(sched_task_t * __restrict task); Line 219  int schedCancel(sched_task_t * __restrict task);
  * @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_TV]
  * @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 or 0 ok * return: -1 error, -2 error in sub-stage cancel execution, -3 error from custom hook or 0 ok
  */   */
 int schedCancelby(sched_root_task_t * __restrict root, sched_queue_t * __restrict queue,   int schedCancelby(sched_root_task_t * __restrict root, sched_queue_t * __restrict queue, 
                 u_char criteria, void *param, sched_hook_func_t hook);                  u_char criteria, void *param, sched_hook_func_t hook);
Line 244  sched_task_t *schedWrite(sched_root_task_t * __restric Line 248  sched_task_t *schedWrite(sched_root_task_t * __restric
  * @root = root task   * @root = root task
  * @func = task execution function   * @func = task execution function
  * @arg = 1st func argument   * @arg = 1st func argument
 * @ms = arguments in microSecs, define period 1sec == 1000000 * @tv = timeout argument structure
  * 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, unsigned int ms);sched_task_t *schedTimer(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, struct timeval tv);
 /*  /*
  * schedEvent() - Add EVENT task to scheduler queue   * schedEvent() - Add EVENT task to scheduler queue
  * @root = root task   * @root = root task

Removed from v.1.2  
changed lines
  Added in v.1.3


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