# Unifex v1.2.5 - Table of Contents > Tool for generating interfaces between native C code and Elixir ## Pages - [Unifex](readme.md) - [LICENSE](license.md) - [Creating Unifex Natives](creating_unifex_natives.md) - [Creating Unifex NIF](creating_unifex_nif.md) - [Supported types](supported_types.md) ## Modules - [Unifex](Unifex.md): Implementation of `Bundlex.Preprocessor`. - [Unifex.CNode](Unifex.CNode.md): Wraps Bundlex.CNode functionalities to support Unifex-specific CNode behaviours - [Unifex.CodeGenerator](Unifex.CodeGenerator.md): Behaviour for code generation. - [Unifex.CodeGenerator.BaseType](Unifex.CodeGenerator.BaseType.md): Behaviour and abstraction over type-specific code generation. - [Unifex.CodeGenerator.Utils](Unifex.CodeGenerator.Utils.md): Utilities for code generation. - [Unifex.Loader](Unifex.Loader.md): This module allows to generate definitions for native functions described in Unifex specs. - [Unifex.Specs](Unifex.Specs.md): Module that handles parsing Unifex specs for native boilerplate code generation. - [Unifex.Specs.DSL](Unifex.Specs.DSL.md): Module exporting macros that can be used to define Unifex specs. - CodeGenerators - [Unifex.CodeGenerators.CNode](Unifex.CodeGenerators.CNode.md): Generates C node boilerplate based on `Unifex.Specs`. - [Unifex.CodeGenerators.NIF](Unifex.CodeGenerators.NIF.md): Generates NIF boilerplate based on `Unifex.Specs`. - BaseTypes - [Unifex.CodeGenerator.BaseTypes.Atom](Unifex.CodeGenerator.BaseTypes.Atom.md): Module implementing `Unifex.CodeGenerator.BaseType` behaviour for atoms. - [Unifex.CodeGenerator.BaseTypes.Bool](Unifex.CodeGenerator.BaseTypes.Bool.md): Module implementing `Unifex.CodeGenerator.BaseType` behaviour for boolean atoms. - [Unifex.CodeGenerator.BaseTypes.Default](Unifex.CodeGenerator.BaseTypes.Default.md): Default `Unifex.CodeGenerator.BaseType` implementation for all types. - [Unifex.CodeGenerator.BaseTypes.Enum](Unifex.CodeGenerator.BaseTypes.Enum.md): Module implementing `Unifex.CodeGenerator.BaseType` behaviour for C Enums. - [Unifex.CodeGenerator.BaseTypes.Float](Unifex.CodeGenerator.BaseTypes.Float.md): Module implementing `Unifex.CodeGenerator.BaseType` behaviour for floats. - [Unifex.CodeGenerator.BaseTypes.Int](Unifex.CodeGenerator.BaseTypes.Int.md): Module implementing `Unifex.CodeGenerator.BaseType` behaviour for integers. - [Unifex.CodeGenerator.BaseTypes.Int64](Unifex.CodeGenerator.BaseTypes.Int64.md): Module implementing `Unifex.CodeGenerator.BaseType` behaviour for 64-bit integer. - [Unifex.CodeGenerator.BaseTypes.List](Unifex.CodeGenerator.BaseTypes.List.md): Module implementing `Unifex.CodeGenerator.BaseType` behaviour for lists. - [Unifex.CodeGenerator.BaseTypes.Payload](Unifex.CodeGenerator.BaseTypes.Payload.md): Module implementing `Unifex.CodeGenerator.BaseType` behaviour for payloads. - [Unifex.CodeGenerator.BaseTypes.Pid](Unifex.CodeGenerator.BaseTypes.Pid.md): Module implementing `Unifex.CodeGenerator.BaseType` behaviour for Erlang PIDs. - [Unifex.CodeGenerator.BaseTypes.State](Unifex.CodeGenerator.BaseTypes.State.md): Module implementing `Unifex.CodeGenerator.BaseType` behaviour for Unifex state. - [Unifex.CodeGenerator.BaseTypes.String](Unifex.CodeGenerator.BaseTypes.String.md): Module implementing `Unifex.CodeGenerator.BaseType` behaviour for strings. - [Unifex.CodeGenerator.BaseTypes.Struct](Unifex.CodeGenerator.BaseTypes.Struct.md): Module implementing `Unifex.CodeGenerator.BaseType` behaviour for structs. - [Unifex.CodeGenerator.BaseTypes.Uint64](Unifex.CodeGenerator.BaseTypes.Uint64.md): Module implementing `Unifex.CodeGenerator.BaseType` behaviour for 64-bit unsigned integer. - [Unifex.CodeGenerator.BaseTypes.Unsigned](Unifex.CodeGenerator.BaseTypes.Unsigned.md): Module implementing `Unifex.CodeGenerator.BaseType` behaviour for unsigned int. ## Mix Tasks - [mix compile.unifex](Mix.Tasks.Compile.Unifex.md): Generates native boilerplate code for all the `.spec.exs` files found in `c_src` dir ## See Also - [Membrane Framework AI Skill](https://hexdocs.pm/membrane_core/skill.md) - [Membrane Core](https://hexdocs.pm/membrane_core/llms.txt)