aboutsummaryrefslogtreecommitdiffstats
path: root/libglouglou/libglouglou.h
diff options
context:
space:
mode:
Diffstat (limited to 'libglouglou/libglouglou.h')
-rw-r--r--libglouglou/libglouglou.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/libglouglou/libglouglou.h b/libglouglou/libglouglou.h
index fb755a7..ac57595 100644
--- a/libglouglou/libglouglou.h
+++ b/libglouglou/libglouglou.h
@@ -35,11 +35,19 @@ enum gg_packet_type { /* u_int8_t */
PACKET_DELCONN = 0x01,
PACKET_DATA = 0x02,
PACKET_NAME = 0x03,
+ PACKET_TRACE = 0x04,
PACKET_FORK = 0x10,
PACKET_EXEC = 0x11,
PACKET_EXIT = 0x12,
};
+struct __attribute__((packed)) gg_packet_tracehop {
+ u_int32_t addr;
+ u_int16_t delay;
+ u_int8_t loss;
+ u_int8_t asn;
+};
+
/* XXX is packed needed everywhere ? */
struct __attribute__((packed)) gg_packet {
u_int8_t ver;
@@ -64,6 +72,11 @@ struct __attribute__((packed)) gg_packet {
u_int8_t len;
u_char fqdn[GG_PKTARG_MAX];
} name;
+ struct __attribute__((packed)) trace {
+ u_int32_t addr;
+ u_int8_t hopcount;
+ struct gg_packet_tracehop hops[GG_PKTARG_MAX];
+ } trace;
struct __attribute__((packed)) fork {
u_int32_t pid;
u_int32_t ppid;
@@ -92,6 +105,9 @@ struct __attribute__((packed)) gg_packet {
#define name_addr pdat.name.addr
#define name_len pdat.name.len
#define name_fqdn pdat.name.fqdn
+#define trace_addr pdat.trace.addr
+#define trace_hopcount pdat.trace.hopcount
+#define trace_hops pdat.trace.hops
#define fork_pid pdat.fork.pid
#define fork_ppid pdat.fork.ppid
#define fork_cpid pdat.fork.cpid