#include <netlink/netlink.h>#include <netlink/object.h>#include <netlink/addr.h>#include <netlink/data.h>

Data Structures | |
| struct | nla_policy |
| Attribute validation policy. More... | |
Macros | |
Attribute Construction (Exception Based) | |
| #define | NLA_PUT(msg, attrtype, attrlen, data) |
| Add unspecific attribute to netlink message. More... | |
| #define | NLA_PUT_TYPE(msg, type, attrtype, value) |
| Add atomic type attribute to netlink message. More... | |
| #define | NLA_PUT_U8(msg, attrtype, value) NLA_PUT_TYPE(msg, uint8_t, attrtype, value) |
| Add 8 bit integer attribute to netlink message. More... | |
| #define | NLA_PUT_U16(msg, attrtype, value) NLA_PUT_TYPE(msg, uint16_t, attrtype, value) |
| Add 16 bit integer attribute to netlink message. More... | |
| #define | NLA_PUT_U32(msg, attrtype, value) NLA_PUT_TYPE(msg, uint32_t, attrtype, value) |
| Add 32 bit integer attribute to netlink message. More... | |
| #define | NLA_PUT_U64(msg, attrtype, value) NLA_PUT_TYPE(msg, uint64_t, attrtype, value) |
| Add 64 bit integer attribute to netlink message. More... | |
| #define | NLA_PUT_STRING(msg, attrtype, value) NLA_PUT(msg, attrtype, strlen(value) + 1, value) |
| Add string attribute to netlink message. More... | |
| #define | NLA_PUT_FLAG(msg, attrtype) NLA_PUT(msg, attrtype, 0, NULL) |
| Add flag attribute to netlink message. More... | |
| #define | NLA_PUT_MSECS(msg, attrtype, msecs) NLA_PUT_U64(msg, attrtype, msecs) |
| Add msecs attribute to netlink message. More... | |
| #define | NLA_PUT_ADDR(msg, attrtype, addr) |
| Add address attribute to netlink message. More... | |
| #define | NLA_PUT_DATA(msg, attrtype, data) |
| Add abstract data attribute to netlink message. More... | |
Iterators | |
| #define | nla_for_each_attr(pos, head, len, rem) |
| Iterate over a stream of attributes. More... | |
| #define | nla_for_each_nested(pos, nla, rem) |
| Iterate over a stream of nested attributes. More... | |
Functions | |
| int | nla_attr_size (int payload) |
| Return size of attribute whithout padding. More... | |
| int | nla_total_size (int payload) |
| Return size of attribute including padding. More... | |
| int | nla_padlen (int payload) |
| Return length of padding at the tail of the attribute. More... | |
| int | nla_type (const struct nlattr *) |
| Return type of the attribute. More... | |
| void * | nla_data (const struct nlattr *) |
| Return pointer to the payload section. More... | |
| int | nla_len (const struct nlattr *) |
| Return length of the payload . More... | |
| int | nla_ok (const struct nlattr *, int) |
| Check if the attribute header and payload can be accessed safely. More... | |
| struct nlattr * | nla_next (const struct nlattr *, int *) |
| Return next attribute in a stream of attributes. More... | |
| int | nla_parse (struct nlattr **, int, struct nlattr *, int, struct nla_policy *) |
| int | nla_validate (struct nlattr *, int, int, struct nla_policy *) |
| Validate a stream of attributes. More... | |
| struct nlattr * | nla_find (struct nlattr *, int, int) |
| Find a single attribute in a stream of attributes. More... | |
| int | nla_memcpy (void *, struct nlattr *, int) |
| Copy attribute payload to another memory area. More... | |
| size_t | nla_strlcpy (char *, const struct nlattr *, size_t) |
| Copy string attribute payload to a buffer. More... | |
| int | nla_memcmp (const struct nlattr *, const void *, size_t) |
| Compare attribute payload with memory area. More... | |
| int | nla_strcmp (const struct nlattr *, const char *) |
| Compare string attribute payload with string. More... | |
| struct nlattr * | nla_reserve (struct nl_msg *, int, int) |
| Reserve space for a attribute. More... | |
| int | nla_put (struct nl_msg *, int, int, const void *) |
| Add a unspecific attribute to netlink message. More... | |
| int | nla_put_data (struct nl_msg *, int, struct nl_data *) |
| Add abstract data as unspecific attribute to netlink message. More... | |
| int | nla_put_addr (struct nl_msg *, int, struct nl_addr *) |
| Add abstract address as unspecific attribute to netlink message. More... | |
| uint8_t | nla_get_u8 (struct nlattr *) |
| Return value of 8 bit integer attribute. More... | |
| int | nla_put_u8 (struct nl_msg *, int, uint8_t) |
| Add 8 bit integer attribute to netlink message. More... | |
| uint16_t | nla_get_u16 (struct nlattr *) |
| Return payload of 16 bit integer attribute. More... | |
| int | nla_put_u16 (struct nl_msg *, int, uint16_t) |
| Add 16 bit integer attribute to netlink message. More... | |
| uint32_t | nla_get_u32 (struct nlattr *) |
| Return payload of 32 bit integer attribute. More... | |
| int | nla_put_u32 (struct nl_msg *, int, uint32_t) |
| Add 32 bit integer attribute to netlink message. More... | |
| uint64_t | nla_get_u64 (struct nlattr *) |
| Return payload of u64 attribute. More... | |
| int | nla_put_u64 (struct nl_msg *, int, uint64_t) |
| Add 64 bit integer attribute to netlink message. More... | |
| char * | nla_get_string (struct nlattr *) |
| Return payload of string attribute. More... | |
| char * | nla_strdup (struct nlattr *) |
| int | nla_put_string (struct nl_msg *, int, const char *) |
| Add string attribute to netlink message. More... | |
| int | nla_get_flag (struct nlattr *) |
| Return true if flag attribute is set. More... | |
| int | nla_put_flag (struct nl_msg *, int) |
| Add flag netlink attribute to netlink message. More... | |
| unsigned long | nla_get_msecs (struct nlattr *) |
| Return payload of msecs attribute. More... | |
| int | nla_put_msecs (struct nl_msg *, int, unsigned long) |
| Add a msecs netlink attribute to a netlink message. More... | |
| int | nla_put_nested (struct nl_msg *, int, struct nl_msg *) |
| Add nested attributes to netlink message. More... | |
| struct nlattr * | nla_nest_start (struct nl_msg *, int) |
| Start a new level of nested attributes. More... | |
| int | nla_nest_end (struct nl_msg *, struct nlattr *) |
| Finalize nesting of attributes. More... | |
| int | nla_parse_nested (struct nlattr **, int, struct nlattr *, struct nla_policy *) |
Basic Attribute Data Types | |
| #define | NLA_TYPE_MAX (__NLA_TYPE_MAX - 1) |
| enum | { NLA_UNSPEC, NLA_U8, NLA_U16, NLA_U32, NLA_U64, NLA_STRING, NLA_FLAG, NLA_MSECS, NLA_NESTED, __NLA_TYPE_MAX } |
| Basic attribute data types. More... | |
| #define NLA_TYPE_MAX (__NLA_TYPE_MAX - 1) |
Referenced by ip_set_get_ipaddr4(), ip_set_get_ipaddr6(), nfnl_nft_data_parse(), nfnl_nft_expr_parse(), nfnlmsg_nft_chain_parse(), rtnl_ematch_parse(), and rtnl_route_parse().
