10 #include <vdeplugin.h>
13 static int testevent(struct dbgcl
*tag
,void *arg
,va_list v
);
14 static int dump(char *arg
);
16 struct plugin vde_plugin_data
={
21 static struct comlist cl
[]={
22 {"dump","============","DUMP Packets",NULL
,NOARG
},
23 {"dump/active","0/1","start dumping data",dump
,STRARG
},
27 static struct dbgcl dl
[]= {
28 {"dump/packetin","dump incoming packet",D_DUMP
|D_IN
},
29 {"dump/packetout","dump outgoing packet",D_DUMP
|D_OUT
},
32 static int dump(char *arg
)
36 eventadd(testevent
,"packet",dl
);
38 eventdel(testevent
,"packet",dl
);
42 static int testevent(struct dbgcl
*event
,void *arg
,va_list v
)
44 struct dbgcl
*this=arg
;
50 int port
=va_arg(v
,int);
51 unsigned char *buf
=va_arg(v
,unsigned char *);
52 int len
=va_arg(v
,int);
55 FILE *out
=open_memstream(&pktdump
,&dumplen
);
58 fprintf(out
,"Pkt: Port %04d len=%04d ",
62 fprintf(out
,"%02x ",buf
[i
]);
64 DBGOUT(this, "%s",pktdump
);
73 __attribute__ ((constructor
))
81 __attribute__ ((destructor
))