diff options
Diffstat (limited to 'rust/cbindgen.toml')
-rw-r--r-- | rust/cbindgen.toml | 168 |
1 files changed, 168 insertions, 0 deletions
diff --git a/rust/cbindgen.toml b/rust/cbindgen.toml new file mode 100644 index 0000000..15c56e2 --- /dev/null +++ b/rust/cbindgen.toml @@ -0,0 +1,168 @@ +# 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"] |