Diff for /libaitsched/inc/aitsched.h between versions 1.29.10.4 and 1.34

version 1.29.10.4, 2022/11/28 23:52:35 version 1.34, 2025/07/16 11:07:06
Line 12  terms: Line 12  terms:
 All of the documentation and software included in the ELWIX and AITNET  All of the documentation and software included in the ELWIX and AITNET
 Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org>  Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org>
   
Copyright 2004 - 2022Copyright 2004 - 2024
         by Michael Pounov <misho@elwix.org>.  All rights reserved.          by Michael Pounov <misho@elwix.org>.  All rights reserved.
   
 Redistribution and use in source and binary forms, with or without  Redistribution and use in source and binary forms, with or without
Line 224  struct sched_RootTask { Line 224  struct sched_RootTask {
         unsigned long   root_miss;          unsigned long   root_miss;
         intptr_t        root_cond[1];          intptr_t        root_cond[1];
         void            *root_ret;          void            *root_ret;
   #ifdef HAVE_LIBPTHREAD
           pthread_mutex_t root_sigmtx;
           pthread_t       root_sigthr;
           sigset_t        root_sigset;
           sigset_t        root_oldset;
   #endif
   
         pthread_mutex_t root_mtx[taskMAX];          pthread_mutex_t root_mtx[taskMAX];
   
Line 253  struct sched_RootTask { Line 259  struct sched_RootTask {
 #define ROOT_QUEUE_EMPTY(x, _q) TAILQ_EMPTY(&((x)->root_##_q))  #define ROOT_QUEUE_EMPTY(x, _q) TAILQ_EMPTY(&((x)->root_##_q))
 #define ROOT_RETURN(x)  (x)->root_ret  #define ROOT_RETURN(x)  (x)->root_ret
   
   #ifdef __cplusplus
   extern "C" {
   #endif
   
 int sched_GetErrno();  int sched_GetErrno();
 const char *sched_GetError();  const char *sched_GetError();
Line 372  int schedQuery(sched_task_t * __restrict task); Line 381  int schedQuery(sched_task_t * __restrict task);
  *      [ CRITERIA_ANY|CRITERIA_CALL|CRITERIA_ARG|CRITERIA_FD|CRITERIA_VAL|   *      [ CRITERIA_ANY|CRITERIA_CALL|CRITERIA_ARG|CRITERIA_FD|CRITERIA_VAL|
  *              CRITERIA_ID|CRITERIA_TS|CRITERIA_DATA|CRITERIA_DATLEN ]   *              CRITERIA_ID|CRITERIA_TS|CRITERIA_DATA|CRITERIA_DATLEN ]
  * @param = search parameter   * @param = search parameter
 * return: -1 error, 0 found or 1 not found * return: NULL not found or !=NULL task
  */   */
int schedQueryby(sched_root_task_t * __restrict root, sched_task_type_t type, sched_task_t *schedQueryby(sched_root_task_t * __restrict root, sched_task_type_t type, 
                 unsigned char criteria, void *param);                  unsigned char criteria, void *param);
   /*
    * schedSignalDispatch() - Activate or Deactivate signal dispatcher
    *
    * @root = root task
    * @on = Activate or =0 deactivate
    * return: -1 error, 1 already started, 2 another thread already started or 0 ok
    */
   int schedSignalDispatch(sched_root_task_t * __restrict root, int on);
   
   
 /*  /*
Line 408  sched_task_t *schedRead(sched_root_task_t * __restrict Line 425  sched_task_t *schedRead(sched_root_task_t * __restrict
 #define schedReadSelf(x)        schedReadExt(TASK_ROOT((x)), TASK_FUNC((x)), TASK_ARG((x)), \  #define schedReadSelf(x)        schedReadExt(TASK_ROOT((x)), TASK_FUNC((x)), TASK_ARG((x)), \
                 TASK_FD((x)), TASK_DATA((x)), TASK_DATLEN((x)), TASK_HARG((x)))                  TASK_FD((x)), TASK_DATA((x)), TASK_DATLEN((x)), TASK_HARG((x)))
 /*  /*
    * schedWriteExt() - Add WRITE I/O task to scheduler queue with custom event mask
    *
    * @root = root task
    * @func = task execution function
    * @arg = 1st func argument
    * @fd = fd handle
    * @opt_data = Optional data
    * @opt_dlen = Optional data length
    * @mask = Event mask
    * return: NULL error or !=NULL new queued task
    */
   sched_task_t *schedWriteExt(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, 
                   int fd, void *opt_data, size_t opt_dlen, unsigned long mask);
   /*
  * schedWrite() - Add WRITE I/O task to scheduler queue   * schedWrite() - Add WRITE I/O task to scheduler queue
  *   *
  * @root = root task   * @root = root task
Line 420  sched_task_t *schedRead(sched_root_task_t * __restrict Line 451  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)), \#define schedWriteSelf(x)       schedWriteExt(TASK_ROOT((x)), TASK_FUNC((x)), TASK_ARG((x)), \
                TASK_FD((x)), TASK_DATA((x)), TASK_DATLEN((x)))                TASK_FD((x)), TASK_DATA((x)), TASK_DATLEN((x)), TASK_HARG((x)))
 /*  /*
  * schedAlarm() - Add ALARM task to scheduler queue   * schedAlarm() - Add ALARM task to scheduler queue
  *   *
Line 739  void *sched_taskExit(sched_task_t *task, intptr_t retc Line 770  void *sched_taskExit(sched_task_t *task, intptr_t retc
  */   */
 #define taskExit(t, x)          return sched_taskExit((t), (intptr_t) (x))  #define taskExit(t, x)          return sched_taskExit((t), (intptr_t) (x))
   
   #ifdef __cplusplus
   }
   #endif
   
 #endif  #endif

Removed from v.1.29.10.4  
changed lines
  Added in v.1.34


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