summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorlaforge <laforge>2000-08-02 12:15:44 +0000
committerlaforge <laforge>2000-08-02 12:15:44 +0000
commite6f208b1724fdddf43fbbf9c40427c246d528a14 (patch)
tree162d9a4b2564b1d3e14bbd91f69b4f828b56b29a /include
parente98b52053730c5a848aa3baace32af3513a3b399 (diff)
first usable revision
Diffstat (limited to 'include')
-rw-r--r--include/ulogd/ulogd.h30
1 files changed, 27 insertions, 3 deletions
diff --git a/include/ulogd/ulogd.h b/include/ulogd/ulogd.h
index 0f3378e..fbb373c 100644
--- a/include/ulogd/ulogd.h
+++ b/include/ulogd/ulogd.h
@@ -9,11 +9,14 @@
*
* this code is released under the terms of GNU GPL
*
- * $Id: ulog_test.c,v 1.1 2000/07/30 19:34:05 laforge Exp laforge $
+ * $Id: ulogd.h,v 1.1 2000/08/02 08:41:57 laforge Exp laforge $
*/
#include <libipulog/libipulog.h>
+/* All types with MSB = 1 make use of value.ptr
+ * other types use one of the union's member */
+
/* types without length */
#define ULOGD_RET_NONE 0x0000
@@ -27,7 +30,7 @@
#define ULOGD_RET_UINT32 0x0013
#define ULOGD_RET_UINT64 0x0014
-#define ULOGD_RET_STRING 0x0020
+#define ULOGD_RET_STRING 0x8020
#define ULOGD_RET_IPADDR 0x0100
@@ -36,12 +39,25 @@
#define ULOGD_MAX_KEYLEN 32
+#define ulogd_error(format, args...) fprintf(logfile, format, ## args)
+static FILE *logfile;
+
typedef struct ulog_iret {
struct ulog_iret *next;
u_int32_t len;
u_int16_t type;
char key[ULOGD_MAX_KEYLEN];
- void *value;
+ union {
+ u_int8_t ui8;
+ u_int16_t ui16;
+ u_int32_t ui32;
+ u_int64_t ui64;
+ int8_t i8;
+ int16_t i16;
+ int32_t i32;
+ int64_t i64;
+ void *ptr;
+ } value;
} ulog_iret_t;
typedef struct ulog_interpreter {
@@ -50,6 +66,14 @@ typedef struct ulog_interpreter {
ulog_iret_t* (*interp)(ulog_packet_msg_t *pkt);
} ulog_interpreter_t;
+typedef struct ulog_output {
+ struct ulog_output *next;
+ char name[ULOGD_MAX_KEYLEN];
+ int* (*output)(ulog_iret_t *ret);
+} ulog_output_t;
+
void register_interpreter(ulog_interpreter_t *me);
+void register_output(ulog_output_t *me);
+
ulog_iret_t *alloc_ret(const u_int16_t type, const char*);
#endif