Toc Gallery Index Tree Glib.Module

Description

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'. Success is set to True on success.
  • 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. `directory' is the directory where the module file is supposed to be, or the null string in which case it should either be in the current directory or, on some operating systems, in some standard place, for instance on the PATH. Hence, to be absolutely sure to get the correct module, always pass in a directory. The file name consists of the directory, if supplied, and `module_name' suitably decorated accoring to the operating system's conventions (for instance lib*.so or *.dll).

    No checks are made that the file exists, or is of correct type.

Alphabetical Index