# The language to output bindings in # # possible values: "C", "C++" # # default: "C++" language = "C" # Options for wrapping the contents of the header: # An optional string of text to output at the beginning of the generated file # default: doesn't emit anything header = """/* Copyright (C) 2019 Open Information Security Foundation * * You can copy, redistribute or modify this Program under the terms of * the GNU General Public License version 2 as published by the Free * Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * version 2 along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */""" # An optional name to use as an include guard # default: doesn't emit an include guard include_guard = "__RUST_BINDINGS_GEN_H_" # An optional string of text to output between major sections of the generated # file as a warning against manual editing # # default: doesn't emit anything autogen_warning = "/* DO NOT EDIT This file is autogenerated by cbindgen. Don't modify this manually. */" # Whether to include a comment with the version of cbindgen used to generate the file # default: false include_version = true # A list of headers to #include (with quotes) # default: [] includes = [] # The desired length of a line to use when formatting lines # default: 100 line_length = 80 # The amount of spaces to indent by # default: 2 tab_width = 4 # How the generated documentation should be commented. # # possible values: # * "c": /* like this */ # * "c99": // like this # * "c++": /// like this # * "doxy": like C, but with leading *'s on each line # * "auto": "c++" if that's the language, "doxy" otherwise # # default: "auto" documentation_style = "doxy" [export] # A list of additional items to always include in the generated bindings if they're # found but otherwise don't appear to be used by the public API. # # default: [] include = [ "StreamSlice", "AppLayerStateData", "AppLayerGetTxIterTuple", "RdpState", "SIPState", "ModbusState", "CMark", "QuicState", "QuicTransaction", "FtpEvent", ] # A list of items to not include in the generated bindings # default: [] exclude = [ "AppLayerDecoderEvents", "AppLayerParserState", "CLuaState", "DetectEngineState", "Flow", "StreamingBufferConfig", "HttpRangeContainerBlock", "FileContainer", "JsonT", "IKEState", "IKETransaction", "KRB5State", "KRB5Transaction", "NTPState", "NTPTransaction", "SNMPState", "SNMPTransaction", "SuricataContext", "SuricataFileContext", "TFTPState", "TFTPTransaction", "free", "IPPROTO_TCP", "IPPROTO_UDP", "SRepCatGetByShortname", ] # Types of items that we'll generate. If empty, then all types of item are emitted. # # possible items: (TODO: explain these in detail) # * "constants": # * "globals": # * "enums": # * "structs": # * "unions": # * "typedefs": # * "opaque": # * "functions": # # default: [] item_types = ["enums","structs","opaque","functions","constants"] # Whether applying rules in export.rename prevents export.prefix from applying. # # e.g. given this toml: # # [export] # prefix = "capi_" [export.rename] "DNSTransaction" = "RSDNSTransaction" "JsonT" = "json_t" "CLuaState" = "lua_State" # # You get the following results: # # renaming_overrides_prefixing = true: # "MyType" => "my_cool_type" # # renaming_overrides_prefixing = false: # "MyType => capi_my_cool_type" # # default: false renaming_overrides_prefixing = "true" [parse] # A black list of crate names that are not allowed to be parsed. # default: [] exclude = ["libc"] [parse.expand] # A list of feature names that should be used when running `cargo expand`. This # combines with `default_features` like in your `Cargo.toml`. Note that the features # listed here are features for the current crate being built, *not* the crates # being expanded. The crate's `Cargo.toml` must take care of enabling the # appropriate features in its dependencies # # default: [] features = ["cbindgen"]