Expand description
The Mun ABI
The Mun ABI defines the binary format used to communicate between the Mun Compiler and Mun Runtime.
Modules§
- static_
type_ map - A
StaticTypeMapis a map that maps from a type to a value.
Structs§
- Array
Type Id - Represents an array of a specific type.
- Assembly
Info - Represents an assembly declaration.
- Dispatch
Table - Represents a function dispatch table. This is used for runtime linking.
- Function
Definition - Represents a function definition. A function definition contains the name, type signature, and a pointer to the implementation.
- Function
Prototype - Represents a function prototype. A function prototype contains the name, type signature, but not an implementation.
- Function
Signature - Represents a function signature.
- Guid
- Represents a globally unique identifier (GUID).
- Module
Info - Represents a module declaration.
- Pointer
Type Id - Represents a pointer to another type.
- Struct
Definition - Represents a struct declaration.
- Type
Definition - Represents the type declaration for a type that is exported by an assembly.
- TypeLut
- Represents a lookup table for type information. This is used for runtime linking.
Enums§
- Privacy
- Represents the privacy level of modules, functions, or variables.
- Struct
Memory Kind - Represents the kind of memory management a struct uses.
- Type
Definition Data - Contains data specific to a group of types that illicit the same characteristics.
- TypeId
- Represents a unique identifier for types. The runtime can use this to lookup the corresponding
[
TypeInfo]. ATypeIdis a key for a [TypeInfo].
Constants§
- ABI_
VERSION - Defines the current ABI version
- GET_
INFO_ FN_ NAME - Defines the name for the
get_infofunction - GET_
VERSION_ FN_ NAME - Defines the name for the
get_versionfunction - SET_
ALLOCATOR_ HANDLE_ FN_ NAME - Defines the name for the
set_allocator_handlefunction
Traits§
- HasStatic
Type Id - A trait that defines that for a type we can statically return a
TypeId. - HasStatic
Type Name - A trait that defines that for a type we can statically return a type name.
- Primitive
Type - Defines functions for built-in types like f32, i32, etc.