[netfilter-cvslog] r6325 - in branches/ulog/ulogd2: include/ulogd src

laforge at netfilter.org laforge at netfilter.org
Thu Dec 15 14:15:27 CET 2005


Author: laforge at netfilter.org
Date: 2005-12-15 14:15:26 +0100 (Thu, 15 Dec 2005)
New Revision: 6325

Modified:
   branches/ulog/ulogd2/include/ulogd/ulogd.h
   branches/ulog/ulogd2/src/ulogd.c
Log:
add new 'ulogd_key_size()' function


Modified: branches/ulog/ulogd2/include/ulogd/ulogd.h
===================================================================
--- branches/ulog/ulogd2/include/ulogd/ulogd.h	2005-12-15 12:41:20 UTC (rev 6324)
+++ branches/ulog/ulogd2/include/ulogd/ulogd.h	2005-12-15 13:15:26 UTC (rev 6325)
@@ -42,6 +42,7 @@
 #define ULOGD_RET_BOOL		0x0050
 
 #define ULOGD_RET_IPADDR	0x0100
+#define ULOGD_RET_IP6ADDR	0x0200
 
 /* types with length field */
 #define ULOGD_RET_STRING	0x8020
@@ -210,23 +211,13 @@
 /* backwards compatibility */
 #define ulogd_error(format, args...) ulogd_log(ULOGD_ERROR, format, ## args)
 
-/* get an interpreter hash id by name */
-unsigned int interh_getid(const char *name);
-
-/* get a key id if you have the name */
-unsigned int keyh_getid(const char *name);
-
-/* get a result for a given key id */
-struct ulogd_key *keyh_getres(unsigned int id);
-
-/* the key hash itself */
-extern struct ulogd_keyh_entry *ulogd_keyh;
-
 #define IS_VALID(x)	((x).flags & ULOGD_RETF_VALID)
 #define SET_VALID(x)	(x.flags |= ULOGD_RETF_VALID)
 #define IS_NEEDED(x)	(x.flags & ULOGD_RETF_NEEDED)
 #define SET_NEEDED(x)	(x.flags |= ULOGD_RETF_NEEDED)
 
+int ulogd_key_size(struct ulogd_key *key);
+
 /***********************************************************************
  * file descriptor handling
  ***********************************************************************/

Modified: branches/ulog/ulogd2/src/ulogd.c
===================================================================
--- branches/ulog/ulogd2/src/ulogd.c	2005-12-15 12:41:20 UTC (rev 6324)
+++ branches/ulog/ulogd2/src/ulogd.c	2005-12-15 13:15:26 UTC (rev 6325)
@@ -134,7 +134,52 @@
 #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 
  ***********************************************************************/




More information about the netfilter-cvslog mailing list