irda.c

来自「Firestorm NIDS是一个性能非常高的网络入侵检测系统 (NIDS)。目」· C语言 代码 · 共 64 行

C
64
字号
#include <stdlib.h>#include <firestorm.h>#include <args.h>#include <packet.h>#include <plugin.h>#include <alert.h>#include <signature.h>#include <decode.h>#include <preproc.h>PLUGIN_STD_DEFS();proc_dispatch dispatch;void irda_decode(struct packet *p);struct proto irda_p=init_proto("irda", irda_decode, NULL);struct proto_req irda_r[]={	proto_request("linux", __constant_htons(0x0017)),	null_request()};/* FIXME */#define IRDA_MIN_SIZE 0void irda_decode(struct packet *p){	struct layer *l=&p->layer[p->llen];	if ( l->h.raw+IRDA_MIN_SIZE > p->end ) {		return;	}	p->llen++;	dispatch(p);}int PLUGIN_DECODE (struct decode_api *d){	int ok=0;	object_check(d);	dispatch=d->dispatch;	ok+=d->decode_add(&irda_p, irda_r);	return (ok) ? PLUGIN_ERR_OK : PLUGIN_ERR_FAIL;}int PLUGIN_INIT (struct plugin_in *in, struct plugin_out *out){	plugin_check(in, out);	PLUGIN_ID("decode.irda", "IRDA (Infra-Red)");	PLUGIN_VERSION(0, 1);	PLUGIN_AUTHOR("Gianni Tedesco", "gianni@scaramanga.co.uk");	PLUGIN_LICENSE("GPL");	return PLUGIN_ERR_OK;}int PLUGIN_UNLOAD (int code) {	return PLUGIN_ERR_OK;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?