summaryrefslogtreecommitdiffstats
path: root/include/libnftables/common.h
diff options
context:
space:
mode:
authorÁlvaro Neira Ayuso <alvaroneay@gmail.com>2014-01-06 00:51:14 +0100
committerPablo Neira Ayuso <pablo@netfilter.org>2014-01-06 13:20:46 +0100
commite87d2f9ef8a4a298de5514b30ec2d43d3c90a644 (patch)
treeb1379f466db57d1a8bf8c2e6048f8a3933ef9639 /include/libnftables/common.h
parentb4a0d19dc1b16a614cdf0aa362f754e734486b38 (diff)
src: new error reporting approach for XML/JSON parsers
I have added a new structure for reporting some errors in parser that we can't cover with errno. In this patch, we have three errors that we can't cover with errno: NFT_PARSE_EBADINPUT : Bad XML/JSON format in the input NFT_PARSE_EMISSINGNODE : Missing node in our input NFT_PARSE_EBADTYPE : Wrong type value in a node Signed-off-by: Alvaro Neira Ayuso <alvaroneay@gmail.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'include/libnftables/common.h')
-rw-r--r--include/libnftables/common.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/libnftables/common.h b/include/libnftables/common.h
index 9cd92b2..1ef88ba 100644
--- a/include/libnftables/common.h
+++ b/include/libnftables/common.h
@@ -1,6 +1,12 @@
#ifndef _LIBNFTABLES_COMMON_H_
#define _LIBNFTABLES_COMMON_H_
+enum {
+ NFT_PARSE_EBADINPUT = 0,
+ NFT_PARSE_EMISSINGNODE,
+ NFT_PARSE_EBADTYPE,
+};
+
enum nft_output_type {
NFT_OUTPUT_DEFAULT = 0,
NFT_OUTPUT_XML,
@@ -14,7 +20,12 @@ enum nft_parse_type {
NFT_PARSE_MAX,
};
+struct nft_parse_err;
+
struct nlmsghdr *nft_nlmsg_build_hdr(char *buf, uint16_t cmd, uint16_t family,
uint16_t type, uint32_t seq);
+struct nft_parse_err *nft_parse_err_alloc(void);
+void nft_parse_err_free(struct nft_parse_err *);
+int nft_parse_perror(const char *str, struct nft_parse_err *err);
#endif