diff options
-rw-r--r-- | include/libnftables/table.h | 3 | ||||
-rw-r--r-- | src/libnftables.map | 2 | ||||
-rw-r--r-- | src/table.c | 13 |
3 files changed, 18 insertions, 0 deletions
diff --git a/include/libnftables/table.h b/include/libnftables/table.h index fd187b4..1977d91 100644 --- a/include/libnftables/table.h +++ b/include/libnftables/table.h @@ -21,6 +21,9 @@ enum { void nft_table_attr_set(struct nft_table *t, uint16_t attr, void *data); const void *nft_table_attr_get(struct nft_table *t, uint16_t attr); +void nft_table_attr_set_u32(struct nft_table *t, uint16_t attr, uint32_t data); +uint32_t nft_table_attr_get_u32(struct nft_table *t, uint16_t attr); + void nft_table_nlmsg_build_payload(struct nlmsghdr *nlh, const struct nft_table *t); enum { diff --git a/src/libnftables.map b/src/libnftables.map index 58f35b4..0037969 100644 --- a/src/libnftables.map +++ b/src/libnftables.map @@ -4,6 +4,8 @@ global: nft_table_free; nft_table_attr_set; nft_table_attr_get; + nft_table_attr_set_u32; + nft_table_attr_get_u32; nft_table_snprintf; nft_table_nlmsg_build_hdr; nft_table_nlmsg_build_payload; diff --git a/src/table.c b/src/table.c index 25c46a7..48e9a6a 100644 --- a/src/table.c +++ b/src/table.c @@ -65,6 +65,12 @@ void nft_table_attr_set(struct nft_table *t, uint16_t attr, void *data) } EXPORT_SYMBOL(nft_table_attr_set); +void nft_table_attr_set_u32(struct nft_table *t, uint16_t attr, uint32_t val) +{ + nft_table_attr_set(t, attr, &val); +} +EXPORT_SYMBOL(nft_table_attr_set_u32); + const void *nft_table_attr_get(struct nft_table *t, uint16_t attr) { const void *ret = NULL; @@ -83,6 +89,13 @@ const void *nft_table_attr_get(struct nft_table *t, uint16_t attr) } EXPORT_SYMBOL(nft_table_attr_get); +uint32_t nft_table_attr_get_u32(struct nft_table *t, uint16_t attr) +{ + const void *ret = nft_table_attr_get(t, attr); + return ret == NULL ? 0 : *((uint32_t *)ret); +} +EXPORT_SYMBOL(nft_table_attr_get_u32); + struct nlmsghdr * nft_table_nlmsg_build_hdr(char *buf, uint16_t cmd, uint16_t family, uint16_t type, uint32_t seq) |