Expand description
Extension dynamic loading.
Loads Rust extensions compiled as cdylib shared libraries (.dylib/.so/.dll).
§Extension ABI
Every extension must export a single entry point:
ⓘ
#[no_mangle]
pub extern "C" fn oxi_extension_create() -> *mut oxi_cli::extensions::Extension {
Box::into_raw(Box::new(MyExtension))
}§Directory layout
~/.oxi/extensions/
├── my_ext.dylib # macOS
├── other_ext.so # Linux
└── win_ext.dll # WindowsExtensions are discovered in ~/.oxi/extensions/ and any extra paths
configured in settings.
Structs§
- Validated
Extension - Extension binary validation result.
Constants§
- SHARED_
LIB_ EXTENSION - Shared library extension for the current platform.
Functions§
- discover_
extensions - Discover extension shared libraries in
~/.oxi/extensions/and extra paths. - discover_
extensions_ in_ dir - Discover extension shared libraries in a single directory.
- load_
extension - Load a single extension from a shared library.
- load_
extensions - Load multiple extensions from the given paths.
- validate_
extension - Perform pre-load validation on an extension binary.