summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/libnftnl.map2
-rw-r--r--src/udata.c15
2 files changed, 17 insertions, 0 deletions
diff --git a/src/libnftnl.map b/src/libnftnl.map
index 4282367..4c08210 100644
--- a/src/libnftnl.map
+++ b/src/libnftnl.map
@@ -261,9 +261,11 @@ global:
nftnl_udata_end;
nftnl_udata_put;
nftnl_udata_put_strz;
+ nftnl_udata_put_u32;
nftnl_udata_type;
nftnl_udata_len;
nftnl_udata_get;
+ nftnl_udata_get_u32;
nftnl_udata_next;
nftnl_udata_parse;
diff --git a/src/udata.c b/src/udata.c
index 60c2f34..d679dd0 100644
--- a/src/udata.c
+++ b/src/udata.c
@@ -94,6 +94,13 @@ bool nftnl_udata_put_strz(struct nftnl_udata_buf *buf, uint8_t type,
}
EXPORT_SYMBOL(nftnl_udata_put_strz);
+bool nftnl_udata_put_u32(struct nftnl_udata_buf *buf, uint8_t type,
+ uint32_t data)
+{
+ return nftnl_udata_put(buf, type, sizeof(data), &data);
+}
+EXPORT_SYMBOL(nftnl_udata_put_u32);
+
uint8_t nftnl_udata_type(const struct nftnl_udata *attr)
{
return attr->type;
@@ -112,6 +119,14 @@ void *nftnl_udata_get(const struct nftnl_udata *attr)
}
EXPORT_SYMBOL(nftnl_udata_get);
+uint32_t nftnl_udata_get_u32(const struct nftnl_udata *attr)
+{
+ uint32_t *data = (uint32_t *)attr->value;
+
+ return *data;
+}
+EXPORT_SYMBOL(nftnl_udata_get_u32);
+
struct nftnl_udata *nftnl_udata_next(const struct nftnl_udata *attr)
{
return (struct nftnl_udata *)&attr->value[attr->len];