From 44928cd546f00a73797a570dcaee44f0bfe5bea7 Mon Sep 17 00:00:00 2001 From: Arturo Borrero Date: Fri, 26 Jul 2013 14:22:03 +0200 Subject: set: add XML parsing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sets are now parsed, following this previous snprintf pattern: string table int uint32_t uint32_t size_t uint32_t size_t uint32_t [...] Signed-off-by: Arturo Borrero González Signed-off-by: Pablo Neira Ayuso --- include/libnftables/set.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'include') diff --git a/include/libnftables/set.h b/include/libnftables/set.h index 6023d50..4fc3a8d 100644 --- a/include/libnftables/set.h +++ b/include/libnftables/set.h @@ -52,6 +52,14 @@ struct nft_set *nft_set_list_iter_cur(struct nft_set_list_iter *iter); struct nft_set *nft_set_list_iter_next(struct nft_set_list_iter *iter); void nft_set_list_iter_destroy(struct nft_set_list_iter *iter); +enum nft_set_parse_type { + NFT_SET_PARSE_NONE = 0, + NFT_SET_PARSE_XML, + NFT_SET_PARSE_MAX, +}; + +int nft_set_parse(struct nft_set *s, enum nft_set_parse_type type, char *data); + /* * Set elements */ @@ -94,6 +102,7 @@ void nft_set_elem_nlmsg_build_payload(struct nlmsghdr *nlh, struct nft_set_elem int nft_set_elem_nlmsg_parse(const struct nlmsghdr *nlh, struct nft_set_elem *s); +int nft_set_elem_parse(struct nft_set_elem *e, enum nft_set_parse_type type, char *data); int nft_set_elem_snprintf(char *buf, size_t size, struct nft_set_elem *s, uint32_t type, uint32_t flags); int nft_set_elem_foreach(struct nft_set *s, int (*cb)(struct nft_set_elem *e, void *data), void *data); -- cgit v1.2.3