|
version 1.36.2.1, 2013/11/21 12:54:21
|
version 1.37, 2013/11/22 13:49:14
|
|
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]; |
| |
char cli_cmdline[PATH_MAX]; |
| |
pid_t cli_pid; |
| |
|
| 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 142 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 160 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); |
| /* |
/* |
| |
* ioUpdTimerSocket() - Update timeout of socket |
| |
* |
| |
* @c = Client socket |
| |
* @arg = Optional data argument |
| |
* return: none |
| |
*/ |
| |
void ioUpdTimerSocket(sock_cli_t * __restrict c, void *arg); |
| |
/* |
| * ioLoopSocket() - Start socket scheduler |
* ioLoopSocket() - Start socket scheduler |
| * |
* |
| * @s = Socket |
* @s = Socket |
| |
* @rcb = Read callback |
| * return: -1 error or return result from scheduler |
* 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 | * ioBridgeProg2Socket() - Start socket scheduler and bridge program to socket |
| * |
* |
| * @s = Socket |
* @s = Socket |
| * @f = callback function for client handling | * @prgname = Program name |
| * @arg = optional argument for callback function | * return: 0 ok or !=0 error |
| * return: -1 error or 0 ok | |
| */ |
*/ |
| int ioAcceptSocket(sock_t * __restrict s, sock_cb_t f, void *arg); | int ioBridgeProg2Socket(sock_t * __restrict s, const char *prgname); |
| |
|
| /* |
/* |
| * 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] |
|
Line 176 int ioAcceptSocket(sock_t * __restrict s, sock_cb_t f,
|
Line 193 int ioAcceptSocket(sock_t * __restrict s, sock_cb_t f,
|
| * @dataLen = Length of data |
* @dataLen = Length of data |
| * return: 0 EOF; -1 error:: can`t read; >0 count of readed chars |
* return: 0 EOF; -1 error:: can`t read; >0 count of readed chars |
| */ |
*/ |
| int ioPromptRead(int *h, const char *csPrompt, char * __restrict psData, int dataLen); | int ioPromptRead(int *h, const char *csPrompt, |
| | char * __restrict psData, int dataLen); |
| /* |
/* |
| * ioPromptPassword() - Read password from input h[0] with prompt to output h[1] |
* ioPromptPassword() - Read password from input h[0] with prompt to output h[1] |
| * |
* |
|
Line 187 int ioPromptRead(int *h, const char *csPrompt, char *
|
Line 205 int ioPromptRead(int *h, const char *csPrompt, char *
|
| * @confirm = Confirm password, 0 - get password, !=0 Ask for confirmation |
* @confirm = Confirm password, 0 - get password, !=0 Ask for confirmation |
| * return: 0 EOF; -1 error:: can`t read; >0 count of readed chars |
* return: 0 EOF; -1 error:: can`t read; >0 count of readed chars |
| */ |
*/ |
| int ioPromptPassword(int *h, const char *csPrompt, char * __restrict psPass, int passLen, int confirm); | int ioPromptPassword(int *h, const char *csPrompt, |
| | char * __restrict psPass, int passLen, int confirm); |
| |
|
| |
|
| /* |
/* |