Diff for /libaitsched/inc/aitsched.h between versions 1.1.1.1.2.3 and 1.2.2.6

version 1.1.1.1.2.3, 2011/08/13 17:26:26 version 1.2.2.6, 2011/11/30 23:44:57
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;
   
 /* task callback, like pthread callback! */  /* task callback, like pthread callback! */
typedef void *(*sched_task_func_t)(void * /*sched_task_t* - current task data*/);typedef void *(*sched_task_func_t)(sched_task_t * /* current task data*/);
   
 /* task & queue */  /* task & queue */
 struct sched_Task {  struct sched_Task {
Line 115  struct sched_Task { Line 120  struct sched_Task {
         sched_task_type_t               task_type;          sched_task_type_t               task_type;
   
         sched_root_task_t               *task_root;          sched_root_task_t               *task_root;
   #define TASK_ROOT(x)    (x)->task_root
         sched_task_func_t               task_func;          sched_task_func_t               task_func;
   
         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 159  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 175  sched_root_task_t *schedInit(void ** __restrict data,  Line 180  sched_root_task_t *schedInit(void ** __restrict data, 
  * @root = root task   * @root = root task
  * return: -1 error or 0 ok   * return: -1 error or 0 ok
  */   */
int schedEnd(sched_root_task_t * __restrict root);int schedEnd(sched_root_task_t ** __restrict root);
 /*  /*
  * schedRegisterHooks() - Register IO handles and bind tasks to it   * schedRegisterHooks() - Register IO handles and bind tasks to it
  * @root = root task   * @root = root task
Line 197  inline void *schedFetch(sched_root_task_t * __restrict Line 202  inline void *schedFetch(sched_root_task_t * __restrict
 /*  /*
  * schedRun() - Scheduler *run loop*   * schedRun() - Scheduler *run loop*
  * @root = root task   * @root = root task
    * @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);int schedRun(sched_root_task_t * __restrict root, volatile intptr_t * __restrict killState);
 /*  /*
  * schedCancel() - Cancel task from scheduler   * schedCancel() - Cancel task from scheduler
  * @task = task   * @task = task
Line 242  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.1.1.1.2.3  
changed lines
  Added in v.1.2.2.6


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