Configuration
You can create an ezffi.toml sitting next to your crate's Cargo.toml (workspace configuration not supported) to control the names the macro emits — prefixes, suffixes and case styles for types, methods, free functions and standalone functions. The defaults give you <CrateName><Type> for types and <crate_name>_<fn> for free functions, which is collision-safe by default.
Here's an example file with all the fields declared, set to their default values for a crate named counter:
# `case_style` valid values: "SnakeCase", "CamelCase", "PascalCase",
# "ScreamingSnakeCase", "Raw"
[types]
prefix: "Counter", # CounterTypeName
suffix: null, # String
case_style: CamelCase,
[methods] # Outputs: typename_methodname
prefix: null, # String
suffix: null, # String
case_style: SnakeCase,
[fns] # Outputs: counter_fnname
prefix: "counter_", # String
suffix: null, # String
case_style: SnakeCase,
[free_fns] # Outputs: typename_free
prefix: null, # String
suffix: "_free", # String
case_style: SnakeCase,