From 4502e1d247473699d20d978344a09d9558ebfd47 Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Wed, 29 Feb 2012 20:37:31 +0100 Subject: add nfct_timeout_policy_attr_to_name(state_attr) This function returns the state name as string by taking the state attribute as parameter. Signed-off-by: Pablo Neira Ayuso --- include/libnetfilter_cttimeout/libnetfilter_cttimeout.h | 1 + src/libnetfilter_cttimeout.c | 17 +++++++++++++++++ src/libnetfilter_cttimeout.map | 1 + 3 files changed, 19 insertions(+) diff --git a/include/libnetfilter_cttimeout/libnetfilter_cttimeout.h b/include/libnetfilter_cttimeout/libnetfilter_cttimeout.h index 5a548fa..e8e49ed 100644 --- a/include/libnetfilter_cttimeout/libnetfilter_cttimeout.h +++ b/include/libnetfilter_cttimeout/libnetfilter_cttimeout.h @@ -96,6 +96,7 @@ int nfct_timeout_attr_set(struct nfct_timeout *t, uint32_t type, const void *dat int nfct_timeout_attr_set_u8(struct nfct_timeout *t, uint32_t type, uint8_t data); int nfct_timeout_attr_set_u16(struct nfct_timeout *t, uint32_t type, uint16_t data); void nfct_timeout_attr_unset(struct nfct_timeout *t, uint32_t type); +const char *nfct_timeout_policy_attr_to_name(uint8_t l4proto, uint32_t state); int nfct_timeout_policy_attr_set_u32(struct nfct_timeout *, uint32_t type, uint32_t data); void nfct_timeout_policy_attr_unset(struct nfct_timeout *t, uint32_t type); diff --git a/src/libnetfilter_cttimeout.c b/src/libnetfilter_cttimeout.c index c7060ff..2016e96 100644 --- a/src/libnetfilter_cttimeout.c +++ b/src/libnetfilter_cttimeout.c @@ -282,6 +282,23 @@ void nfct_timeout_policy_attr_unset(struct nfct_timeout *t, uint32_t type) } EXPORT_SYMBOL(nfct_timeout_policy_attr_unset); +const char *nfct_timeout_policy_attr_to_name(uint8_t l4proto, uint32_t state) +{ + if (timeout_protocol[l4proto].state_to_name == NULL) { + printf("no array state name\n"); + return NULL; + } + + if (timeout_protocol[l4proto].state_to_name[state] == NULL) { + printf("state %d does not exists\n", state); + return NULL; + } + + return timeout_protocol[l4proto].state_to_name[state]; +} +EXPORT_SYMBOL(nfct_timeout_policy_attr_to_name); + + /** * nfct_timeout_snprintf - print conntrack timeout object into one buffer * \param buf: pointer to buffer that is used to print the object diff --git a/src/libnetfilter_cttimeout.map b/src/libnetfilter_cttimeout.map index a4417cc..788b7f2 100644 --- a/src/libnetfilter_cttimeout.map +++ b/src/libnetfilter_cttimeout.map @@ -8,6 +8,7 @@ global: nfct_timeout_attr_unset; nfct_timeout_policy_attr_set_u32; nfct_timeout_policy_unset; + nfct_timeout_policy_attr_to_name; nfct_timeout_nlmsg_build_hdr; nfct_timeout_nlmsg_build_payload; nfct_timeout_nlmsg_parse_payload; -- cgit v1.2.3