Diff for /libaitio/inc/aitio.h between versions 1.36 and 1.36.2.5

version 1.36, 2013/10/21 21:12:41 version 1.36.2.5, 2013/11/21 18:26:40
Line 62  SUCH DAMAGE. Line 62  SUCH DAMAGE.
 #include <net/bpf.h>  #include <net/bpf.h>
 #include <netinet/in.h>  #include <netinet/in.h>
 #include <elwix.h>  #include <elwix.h>
   #include <aitsched.h>
   
   
 #ifndef STRSIZ  #ifndef STRSIZ
Line 81  typedef struct tagCliSock sock_cli_t; Line 82  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;
         pthread_t                       cli_tid;  
         int                             cli_fd;          int                             cli_fd;
         int                             cli_pty;          int                             cli_pty;
         sockaddr_t                      cli_addr;          sockaddr_t                      cli_addr;
         char                            cli_name[64];          char                            cli_name[64];
   
        sock_cb_t                       cli_func;        sched_task_func_t                cli_func;
        void                            *cli_arg; 
   
        ait_val_t                       cli_buf;        ait_val_t                       cli_buf[2];
   
         TAILQ_ENTRY(tagCliSock)         cli_node;          TAILQ_ENTRY(tagCliSock)         cli_node;
 };  };
   
 typedef struct {  typedef struct {
         int                             sock_role;          int                             sock_role;
         int                             sock_backq;          int                             sock_backq;
         int                             sock_type;          int                             sock_type;
         int                             sock_proto;          int                             sock_proto;
         int                             sock_fd;          int                             sock_fd;
           struct timespec                 sock_timeout;
         sockaddr_t                      sock_addr;          sockaddr_t                      sock_addr;
         sockaddr_t                      sock_peer;          sockaddr_t                      sock_peer;
   
         ait_val_t                       sock_buf;          ait_val_t                       sock_buf;
   
           volatile intptr_t               sock_kill;
           sched_root_task_t               *sock_root;
   
         pthread_mutex_t                 sock_mtx;          pthread_mutex_t                 sock_mtx;
         TAILQ_HEAD(, tagCliSock)        sock_cli;          TAILQ_HEAD(, tagCliSock)        sock_cli;
 } sock_t;  } sock_t;
Line 136  sock_t *ioInitSocket(int role, int type, int proto,  Line 140  sock_t *ioInitSocket(int role, int type, int proto, 
  * return: none   * return: none
  */   */
 void ioCloseSocket(sock_t ** __restrict s);  void ioCloseSocket(sock_t ** __restrict s);
   #define ioKillSocket(x)         (assert((x)), (x)->sock_kill = 1)
 /*  /*
    * ioCloseClient() - Close client socket
    *
    * @c = Client socket
    * return: 0 ok or !=0 error
    */
   int ioCloseClient(sock_cli_t * __restrict c);
   /*
  * ioUpSocket() - Setup socket for use   * ioUpSocket() - Setup socket for use
  *   *
  * @s = Socket   * @s = Socket
  * @arg = Server role = listen backlog queue and Client role = peer address   * @arg = Server role = listen backlog queue and Client role = peer address
    * @timeout = Socket timeout in ms (default -1 infinit)
  * return: -1 error or 0 ok   * return: -1 error or 0 ok
  */   */
int ioUpSocket(sock_t * __restrict s, void *arg);int ioUpSocket(sock_t * __restrict s, void *arg, int timeout);
 /*  /*
 * ioAcceptSocket() - Accept clients * ioUpdTimerSocket() - Update timeout of socket
  *   *
    * @c = Client socket
    * return:  none
    */
   void ioUpdTimerSocket(sock_cli_t * __restrict c);
   /*
    * ioLoopSocket() - Start socket scheduler
    *
  * @s = Socket   * @s = Socket
 * @f = callback function for client handling * @rcb = Read callback
 * @arg = optional argument for callback function * return: -1 error or return result from scheduler
 * return: -1 error or 0 ok 
  */   */
int ioAcceptSocket(sock_t * __restrict s, sock_cb_t f, void *arg);int ioLoopSocket(sock_t * __restrict s, sched_task_func_t rcb);
   
 /*  /*
  * ioPromptRead() - Read data from input h[0] with prompt to output h[1]   * ioPromptRead() - Read data from input h[0] with prompt to output h[1]

Removed from v.1.36  
changed lines
  Added in v.1.36.2.5


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