summaryrefslogtreecommitdiffstats
path: root/output
diff options
context:
space:
mode:
Diffstat (limited to 'output')
-rw-r--r--output/pcap/ulogd_output_PCAP.c11
-rw-r--r--output/ulogd_output_NACCT.c34
2 files changed, 22 insertions, 23 deletions
diff --git a/output/pcap/ulogd_output_PCAP.c b/output/pcap/ulogd_output_PCAP.c
index ce4393c..09120a1 100644
--- a/output/pcap/ulogd_output_PCAP.c
+++ b/output/pcap/ulogd_output_PCAP.c
@@ -126,7 +126,6 @@ static struct ulogd_key pcap_keys[INTR_IDS] = {
{ .name = "oob.time.usec" },
};
-#define GET_VALUE(res, x) (res[x].u.source->u.value)
#define GET_FLAGS(res, x) (res[x].u.source->flags)
static int interp_pcap(struct ulogd_pluginstance *upi)
@@ -135,13 +134,13 @@ static int interp_pcap(struct ulogd_pluginstance *upi)
struct ulogd_key *res = upi->input.keys;
struct pcap_sf_pkthdr pchdr;
- pchdr.caplen = GET_VALUE(res, 2).ui32;
- pchdr.len = GET_VALUE(res, 2).ui32;
+ pchdr.caplen = ikey_get_u32(&res[2]);
+ pchdr.len = ikey_get_u32(&res[2]);
if (GET_FLAGS(res, 3) & ULOGD_RETF_VALID
&& GET_FLAGS(res, 4) & ULOGD_RETF_VALID) {
- pchdr.ts.tv_sec = GET_VALUE(res, 3).ui32;
- pchdr.ts.tv_usec = GET_VALUE(res, 4).ui32;
+ pchdr.ts.tv_sec = ikey_get_u32(&res[3]);
+ pchdr.ts.tv_usec = ikey_get_u32(&res[4]);
} else {
/* use current system time */
struct timeval tv;
@@ -156,7 +155,7 @@ static int interp_pcap(struct ulogd_pluginstance *upi)
strerror(errno));
return ULOGD_IRET_ERR;
}
- if (fwrite(GET_VALUE(res, 0).ptr, pchdr.caplen, 1, pi->of) != 1) {
+ if (fwrite(ikey_get_ptr(&res[0]), pchdr.caplen, 1, pi->of) != 1) {
ulogd_log(ULOGD_ERROR, "Error during write: %s\n",
strerror(errno));
return ULOGD_IRET_ERR;
diff --git a/output/ulogd_output_NACCT.c b/output/ulogd_output_NACCT.c
index 0ab2be4..f5296e8 100644
--- a/output/ulogd_output_NACCT.c
+++ b/output/ulogd_output_NACCT.c
@@ -125,28 +125,28 @@ nacct_interp(struct ulogd_pluginstance *pi)
/* try to be as close to nacct as possible. Instead of nacct's
'timestamp' value use 'flow.end.sec' */
- if (GET_VALUE(inp, KEY_IP_PROTO).ui8 == IPPROTO_ICMP) {
+ if (ikey_get_u8(&inp[KEY_IP_PROTO]) == IPPROTO_ICMP) {
snprintf(buf, sizeof(buf),
"%u\t%u\t%s\t%u\t%s\t%u\t%u\t%u",
- GET_VALUE(inp, KEY_FLOW_END).ui32,
- GET_VALUE(inp, KEY_IP_PROTO).ui8,
- (char *) GET_VALUE(inp, KEY_IP_SADDR).ptr,
- GET_VALUE(inp, KEY_ICMP_TYPE).ui8,
- (char *) GET_VALUE(inp, KEY_IP_DADDR).ptr,
- GET_VALUE(inp, KEY_ICMP_CODE).ui8,
- GET_VALUE(inp, KEY_RAW_PKTCNT).ui32,
- GET_VALUE(inp, KEY_RAW_PKTLEN).ui32);
+ ikey_get_u32(&inp[KEY_FLOW_END]),
+ ikey_get_u8(&inp[KEY_IP_PROTO]),
+ (char *) ikey_get_ptr(&inp[KEY_IP_SADDR]),
+ ikey_get_u8(&inp[KEY_ICMP_TYPE]),
+ (char *) ikey_get_ptr(&inp[KEY_IP_DADDR]),
+ ikey_get_u8(&inp[KEY_ICMP_CODE]),
+ ikey_get_u32(&inp[KEY_RAW_PKTCNT]),
+ ikey_get_u32(&inp[KEY_RAW_PKTLEN]));
} else {
snprintf(buf, sizeof(buf),
"%u\t%u\t%s\t%u\t%s\t%u\t%u\t%u",
- GET_VALUE(inp, KEY_FLOW_END).ui32,
- GET_VALUE(inp, KEY_IP_PROTO).ui8,
- (char *) GET_VALUE(inp, KEY_IP_SADDR).ptr,
- GET_VALUE(inp, KEY_L4_SPORT).ui16,
- (char *) GET_VALUE(inp, KEY_IP_DADDR).ptr,
- GET_VALUE(inp, KEY_L4_DPORT).ui16,
- GET_VALUE(inp, KEY_RAW_PKTCNT).ui32,
- GET_VALUE(inp, KEY_RAW_PKTLEN).ui32);
+ ikey_get_u32(&inp[KEY_FLOW_END]),
+ ikey_get_u8(&inp[KEY_IP_PROTO]),
+ (char *) ikey_get_ptr(&inp[KEY_IP_SADDR]),
+ ikey_get_u16(&inp[KEY_L4_SPORT]),
+ (char *) ikey_get_ptr(&inp[KEY_IP_DADDR]),
+ ikey_get_u16(&inp[KEY_L4_DPORT]),
+ ikey_get_u32(&inp[KEY_RAW_PKTCNT]),
+ ikey_get_u32(&inp[KEY_RAW_PKTLEN]));
}
fprintf(priv->of, "%s\n", buf);