// This file is automatically generated. Do not edit. pub const SC_PACKAGE_VERSION: &[u8; 14] = b"8.0.0-rc1-dev\0"; pub type __intmax_t = ::std::os::raw::c_long; pub type intmax_t = __intmax_t; #[repr(u32)] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub enum AppProtoEnum { ALPROTO_UNKNOWN = 0, ALPROTO_FAILED = 1, ALPROTO_HTTP1 = 2, ALPROTO_FTP = 3, ALPROTO_SMTP = 4, ALPROTO_TLS = 5, ALPROTO_SSH = 6, ALPROTO_IMAP = 7, ALPROTO_JABBER = 8, ALPROTO_SMB = 9, ALPROTO_DCERPC = 10, ALPROTO_IRC = 11, ALPROTO_DNS = 12, ALPROTO_MODBUS = 13, ALPROTO_ENIP = 14, ALPROTO_DNP3 = 15, ALPROTO_NFS = 16, ALPROTO_NTP = 17, ALPROTO_FTPDATA = 18, ALPROTO_TFTP = 19, ALPROTO_IKE = 20, ALPROTO_KRB5 = 21, ALPROTO_QUIC = 22, ALPROTO_DHCP = 23, ALPROTO_SIP = 24, ALPROTO_RFB = 25, ALPROTO_MQTT = 26, ALPROTO_PGSQL = 27, ALPROTO_TELNET = 28, ALPROTO_WEBSOCKET = 29, ALPROTO_LDAP = 30, ALPROTO_DOH2 = 31, ALPROTO_TEMPLATE = 32, ALPROTO_RDP = 33, ALPROTO_HTTP2 = 34, ALPROTO_BITTORRENT_DHT = 35, ALPROTO_POP3 = 36, ALPROTO_MDNS = 37, ALPROTO_HTTP = 38, ALPROTO_MAX_STATIC = 39, } pub type AppProto = u16; extern "C" { #[doc = " \\brief Maps the ALPROTO_*, to its string equivalent.\n\n \\param alproto App layer protocol id.\n\n \\retval String equivalent for the alproto."] pub fn AppProtoToString(alproto: AppProto) -> *const ::std::os::raw::c_char; } extern "C" { pub fn AppProtoNewProtoFromString(proto_name: *const ::std::os::raw::c_char) -> AppProto; } extern "C" { pub fn AppProtoRegisterProtoString( alproto: AppProto, proto_name: *const ::std::os::raw::c_char, ); } pub const SC_API_VERSION: u64 = 2048; #[doc = " Structure to define a Suricata plugin."] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct SCPlugin_ { pub version: u64, pub suricata_version: *const ::std::os::raw::c_char, pub name: *const ::std::os::raw::c_char, pub plugin_version: *const ::std::os::raw::c_char, pub license: *const ::std::os::raw::c_char, pub author: *const ::std::os::raw::c_char, pub Init: ::std::option::Option, } #[doc = " Structure to define a Suricata plugin."] pub type SCPlugin = SCPlugin_; pub type SCPluginRegisterFunc = ::std::option::Option *mut SCPlugin>; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct SCCapturePlugin_ { pub name: *mut ::std::os::raw::c_char, pub Init: ::std::option::Option< unsafe extern "C" fn( args: *const ::std::os::raw::c_char, plugin_slot: ::std::os::raw::c_int, receive_slot: ::std::os::raw::c_int, decode_slot: ::std::os::raw::c_int, ), >, pub ThreadInit: ::std::option::Option< unsafe extern "C" fn( ctx: *mut ::std::os::raw::c_void, thread_id: ::std::os::raw::c_int, thread_ctx: *mut *mut ::std::os::raw::c_void, ) -> ::std::os::raw::c_int, >, pub ThreadDeinit: ::std::option::Option< unsafe extern "C" fn( ctx: *mut ::std::os::raw::c_void, thread_ctx: *mut ::std::os::raw::c_void, ) -> ::std::os::raw::c_int, >, pub GetDefaultMode: ::std::option::Option *const ::std::os::raw::c_char>, pub entries: SCCapturePlugin___bindgen_ty_1, } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct SCCapturePlugin___bindgen_ty_1 { pub tqe_next: *mut SCCapturePlugin_, pub tqe_prev: *mut *mut SCCapturePlugin_, } pub type SCCapturePlugin = SCCapturePlugin_; extern "C" { pub fn SCPluginRegisterCapture(arg1: *mut SCCapturePlugin) -> ::std::os::raw::c_int; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct SCAppLayerPlugin_ { pub name: *const ::std::os::raw::c_char, pub Register: ::std::option::Option, pub KeywordsRegister: ::std::option::Option, pub logname: *const ::std::os::raw::c_char, pub confname: *const ::std::os::raw::c_char, pub dir: u8, pub Logger: ::std::option::Option< unsafe extern "C" fn( tx: *const ::std::os::raw::c_void, jb: *mut ::std::os::raw::c_void, ) -> bool, >, } pub type SCAppLayerPlugin = SCAppLayerPlugin_; extern "C" { pub fn SCPluginRegisterAppLayer(arg1: *mut SCAppLayerPlugin) -> ::std::os::raw::c_int; } #[repr(u32)] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub enum SCOutputJsonLogDirection { LOG_DIR_PACKET = 0, LOG_DIR_FLOW = 1, LOG_DIR_FLOW_TOCLIENT = 2, LOG_DIR_FLOW_TOSERVER = 3, } pub type EveJsonSimpleTxLogFunc = ::std::option::Option< unsafe extern "C" fn( arg1: *const ::std::os::raw::c_void, arg2: *mut ::std::os::raw::c_void, ) -> bool, >; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct EveJsonSimpleAppLayerLogger { pub LogTx: EveJsonSimpleTxLogFunc, pub name: *const ::std::os::raw::c_char, } extern "C" { pub fn SCEveJsonSimpleGetLogger(alproto: AppProto) -> *mut EveJsonSimpleAppLayerLogger; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct EveJsonTxLoggerRegistrationData { pub confname: *const ::std::os::raw::c_char, pub logname: *const ::std::os::raw::c_char, pub alproto: AppProto, pub dir: u8, pub LogTx: EveJsonSimpleTxLogFunc, } extern "C" { pub fn SCOutputEvePreRegisterLogger( reg_data: EveJsonTxLoggerRegistrationData, ) -> ::std::os::raw::c_int; } extern "C" { pub fn SCSigTablePreRegister( KeywordsRegister: ::std::option::Option, ) -> ::std::os::raw::c_int; } extern "C" { pub fn SCDetectHelperKeywordSetCleanCString(id: u16); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct DetectEngineCtx_ { _unused: [u8; 0], } pub type DetectEngineCtx = DetectEngineCtx_; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct Signature_ { _unused: [u8; 0], } pub type Signature = Signature_; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct SigMatch_ { _unused: [u8; 0], } pub type SigMatch = SigMatch_; extern "C" { pub fn SCDetectBufferSetActiveList( de_ctx: *mut DetectEngineCtx, s: *mut Signature, list: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } extern "C" { pub fn SCDetectSignatureAddTransform( s: *mut Signature, transform: ::std::os::raw::c_int, options: *mut ::std::os::raw::c_void, ) -> ::std::os::raw::c_int; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct InspectionBuffer { #[doc = "< active pointer, points either to ::buf or ::orig"] pub inspect: *const u8, pub inspect_offset: u64, #[doc = "< size of active data. See to ::len or ::orig_len"] pub inspect_len: u32, #[doc = "< is initialized. ::inspect might be NULL if transform lead to 0 size"] pub initialized: bool, #[doc = "< DETECT_CI_FLAGS_* for use with DetectEngineContentInspection"] pub flags: u8, #[doc = "< how much is in use"] pub len: u32, pub buf: *mut u8, #[doc = "< size of the memory allocation"] pub size: u32, pub orig_len: u32, pub orig: *const u8, } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct DetectEngineThreadCtx_ { _unused: [u8; 0], } pub type DetectEngineThreadCtx = DetectEngineThreadCtx_; extern "C" { pub fn SCInspectionBufferCheckAndExpand( buffer: *mut InspectionBuffer, min_size: u32, ) -> *mut u8; } extern "C" { pub fn SCInspectionBufferTruncate(buffer: *mut InspectionBuffer, buf_len: u32); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct Flow_ { _unused: [u8; 0], } pub type Flow = Flow_; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct SigMatchCtx_ { _unused: [u8; 0], } pub type SigMatchCtx = SigMatchCtx_; pub type InspectionMultiBufferGetDataPtr = ::std::option::Option< unsafe extern "C" fn( det_ctx: *mut DetectEngineThreadCtx_, txv: *const ::std::os::raw::c_void, flow_flags: u8, local_id: u32, buf: *mut *const u8, buf_len: *mut u32, ) -> bool, >; pub type InspectionSingleBufferGetDataPtr = ::std::option::Option< unsafe extern "C" fn( txv: *const ::std::os::raw::c_void, flow_flags: u8, buf: *mut *const u8, buf_len: *mut u32, ) -> bool, >; #[doc = " App-layer light version of SigTableElmt"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct SCSigTableAppLiteElmt { #[doc = " keyword name"] pub name: *const ::std::os::raw::c_char, #[doc = " keyword description"] pub desc: *const ::std::os::raw::c_char, #[doc = " keyword documentation url"] pub url: *const ::std::os::raw::c_char, #[doc = " flags SIGMATCH_*"] pub flags: u16, #[doc = " function callback to parse and setup keyword in rule"] pub Setup: ::std::option::Option< unsafe extern "C" fn( arg1: *mut DetectEngineCtx, arg2: *mut Signature, arg3: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int, >, #[doc = " function callback to free structure allocated by setup if any"] pub Free: ::std::option::Option< unsafe extern "C" fn(arg1: *mut DetectEngineCtx, arg2: *mut ::std::os::raw::c_void), >, #[doc = " function callback to match on an app-layer transaction"] pub AppLayerTxMatch: ::std::option::Option< unsafe extern "C" fn( arg1: *mut DetectEngineThreadCtx, arg2: *mut Flow, flags: u8, alstate: *mut ::std::os::raw::c_void, txv: *mut ::std::os::raw::c_void, arg3: *const Signature, arg4: *const SigMatchCtx, ) -> ::std::os::raw::c_int, >, } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct SCTransformTableElmt { pub name: *const ::std::os::raw::c_char, pub desc: *const ::std::os::raw::c_char, pub url: *const ::std::os::raw::c_char, pub flags: u16, pub Setup: ::std::option::Option< unsafe extern "C" fn( arg1: *mut DetectEngineCtx, arg2: *mut Signature, arg3: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int, >, pub Free: ::std::option::Option< unsafe extern "C" fn(arg1: *mut DetectEngineCtx, arg2: *mut ::std::os::raw::c_void), >, pub Transform: ::std::option::Option< unsafe extern "C" fn( arg1: *mut DetectEngineThreadCtx, arg2: *mut InspectionBuffer, context: *mut ::std::os::raw::c_void, ), >, pub TransformValidate: ::std::option::Option< unsafe extern "C" fn( content: *const u8, content_len: u16, context: *mut ::std::os::raw::c_void, ) -> bool, >, pub TransformId: ::std::option::Option< unsafe extern "C" fn( id_data: *mut *const u8, id_length: *mut u32, context: *mut ::std::os::raw::c_void, ), >, } extern "C" { pub fn SCDetectHelperNewKeywordId() -> ::std::os::raw::c_int; } extern "C" { pub fn SCDetectHelperKeywordRegister(kw: *const SCSigTableAppLiteElmt) -> u16; } extern "C" { pub fn SCDetectHelperKeywordAliasRegister(kwid: u16, alias: *const ::std::os::raw::c_char); } extern "C" { pub fn SCDetectHelperBufferRegister( name: *const ::std::os::raw::c_char, alproto: AppProto, direction: u8, ) -> ::std::os::raw::c_int; } extern "C" { pub fn SCDetectHelperBufferMpmRegister( name: *const ::std::os::raw::c_char, desc: *const ::std::os::raw::c_char, alproto: AppProto, direction: u8, GetData: InspectionSingleBufferGetDataPtr, ) -> ::std::os::raw::c_int; } extern "C" { pub fn SCDetectHelperMultiBufferMpmRegister( name: *const ::std::os::raw::c_char, desc: *const ::std::os::raw::c_char, alproto: AppProto, direction: u8, GetData: InspectionMultiBufferGetDataPtr, ) -> ::std::os::raw::c_int; } extern "C" { pub fn SCDetectHelperMultiBufferProgressMpmRegister( name: *const ::std::os::raw::c_char, desc: *const ::std::os::raw::c_char, alproto: AppProto, direction: u8, GetData: InspectionMultiBufferGetDataPtr, progress: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } extern "C" { pub fn SCDetectHelperTransformRegister( kw: *const SCTransformTableElmt, ) -> ::std::os::raw::c_int; } extern "C" { pub fn SCSigMatchAppendSMToList( arg1: *mut DetectEngineCtx, arg2: *mut Signature, arg3: u16, arg4: *mut SigMatchCtx, arg5: ::std::os::raw::c_int, ) -> *mut SigMatch; } extern "C" { pub fn SCDetectSignatureSetAppProto( s: *mut Signature, alproto: AppProto, ) -> ::std::os::raw::c_int; } #[repr(i32)] #[doc = " \\brief The various log levels\n NOTE: when adding new level, don't forget to update SCLogMapLogLevelToSyslogLevel()\n or it may result in logging to syslog with LOG_EMERG priority."] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub enum SCLogLevel { SC_LOG_NOTSET = -1, SC_LOG_NONE = 0, SC_LOG_ERROR = 1, SC_LOG_WARNING = 2, SC_LOG_NOTICE = 3, SC_LOG_INFO = 4, SC_LOG_PERF = 5, SC_LOG_CONFIG = 6, SC_LOG_DEBUG = 7, SC_LOG_LEVEL_MAX = 8, } extern "C" { pub fn SCFatalErrorOnInitStatic(arg1: *const ::std::os::raw::c_char); } extern "C" { pub fn SCLogGetLogLevel() -> SCLogLevel; } #[doc = " Structure of a configuration parameter."] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct SCConfNode_ { pub name: *mut ::std::os::raw::c_char, pub val: *mut ::std::os::raw::c_char, pub is_seq: ::std::os::raw::c_int, pub final_: ::std::os::raw::c_int, pub parent: *mut SCConfNode_, pub head: SCConfNode___bindgen_ty_1, pub next: SCConfNode___bindgen_ty_2, } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct SCConfNode___bindgen_ty_1 { pub tqh_first: *mut SCConfNode_, pub tqh_last: *mut *mut SCConfNode_, } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct SCConfNode___bindgen_ty_2 { pub tqe_next: *mut SCConfNode_, pub tqe_prev: *mut *mut SCConfNode_, } #[doc = " Structure of a configuration parameter."] pub type SCConfNode = [u64; 8usize]; extern "C" { pub fn SCConfInit(); } extern "C" { pub fn SCConfDeInit(); } extern "C" { pub fn SCConfGetRootNode() -> *mut SCConfNode; } extern "C" { pub fn SCConfGet( name: *const ::std::os::raw::c_char, vptr: *mut *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int; } extern "C" { pub fn SCConfGetInt( name: *const ::std::os::raw::c_char, val: *mut intmax_t, ) -> ::std::os::raw::c_int; } extern "C" { pub fn SCConfGetBool( name: *const ::std::os::raw::c_char, val: *mut ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } extern "C" { pub fn SCConfGetDouble( name: *const ::std::os::raw::c_char, val: *mut f64, ) -> ::std::os::raw::c_int; } extern "C" { pub fn SCConfGetFloat( name: *const ::std::os::raw::c_char, val: *mut f32, ) -> ::std::os::raw::c_int; } extern "C" { pub fn SCConfSet( name: *const ::std::os::raw::c_char, val: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int; } extern "C" { pub fn SCConfSetFromString( input: *const ::std::os::raw::c_char, final_: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } extern "C" { pub fn SCConfSetFinal( name: *const ::std::os::raw::c_char, val: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int; } extern "C" { pub fn SCConfDump(); } extern "C" { pub fn SCConfNodeDump(node: *const SCConfNode, prefix: *const ::std::os::raw::c_char); } extern "C" { pub fn SCConfNodeNew() -> *mut SCConfNode; } extern "C" { pub fn SCConfNodeFree(arg1: *mut SCConfNode); } extern "C" { pub fn SCConfGetNode(key: *const ::std::os::raw::c_char) -> *mut SCConfNode; } extern "C" { pub fn SCConfCreateContextBackup(); } extern "C" { pub fn SCConfRestoreContextBackup(); } extern "C" { pub fn SCConfNodeLookupChild( node: *const SCConfNode, key: *const ::std::os::raw::c_char, ) -> *mut SCConfNode; } extern "C" { pub fn SCConfNodeLookupChildValue( node: *const SCConfNode, key: *const ::std::os::raw::c_char, ) -> *const ::std::os::raw::c_char; } extern "C" { pub fn SCConfNodeRemove(arg1: *mut SCConfNode); } extern "C" { pub fn SCConfRegisterTests(); } extern "C" { pub fn SCConfNodeChildValueIsTrue( node: *const SCConfNode, key: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int; } extern "C" { pub fn SCConfValIsTrue(val: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; } extern "C" { pub fn SCConfValIsFalse(val: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; } extern "C" { pub fn SCConfNodePrune(node: *mut SCConfNode); } extern "C" { pub fn SCConfRemove(name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; } extern "C" { pub fn SCConfNodeHasChildren(node: *const SCConfNode) -> bool; } extern "C" { pub fn SCConfGetChildWithDefault( base: *const SCConfNode, dflt: *const SCConfNode, name: *const ::std::os::raw::c_char, ) -> *mut SCConfNode; } extern "C" { pub fn SCConfNodeLookupKeyValue( base: *const SCConfNode, key: *const ::std::os::raw::c_char, value: *const ::std::os::raw::c_char, ) -> *mut SCConfNode; } extern "C" { pub fn SCConfGetChildValue( base: *const SCConfNode, name: *const ::std::os::raw::c_char, vptr: *mut *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int; } extern "C" { pub fn SCConfGetChildValueInt( base: *const SCConfNode, name: *const ::std::os::raw::c_char, val: *mut intmax_t, ) -> ::std::os::raw::c_int; } extern "C" { pub fn SCConfGetChildValueBool( base: *const SCConfNode, name: *const ::std::os::raw::c_char, val: *mut ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } extern "C" { pub fn SCConfGetChildValueWithDefault( base: *const SCConfNode, dflt: *const SCConfNode, name: *const ::std::os::raw::c_char, vptr: *mut *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int; } extern "C" { pub fn SCConfGetChildValueIntWithDefault( base: *const SCConfNode, dflt: *const SCConfNode, name: *const ::std::os::raw::c_char, val: *mut intmax_t, ) -> ::std::os::raw::c_int; } extern "C" { pub fn SCConfGetChildValueBoolWithDefault( base: *const SCConfNode, dflt: *const SCConfNode, name: *const ::std::os::raw::c_char, val: *mut ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } extern "C" { pub fn SCConfNodeIsSequence(node: *const SCConfNode) -> ::std::os::raw::c_int; } extern "C" { pub fn SCConfSetIfaceNode( ifaces_node_name: *const ::std::os::raw::c_char, iface: *const ::std::os::raw::c_char, ) -> *mut SCConfNode; } extern "C" { pub fn SCConfSetRootAndDefaultNodes( ifaces_node_name: *const ::std::os::raw::c_char, iface: *const ::std::os::raw::c_char, if_root: *mut *mut SCConfNode, if_default: *mut *mut SCConfNode, ) -> ::std::os::raw::c_int; } extern "C" { pub fn SCConfNodeGetNodeOrCreate( parent: *mut SCConfNode, name: *const ::std::os::raw::c_char, final_: ::std::os::raw::c_int, ) -> *mut SCConfNode; } extern "C" { pub fn SCConfGetFirstNode(parent: *const SCConfNode) -> *mut SCConfNode; } extern "C" { pub fn SCConfGetNextNode(node: *const SCConfNode) -> *mut SCConfNode; } extern "C" { pub fn SCConfGetValueNode(node: *const SCConfNode) -> *const ::std::os::raw::c_char; } pub type ProbingParserFPtr = ::std::option::Option< unsafe extern "C" fn( f: *const Flow, flags: u8, input: *const u8, input_len: u32, rdir: *mut u8, ) -> AppProto, >; extern "C" { #[doc = " PP registration"] pub fn SCAppLayerProtoDetectPPRegister( ipproto: u8, portstr: *const ::std::os::raw::c_char, alproto: AppProto, min_depth: u16, max_depth: u16, direction: u8, ProbingParser1: ProbingParserFPtr, ProbingParser2: ProbingParserFPtr, ); } extern "C" { #[doc = " \\retval bool 0 if no config was found, 1 if config was found"] pub fn SCAppLayerProtoDetectPPParseConfPorts( ipproto_name: *const ::std::os::raw::c_char, ipproto: u8, alproto_name: *const ::std::os::raw::c_char, alproto: AppProto, min_depth: u16, max_depth: u16, ProbingParserTs: ProbingParserFPtr, ProbingParserTc: ProbingParserFPtr, ) -> ::std::os::raw::c_int; } extern "C" { #[doc = " \\brief Registers a case-sensitive pattern for protocol detection."] pub fn SCAppLayerProtoDetectPMRegisterPatternCS( ipproto: u8, alproto: AppProto, pattern: *const ::std::os::raw::c_char, depth: u16, offset: u16, direction: u8, ) -> ::std::os::raw::c_int; } extern "C" { pub fn SCAppLayerProtoDetectPMRegisterPatternCSwPP( ipproto: u8, alproto: AppProto, pattern: *const ::std::os::raw::c_char, depth: u16, offset: u16, direction: u8, PPFunc: ProbingParserFPtr, pp_min_depth: u16, pp_max_depth: u16, ) -> ::std::os::raw::c_int; } extern "C" { #[doc = " \\brief Registers a case-insensitive pattern for protocol detection."] pub fn SCAppLayerProtoDetectPMRegisterPatternCI( ipproto: u8, alproto: AppProto, pattern: *const ::std::os::raw::c_char, depth: u16, offset: u16, direction: u8, ) -> ::std::os::raw::c_int; } extern "C" { pub fn SCAppLayerRequestProtocolTLSUpgrade(f: *mut Flow) -> bool; } extern "C" { pub fn SCAppLayerForceProtocolChange(f: *mut Flow, new_proto: AppProto); } extern "C" { #[doc = " \\brief Given a protocol name, checks if proto detection is enabled in\n the conf file.\n\n \\param alproto Name of the app layer protocol.\n\n \\retval 1 If enabled.\n \\retval 0 If disabled."] pub fn SCAppLayerProtoDetectConfProtoDetectionEnabled( ipproto: *const ::std::os::raw::c_char, alproto: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int; } extern "C" { #[doc = " \\brief Given a protocol name, checks if proto detection is enabled in\n the conf file.\n\n \\param alproto Name of the app layer protocol.\n \\param default_enabled enable by default if not in the configuration file\n\n \\retval 1 If enabled.\n \\retval 0 If disabled."] pub fn SCAppLayerProtoDetectConfProtoDetectionEnabledDefault( ipproto: *const ::std::os::raw::c_char, alproto: *const ::std::os::raw::c_char, default_enabled: bool, ) -> ::std::os::raw::c_int; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct AppLayerParserState_ { _unused: [u8; 0], } pub type AppLayerParserState = AppLayerParserState_; extern "C" { pub fn SCAppLayerParserRegisterParserAcceptableDataDirection( ipproto: u8, alproto: AppProto, direction: u8, ); } extern "C" { pub fn SCAppLayerParserSetStreamDepth(ipproto: u8, alproto: AppProto, stream_depth: u32); } extern "C" { pub fn SCAppLayerParserStateSetFlag(pstate: *mut AppLayerParserState, flag: u16); } extern "C" { pub fn SCAppLayerParserStateIssetFlag(pstate: *mut AppLayerParserState, flag: u16) -> u16; }