This package provides wrapper code for dynamic module loading
Types |
---|
type G_Module is new C_Proxy; | |
| |
type Module_Flags is mod 2 ** 32; | |
| |
type Pointer is private; | |
This is typically a pointer to procedure/function.
|
Subprograms |
---|
function Module_Supported return Boolean; | ||
Return True if dynamic module loading is supported
| ||
function Module_Open (File_Name : String; Flags : Module_Flags := Module_Bind_Lazy) return G_Module; | ||
Open a module `file_name' and return handle, which is null on error.
| ||
function Module_Close (Module : G_Module) return Boolean; | ||
Close a previously opened module, return True on success.
| ||
procedure Module_Make_Resident (Module : G_Module); | ||
Make a module resident so Module_Close on it will be ignored
| ||
function Module_Error return String; | ||
Query the last module error as a string
| ||
procedure Generic_Module_Symbol (Module : G_Module; Symbol_Name : String; Symbol : out Pointer; Success : out Boolean); | ||
Retrieve a symbol pointer from `module'. | ||
function Module_Name (Module : G_Module) return String; | ||
Retrieve the file name from an existing module
| ||
function Module_Build_Path (Directory : String; Module_Name : String) return String; | ||
Build the actual file name containing a module.
No checks are made that the file exists, or is of correct type.
|