diff options
author | Carlos Falgueras García <carlosfg@riseup.net> | 2016-03-22 20:46:24 +0100 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2016-04-14 02:23:26 +0200 |
commit | 5c3bc232dc9d1dd01d589fab096f67d944621fc2 (patch) | |
tree | 51d84afbca7fe6adc6b7c0b941ae3dba4f9117bc /src/libnftnl.map | |
parent | 2d5f3998fa478a4555b0d0599e015b763f03576c (diff) |
udata: add TLV user data infrastructure
These functions allow to create a buffer (struct nftnl_udata_buf) of
user data attributes in TLV format (struct nftnl_udata). It is inspired
by libmnl/src/attr.c. It can be used to store several TLVs sequentially
into an object.
Example:
struct nftnl_udata_buf *buf;
struct nftnl_udata *attr;
const char *str = "Hello World!";
buf = nftnl_udata_buf_alloc(UDATA_SIZE);
if (!buf) {
perror("OOM");
exit(EXIT_FAILURE);
}
if (!nftnl_udata_put_strz(buf, MY_TYPE, str)) {
perror("Can't put attribute \"%s\"", str);
exit(EXIT_FAILURE);
}
nftnl_udata_for_each(buf, attr)
printf("%s\n", (char *)nftnl_udata_attr_value(attr));
nftnl_udata_buf_free(buf);
Signed-off-by: Carlos Falgueras García <carlosfg@riseup.net>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/libnftnl.map')
-rw-r--r-- | src/libnftnl.map | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/libnftnl.map b/src/libnftnl.map index 2e193b7..c38e081 100644 --- a/src/libnftnl.map +++ b/src/libnftnl.map @@ -512,4 +512,19 @@ LIBNFTNL_4.1 { nftnl_trace_get_data; nftnl_trace_nlmsg_parse; + + nftnl_udata_buf_alloc; + nftnl_udata_buf_free; + nftnl_udata_buf_len; + nftnl_udata_buf_data; + nftnl_udata_buf_put; + nftnl_udata_start; + nftnl_udata_end; + nftnl_udata_put; + nftnl_udata_put_strz; + nftnl_udata_type; + nftnl_udata_len; + nftnl_udata_get; + nftnl_udata_next; + nftnl_udata_parse; } LIBNFTNL_4; |