]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
Rust: expose function AppLayerParserRegisterGetTxIterator
authorPierre Chifflier <chifflier@wzdftpd.net>
Sat, 21 Apr 2018 14:05:33 +0000 (16:05 +0200)
committerPierre Chifflier <chifflier@wzdftpd.net>
Thu, 6 Jun 2019 08:15:59 +0000 (10:15 +0200)
rust/src/parser.rs

index 1f9102bf8d44c131f83648b21b3138e8beccc39e..e304dead2352eab5d9fbf484b3f901ffeac2eba3 100644 (file)
@@ -21,6 +21,7 @@
 
 use core::{DetectEngineState,Flow,AppLayerEventType,AppLayerDecoderEvents,AppProto};
 use filecontainer::FileContainer;
+use applayer;
 
 use libc::{c_void,c_char,c_int};
 use applayer::{AppLayerGetTxIterTuple};
@@ -169,8 +170,16 @@ pub const APP_LAYER_PARSER_NO_REASSEMBLY : u8 = 0b10;
 pub const APP_LAYER_PARSER_NO_INSPECTION_PAYLOAD : u8 = 0b100;
 pub const APP_LAYER_PARSER_BYPASS_READY : u8 = 0b1000;
 
+pub type AppLayerGetTxIteratorFn = extern "C" fn (ipproto: u8,
+                                                  alproto: AppProto,
+                                                  alstate: *mut c_void,
+                                                  min_tx_id: u64,
+                                                  max_tx_id: u64,
+                                                  istate: &mut u64) -> applayer::AppLayerGetTxIterTuple;
+
 extern {
     pub fn AppLayerParserStateSetFlag(state: *mut c_void, flag: u8);
     pub fn AppLayerParserStateIssetFlag(state: *mut c_void, flag: u8) -> c_int;
     pub fn AppLayerParserConfParserEnabled(ipproto: *const c_char, proto: *const c_char) -> c_int;
+    pub fn AppLayerParserRegisterGetTxIterator(ipproto: u8, alproto: AppProto, fun: AppLayerGetTxIteratorFn);
 }