Diff for /libaitio/inc/aitio.h between versions 1.38.10.4 and 1.38.10.16

version 1.38.10.4, 2013/12/05 15:18:22 version 1.38.10.16, 2013/12/12 21:17:53
Line 78  SUCH DAMAGE. Line 78  SUCH DAMAGE.
 #define IO_ETHER_FILTER_WRITE   2  #define IO_ETHER_FILTER_WRITE   2
   
   
   typedef struct {
           unsigned int                    prog_inin;      /* init progs */
           unsigned int                    prog_maxn;      /* max progs */
           unsigned int                    prog_cnum;      /* current progs */
           char                            prog_name[PATH_MAX];
   
           pthread_mutex_t                 prog_mtx;
           array_t                         *prog_fds;
           unsigned int                    *prog_used;
   } prog_t;
   
 typedef struct tagCliSock sock_cli_t;  typedef struct tagCliSock sock_cli_t;
 typedef void *(*sock_cb_t)(sock_cli_t*);  typedef void *(*sock_cb_t)(sock_cli_t*);
 struct tagCliSock {  struct tagCliSock {
         void                            *cli_parent;          void                            *cli_parent;
         int                             cli_fd;          int                             cli_fd;
        int                             cli_pty;        intptr_t                        cli_pty;
         sockaddr_t                      cli_addr;          sockaddr_t                      cli_addr;
         char                            cli_name[64];          char                            cli_name[64];
         char                            cli_cmdline[PATH_MAX];          char                            cli_cmdline[PATH_MAX];
Line 107  typedef struct { Line 118  typedef struct {
         sockaddr_t                      sock_peer;          sockaddr_t                      sock_peer;
   
         ait_val_t                       sock_buf;          ait_val_t                       sock_buf;
           prog_t                          *sock_prog;
   
         volatile intptr_t               sock_kill;          volatile intptr_t               sock_kill;
         sched_root_task_t               *sock_root;          sched_root_task_t               *sock_root;
Line 115  typedef struct { Line 127  typedef struct {
         TAILQ_HEAD(, tagCliSock)        sock_cli;          TAILQ_HEAD(, tagCliSock)        sock_cli;
 } sock_t;  } sock_t;
   
 typedef struct {  
         unsigned int                    prog_inin;      /* init progs */  
         unsigned int                    prog_maxn;      /* max progs */  
         unsigned int                    prog_cnum;      /* current progs */  
         char                            prog_name[PATH_MAX];  
   
         pthread_mutex_t                 prog_mtx;  
         array_t                         *prog_fds;  
 } prog_t;  
   
   
 // io_GetErrno() Get error code of last operation  // io_GetErrno() Get error code of last operation
 int io_GetErrno();  int io_GetErrno();
 // io_GetError() Get error text of last operation  // io_GetError() Get error text of last operation
Line 147  prog_t *io_progInit(const char *progName,  Line 149  prog_t *io_progInit(const char *progName, 
  *   *
  * @prg = program pool   * @prg = program pool
  * @execNum = execute program(s) (0 max)   * @execNum = execute program(s) (0 max)
 * return: 0 error, >0 executed programs and abs(<0) executed programs with logged error * return: -1 error, >0 executed programs
  */   */
 int io_progOpen(prog_t * __restrict prg, unsigned int execNum);  int io_progOpen(prog_t * __restrict prg, unsigned int execNum);
 /*  /*
    * io_progOpen2() - Start program from pool on first unused slot
    *
    * @prg = program pool
    * return: -1 error, >-1 reside at slot
    */
   int io_progOpen2(prog_t * __restrict prg);
   /*
    * io_progGrow() - Execute to number of programs in pool
    *
    * @prg = program pool
    * @toNum = execute to number of programs (0 max)
    * return: 0 error or nothing to do, 
    *      >0 executed programs and abs(<0) executed programs with logged error
    */
   int io_progGrow(prog_t * __restrict prg, unsigned int toNum);
   /*
  * io_progVacuum() - Vacuum pool to running number of programs   * io_progVacuum() - Vacuum pool to running number of programs
  *   *
  * @prg = program pool   * @prg = program pool
  * @toNum = vacuum to number of programs (0 to init number)   * @toNum = vacuum to number of programs (0 to init number)
  * return: 0 error or >0 closed programs   * return: 0 error or >0 closed programs
  */   */
int io_progVacuum(prog_t * __restrict prg, u_int toNum);int io_progVacuum(prog_t * __restrict prg, unsigned int toNum);
 /*  /*
    * io_progCloseAt() - Close program at pool of certain position
    *
    * @prg = program pool
    * @idx = index at pool
    * return: 0 error or !=0 closed program
    */
   int io_progCloseAt(prog_t * __restrict prg, unsigned int idx);
   /*
  * io_progClose() - Close all programs in pool   * io_progClose() - Close all programs in pool
  *   *
  * @prg = program pool   * @prg = program pool
Line 174  int io_progClose(prog_t * __restrict prg, unsigned int Line 200  int io_progClose(prog_t * __restrict prg, unsigned int
  */   */
 void io_progDestroy(prog_t ** __restrict pprg);  void io_progDestroy(prog_t ** __restrict pprg);
   
   /*
    * io_progCheck() - Check exit status of program pool
    *
    * @prg = program pool
    * @re = resurrect program to init number
    * return: -1 error or >-1 exited programs
    */
   int io_progCheck(prog_t * __restrict prg, int re);
   
 /*  /*
    * io_progAttach() - Attach to open program
    *
    * @prg = program pool
    * @newOne = Execute new one program after attach
    * return: NULL error or !=NULL attached program handle
    */
   #ifdef POPEN_STREAM
   FILE *io_progAttach(prog_t * __restrict prg, int newOne);
   #else
   int io_progAttach(prog_t * __restrict prg, int newOne);
   #endif
   /*
    * io_progDetach() - Detch from open program
    *
    * @prg= program pool
    * @pfd = attached program handle
    * return: none
    */
   #ifdef POPEN_STREAM
   void io_progDetach(prog_t * __restrict prg, FILE *pfd);
   #else
   void io_progDetach(prog_t * __restrict prg, int pfd);
   #endif
   
   
   /*
  * ioInitSocket() - Init socket and allocate resources   * ioInitSocket() - Init socket and allocate resources
  *   *
  * @role = Socket role   * @role = Socket role
Line 203  void ioCloseSocket(sock_t ** __restrict s); Line 263  void ioCloseSocket(sock_t ** __restrict s);
  * return: 0 ok or !=0 error   * return: 0 ok or !=0 error
  */   */
 int ioCloseClient(sock_cli_t * __restrict c);  int ioCloseClient(sock_cli_t * __restrict c);
   /*
    * ioSetupProg2Socket() - Setup program pool to socket server
    *
    * @s = Socket
    * @p = Program pool
    * return: -1 error or 0 ok
    */
   int ioSetupProg2Socket(sock_t * __restrict s, prog_t * __restrict p);
 /*  /*
  * ioUpSocket() - Setup socket for use   * ioUpSocket() - Setup socket for use
  *   *

Removed from v.1.38.10.4  
changed lines
  Added in v.1.38.10.16


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