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
)
37 rv
=eventadd(testevent
,"packet",dl
);
39 rv
=eventdel(testevent
,"packet",dl
);
43 static int testevent(struct dbgcl
*event
,void *arg
,va_list v
)
45 struct dbgcl
*this=arg
;
51 int port
=va_arg(v
,int);
52 unsigned char *buf
=va_arg(v
,unsigned char *);
53 int len
=va_arg(v
,int);
56 FILE *out
=open_memstream(&pktdump
,&dumplen
);
59 fprintf(out
,"Pkt: Port %04d len=%04d ",
63 fprintf(out
,"%02x ",buf
[i
]);
65 DBGOUT(this, "%s",pktdump
);
74 __attribute__ ((constructor
))
82 __attribute__ ((destructor
))