|
version 1.36.2.2, 2013/11/21 14:43:53
|
version 1.38.10.3, 2013/12/05 14:12:25
|
|
Line 86 struct tagCliSock {
|
Line 86 struct tagCliSock {
|
| 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; |
| |
|
| sched_task_func_t cli_func; |
sched_task_func_t cli_func; |
| |
|
| ait_val_t cli_buf; | ait_val_t cli_buf[2]; |
| |
|
| TAILQ_ENTRY(tagCliSock) cli_node; |
TAILQ_ENTRY(tagCliSock) cli_node; |
| }; |
}; |
|
Line 113 typedef struct {
|
Line 115 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 121 const char *io_GetError();
|
Line 133 const char *io_GetError();
|
| |
|
| |
|
| /* |
/* |
| |
* io_popen() - ELWIX replacement of standard popen |
| |
* |
| |
* @command = command |
| |
* @type = type |
| |
* @ppid = return pid of child program |
| |
* return: NULL error or !=NULL open program |
| |
*/ |
| |
FILE *io_popen(const char *command, const char *type, pid_t *ppid); |
| |
/* |
| |
* io_pclose() - ELWIX replacement of standard pclose |
| |
* |
| |
* @iop = popen handle |
| |
* return: -1 error or !=-1 pid status |
| |
*/ |
| |
int io_pclose(FILE *iop); |
| |
|
| |
|
| |
/* |
| |
* io_progInit() - Init program pool |
| |
* |
| |
* @progName = program name for execution |
| |
* @initNum = initial started programs |
| |
* @maxNum = maximum started programs |
| |
* return: NULL error or !=NULL allocated pool (must destroied with io_progDestroy()) |
| |
*/ |
| |
prog_t *io_progInit(const char *progName, |
| |
unsigned int initNum, unsigned int maxNum); |
| |
/* |
| |
* io_progOpen() - Execute number of program(s) |
| |
* |
| |
* @prg = program pool |
| |
* @execNum = execute program(s) (0 max) |
| |
* return: 0 error, >0 executed programs and abs(<0) executed programs with logged error |
| |
*/ |
| |
int io_progOpen(prog_t * __restrict prg, unsigned int execNum); |
| |
/* |
| |
* io_progVacuum() - Vacuum pool to running number of programs |
| |
* |
| |
* @prg = program pool |
| |
* @toNum = vacuum to number of programs (0 to init number) |
| |
* return: 0 error or >0 closed programs |
| |
*/ |
| |
int io_progVacuum(prog_t * __restrict prg, u_int toNum); |
| |
/* |
| |
* io_progClose() - Close all programs in pool |
| |
* |
| |
* @prg = program pool |
| |
* @closeNum = close program(s) (0 all) |
| |
* return: 0 error, >0 closed programs |
| |
*/ |
| |
int io_progClose(prog_t * __restrict prg, unsigned int closeNum); |
| |
/* |
| |
* io_progDestroy() - Destroy entire program pool |
| |
* |
| |
* @pprg = program pool |
| |
* return: none |
| |
*/ |
| |
void io_progDestroy(prog_t ** __restrict pprg); |
| |
|
| |
|
| |
/* |
| * ioInitSocket() - Init socket and allocate resources |
* ioInitSocket() - Init socket and allocate resources |
| * |
* |
| * @role = Socket role |
* @role = Socket role |
|
Line 140 sock_t *ioInitSocket(int role, int type, int proto,
|
Line 213 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 165 void ioUpdTimerSocket(sock_cli_t * __restrict c);
|
Line 246 void ioUpdTimerSocket(sock_cli_t * __restrict c);
|
| */ |
*/ |
| int ioLoopSocket(sock_t * __restrict s, sched_task_func_t rcb); |
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 183 int ioAcceptSocket(sock_t * __restrict s, sock_cb_t f,
|
Line 264 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 194 int ioPromptRead(int *h, const char *csPrompt, char *
|
Line 276 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); |
| |
|
| |
|
| /* |
/* |
|
Line 496 int io_dumbFile(const char *csFile, int mode, off_t si
|
Line 579 int io_dumbFile(const char *csFile, int mode, off_t si
|
| * return: -1 error or 0 ok |
* return: -1 error or 0 ok |
| */ |
*/ |
| int io_get1stiface(char *szIface, int iflen); |
int io_get1stiface(char *szIface, int iflen); |
| |
/* |
| |
* io_getmaciface() - Get MAC address from interface name |
| |
* |
| |
* @csIface = interface name |
| |
* @ea = ethernet address |
| |
* return: -1 error, 0 ok or 1 not found |
| |
*/ |
| |
int io_getmaciface(const char *csIface, ether_addr_t * __restrict ea); |
| /* |
/* |
| * io_etherOpen() - Open BPF interface to device |
* io_etherOpen() - Open BPF interface to device |
| * |
* |