u32,
) -> *mut c_void,
) -> c_int;
+ pub fn DetectHelperMultiBufferProgressMpmRegister(
+ name: *const libc::c_char, desc: *const libc::c_char, alproto: AppProto, toclient: bool,
+ toserver: bool,
+ get_multi_data: unsafe extern "C" fn(
+ *mut c_void,
+ *const c_void,
+ *const c_void,
+ u8,
+ *const c_void,
+ i32,
+ u32,
+ ) -> *mut c_void,
+ progress: c_int,
+ ) -> c_int;
}
#[repr(u8)]
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
return DetectBufferTypeGetByName(name);
}
-int DetectHelperMultiBufferMpmRegister(const char *name, const char *desc, AppProto alproto,
- bool toclient, bool toserver, InspectionMultiBufferGetDataPtr GetData)
+int DetectHelperMultiBufferProgressMpmRegister(const char *name, const char *desc, AppProto alproto,
+ bool toclient, bool toserver, InspectionMultiBufferGetDataPtr GetData, int progress)
{
if (toserver) {
- DetectAppLayerMultiRegister(name, alproto, SIG_FLAG_TOSERVER, 0, GetData, 2, 0);
+ DetectAppLayerMultiRegister(
+ name, alproto, SIG_FLAG_TOSERVER, progress, GetData, 2, progress);
}
if (toclient) {
- DetectAppLayerMultiRegister(name, alproto, SIG_FLAG_TOCLIENT, 0, GetData, 2, 0);
+ DetectAppLayerMultiRegister(
+ name, alproto, SIG_FLAG_TOCLIENT, progress, GetData, 2, progress);
}
DetectBufferTypeSupportsMultiInstance(name);
DetectBufferTypeSetDescriptionByName(name, desc);
return DetectBufferTypeGetByName(name);
}
+int DetectHelperMultiBufferMpmRegister(const char *name, const char *desc, AppProto alproto,
+ bool toclient, bool toserver, InspectionMultiBufferGetDataPtr GetData)
+{
+ return DetectHelperMultiBufferProgressMpmRegister(
+ name, desc, alproto, toclient, toserver, GetData, 0);
+}
+
int SCDetectHelperNewKeywordId(void)
{
if (DETECT_TBLSIZE_IDX >= DETECT_TBLSIZE) {
bool toclient, bool toserver, InspectionBufferGetDataPtr GetData);
int DetectHelperMultiBufferMpmRegister(const char *name, const char *desc, AppProto alproto,
bool toclient, bool toserver, InspectionMultiBufferGetDataPtr GetData);
+int DetectHelperMultiBufferProgressMpmRegister(const char *name, const char *desc, AppProto alproto,
+ bool toclient, bool toserver, InspectionMultiBufferGetDataPtr GetData, int progress);
InspectionBuffer *DetectHelperGetMultiData(struct DetectEngineThreadCtx_ *det_ctx,
const DetectEngineTransforms *transforms, Flow *f, const uint8_t flow_flags, void *txv,