[][src]Module abi_stable::library

Traits and types related to loading an abi_stable dynamic library, as well as functions/modules within.

Re-exports

pub use self::c_abi_testing::CAbiTestingFns;
pub use self::c_abi_testing::C_ABI_TESTING_FNS;

Modules

c_abi_testing

This module runs tests on the C abi as defined by Rust, to detect whether Rust changed how it deals with zero-sized types.

development_utils

Utilities for use while developing dynamic libraries.

Structs

AbiHeader

Represents the abi_stable version used by a compiled dynamic library, which if incompatible would produce a LibraryError::InvalidAbiHeader

ErasedRootModuleConsts

All the constants of the RootModule trait for some erased type.

LibHeader

Used to check the layout of modules returned by module-loading functions exported by dynamic libraries.

RawLibrary

A handle to any dynamically loaded library, not necessarily ones that export abi_stable compatible modules.

RootModuleConsts

All the constants of the RootModule trait for M, used mostly to construct a LibHeader with LibHeader::from_constructor.

Enums

IsLayoutChecked

Whether the ABI of a root module is checked.

LibraryError

All the possible errors that could happen when loading a library, or a module.

LibraryPath

The path a library is loaded from.

LibrarySuffix

What naming convention to expect when loading a library from a directory.

RootModuleError

The errors that a #[export_root_module] function can return.

Traits

IntoRootModuleResult

For converting the return value of a #[export_root_module] function to a Result<(), RootModuleError>.

RootModule

The root module of a dynamic library, which may contain other modules,function pointers,and static references.

Functions

abi_header_from_path

Gets the AbiHeader of the library at the path.

abi_header_from_raw_library

Gets the AbiHeader of a library.

lib_header_from_path

Gets the LibHeader of the library at the path.

lib_header_from_raw_library

Gets the LibHeader of a library.

mangled_root_module_loader_name

Gets the name of the static that contains the LibHeader of an abi_stable library.

Type Definitions

RootModuleResult

The return type of the function that the #[export_root_module] attribute outputs.