[][src]Module abi_stable::library

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

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.

Structs

AbiHeader

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

CAbiTestingFns
ErasedRootModuleConsts

Encapsulates all the important constants of RootModule 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

Encapsulates all the important constants of RootModule 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.

Constants

C_ABI_TESTING_FNS

Functions used to test that the C abi is the same in both the library and the loader.

Traits

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.