]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
mpm: constify search func args
authorVictor Julien <victor@inliniac.net>
Wed, 7 Oct 2015 04:48:44 +0000 (06:48 +0200)
committerVictor Julien <victor@inliniac.net>
Tue, 5 Apr 2016 07:30:07 +0000 (09:30 +0200)
12 files changed:
src/detect-engine-mpm.c
src/detect.h
src/util-bloomfilter.c
src/util-bloomfilter.h
src/util-mpm-ac-bs.c
src/util-mpm-ac-tile-small.c
src/util-mpm-ac-tile.c
src/util-mpm-ac-tile.h
src/util-mpm-ac.c
src/util-mpm-ac.h
src/util-mpm-hs.c
src/util-mpm.h

index 6dbdedc0d06b6b4732ad8ca78abcc49b8a7a5942..036ed2899c3fb2003d520ebe6965ef5ebc3129bb 100644 (file)
@@ -259,7 +259,7 @@ uint32_t PacketPatternSearchWithStreamCtx(DetectEngineThreadCtx *det_ctx,
     SCEnter();
 
     uint32_t ret = 0;
-    MpmCtx *mpm_ctx = NULL;
+    const MpmCtx *mpm_ctx = NULL;
 
     if (p->flowflags & FLOW_PKT_TOSERVER) {
         DEBUG_VALIDATE_BUG_ON(det_ctx->sgh->mpm_stream_ctx_ts == NULL);
@@ -294,7 +294,7 @@ uint32_t PacketPatternSearch(DetectEngineThreadCtx *det_ctx, Packet *p)
     SCEnter();
 
     uint32_t ret;
-    MpmCtx *mpm_ctx = NULL;
+    const MpmCtx *mpm_ctx = NULL;
 
     if (p->proto == IPPROTO_TCP) {
         if (p->flowflags & FLOW_PKT_TOSERVER) {
index 5ca200f82dad3f3a2f7233ae9872ca58fe7b57c1..afef28f547452e49fb001d6d7077f26352168bea 100644 (file)
@@ -1007,33 +1007,33 @@ typedef struct SigGroupHead_ {
     uint32_t non_mpm_store_cnt;
 
     /* pattern matcher instances */
-    MpmCtx *mpm_proto_other_ctx;
-
-    MpmCtx *mpm_proto_tcp_ctx_ts;
-    MpmCtx *mpm_proto_udp_ctx_ts;
-    MpmCtx *mpm_stream_ctx_ts;
-    MpmCtx *mpm_uri_ctx_ts;
-    MpmCtx *mpm_hcbd_ctx_ts;
-    MpmCtx *mpm_hhd_ctx_ts;
-    MpmCtx *mpm_hrhd_ctx_ts;
-    MpmCtx *mpm_hmd_ctx_ts;
-    MpmCtx *mpm_hcd_ctx_ts;
-    MpmCtx *mpm_hrud_ctx_ts;
-    MpmCtx *mpm_huad_ctx_ts;
-    MpmCtx *mpm_hhhd_ctx_ts;
-    MpmCtx *mpm_hrhhd_ctx_ts;
-    MpmCtx *mpm_dnsquery_ctx_ts;
-    MpmCtx *mpm_smtp_filedata_ctx_ts;
-
-    MpmCtx *mpm_proto_tcp_ctx_tc;
-    MpmCtx *mpm_proto_udp_ctx_tc;
-    MpmCtx *mpm_stream_ctx_tc;
-    MpmCtx *mpm_hsbd_ctx_tc;
-    MpmCtx *mpm_hhd_ctx_tc;
-    MpmCtx *mpm_hrhd_ctx_tc;
-    MpmCtx *mpm_hcd_ctx_tc;
-    MpmCtx *mpm_hsmd_ctx_tc;
-    MpmCtx *mpm_hscd_ctx_tc;
+    const MpmCtx *mpm_proto_other_ctx;
+
+    const MpmCtx *mpm_proto_tcp_ctx_ts;
+    const MpmCtx *mpm_proto_udp_ctx_ts;
+    const MpmCtx *mpm_stream_ctx_ts;
+    const MpmCtx *mpm_uri_ctx_ts;
+    const MpmCtx *mpm_hcbd_ctx_ts;
+    const MpmCtx *mpm_hhd_ctx_ts;
+    const MpmCtx *mpm_hrhd_ctx_ts;
+    const MpmCtx *mpm_hmd_ctx_ts;
+    const MpmCtx *mpm_hcd_ctx_ts;
+    const MpmCtx *mpm_hrud_ctx_ts;
+    const MpmCtx *mpm_huad_ctx_ts;
+    const MpmCtx *mpm_hhhd_ctx_ts;
+    const MpmCtx *mpm_hrhhd_ctx_ts;
+    const MpmCtx *mpm_dnsquery_ctx_ts;
+    const MpmCtx *mpm_smtp_filedata_ctx_ts;
+
+    const MpmCtx *mpm_proto_tcp_ctx_tc;
+    const MpmCtx *mpm_proto_udp_ctx_tc;
+    const MpmCtx *mpm_stream_ctx_tc;
+    const MpmCtx *mpm_hsbd_ctx_tc;
+    const MpmCtx *mpm_hhd_ctx_tc;
+    const MpmCtx *mpm_hrhd_ctx_tc;
+    const MpmCtx *mpm_hcd_ctx_tc;
+    const MpmCtx *mpm_hsmd_ctx_tc;
+    const MpmCtx *mpm_hscd_ctx_tc;
 
     uint16_t mpm_uricontent_minlen; /**< len of shortest mpm pattern in sgh */
 
index 5718fb1002c63270fa73e764259922250854be1b..8dcd7a310b8d4b9b344930d1434f37470d5e50e2 100644 (file)
@@ -27,7 +27,8 @@
 #include "util-bloomfilter.h"
 #include "util-unittest.h"
 
-BloomFilter *BloomFilterInit(uint32_t size, uint8_t iter, uint32_t (*Hash)(void *, uint16_t, uint8_t, uint32_t)) {
+BloomFilter *BloomFilterInit(uint32_t size, uint8_t iter,
+                             uint32_t (*Hash)(const void *, uint16_t, uint8_t, uint32_t)) {
     BloomFilter *bf = NULL;
 
     if (size == 0 || iter == 0)
@@ -122,7 +123,7 @@ uint32_t BloomFilterMemorySize(BloomFilter *bf)
  */
 
 #ifdef UNITTESTS
-static uint32_t BloomFilterTestHash(void *data, uint16_t datalen, uint8_t iter, uint32_t hash_size)
+static uint32_t BloomFilterTestHash(const void *data, uint16_t datalen, uint8_t iter, uint32_t hash_size)
 {
      uint8_t *d = (uint8_t *)data;
      uint32_t i;
index e7a5874f612dbc6923ece890d73ace62eed33a63..59b5dcdca5abd7ccdfd7b957e860cd8b0210f78d 100644 (file)
 /* Bloom Filter structure */
 typedef struct BloomFilter_ {
     uint8_t hash_iterations;
-    uint32_t (*Hash)(void *, uint16_t, uint8_t, uint32_t);
+    uint32_t (*Hash)(const void *, uint16_t, uint8_t, uint32_t);
     uint32_t bitarray_size;
     uint8_t *bitarray;
 } BloomFilter;
 
 /* prototypes */
-BloomFilter *BloomFilterInit(uint32_t, uint8_t, uint32_t (*Hash)(void *, uint16_t, uint8_t, uint32_t));
+BloomFilter *BloomFilterInit(uint32_t, uint8_t, uint32_t (*Hash)(const void *, uint16_t, uint8_t, uint32_t));
 void BloomFilterFree(BloomFilter *);
 void BloomFilterPrint(BloomFilter *);
 int BloomFilterAdd(BloomFilter *, void *, uint16_t);
@@ -44,9 +44,9 @@ void BloomFilterRegisterTests(void);
 
 /** ----- Inline functions ---- */
 
-static inline int BloomFilterTest(BloomFilter *, void *, uint16_t);
+static inline int BloomFilterTest(const BloomFilter *, const void *, uint16_t);
 
-static inline int BloomFilterTest(BloomFilter *bf, void *data, uint16_t datalen)
+static inline int BloomFilterTest(const BloomFilter *bf, const void *data, uint16_t datalen)
 {
     uint8_t iter = 0;
     uint32_t hash = 0;
index 07227b572672ea4f9fd04956f1fa6089462f8ce8..23c37e8d03a28621eec6245a9254a55d773fa818 100644 (file)
@@ -69,8 +69,8 @@ int SCACBSAddPatternCI(MpmCtx *, uint8_t *, uint16_t, uint16_t, uint16_t,
 int SCACBSAddPatternCS(MpmCtx *, uint8_t *, uint16_t, uint16_t, uint16_t,
                        uint32_t, SigIntId, uint8_t);
 int SCACBSPreparePatterns(MpmCtx *mpm_ctx);
-uint32_t SCACBSSearch(MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx,
-                    PatternMatcherQueue *pmq, uint8_t *buf, uint16_t buflen);
+uint32_t SCACBSSearch(const MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx,
+                      PatternMatcherQueue *pmq, const uint8_t *buf, uint16_t buflen);
 void SCACBSPrintInfo(MpmCtx *mpm_ctx);
 void SCACBSPrintSearchStats(MpmThreadCtx *mpm_thread_ctx);
 void SCACBSRegisterTests(void);
@@ -1421,10 +1421,10 @@ void SCACBSDestroyCtx(MpmCtx *mpm_ctx)
  *
  * \retval matches Match count.
  */
-uint32_t SCACBSSearch(MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx,
-                    PatternMatcherQueue *pmq, uint8_t *buf, uint16_t buflen)
+uint32_t SCACBSSearch(const MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx,
+                      PatternMatcherQueue *pmq, const uint8_t *buf, uint16_t buflen)
 {
-    SCACBSCtx *ctx = (SCACBSCtx *)mpm_ctx->ctx;
+    const SCACBSCtx *ctx = (SCACBSCtx *)mpm_ctx->ctx;
     int i = 0;
     int matches = 0;
     uint8_t buf_local;
index d37d982e011303692f9e14d6e31dd3ac4483055d..0a875778d6438a86367f21e615cd141129127603 100644 (file)
@@ -31,8 +31,8 @@
 #ifdef FUNC_NAME
 
 /* This function handles (ctx->state_count < 32767) */
-uint32_t FUNC_NAME(SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx,
-                   PatternMatcherQueue *pmq, uint8_t *buf, uint16_t buflen)
+uint32_t FUNC_NAME(const SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx,
+                   PatternMatcherQueue *pmq, const uint8_t *buf, uint16_t buflen)
 {
     int i = 0;
     int matches = 0;
@@ -40,7 +40,7 @@ uint32_t FUNC_NAME(SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx,
     uint8_t mpm_bitarray[ctx->mpm_bitarray_size];
     memset(mpm_bitarray, 0, ctx->mpm_bitarray_size);
 
-    uint8_t* restrict xlate = ctx->translate_table;
+    const uint8_t* restrict xlate = ctx->translate_table;
     STYPE *state_table = (STYPE*)ctx->state_table;
     STYPE state = 0;
     int c = xlate[buf[0]];
index 2230cb3f281347cefcb3fcb918daf627c9863890..f0d873b6c1f8b3e109e2cb7e7c5039a02e54c897 100644 (file)
@@ -89,53 +89,53 @@ int SCACTileAddPatternCI(MpmCtx *, uint8_t *, uint16_t, uint16_t, uint16_t,
 int SCACTileAddPatternCS(MpmCtx *, uint8_t *, uint16_t, uint16_t, uint16_t,
                          uint32_t, SigIntId, uint8_t);
 int SCACTilePreparePatterns(MpmCtx *mpm_ctx);
-uint32_t SCACTileSearch(MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx,
-                        PatternMatcherQueue *pmq, uint8_t *buf,
+uint32_t SCACTileSearch(const MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx,
+                        PatternMatcherQueue *pmq, const uint8_t *buf,
                         uint16_t buflen);
 void SCACTilePrintInfo(MpmCtx *mpm_ctx);
 void SCACTilePrintSearchStats(MpmThreadCtx *mpm_thread_ctx);
 void SCACTileRegisterTests(void);
 
-uint32_t SCACTileSearchLarge(SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx,
+uint32_t SCACTileSearchLarge(const SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx,
                              PatternMatcherQueue *pmq,
-                             uint8_t *buf, uint16_t buflen);
-uint32_t SCACTileSearchSmall256(SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx,
+                             const uint8_t *buf, uint16_t buflen);
+uint32_t SCACTileSearchSmall256(const SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx,
                                 PatternMatcherQueue *pmq,
-                                uint8_t *buf, uint16_t buflen);
-uint32_t SCACTileSearchSmall128(SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx,
+                                const uint8_t *buf, uint16_t buflen);
+uint32_t SCACTileSearchSmall128(const SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx,
                                 PatternMatcherQueue *pmq,
-                                uint8_t *buf, uint16_t buflen);
-uint32_t SCACTileSearchSmall64(SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx,
+                                const uint8_t *buf, uint16_t buflen);
+uint32_t SCACTileSearchSmall64(const SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx,
                                PatternMatcherQueue *pmq,
-                               uint8_t *buf, uint16_t buflen);
-uint32_t SCACTileSearchSmall32(SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx,
+                               const uint8_t *buf, uint16_t buflen);
+uint32_t SCACTileSearchSmall32(const SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx,
                                PatternMatcherQueue *pmq,
-                               uint8_t *buf, uint16_t buflen);
-uint32_t SCACTileSearchSmall16(SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx,
+                               const uint8_t *buf, uint16_t buflen);
+uint32_t SCACTileSearchSmall16(const SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx,
                                PatternMatcherQueue *pmq,
-                               uint8_t *buf, uint16_t buflen);
-uint32_t SCACTileSearchSmall8(SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx,
+                               const uint8_t *buf, uint16_t buflen);
+uint32_t SCACTileSearchSmall8(const SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx,
                               PatternMatcherQueue *pmq,
-                              uint8_t *buf, uint16_t buflen);
+                              const uint8_t *buf, uint16_t buflen);
 
-uint32_t SCACTileSearchTiny256(SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx,
-                                PatternMatcherQueue *pmq,
-                                uint8_t *buf, uint16_t buflen);
-uint32_t SCACTileSearchTiny128(SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx,
-                                PatternMatcherQueue *pmq,
-                                uint8_t *buf, uint16_t buflen);
-uint32_t SCACTileSearchTiny64(SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx,
+uint32_t SCACTileSearchTiny256(const SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx,
                                PatternMatcherQueue *pmq,
-                               uint8_t *buf, uint16_t buflen);
-uint32_t SCACTileSearchTiny32(SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx,
+                               const uint8_t *buf, uint16_t buflen);
+uint32_t SCACTileSearchTiny128(const SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx,
                                PatternMatcherQueue *pmq,
-                               uint8_t *buf, uint16_t buflen);
-uint32_t SCACTileSearchTiny16(SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx,
-                               PatternMatcherQueue *pmq,
-                               uint8_t *buf, uint16_t buflen);
-uint32_t SCACTileSearchTiny8(SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx,
+                               const uint8_t *buf, uint16_t buflen);
+uint32_t SCACTileSearchTiny64(const SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx,
+                              PatternMatcherQueue *pmq,
+                              const uint8_t *buf, uint16_t buflen);
+uint32_t SCACTileSearchTiny32(const SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx,
                               PatternMatcherQueue *pmq,
-                              uint8_t *buf, uint16_t buflen);
+                              const uint8_t *buf, uint16_t buflen);
+uint32_t SCACTileSearchTiny16(const SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx,
+                              PatternMatcherQueue *pmq,
+                              const uint8_t *buf, uint16_t buflen);
+uint32_t SCACTileSearchTiny8(const SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx,
+                             PatternMatcherQueue *pmq,
+                             const uint8_t *buf, uint16_t buflen);
 
 
 static void SCACTileDestroyInitCtx(MpmCtx *mpm_ctx);
@@ -1490,13 +1490,13 @@ void SCACTileDestroyCtx(MpmCtx *mpm_ctx)
 #define EXTRA 4 // need 4 extra bytes to avoid OOB reads
 #endif
 
-int CheckMatch(SCACTileSearchCtx *ctx, PatternMatcherQueue *pmq,
-               uint8_t *buf, uint16_t buflen,
+int CheckMatch(const SCACTileSearchCtx *ctx, PatternMatcherQueue *pmq,
+               const uint8_t *buf, uint16_t buflen,
                uint16_t state, int i, int matches,
                uint8_t *mpm_bitarray)
 {
     SCACTilePatternList *pattern_list = ctx->pattern_list;
-    uint8_t *buf_offset = buf + i + 1; // Lift out of loop
+    const uint8_t *buf_offset = buf + i + 1; // Lift out of loop
     uint32_t no_of_entries = ctx->output_table[state].no_of_entries;
     MpmPatternIndex *patterns = ctx->output_table[state].patterns;
     uint8_t *pmq_bitarray = pmq->pattern_id_bitarray;
@@ -1559,10 +1559,10 @@ int CheckMatch(SCACTileSearchCtx *ctx, PatternMatcherQueue *pmq,
  *
  * \retval matches Match count.
  */
-uint32_t SCACTileSearch(MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx,
-                        PatternMatcherQueue *pmq, uint8_t *buf, uint16_t buflen)
+uint32_t SCACTileSearch(const MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx,
+                        PatternMatcherQueue *pmq, const uint8_t *buf, uint16_t buflen)
 {
-    SCACTileSearchCtx *search_ctx = (SCACTileSearchCtx *)mpm_ctx->ctx;
+    const SCACTileSearchCtx *search_ctx = (SCACTileSearchCtx *)mpm_ctx->ctx;
 
     if (buflen == 0)
         return 0;
@@ -1572,9 +1572,9 @@ uint32_t SCACTileSearch(MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx,
 }
 
 /* This function handles (ctx->state_count >= 32767) */
-uint32_t SCACTileSearchLarge(SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx,
+uint32_t SCACTileSearchLarge(const SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx,
                              PatternMatcherQueue *pmq,
-                             uint8_t *buf, uint16_t buflen)
+                             const uint8_t *buf, uint16_t buflen)
 {
     int i = 0;
     int matches = 0;
@@ -1582,7 +1582,7 @@ uint32_t SCACTileSearchLarge(SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ct
     uint8_t mpm_bitarray[ctx->mpm_bitarray_size];
     memset(mpm_bitarray, 0, ctx->mpm_bitarray_size);
 
-    uint8_t* restrict xlate = ctx->translate_table;
+    const uint8_t* restrict xlate = ctx->translate_table;
     register int state = 0;
     int32_t (*state_table_u32)[256] = ctx->state_table;
     for (i = 0; i < buflen; i++) {
index a0d7857147191a7ff41e568e0f57430440a4586d..62e3649fab9c4bee42b135d9e62af656c36e932f 100644 (file)
@@ -84,8 +84,8 @@ typedef struct SCACTileCtx_ {
      * number of states could make the next state could be 16 bits or
      * 32 bits.
      */
-    uint32_t (*search)(struct SCACTileSearchCtx_ *ctx, struct MpmThreadCtx_ *,
-                       PatternMatcherQueue *, uint8_t *, uint16_t);
+    uint32_t (*search)(const struct SCACTileSearchCtx_ *ctx, struct MpmThreadCtx_ *,
+                       PatternMatcherQueue *, const uint8_t *, uint16_t);
 
     /* Function to set the next state based on size of next state
      * (bytes_per_state).
@@ -140,8 +140,8 @@ typedef struct SCACTileSearchCtx_ {
      * number of states could make the next state could be 16 bits or
      * 32 bits.
      */
-    uint32_t (*search)(struct SCACTileSearchCtx_ *ctx, struct MpmThreadCtx_ *,
-                       PatternMatcherQueue *, uint8_t *, uint16_t);
+    uint32_t (*search)(const struct SCACTileSearchCtx_ *ctx, struct MpmThreadCtx_ *,
+                       PatternMatcherQueue *, const uint8_t *, uint16_t);
 
     /* Convert input character to matching alphabet */
     uint8_t translate_table[256];
index 341ac5079fc7e918f5fed1dfa09a1235c0b477c1..d5b535f51a413c0f0a1120dc8ffde9b5a4024273 100644 (file)
@@ -78,8 +78,8 @@ int SCACAddPatternCI(MpmCtx *, uint8_t *, uint16_t, uint16_t, uint16_t,
 int SCACAddPatternCS(MpmCtx *, uint8_t *, uint16_t, uint16_t, uint16_t,
                      uint32_t, SigIntId, uint8_t);
 int SCACPreparePatterns(MpmCtx *mpm_ctx);
-uint32_t SCACSearch(MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx,
-                    PatternMatcherQueue *pmq, uint8_t *buf, uint16_t buflen);
+uint32_t SCACSearch(const MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx,
+                    PatternMatcherQueue *pmq, const uint8_t *buf, uint16_t buflen);
 void SCACPrintInfo(MpmCtx *mpm_ctx);
 void SCACPrintSearchStats(MpmThreadCtx *mpm_thread_ctx);
 void SCACRegisterTests(void);
@@ -1302,10 +1302,10 @@ void SCACDestroyCtx(MpmCtx *mpm_ctx)
  *
  * \retval matches Match count.
  */
-uint32_t SCACSearch(MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx,
-                    PatternMatcherQueue *pmq, uint8_t *buf, uint16_t buflen)
+uint32_t SCACSearch(const MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx,
+                    PatternMatcherQueue *pmq, const uint8_t *buf, uint16_t buflen)
 {
-    SCACCtx *ctx = (SCACCtx *)mpm_ctx->ctx;
+    const SCACCtx *ctx = (SCACCtx *)mpm_ctx->ctx;
     int i = 0;
     int matches = 0;
 
@@ -1829,8 +1829,8 @@ static void *SCACCudaDispatcher(void *arg)
 #undef BLOCK_SIZE
 }
 
-uint32_t SCACCudaPacketResultsProcessing(Packet *p, MpmCtx *mpm_ctx,
-                                          PatternMatcherQueue *pmq)
+uint32_t SCACCudaPacketResultsProcessing(Packet *p, const MpmCtx *mpm_ctx,
+                                         PatternMatcherQueue *pmq)
 {
     uint32_t u = 0;
 
index 13bd16fbdcaecfed24e32b9581f8506678c80f7a..ac6f46467775888723e95e6c3f7075d426e622d5 100644 (file)
@@ -209,7 +209,7 @@ int MpmCudaBufferSetup(void);
 int MpmCudaBufferDeSetup(void);
 void SCACCudaStartDispatcher(void);
 void SCACCudaKillDispatcher(void);
-uint32_t  SCACCudaPacketResultsProcessing(Packet *p, MpmCtx *mpm_ctx,
+uint32_t  SCACCudaPacketResultsProcessing(Packet *p, const MpmCtx *mpm_ctx,
                                           PatternMatcherQueue *pmq);
 void DetermineCudaStateTableSize(DetectEngineCtx *de_ctx);
 
index 3ad639b925194c50abb906ae33f8c2c39c356789..4f7ed52fc029bdcc30185959601668c54eaed840 100644 (file)
@@ -54,8 +54,8 @@ int SCHSAddPatternCI(MpmCtx *, uint8_t *, uint16_t, uint16_t, uint16_t,
 int SCHSAddPatternCS(MpmCtx *, uint8_t *, uint16_t, uint16_t, uint16_t,
                      uint32_t, SigIntId, uint8_t);
 int SCHSPreparePatterns(MpmCtx *mpm_ctx);
-uint32_t SCHSSearch(MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx,
-                    PatternMatcherQueue *pmq, uint8_t *buf, uint16_t buflen);
+uint32_t SCHSSearch(const MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx,
+                    PatternMatcherQueue *pmq, const uint8_t *buf, const uint16_t buflen);
 void SCHSPrintInfo(MpmCtx *mpm_ctx);
 void SCHSPrintSearchStats(MpmThreadCtx *mpm_thread_ctx);
 void SCHSRegisterTests(void);
@@ -940,8 +940,8 @@ static int SCHSMatchEvent(unsigned int id, unsigned long long from,
  *
  * \retval matches Match count.
  */
-uint32_t SCHSSearch(MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx,
-                    PatternMatcherQueue *pmq, uint8_t *buf, uint16_t buflen)
+uint32_t SCHSSearch(const MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx,
+                    PatternMatcherQueue *pmq, const uint8_t *buf, const uint16_t buflen)
 {
     uint32_t ret = 0;
     SCHSCtx *ctx = (SCHSCtx *)mpm_ctx->ctx;
index afb694123291bd65ad2baf7e414d9b4dd2a839e3..cbb236d130227b88311da3fa408996d8c4c564bd 100644 (file)
@@ -156,7 +156,7 @@ typedef struct MpmTableElmt_ {
     int  (*AddPattern)(struct MpmCtx_ *, uint8_t *, uint16_t, uint16_t, uint16_t, uint32_t, SigIntId, uint8_t);
     int  (*AddPatternNocase)(struct MpmCtx_ *, uint8_t *, uint16_t, uint16_t, uint16_t, uint32_t, SigIntId, uint8_t);
     int  (*Prepare)(struct MpmCtx_ *);
-    uint32_t (*Search)(struct MpmCtx_ *, struct MpmThreadCtx_ *, PatternMatcherQueue *, uint8_t *, uint16_t);
+    uint32_t (*Search)(const struct MpmCtx_ *, struct MpmThreadCtx_ *, PatternMatcherQueue *, const uint8_t *, uint16_t);
     void (*Cleanup)(struct MpmThreadCtx_ *);
     void (*PrintCtx)(struct MpmCtx_ *);
     void (*PrintThreadCtx)(struct MpmThreadCtx_ *);