content: # 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: []
  no_includes = true
  includes = ["stdint.h", "stdbool.h"]
  
  # 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",
      "AppLayerResult",
      "AppLayerStateData",
      "AppLayerGetFileState",
      "AppLayerGetTxIterTuple",
      "RdpState",
      "SIPState",
      "ModbusState",
      "CMark",
      "QuicState",
      "QuicTransaction",
      "FtpEvent",
      "FtpRequestCommand",
      "FtpStateValues",
      "FtpDataStateValues",
      "HTTP2TransactionState",
      "DataRepType",
  ]
  
  # A list of items to not include in the generated bindings
  # default: []
  exclude = [
      "CLuaState",
      "FileContainer",
      "HttpRangeContainerBlock",
      "IPPROTO_TCP",
      "IPPROTO_UDP",
      "SRepCatGetByShortname",
      "SIGMATCH_NOOPT",
      "SIGMATCH_INFO_STICKY_BUFFER",
      "SIGMATCH_INFO_MULTI_BUFFER",
      "SIGMATCH_INFO_UINT8",
      "SIGMATCH_INFO_UINT16",
      "SIGMATCH_INFO_UINT32",
      "SIGMATCH_INFO_UINT64",
      "SIGMATCH_INFO_MULTI_UINT",
      "SIGMATCH_INFO_ENUM_UINT",
      "SIGMATCH_INFO_BITFLAGS_UINT",
  ]
  
  # 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]
  "CLuaState" = "lua_State"
  "JsonBuilder" = "SCJsonBuilder"
  "JsonBuilderMark" = "SCJsonBuilderMark"
  
  #
  # 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"]
  