# This is a template cbindgen.toml file with all of the default values. # Some values are commented out because their absence is the real default. # # See https://github.com/mozilla/cbindgen/blob/master/docs.md#cbindgentoml # for detailed documentation of every option here. # default: "C++" language = "C" ############## Options for Wrapping the Contents of the Header ################# # default: "" header = """// Copyright (c) 2024 Contributors to the Eclipse Foundation // // See the NOTICE file(s) distributed with this work for additional // information regarding copyright ownership. // // This program and the accompanying materials are made available under the // terms of the Apache Software License 2.0 which is available at // https://www.apache.org/licenses/LICENSE-2.0, or the MIT license // which is available at https://opensource.org/licenses/MIT. // // SPDX-License-Identifier: Apache-2.0 OR MIT // NOTE: This file is generated by cbindgen! Don't modify manually! """ # default: "" trailer = "" # default: "" include_guard = "IOX2_C_BINDINGS_H" # default: false pragma_once = false # default: "" autogen_warning = "" # default: false include_version = false # default: "" namespace = "" # default: [] namespaces = [] # default: [] using_namespaces = [] # default: [] sys_includes = [] # default: [] includes = [] # default: false no_includes = false # default: false cpp_compat = false # A list of lines to add verbatim after the includes block after_includes = """ // define alignment macros #ifdef _MSC_VER #define IOX2_REPR_ALIGNED(n) __declspec(align(n)) #else #define IOX2_REPR_ALIGNED(n) __attribute__((aligned(n))) #endif // forward declarations of renamed types typedef struct iox2_config_ptr_t iox2_config_ptr_t; typedef struct iox2_node_id_ptr_t iox2_node_id_ptr_t; typedef struct iox2_node_name_ptr_t iox2_node_name_ptr_t; typedef struct iox2_service_name_ptr_t iox2_service_name_ptr_t; """ ############################ Code Style Options ################################ # default: "SameLine" braces = "SameLine" # default: 100 line_length = 120 # default: 2 tab_width = 4 # Include doc comments from Rust as documentation documentation = true # default: "auto" documentation_style = "auto" # default: "full" documentation_length = "full" ############################# Codegen Options ################################## # default: "both" style = "both" # If this option is true `usize` and `isize` will be converted into `size_t` and `ptrdiff_t` # instead of `uintptr_t` and `intptr_t` respectively. usize_is_size_t = true # A list of substitutions for converting cfg's to ifdefs. cfgs which aren't # defined here will just be discarded. [defines] "target_os = linux" = "IOX2_OS_LINUX" "target_os = macos" = "IOX2_OS_MACOS" "target_os = win32" = "IOX2_OS_WIN32" "target_os = freebsd" = "IOX2_OS_FREEBSD" "feature = serde" = "IOX2_DEFINE_SERDE" [export] # default: [] include = [] # default: [] exclude = [] # default: "" prefix = "" # default: [] item_types = [] # default: false renaming_overrides_prefixing = false # Table of name conversions to apply to item names (lhs becomes rhs) [export.rename] "Config" = "iox2_config_ptr_t" "NodeId" = "iox2_node_id_ptr_t" "NodeName" = "iox2_node_name_ptr_t" "ServiceName" = "iox2_service_name_ptr_t" [export.pre_body] [export.body] [export.mangle] # rename_types = "PascalCase" # remove_underscores = false [layout] packed = "IOX2_REPR_PACKED" aligned_n = "IOX2_REPR_ALIGNED" [fn] # default: "" prefix = "" # default: "" postfix = "" # How to format function arguments # default: "auto" args = "auto" # How to handle `#[must_use]` # default: nothing will be generated must_use = "IOX2_MUST_USE_FUNC" # How to handle`#[deprecated]` # default: nothing will be generated deprecated = "IOX2_DEPRECATED_FUNC" # How to handle `#[deprecated(note = "reason")]` # default: nothing will be generated deprecated_with_note = "IOX2_DEPRECATED_FUNC_WITH_NOTE" # How to handle noreturn (`fn foo () -> ! {...}`). no_return = "IOX2_NO_RETURN" # default: "" #swift_name_macro = "" # default: "None" rename_args = "None" # default: "None" sort_by = "None" [struct] # default: "None" rename_fields = "None" # How to handle `#[must_use]` # default: nothing will be generated must_use = "IOX2_MUST_USE_STRUCT" # How to handle `#[deprecated]` # default: nothing will be generated deprecated = "IOX2_DEPRECATED_STRUCT" # How to handle `#[deprecated(note = "reason")]` # default: nothing will be generated deprecated_with_note = "IOX2_DEPRECATED_STRUCT_WITH_NOTE" # default: false associated_constants_in_body = false # default: false derive_constructor = false # default: false derive_eq = false # default: false derive_neq = false # default: false derive_lt = false # default: false derive_lte = false # default: false derive_gt = false # default: false derive_gte = false [enum] # default: "None" rename_variants = "None" # WARNING: if the sentinel is ever passed into Rust, behaviour will be Undefined. # Rust does not know about this value, and will assume it cannot happen. # # default: false add_sentinel = false # default: false prefix_with_name = true # Only for C++. # default: true enum_class = true # default: false derive_helper_methods = false # default: false derive_const_casts = false # default: false derive_mut_casts = false # default: "assert" (but also causes `` to be included by default) cast_assert_name = "assert" # How to handle `#[must_use]` # default: nothing will be generated must_use = "IOX2_MUST_USE_ENUM" # How to handle `#[deprecated]` # default: nothing will be generated deprecated = "IOX2_DEPRECATED_ENUM" # How to handle `#[deprecated(note = "reason")]` # default: nothing will be generated deprecated_with_note = "IOX2_DEPRECATED_ENUM_WITH_NOTE" # default: false derive_tagged_enum_destructor = false # default: false derive_tagged_enum_copy_constructor = false # default: false derive_tagged_enum_copy_assignment = false # default: false private_default_tagged_enum_constructor = false [const] # Only for C++ mode # default: true allow_static_const = true # Only for C++ mode # default: true allow_constexpr = true # default: "None" sort_by = "None" [macro_expansion] # default: false bitflags = false ###################################################### # Options for how your Rust library should be parsed # ###################################################### [parse] # default: false parse_deps = false # default: there is no whitelist (NOTE: this is the opposite of []) #include = ["iceoryx2"] # default: [] exclude = [] # default: false clean = false # default: [] extra_bindings = [] [parse.expand] # default: [] crates = [] # default: false all_features = false # default: true default_features = true # default: [] features = [] [ptr] non_null_attribute = "" ####################################### # Options specific to Cython bindings # ####################################### [cython] # default: * #header = '"iox2/iceoryx2.h"' [cython.cimports] #module = ["name1", "name2"]