summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/libnftables/table.h3
-rw-r--r--src/libnftables.map2
-rw-r--r--src/table.c13
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)