summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/libnetfilter_cttimeout/libnetfilter_cttimeout.h1
-rw-r--r--src/libnetfilter_cttimeout.c17
-rw-r--r--src/libnetfilter_cttimeout.map1
3 files changed, 19 insertions, 0 deletions
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;