version 1.34, 2013/08/13 00:17:28
|
version 1.36, 2013/10/21 21:12:41
|
Line 71 SUCH DAMAGE.
|
Line 71 SUCH DAMAGE.
|
#define IO_SOCK_ROLE_CLIENT 0 |
#define IO_SOCK_ROLE_CLIENT 0 |
#define IO_SOCK_ROLE_SERVER 1 |
#define IO_SOCK_ROLE_SERVER 1 |
|
|
|
#define IO_ETHER_FILTER_PROMISC 0 |
|
#define IO_ETHER_FILTER_NOTREAD -1 |
|
#define IO_ETHER_FILTER_READ 1 |
|
#define IO_ETHER_FILTER_WRITE 2 |
|
|
|
|
|
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; |
|
|
|
ait_val_t cli_buf; |
|
|
|
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; |
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; | pthread_mutex_t sock_mtx; |
| TAILQ_HEAD(, tagCliSock) sock_cli; |
} sock_t; |
} sock_t; |
|
|
|
|
Line 120 void ioCloseSocket(sock_t ** __restrict s);
|
Line 144 void ioCloseSocket(sock_t ** __restrict s);
|
* 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); |
|
/* |
|
* ioAcceptSocket() - Accept clients |
|
* |
|
* @s = Socket |
|
* @f = callback function for client handling |
|
* @arg = optional argument for callback function |
|
* return: -1 error or 0 ok |
|
*/ |
|
int ioAcceptSocket(sock_t * __restrict s, sock_cb_t f, void *arg); |
|
|
/* |
/* |
* 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 464 int io_etherOpen(const char *csIface, int flags, int w
|
Line 497 int io_etherOpen(const char *csIface, int flags, int w
|
* return: none |
* return: none |
*/ |
*/ |
void io_etherClose(int eth, void **zcbuf); |
void io_etherClose(int eth, void **zcbuf); |
|
|
|
/* |
|
* io_etherFilter() - BPF filter routine |
|
* |
|
* @eth = bpf handle |
|
* @io = filter direction |
|
* (IO_ETHER_FILTER_PROMISC|IO_ETHER_FILTER_NOTREAD|IO_ETHER_FILTER_READ|IO_ETHER_FILTER_WRITE) |
|
* @insn = BPF filter instruction array |
|
* @insnlen = Length of BPF filter instruction array |
|
* return: -1 error or 0 ok |
|
*/ |
|
int io_etherFilter(int eth, int io, struct bpf_insn * __restrict insn, size_t insnlen); |
|
|
/* |
/* |
* io_etherSend() - Send packet to bpf |
* io_etherSend() - Send packet to bpf |