1 /* Copyright (C) 2007-2010 Open Information Security Foundation
3 * You can copy, redistribute or modify this Program under the terms of
4 * the GNU General Public License version 2 as published by the Free
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
12 * You should have received a copy of the GNU General Public License
13 * version 2 along with this program; if not, write to the Free Software
14 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21 * \author Victor Julien <victor@inliniac.net>
24 #ifndef __DETECT_ENGINE_IPONLY_H__
25 #define __DETECT_ENGINE_IPONLY_H__
28 * SigNumArray is a bit array representing signatures
29 * it can be used linked to src/dst address to indicate
30 * which signatures apply to this addres
31 * at IP Only we store SigNumArrays at the radix trees
33 typedef struct SigNumArray_
{
34 uint8_t *array
; /* bit array of sig nums */
35 uint32_t size
; /* size in bytes of the array */
38 void IPOnlyCIDRListFree(IPOnlyCIDRItem
*tmphead
);
39 int IPOnlySigParseAddress(const DetectEngineCtx
*, Signature
*, const char *, char);
40 void IPOnlyMatchPacket(ThreadVars
*tv
, const DetectEngineCtx
*,
41 DetectEngineThreadCtx
*, const DetectEngineIPOnlyCtx
*,
42 DetectEngineIPOnlyThreadCtx
*, Packet
*);
43 void IPOnlyInit(DetectEngineCtx
*, DetectEngineIPOnlyCtx
*);
44 void IPOnlyPrint(DetectEngineCtx
*, DetectEngineIPOnlyCtx
*);
45 void IPOnlyDeinit(DetectEngineCtx
*, DetectEngineIPOnlyCtx
*);
46 void IPOnlyPrepare(DetectEngineCtx
*);
47 void DetectEngineIPOnlyThreadInit(DetectEngineCtx
*, DetectEngineIPOnlyThreadCtx
*);
48 void DetectEngineIPOnlyThreadDeinit(DetectEngineIPOnlyThreadCtx
*);
49 void IPOnlyAddSignature(DetectEngineCtx
*, DetectEngineIPOnlyCtx
*, Signature
*);
50 void IPOnlyRegisterTests(void);
52 #endif /* __DETECT_ENGINE_IPONLY_H__ */