]> git.ipfire.org Git - thirdparty/ulogd2.git/commitdiff
revive BASE plugin
authorlaforge <laforge>
Mon, 3 Oct 2005 15:25:43 +0000 (15:25 +0000)
committerlaforge <laforge>
Mon, 3 Oct 2005 15:25:43 +0000 (15:25 +0000)
filter/raw2packet/Makefile.am
filter/raw2packet/ulogd_raw2packet_BASE.c

index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..94adb3cd0251dea873e9e6166a26394240fc18ba 100644 (file)
@@ -0,0 +1,7 @@
+
+INCLUDES = $(all_includes) -I$(top_srcdir)/include
+
+pkglib_LTLIBRARIES = ulogd_raw2packet_BASE.la 
+
+ulogd_raw2packet_BASE_la_SOURCES = ulogd_raw2packet_BASE.c
+ulogd_raw2packet_BASE_la_LDFLAGS = -module
index 54cd7de0a43fff92eed3fba699d3c36b6ed37aee..7bc1c21ff33d41a9196012132d9b34c47cb025a3 100644 (file)
@@ -93,7 +93,7 @@ static struct ulogd_key iphdr_rets[] = {
        {
                .type = ULOGD_RET_UINT16,
                .flags = ULOGD_RETF_NONE,
-               .name "ip.id", 
+               .name "ip.id", 
        },
        {
                .type = ULOGD_RET_UINT16,
@@ -102,10 +102,10 @@ static struct ulogd_key iphdr_rets[] = {
        },
 };
 
-static struct ulog_key *_interp_iphdr(struct ulogd_pluginstance *pi)
+static int _interp_iphdr(struct ulogd_pluginstance *pi)
 {
        struct ulogd_key *ret = pi->output;
-       struct iphdr *iph = (struct iphdr *) pi->input[0].u.value.ptr;
+       struct iphdr *iph = (struct iphdr *) pi->input[0].u.source->u.value.ptr;
 
        ret[0].u.value.ui32 = ntohl(iph->saddr);
        ret[0].flags |= ULOGD_RETF_VALID;
@@ -421,35 +421,25 @@ static struct ulogd_key base_inp[] = {
        },
 };
 
-static struct ulogd_pluginstance *base_init(struct ulogd_plugin *pl)
+static int base_start(struct ulogd_pluginstance *upi)
 {
-       struct ulogd_pluginstance *bpi = malloc(sizeof(*bpi));
-
-       if (!bpi)
-               return NULL;
-
-       bpi->plugin = pl;
-       //bpi->input = &base_inp;
-       //bpi->output = &iphdr_rets;
-
-       return bpi;
+       return 0;
 }
 
 static int base_fini(struct ulogd_pluginstance *upi)
 {
-       free(upi);
        return 0;
 }
 
 static struct ulogd_plugin base_plugin = {
        .name = "BASE",
        .input = {
-               .keys = &base_inp,
+               .keys = base_inp,
                .num_keys = 1,
                .type = ULOGD_DTYPE_RAW,
                },
        .output = {
-               .keys = &iphdr_rets,
+               .keys = iphdr_rets,
 //             .num_keys = 39,
                .num_keys = 10,
                .type = ULOGD_DTYPE_PACKET,
@@ -457,11 +447,14 @@ static struct ulogd_plugin base_plugin = {
 //     .interp = &base_interp,
        .interp = &_interp_iphdr,
 
-       .constructor = &base_init,
-       .destructor = &base_fini,
+       .configure = &base_start,
+       .start = &base_start,
+       .stop = &base_fini,
 };
 
-void _init(void)
+void __attribute__ ((constructor)) init(void);
+
+void init(void)
 {
        ulogd_register_plugin(&base_plugin);
 }