netfilter
firewalling, NAT, and packet mangling for linux
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
libnetfilter_queue.h File Reference
Include dependency graph for libnetfilter_queue.h:
This graph shows which files directly or indirectly include this file:

Typedefs

typedef int nfq_callback (struct nfq_q_handle *gh, struct nfgenmsg *nfmsg, struct nfq_data *nfad, void *data)
 

Enumerations

enum  {
  NFQ_XML_HW = (1 << 0),
  NFQ_XML_MARK = (1 << 1),
  NFQ_XML_DEV = (1 << 2),
  NFQ_XML_PHYSDEV = (1 << 3),
  NFQ_XML_PAYLOAD = (1 << 4),
  NFQ_XML_TIME = (1 << 5),
  NFQ_XML_UID = (1 << 6),
  NFQ_XML_GID = (1 << 7),
  NFQ_XML_ALL = ~0U
}
 

Functions

struct nfnl_handlenfq_nfnlh (struct nfq_handle *h)
 
int nfq_fd (struct nfq_handle *h)
 nfq_fd - get the file descriptor associated with the nfqueue handler More...
 
struct nfq_handlenfq_open (void)
 nfq_open - open a nfqueue handler More...
 
struct nfq_handlenfq_open_nfnl (struct nfnl_handle *nfnlh)
 nfq_open_nfnl - open a nfqueue handler from a existing nfnetlink handler More...
 
int nfq_close (struct nfq_handle *h)
 nfq_close - close a nfqueue handler More...
 
int nfq_bind_pf (struct nfq_handle *h, u_int16_t pf)
 nfq_bind_pf - bind a nfqueue handler to a given protocol family More...
 
int nfq_unbind_pf (struct nfq_handle *h, u_int16_t pf)
 nfq_unbind_pf - unbind nfqueue handler from a protocol family More...
 
struct nfq_q_handlenfq_create_queue (struct nfq_handle *h, u_int16_t num, nfq_callback *cb, void *data)
 nfq_create_queue - create a new queue handle and return it. More...
 
int nfq_destroy_queue (struct nfq_q_handle *qh)
 nfq_destroy_queue - destroy a queue handle More...
 
int nfq_handle_packet (struct nfq_handle *h, char *buf, int len)
 nfq_handle_packet - handle a packet received from the nfqueue subsystem More...
 
int nfq_set_mode (struct nfq_q_handle *qh, u_int8_t mode, unsigned int len)
 
int nfq_set_queue_maxlen (struct nfq_q_handle *qh, u_int32_t queuelen)
 nfq_set_queue_maxlen - Set kernel queue maximum length parameter More...
 
int nfq_set_queue_flags (struct nfq_q_handle *qh, uint32_t mask, uint32_t flags)
 nfq_set_queue_flags - set flags (options) for the kernel queue More...
 
int nfq_set_verdict (struct nfq_q_handle *qh, u_int32_t id, u_int32_t verdict, u_int32_t data_len, const unsigned char *buf)
 nfq_set_verdict - issue a verdict on a packet More...
 
int nfq_set_verdict2 (struct nfq_q_handle *qh, u_int32_t id, u_int32_t verdict, u_int32_t mark, u_int32_t datalen, const unsigned char *buf)
 nfq_set_verdict2 - like nfq_set_verdict, but you can set the mark. More...
 
int nfq_set_verdict_batch (struct nfq_q_handle *qh, u_int32_t id, u_int32_t verdict)
 nfq_set_verdict_batch - issue verdicts on several packets at once More...
 
