[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