--- libaitio/inc/aitio.h 2013/11/21 12:54:21 1.36.2.1 +++ libaitio/inc/aitio.h 2013/11/21 14:43:53 1.36.2.2 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitio.h,v 1.36.2.1 2013/11/21 12:54:21 misho Exp $ +* $Id: aitio.h,v 1.36.2.2 2013/11/21 14:43:53 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -82,19 +82,18 @@ typedef struct tagCliSock sock_cli_t; typedef void *(*sock_cb_t)(sock_cli_t*); struct tagCliSock { void *cli_parent; - pthread_t cli_tid; int cli_fd; int cli_pty; sockaddr_t cli_addr; char cli_name[64]; - sock_cb_t cli_func; - void *cli_arg; + sched_task_func_t cli_func; ait_val_t cli_buf; TAILQ_ENTRY(tagCliSock) cli_node; }; + typedef struct { int sock_role; int sock_backq; @@ -151,12 +150,20 @@ void ioCloseSocket(sock_t ** __restrict s); */ int ioUpSocket(sock_t * __restrict s, void *arg, int timeout); /* + * ioUpdTimerSocket() - Update timeout of socket + * + * @c = Client socket + * return: none + */ +void ioUpdTimerSocket(sock_cli_t * __restrict c); +/* * ioLoopSocket() - Start socket scheduler * * @s = Socket + * @rcb = Read callback * return: -1 error or return result from scheduler */ -int ioLoopSocket(sock_t * __restrict s); +int ioLoopSocket(sock_t * __restrict s, sched_task_func_t rcb); /* * ioAcceptSocket() - Accept clients *