#include <stdlib.h>
#include <unistd.h>
#include <net/if.h>
#include <string.h>
#include <sys/ioctl.h>
#include <netinet/in.h>
#include <errno.h>
#include "conntrackd.h"
#include "channel.h"
#include "network.h"
#include "queue.h"
Data Structures | |
struct | channel_buffer |
struct | channel_error |
Functions | |
int | channel_init (void) |
void | channel_end (void) |
struct channel * | channel_open (struct channel_conf *cfg) |
void | channel_close (struct channel *c) |
int | channel_send (struct channel *c, const struct nethdr *net) |
int | channel_send_flush (struct channel *c) |
int | channel_recv (struct channel *c, char *buf, int size) |
int | channel_get_fd (struct channel *c) |
void | channel_stats (struct channel *c, int fd) |
void | channel_stats_extended (struct channel *c, int active, struct nlif_handle *h, int fd) |
int | channel_accept_isset (struct channel *c, fd_set *readfds) |
int | channel_isset (struct channel *c, fd_set *readfds) |
int | channel_accept (struct channel *c) |
int | channel_type (struct channel *c) |
Variables | |
struct channel_ops | channel_mcast |
struct channel_ops | channel_udp |
struct channel_ops | channel_tcp |
References channel_ops::accept, and channel::ops.
References channel_ops::accept_isset, and channel::ops.
References channel::buffer, CHANNEL_F_BUFFERED, channel::channel_flags, channel_ops::close, channel::data, and channel::ops.
Referenced by multichannel_close(), and multichannel_open().
void channel_end | ( | void | ) |
References channel::data, channel_ops::get_fd, and channel::ops.
int channel_init | ( | void | ) |
References CHANNEL_MCAST, channel_mcast, CHANNEL_TCP, channel_tcp, CHANNEL_UDP, channel_udp, CONFIG, NULL, and queue_create().
References channel_ops::isset, and channel::ops.
struct channel* channel_open | ( | struct channel_conf * | cfg | ) |
References channel::buffer, CHANNEL_F_BUFFERED, CHANNEL_F_MAX, channel_conf::channel_flags, channel::channel_flags, channel::channel_ifindex, channel::channel_ifmtu, channel_conf::channel_ifname, CHANNEL_MAX, channel_conf::channel_type, channel::channel_type, channel::data, channel_ops::headersiz, NULL, channel_ops::open, channel::ops, and channel_conf::u.
Referenced by multichannel_open().
References channel::data, channel::ops, and channel_ops::recv.
Referenced by multichannel_recv().
References channel::buffer, CHANNEL_F_BUFFERED, CHANNEL_F_ERRORS, channel::channel_flags, channel_buffer::data, channel::data, nethdr::len, channel_buffer::len, len, channel::ops, and channel_ops::send.
Referenced by multichannel_send().
References channel::buffer, CHANNEL_F_BUFFERED, CHANNEL_F_ERRORS, channel::channel_flags, channel_buffer::data, channel::data, channel_buffer::len, channel::ops, and channel_ops::send.
Referenced by multichannel_send_flush().
References channel::ops, and channel_ops::stats.
Referenced by multichannel_stats().
void channel_stats_extended | ( | struct channel * | c, |
int | active, | ||
struct nlif_handle * | h, | ||
int | fd | ||
) |
References channel::ops, and channel_ops::stats_extended.
Referenced by multichannel_stats_extended().
References channel::ops, and channel_ops::type.
struct channel_ops channel_mcast |
Referenced by channel_init().
struct channel_ops channel_tcp |
Referenced by channel_init().
struct channel_ops channel_udp |
Referenced by channel_init().