// This file is automatically generated. Do not edit. pub const SC_PACKAGE_VERSION: &[u8; 10] = b"8.0.0-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_HTTP = 37, ALPROTO_MAX_STATIC = 38, } 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; } #[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; }