#include <errno.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/uio.h>
#include <asm/types.h>
#include <linux/netlink.h>
#include <net/if.h>
#include <linux/netfilter_ipv4/ipt_ULOG.h>
Macros | |
#define | MSG_TRUNC 0x20 |
#define | IPULOG_MAXERR IPULOG_ERR_INVNL |
Enumerations | |
enum | { IPULOG_ERR_NONE = 0, IPULOG_ERR_IMPL, IPULOG_ERR_HANDLE, IPULOG_ERR_SOCKET, IPULOG_ERR_BIND, IPULOG_ERR_RECVBUF, IPULOG_ERR_RECV, IPULOG_ERR_NLEOF, IPULOG_ERR_TRUNC, IPULOG_ERR_INVGR, IPULOG_ERR_INVNL } |
Functions | |
u_int32_t | ipulog_group2gmask (u_int32_t group) |
struct ipulog_handle * | ipulog_create_handle (u_int32_t gmask, u_int32_t rmem) |
void | ipulog_destroy_handle (struct ipulog_handle *h) |
ssize_t | ipulog_read (struct ipulog_handle *h, unsigned char *buf, size_t len) |
ulog_packet_msg_t * | ipulog_get_packet (struct ipulog_handle *h, const unsigned char *buf, size_t len) |
char * | ipulog_strerror (int errcode) |
int | ipulog_get_fd (struct ipulog_handle *h) |
void | ipulog_perror (const char *s) |
Variables | |
int | ipulog_errno |
#define IPULOG_MAXERR IPULOG_ERR_INVNL |
#define MSG_TRUNC 0x20 |
anonymous enum |
struct ipulog_handle* ipulog_create_handle | ( | u_int32_t | gmask, |
u_int32_t | rmem | ||
) |
References ipulog_handle::fd, IPULOG_ERR_BIND, IPULOG_ERR_HANDLE, IPULOG_ERR_RECVBUF, IPULOG_ERR_SOCKET, ipulog_errno, ipulog_handle::local, NETLINK_NFLOG, nflog_bind_group(), nflog_bind_pf(), nflog_open(), ipulog_handle::nful_gh, ipulog_handle::nfulh, sockaddr_nl::nl_family, sockaddr_nl::nl_groups, sockaddr_nl::nl_pid, NULL, PAYLOAD_SIZE, and ipulog_handle::peer.
void ipulog_destroy_handle | ( | struct ipulog_handle * | h | ) |
References ipulog_handle::fd, nflog_close(), nflog_unbind_group(), ipulog_handle::nful_gh, and ipulog_handle::nfulh.
int ipulog_get_fd | ( | struct ipulog_handle * | h | ) |
References ipulog_handle::fd.
ulog_packet_msg_t* ipulog_get_packet | ( | struct ipulog_handle * | h, |
const unsigned char * | buf, | ||
size_t | len | ||
) |
References ulog_packet_msg::data_len, nfulnl_msg_packet_hdr::hook, ulog_packet_msg::hook, nfulnl_msg_packet_hw::hw_addr, nfulnl_msg_packet_hw::hw_addrlen, ulog_packet_msg::indev_name, IPULOG_ERR_INVNL, ipulog_errno, ipulog_handle::last_nlh, ipulog_handle::last_nlhdr, ulog_packet_msg::mac, ulog_packet_msg::mac_len, ulog_packet_msg::mark, NFA_DATA, NFA_PAYLOAD, nflog_nfnlh(), NFM_NFA, NFM_PAYLOAD, nfnl_get_msg_first(), nfnl_get_msg_next(), nfnl_parse_attr(), NFULA_HWADDR, NFULA_IFINDEX_INDEV, NFULA_IFINDEX_OUTDEV, NFULA_MARK, NFULA_MAX, NFULA_PACKET_HDR, NFULA_PAYLOAD, NFULA_PREFIX, NFULA_TIMESTAMP, ipulog_handle::nfulh, nlh, NLM_F_MULTI, NLMSG_DATA, NLMSG_DONE, nlmsghdr::nlmsg_flags, NLMSG_NEXT, NLMSG_OK, nlmsghdr::nlmsg_type, NULL, ulog_packet_msg::outdev_name, ulog_packet_msg::payload, ulog_packet_msg::prefix, tb, ulog_packet_msg::timestamp_sec, ulog_packet_msg::timestamp_usec, ULOG_PREFIX_LEN, and ipulog_handle::upmsg.
u_int32_t ipulog_group2gmask | ( | u_int32_t | group | ) |
References IPULOG_ERR_INVGR, and ipulog_errno.
void ipulog_perror | ( | const char * | s | ) |
ssize_t ipulog_read | ( | struct ipulog_handle * | h, |
unsigned char * | buf, | ||
size_t | len | ||
) |
char* ipulog_strerror | ( | int | errcode | ) |
References IPULOG_ERR_IMPL, ipulog_errmap, and IPULOG_MAXERR.
Referenced by ipulog_perror().
int ipulog_errno |
Referenced by ipulog_create_handle(), ipulog_get_packet(), ipulog_group2gmask(), and ipulog_perror().