summaryrefslogtreecommitdiffstats
path: root/src/ulogd.c
diff options
context:
space:
mode:
author/C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=laforge/emailAddress=laforge@netfilter.org </C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=laforge/emailAddress=laforge@netfilter.org>2005-12-15 13:15:26 +0000
committer/C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=laforge/emailAddress=laforge@netfilter.org </C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=laforge/emailAddress=laforge@netfilter.org>2005-12-15 13:15:26 +0000
commite9a1e70d11c8375f184b3e84c86d4ea67d2554c4 (patch)
treec8614102c4981868604e6d4ce207c17e9f503aa4 /src/ulogd.c
parent9fd7b21926ab4c61d8ad644a0f6ccaedba093673 (diff)
add new 'ulogd_key_size()' function
Diffstat (limited to 'src/ulogd.c')
-rw-r--r--src/ulogd.c45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/ulogd.c b/src/ulogd.c
index f05f9e7..f10a008 100644
--- a/src/ulogd.c
+++ b/src/ulogd.c
@@ -134,6 +134,51 @@ static struct config_keyset ulogd_kset = {
#define loglevel_ce ulogd_kset.ces[2]
#define stack_ce ulogd_kset.ces[3]
+/***********************************************************************
+ * UTILITY FUNCTIONS FOR PLUGINS
+ ***********************************************************************/
+
+int ulogd_key_size(struct ulogd_key *key)
+{
+ int ret;
+
+ switch (key->type) {
+ case ULOGD_RET_INT8:
+ case ULOGD_RET_UINT8:
+ case ULOGD_RET_BOOL:
+ ret = 1;
+ break;
+ case ULOGD_RET_INT16:
+ case ULOGD_RET_UINT16:
+ ret = 2;
+ break;
+ case ULOGD_RET_INT32:
+ case ULOGD_RET_UINT32:
+ case ULOGD_RET_IPADDR:
+ ret = 4;
+ break;
+ case ULOGD_RET_INT64:
+ case ULOGD_RET_UINT64:
+ ret = 8;
+ break;
+ case ULOGD_RET_IP6ADDR:
+ ret = 16;
+ break;
+ case ULOGD_RET_STRING:
+ ret = strlen(key->u.value.ptr);
+ break;
+ case ULOGD_RET_RAW:
+ ret = key->len;
+ break;
+ default:
+ ulogd_log(ULOGD_ERROR, "don't know sizeo f unknown key "
+ "`%s' type 0x%x\n", key->name, key->type);
+ ret = -1;
+ break;
+ }
+
+ return ret;
+}
/***********************************************************************
* PLUGIN MANAGEMENT