version 1.36.2.1, 2013/11/21 12:54:21
|
version 1.36.2.5, 2013/11/21 18:26:40
|
Line 82 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; |
Line 141 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 |
Line 151 void ioCloseSocket(sock_t ** __restrict s);
|
Line 158 void ioCloseSocket(sock_t ** __restrict s);
|
*/ |
*/ |
int ioUpSocket(sock_t * __restrict s, void *arg, int timeout); |
int ioUpSocket(sock_t * __restrict s, void *arg, int timeout); |
/* |
/* |
* ioLoopSocket() - Start socket scheduler | * ioUpdTimerSocket() - Update timeout of socket |
* |
* |
* @s = Socket | * @c = Client socket |
* return: -1 error or return result from scheduler | * return: none |
*/ |
*/ |
int ioLoopSocket(sock_t * __restrict s); | void ioUpdTimerSocket(sock_cli_t * __restrict c); |
/* |
/* |
* ioAcceptSocket() - Accept clients | * 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] |