language = "C"
cpp_compat = true
header = """
/**
* @file chunk_your_tools.h
* @brief chunk-your-tools C FFI interface
*
* Tool schema decomposition and recomposition for MCP tool definitions.
*
* # Memory Management
*
* - Strings returned via `char**` out parameters MUST be freed with `chunk_your_tools_free_string()`.
* - Opaque handles (`ChunkYourToolsCatalogBuilder`, `ChunkYourToolsDecomposedCatalog`)
* MUST be freed with their matching `chunk_your_tools_*_free()` function.
* - Input C strings remain owned by the caller.
*
* # Thread Safety
*
* Error messages are stored in thread-local storage. Call `chunk_your_tools_get_last_error()`
* from the same thread that received a non-zero error code.
*
* # Return Conventions
*
* - `CHUNK_YOUR_TOOLS_OK` (0) on success for status functions.
* - Negative error codes on failure; see `chunk_your_tools_get_last_error()`.
* - JSON outputs: int return code + `char**` out param.
* - Boolean queries: 1 true, 0 false, negative on error (or `int*` out with `CHUNK_YOUR_TOOLS_OK`).
*/
"""
include_guard = "CHUNK_YOUR_TOOLS_H"
pragma_once = true
sys_includes = ["stdint.h", "stdbool.h"]
tab_width = 4
line_length = 100
documentation_style = "c"
documentation_length = "full"
[parse]
parse_deps = false
clean = true
include = ["src/bindings/cbindgen_stubs.rs"]
[enum]
rename_variants = "None"
[struct]
derive_eq = false
derive_neq = false
[export.rename]
"ChunkYourToolsCatalogBuilder" = "ChunkYourToolsCatalogBuilder"
"ChunkYourToolsDecomposedCatalog" = "ChunkYourToolsDecomposedCatalog"