00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef __FPCREATE_H__
00031 #define __FPCREATE_H__
00032
00033 #ifdef HAVE_CONFIG_H
00034 #include "config.h"
00035 #endif
00036
00037 #include "rules.h"
00038 #include "parser.h"
00039 #include "pcrm.h"
00040
00041 #ifndef INLINE
00042 #define INLINE inline
00043 #endif
00044
00045
00046
00047
00048
00049
00050
00051 typedef struct _otnx_{
00052
00053 OptTreeNode * otn;
00054 RuleTreeNode * rtn;
00055 unsigned int content_length;
00056
00057 } OTNX;
00058
00059 typedef struct _pmx_ {
00060
00061 void * RuleNode;
00062 void * PatternMatchData;
00063
00064 } PMX;
00065
00066
00067
00068
00069
00070 typedef struct _FPDETECT {
00071
00072 int inspect_stream_insert;
00073 int search_method;
00074 int debug;
00075 int max_queue_events;
00076
00077 } FPDETECT;
00078
00079
00080
00081
00082
00083 int fpInitDetectionEngine();
00084
00085
00086
00087
00088
00089
00090 int fpCreateFastPacketDetection();
00091
00092
00093
00094
00095
00096 int prmFindRuleGroupTcp(int dport, int sport, PORT_GROUP ** src, PORT_GROUP **dst , PORT_GROUP ** gen);
00097 int prmFindRuleGroupUdp(int dport, int sport, PORT_GROUP ** src, PORT_GROUP **dst , PORT_GROUP ** gen);
00098 int prmFindRuleGroupIp(int ip_proto, PORT_GROUP **ip_group, PORT_GROUP ** gen);
00099 int prmFindRuleGroupIcmp(int type, PORT_GROUP **type_group, PORT_GROUP ** gen);
00100
00101 int fpSetDetectSearchMethod( char * method );
00102 int fpSetDebugMode();
00103 int fpSetStreamInsert();
00104 int fpSetMaxQueueEvents(int iNum);
00105
00106
00107
00108
00109 int fpShowEventStats();
00110
00111 #endif