Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

LOADER_$COND_LOAD                 Domain/OS                  LOADER_$COND_LOAD


NAME
     loader_$cond_load - ensure a module is loaded

SYNOPSIS (C)
     #include <apollo/base.h>
     #include <apollo/loader.h>

     boolean loader_$cond_load(
          char *path_name,
          short &path_length,
          loader_$opts &load_options,
          loader_$handle_t *image_handle,
          status_$t *status)

SYNOPSIS (Pascal)
     %include '/sys/ins/base.ins.pas';
     %include '/sys/ins/loader.ins.pas';

     function loader_$cond_load(
          in path_name: univ name_$long_pname_t;
          in path_length: integer;
          in load_options: loader_$opts;
          out image_handle: loader_$handle_t;
          out status: status_$t): boolean;

DESCRIPTION
     Loader_$cond_load loads the object module at path_name if it isn't loaded
     already.  It returns true if the module was not loaded already and had to
     be loaded during the call, and returns false if the the module was loaded
     already and, consequently, was not loaded during the call.

     path_name
          The pathname of an object module.

     path_length
          The number of bytes in path_name.

     load_options
          A small set of options that affect how the module will be loaded.
          Specify a combination of the following values:

          loader_$copy_proc
               Copy the object module text into the address space, instead of
               mapping it.

          loader_$install
               Put all defined globals into the Known Global Table (KGT).

          loader_$no_unresolveds
               Do not load the module if it has unresolved globals.

          loader_$dont_redefine
               Do not redefine any already known symbols in the Known Global
               Table (KGT).

          loader_$load_writable
               Map the object module text in the address space as writable.

          loader_$keep_on_exec
               Keep the module loaded across UNIX exec(2) calls.

     image_handle
          A handle on the loaded image of the object module, used to refer to
          the image when making further calls to the loader.

     status
          The completion status.

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026