diff options
author | laforge <laforge> | 2000-08-02 12:15:44 +0000 |
---|---|---|
committer | laforge <laforge> | 2000-08-02 12:15:44 +0000 |
commit | e6f208b1724fdddf43fbbf9c40427c246d528a14 (patch) | |
tree | 162d9a4b2564b1d3e14bbd91f69b4f828b56b29a /include | |
parent | e98b52053730c5a848aa3baace32af3513a3b399 (diff) |
first usable revision
Diffstat (limited to 'include')
-rw-r--r-- | include/ulogd/ulogd.h | 30 |
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 |