int nfq_set_verdict_batch2 (struct nfq_q_handle *qh, u_int32_t id, u_int32_t verdict, u_int32_t mark)
 nfq_set_verdict_batch2 - like nfq_set_verdict_batch, but you can set a mark. More...
 
 __attribute__ ((deprecated)) int nfq_set_verdict_mark(struct nfq_q_handle *qh
 
struct nfqnl_msg_packet_hdrnfq_get_msg_packet_hdr (struct nfq_data *nfad)
 nfqnl_msg_packet_hdr - return the metaheader that wraps the packet More...
 
u_int32_t nfq_get_nfmark (struct nfq_data *nfad)
 nfq_get_nfmark - get the packet mark More...
 
int nfq_get_timestamp (struct nfq_data *nfad, struct timeval *tv)
 nfq_get_timestamp - get the packet timestamp More...
 
u_int32_t nfq_get_indev (struct nfq_data *nfad)
 nfq_get_indev - get the interface that the packet was received through More...
 
u_int32_t nfq_get_physindev (struct nfq_data *nfad)
 nfq_get_physindev - get the physical interface that the packet was received More...
 
u_int32_t nfq_get_outdev (struct nfq_data *nfad)
 nfq_get_outdev - gets the interface that the packet will be routed out More...
 
u_int32_t nfq_get_physoutdev (struct nfq_data *nfad)
 nfq_get_physoutdev - get the physical interface that the packet output More...
 
int nfq_get_uid (struct nfq_data *nfad, u_int32_t *uid)
 nfq_get_uid - get the UID of the user the packet belongs to More...
 
int nfq_get_gid (struct nfq_data *nfad, u_int32_t *gid)
 nfq_get_gid - get the GID of the user the packet belongs to More...
 
int nfq_get_indev_name (struct nlif_handle *nlif_handle, struct nfq_data *nfad, char *name)
 nfq_get_indev_name - get the name of the interface the packet was received through More...
 
int nfq_get_physindev_name (struct nlif_handle *nlif_handle, struct nfq_data *nfad, char *name)
 nfq_get_physindev_name - get the name of the physical interface the packet was received through More...
 
int nfq_get_outdev_name (struct nlif_handle *nlif_handle, struct nfq_data *nfad, char *name)
 nfq_get_outdev_name - get the name of the physical interface the packet will be sent to More...
 
int nfq_get_physoutdev_name (struct nlif_handle *nlif_handle, struct nfq_data *nfad, char *name)
 nfq_get_physoutdev_name - get the name of the interface the packet will be sent to More...
 
struct nfqnl_msg_packet_hwnfq_get_packet_hw (struct nfq_data *nfad)
 nfq_get_packet_hw More...
 
int nfq_get_payload (struct nfq_data *nfad, unsigned char **data)
 nfq_get_payload - get payload More...
 
int nfq_snprintf_xml (char *buf, size_t len, struct nfq_data *tb, int flags)
 nfq_snprintf_xml - print the enqueued packet in XML format into a buffer More...
 
void nfq_nlmsg_cfg_put_cmd (struct nlmsghdr *nlh, uint16_t pf, uint8_t cmd)
 nfq_nlmsg_cfg_build_request- build netlink config message More...
 
void nfq_nlmsg_cfg_put_params (struct nlmsghdr *nlh, uint8_t mode, int range)
 
void nfq_nlmsg_cfg_put_qmaxlen (struct nlmsghdr *nlh, uint32_t qmaxlen)
 
void nfq_nlmsg_verdict_put (struct nlmsghdr *nlh, int id, int verdict)
 
void nfq_nlmsg_verdict_put_mark (struct nlmsghdr *nlh, uint32_t mark)
 
void nfq_nlmsg_verdict_put_pkt (struct nlmsghdr *nlh, const void *pkt, uint32_t pktlen)
 
int nfq_nlmsg_parse (const struct nlmsghdr *nlh, struct nlattr **pkt)
 nfq_pkt_parse - set packet attributes from netlink message More...
 

Variables

int nfq_errno
 
u_int32_t id
 
u_int32_t u_int32_t verdict
 
u_int32_t u_int32_t u_int32_t mark
 
u_int32_t u_int32_t u_int32_t
u_int32_t 
datalen
 
u_int32_t u_int32_t u_int32_t
u_int32_t const unsigned char * 
buf
 

Typedef Documentation

typedef int nfq_callback(struct nfq_q_handle *gh, struct nfgenmsg *nfmsg, struct nfq_data *nfad, void *data)

Enumeration Type Documentation

anonymous enum
Enumerator
NFQ_XML_HW 
NFQ_XML_MARK 
NFQ_XML_DEV 
NFQ_XML_PHYSDEV 
NFQ_XML_PAYLOAD 
NFQ_XML_TIME 
NFQ_XML_UID 
NFQ_XML_GID 
NFQ_XML_ALL 

Function Documentation

__attribute__ ( (deprecated)  )
struct nfnl_handle* nfq_nfnlh ( struct nfq_handle h)

References nfq_handle::nfnlh.

Referenced by nfq_fd().

Here is the caller graph for this function:

struct nfq_handle* nfq_open_nfnl ( struct nfnl_handle nfnlh)

nfq_open_nfnl - open a nfqueue handler from a existing nfnetlink handler

Parameters
nfnlhNetfilter netlink connection handle obtained by calling nfnl_open()

This function obtains a netfilter queue connection handle using an existing netlink connection. This function is used internally to implement nfq_open(), and should typically not be called directly.

Returns
a pointer to a new queue handle or NULL on failure.

References nfnl_callback::data, nfnl_callback_register(), nfnl_subsys_close(), nfnl_subsys_open(), NFNL_SUBSYS_QUEUE, nfq_handle::nfnlh, nfq_handle::nfnlssh, nfq_errno, NFQNL_MSG_MAX, NFQNL_MSG_PACKET, and NULL.

Referenced by nfq_open().

Here is the call graph for this function:

Here is the caller graph for this function:

int nfq_set_mode ( struct nfq_q_handle qh,
u_int8_t  mode,
unsigned int  len 
)

Referenced by main().

Here is the caller graph for this function:

Variable Documentation

u_int32_t u_int32_t u_int32_t u_int32_t const unsigned char* buf

Referenced by __fmtstring(), __nl_read_num_str_file(), addr_to_dotted(), arptables_insmod(), cache_stats(), cache_stats_extended(), debug_nfct_cb(), dlog(), dlog_ct(), dlog_exp(), do_local_client_step(), dotted_to_addr(), dump_traffic_stats(), ebt_ip6_mask_to_string(), ebt_mask_to_dotted(), ebt_parse_ip6_address(), ebtables_insmod(), erec_print(), fork_process_dump(), genl_op2name(), handle_qacb(), ipq_set_verdict(), main(), mask_to_dotted(), mnl_genid_get(), mnl_nft_chain_add(), mnl_nft_chain_delete(), mnl_nft_chain_dump(), mnl_nft_chain_get(), mnl_nft_rule_add(), mnl_nft_rule_delete(), mnl_nft_rule_dump(), mnl_nft_set_add(), mnl_nft_set_delete(), mnl_nft_set_dump(), mnl_nft_set_get(), mnl_nft_setelem_add(), mnl_nft_setelem_delete(), mnl_nft_setelem_get(), mnl_nft_table_add(), mnl_nft_table_delete(), mnl_nft_table_dump(), mnl_nft_table_get(), mnl_nlmsg_batch_start(), mnl_nlmsg_put_header(), mnl_socket_recvfrom(), mnl_talk(), netlink_dump_chain(), netlink_dump_expr(), netlink_dump_rule(), netlink_dump_ruleset(), netlink_dump_set(), netlink_dump_table(), nfct_mnl_talk(), nflog_set_flags(), nflog_set_mode(), nflog_set_nlbufsiz(), nflog_set_qthresh(), nflog_set_timeout(), nfnl_catch(), nfnl_listen(), nfnl_nft_data_dump(), nfnl_talk(), nfq_set_mode(), nfq_set_queue_flags(), nfq_set_queue_maxlen(), nft_chain_add(), nft_table_add(), nl_addr2str(), nl_addr_info(), nl_addr_parse(), nl_addr_resolve(), nl_addr_valid(), nl_ip_proto2str(), nl_msec2str(), nl_nlmsg_flags2str(), nl_object_attrs2str(), nl_send_iovec(), nlmsg_reserve(), parse_hostnetworkmask(), printflow_print(), printpkt_arp(), printpkt_bridge(), printpkt_print(), queue_stats_show(), rt_symbol_table_init(), rtnl_realms2str(), rtnl_receive(), rtnl_tc_handle2str(), xtables_insmod(), xtables_ip6mask_to_numeric(), xtables_ip6parse_any(), xtables_ipaddr_to_numeric(), xtables_ipmask_to_numeric(), xtables_ipparse_any(), and xtables_lmap_init().

u_int32_t u_int32_t u_int32_t u_int32_t datalen

Referenced by mnl_nlmsg_fprintf().

u_int32_t u_int32_t u_int32_t mark
int nfq_errno

Referenced by nfq_create_queue(), and nfq_open_nfnl().