From a729bb44a14f78f12edb09ae76ce04dbc171c266 Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Thu, 28 Oct 2010 17:04:16 +0200 Subject: expect: export already implement low-level functions This patch exports several low-level function that allow to build and parse netlink messages that contain ctnetlink expectation information. They have been in the tree for quite so long, but they were not exported. To leave the library in a consistent state (ctnetlink conntrack functions provide the similar functionality) I have decided to export them. Signed-off-by: Pablo Neira Ayuso --- .../libnetfilter_conntrack.h | 18 ++++++++++++++ src/expect/api.c | 28 +++++++++++----------- 2 files changed, 32 insertions(+), 14 deletions(-) diff --git a/include/libnetfilter_conntrack/libnetfilter_conntrack.h b/include/libnetfilter_conntrack/libnetfilter_conntrack.h index 029eebd..5315f42 100644 --- a/include/libnetfilter_conntrack/libnetfilter_conntrack.h +++ b/include/libnetfilter_conntrack/libnetfilter_conntrack.h @@ -588,6 +588,24 @@ extern int nfexp_snprintf(char *buf, extern int nfexp_catch(struct nfct_handle *h); +/* low level API */ +extern int nfexp_build_expect(struct nfnl_subsys_handle *ssh, + void *req, + size_t size, + u_int16_t type, + u_int16_t flags, + const struct nf_expect *exp); + +extern int nfexp_parse_expect(enum nf_conntrack_msg_type type, + const struct nlmsghdr *nlh, + struct nf_expect *exp); + +extern int nfexp_build_query(struct nfnl_subsys_handle *ssh, + const enum nf_conntrack_query qt, + const void *data, + void *buffer, + unsigned int size); + /* Bitset representing status of connection. Taken from ip_conntrack.h * * Note: For backward compatibility this shouldn't ever change diff --git a/src/expect/api.c b/src/expect/api.c index 35c8672..35aaac9 100644 --- a/src/expect/api.c +++ b/src/expect/api.c @@ -465,12 +465,12 @@ int nfexp_attr_unset(struct nf_expect *exp, * On error, -1 is returned and errno is appropiately set. * On success, 0 is returned. */ -static int nfexp_build_expect(struct nfnl_subsys_handle *ssh, - void *req, - size_t size, - u_int16_t type, - u_int16_t flags, - const struct nf_expect *exp) +int nfexp_build_expect(struct nfnl_subsys_handle *ssh, + void *req, + size_t size, + u_int16_t type, + u_int16_t flags, + const struct nf_expect *exp) { assert(ssh != NULL); assert(req != NULL); @@ -509,11 +509,11 @@ static int nfexp_build_expect(struct nfnl_subsys_handle *ssh, * On success, 0 is returned. On error, -1 is returned and errno is set * appropiately. */ -static int nfexp_build_query(struct nfnl_subsys_handle *ssh, - const enum nf_conntrack_query qt, - const void *data, - void *buffer, - unsigned int size) +int nfexp_build_query(struct nfnl_subsys_handle *ssh, + const enum nf_conntrack_query qt, + const void *data, + void *buffer, + unsigned int size) { struct nfnlhdr *req = buffer; const u_int8_t *family = data; @@ -571,9 +571,9 @@ static int nfexp_build_query(struct nfnl_subsys_handle *ssh, * the message received is not of the requested type then 0 is returned, * otherwise this function returns the message type parsed. */ -static int nfexp_parse_expect(enum nf_conntrack_msg_type type, - const struct nlmsghdr *nlh, - struct nf_expect *exp) +int nfexp_parse_expect(enum nf_conntrack_msg_type type, + const struct nlmsghdr *nlh, + struct nf_expect *exp) { unsigned int flags; int len = nlh->nlmsg_len; -- cgit v1.2.3