nflog_attr_put_cfg_cmd(3)

Netlink message helper functions

Section 3 libnetfilter-log-doc bookworm source

Description

nlmsg

NAME

nflog_nlmsg_put_header, nflog_attr_put_cfg_mode, nflog_attr_put_cfg_cmd, nflog_nlmsg_parse, nflog_nlmsg_snprintf - Netlink message helper functions

SYNOPSIS

#include <netinet/in.h>
#include <libnetfilter_log/libnetfilter_log.h>

struct nlmsghdr * nflog_nlmsg_put_header (char *buf, uint8_t type, uint8_t family, uint16_t gnum)
int nflog_attr_put_cfg_mode (struct nlmsghdr *nlh, uint8_t mode, uint32_t range)
int nflog_attr_put_cfg_cmd (struct nlmsghdr *nlh, uint8_t cmd)
int nflog_nlmsg_parse (const struct nlmsghdr *nlh, struct nlattr **attr)
int nflog_nlmsg_snprintf (char *buf, size_t bufsiz, const struct nlmsghdr *nlh, struct nlattr **attr, enum nflog_output_type type, uint32_t flags)

Function Documentation

int nflog_attr_put_cfg_cmd (struct nlmsghdr * nlh, uint8_t cmd)

nflog_attr_put_cfg_cmd - add a command attribute to nflog netlink message

Parameters

nlh pointer to netlink message
cmd
one of the enum nfulnl_msg_config_cmds

Returns

0

int nflog_attr_put_cfg_mode (struct nlmsghdr * nlh, uint8_t mode, uint32_trange)

nflog_attr_put_cfg_mode - add a mode attribute to nflog netlink message

Parameters

nlh pointer to netlink message
mode
copy mode: NFULNL_COPY_NONE, NFULNL_COPY_META or NFULNL_COPY_PACKET
range
copy range

Returns

0

int nflog_nlmsg_parse (const struct nlmsghdr * nlh, struct nlattr ** attr)

nflog_nlmsg_parse - set nlattrs from netlink message

Parameters

nlh pointer to netlink message
attr
pointer to an array of nlattr of size NFULA_MAX + 1

Returns

0

struct nlmsghdr* nflog_nlmsg_put_header (char * buf, uint8_t type, uint8_tfamily, uint16_t gnum)

nflog_nlmsg_put_header - populate memory buffer with nflog Netlink headers

Parameters

buf pointer to memory buffer
type
either NFULNL_MSG_PACKET or NFULNL_MSG_CONFIG (enum nfulnl_msg_types)
family
protocol family
gnum
group number

Initialises buf to start with a netlink header for the log subsystem followed by an nfnetlink header with the log group

Returns

pointer to created Netlink header structure

int nflog_nlmsg_snprintf (char * buf, size_t bufsiz, const struct nlmsghdr *nlh, struct nlattr ** attr, enum nflog_output_type type, uint32_t flags)

nflog_nlmsg_snprintf - print a nflog nlattrs to a buffer

Parameters

buf buffer used to build the printable nflog
bufsiz
size of the buffer
nlh
pointer to netlink message (to get queue num in the future)
attr
pointer to an array of nlattr of size NFULA_MAX + 1
type
print message type in enum nflog_output_type
flags
The flag that tell what to print into the buffer

This function supports the following types / flags:

type: NFLOG_OUTPUT_XML

NFLOG_XML_PREFIX: include the string prefix

NFLOG_XML_HW: include the hardware link layer address

NFLOG_XML_MARK: include the packet mark

NFLOG_XML_DEV: include the device information

NFLOG_XML_PHYSDEV: include the physical device information

NFLOG_XML_PAYLOAD: include the payload (in hexadecimal)

NFLOG_XML_TIME: include the timestamp

NFLOG_XML_ALL: include all the logging information (all flags set)

You can combine these flags with a bitwise OR.

Returns

-1 on failure else same as snprintf

Errors

EOPNOTSUPP type is unsupported (i.e. not NFLOG_OUTPUT_XML)

See also

snprintf(3)

Author

Generated automatically by Doxygen for libnetfilter_log from the source code.