}
}
+impl From<bool> for AppLayerResult {
+ fn from(v: bool) -> Self {
+ if v == false {
+ Self::err()
+ } else {
+ Self::ok()
+ }
+ }
+}
+
+impl From<i32> for AppLayerResult {
+ fn from(v: i32) -> Self {
+ if v < 0 {
+ Self::err()
+ } else {
+ Self::ok()
+ }
+ }
+}
+
/// Rust parser declaration
#[repr(C)]
pub struct RustParser {
let state = cast_pointer!(state, TemplateState);
let buf = build_slice!(input, input_len as usize);
- if !state.parse_request(buf) {
- return AppLayerResult::err();
- }
- AppLayerResult::ok()
+ state.parse_request(buf).into()
}
#[no_mangle]
};
let state = cast_pointer!(state, TemplateState);
let buf = build_slice!(input, input_len as usize);
- if !state.parse_response(buf) {
- return AppLayerResult::err();
- }
- AppLayerResult::ok()
+ state.parse_response(buf).into()
}
#[no_mangle]
) -> AppLayerResult {
let buf = build_slice!(input, input_len as usize);
let state = cast_pointer!(state, SIPState);
- if !state.parse_request(buf) {
- return AppLayerResult::err();
- }
- AppLayerResult::ok()
+ state.parse_request(buf).into()
}
#[no_mangle]
) -> AppLayerResult {
let buf = build_slice!(input, input_len as usize);
let state = cast_pointer!(state, SIPState);
- if !state.parse_response(buf) {
- return AppLayerResult::err();
- }
- AppLayerResult::ok()
+ state.parse_response(buf).into()
}
const PARSER_NAME: &'static [u8] = b"sip\0";
_flags: u8) -> AppLayerResult {
let buf = build_slice!(input,input_len as usize);
let state = cast_pointer!(state,SNMPState);
- if state.parse(buf, STREAM_TOSERVER) < 0 {
- return AppLayerResult::err();
- }
- AppLayerResult::ok()
+ state.parse(buf, STREAM_TOSERVER).into()
}
#[no_mangle]
_flags: u8) -> AppLayerResult {
let buf = build_slice!(input,input_len as usize);
let state = cast_pointer!(state,SNMPState);
- if state.parse(buf, STREAM_TOCLIENT) < 0 {
- return AppLayerResult::err();
- }
- AppLayerResult::ok()
+ state.parse(buf, STREAM_TOCLIENT).into()
}
#[no_mangle]