1 /*
2 ** Copyright (C) 2014-2021 Cisco and/or its affiliates. All rights reserved.
3 ** Copyright (C) 2003-2013 Sourcefire, Inc.
4 **
5 ** Brian Caswell <bmc@snort.org>
6 **
7 ** This program is free software; you can redistribute it and/or modify
8 ** it under the terms of the GNU General Public License Version 2 as
9 ** published by the Free Software Foundation.  You may not use, modify or
10 ** distribute this program under any other version of the GNU General
11 ** Public License.
12 **
13 ** This program is distributed in the hope that it will be useful,
14 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
15 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 ** GNU General Public License for more details.
17 **
18 ** You should have received a copy of the GNU General Public License
19 ** along with this program; if not, write to the Free Software
20 ** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
21 */
22 
23 /* $Id$ */
24 
25 #ifndef __SP_ISDATAAT_H__
26 #define __SP_ISDATAAT_H__
27 
28 #define ISDATAAT_RELATIVE_FLAG 0x01
29 #define ISDATAAT_RAWBYTES_FLAG 0x02
30 #define ISDATAAT_NOT_FLAG      0x04
31 #define ISDATAAT_MAX_ARG       3
32 
33 typedef struct _IsDataAtData
34 {
35     uint32_t offset;        /* byte location into the packet */
36     uint8_t  flags;         /* relative to the doe_ptr? */
37                              /* rawbytes buffer? */
38     int8_t offset_var;      /* index of byte_extract variable for offset */
39 } IsDataAtData;
40 
41 void SetupIsDataAt(void);
42 uint32_t IsDataAtHash(void *d);
43 int IsDataAtCompare(void *l, void *r);
44 
45 #endif  /* __SP_ISDATAAT_H__ */
46