/sys$common/syshlp/helplib.hlb
ACS, ENTER

 *Conan The Librarian

  1 - FOREIGN

    Enters a reference to an external file into the current program
    library. The file is entered as a foreign (non-Ada) library
    body (the body of a package, procedure, or function). The file
    may be an object file, object library, shareable image library,
    shareable image, or linker options file.

    Format

      ENTER FOREIGN  file-spec unit-name

 1.1 - Parameters

 file-spec

    Specifies the file containing the foreign body to be entered into
    the current program library. The file may be a OpenVMS object
    file, object library, shareable image library, shareable image,
    or linker options file.

    The default
    directory is the current default directory. The default file type
    is .OBJ, unless the /LIBRARY, /OPTIONS, or /SHAREABLE qualifier
    is used. No wildcard characters are allowed in the file
    specification.

    If the file is an object file, you can optionally use the /OBJECT
    qualifier. The default file type is .OBJ.

    If the file is an object library or shareable image library, you
    must use the /LIBRARY qualifier. The default file type is .OLB.

    If the file is a linker options file, you must use the /OPTIONS
    qualifier. The default file type is .OPT.

    If the file is a shareable image, you must use the /SHAREABLE
    qualifier. The default file type is .EXE.

 unit-name

    Specifies the unit whose body is to be referenced with the ENTER
    FOREIGN command.

 1.2 - Description

    The ACS ENTER FOREIGN command enters a reference to an external
    file, which then serves as a foreign (non-Ada) library body for
    an Ada compilation unit.

    The program library must contain a library specification for the
    unit, and the specification must contain the pragma INTERFACE and
    (if appropriate) a pragma IMPORT_FUNCTION, IMPORT_PROCEDURE, or
    IMPORT_VALUED_PROCEDURE.

    Once you supply a foreign body for a unit, the program library
    manager assumes that the body is current until you supply a
    new (Ada or foreign) definition of the body. Compiling the
    specification of the unit does not cause the body to become
    obsolete.

 1.3 - Command Qualifiers

 1. 3.1 - /LIBRARY

    /LIBRARY

    Indicates that the associated input file is a OpenVMS object
    library or shareable image library. The default file type is
    .OLB.

    By default, if you do not specify the /LIBRARY qualifier, the
    file is assumed to be an object file with a default file type of
    .OBJ.

 1. 3.2 - /LOG

    /LOG
    /NOLOG (D)

    Controls whether the unit name and associated file name are
    displayed after a foreign body has been entered.

    By default, the unit name and associated file name are not
    displayed.

 1. 3.3 - /OBJECT

    /OBJECT

    Indicates that the associated input file is an object file. The
    default file type is .OBJ.

    The /OBJECT qualifier is the default, if you do not specify a
    /LIBRARY, /OPTIONS, or /SHAREABLE qualifier.

 1. 3.4 - /OPTIONS

    /OPTIONS

    Indicates that the associated input file is a OpenVMS linker
    options file. The default file type is .OPT.

    By default, if you do not specify the /OPTIONS qualifier, the
    file is assumed to be an object file with a default file type of
    .OBJ.

 1. 3.5 - /REPLACE

    /REPLACE
    /NOREPLACE (D)

    Controls whether the foreign body to be entered replaces a body
    that is already defined in the current program library for the
    unit name specified.

    By default, the foreign body to be entered does not replace a
    body that is already defined in the current program library for
    the unit name specified.

 1. 3.6 - /SHAREABLE

    /SHAREABLE

    Indicates that the associated input file is a OpenVMS shareable
    image. The default file type is .EXE.

    By default, if you do not specify the /SHAREABLE qualifier, the
    file is assumed to be an object file with a default file type of
    .OBJ.

 1.4 - Example

  ACS> ENTER FOREIGN DISK:[SMITH.MATH]SQUARE SQR

      Enters the object file SQUARE.OBJ from DISK:[SMITH.MATH] into
      the current program library, as the body of unit SQR. The
      specification of SQR is (as required) already defined in the
      program library.

  2 - UNIT

    Enters references in the current program library to one or more
    units located in another program library.

    Format

      ENTER UNIT  from-directory-spec unit-name [,...]

 2.1 - Parameters

 from-directory-spec

    Specifies the program library that contains the units to be
    referenced.

 unit-name[,...]

    Specifies one or more units to be entered into the current
    program library. You must express subunit names using selected
    component notation as follows:

    ancestor-unit-name{.parent-unit-name}.subunit-name

    The unit names may include percent signs (%)  and asterisks (*)
    as wildcard characters. (See the OpenVMS User's Manual for more
    detailed information on wildcard characters.)

 2.2 - Description

    The ACS ENTER UNIT command enters into the current progam library
    each specified unit's specification and body (if any). If the
    specified unit is a subunit, the ENTER UNIT command enters the
    subunit and any nested subunits. If the /CLOSURE qualifier is
    specified, the ENTER UNIT command enters the closure of the set
    of units specified.

    For each unit entered, the ENTER UNIT command updates the library
    index file of the current program library to refer to the unit
    and its associated files, and to include the date and time the
    unit was last compiled into its original program library.

    An entered unit can be used as if had been compiled locally. In
    other words, a unit entered into a program library can be named
    in a clause by a unit that has been compiled into that program
    library.

    The ENTER UNIT command does not affect the program library
    from which a unit is entered. However, if an entered unit
    is subsequently compiled in its original program library,
    all references to that unit from other program libraries are
    invalidated. You must enter the ACS REENTER command to make the
    references current. (You may also need to then recompile any
    units that depend on the entered unit.)

    The ACS COMPILE and RECOMPILE commands have no effect on entered
    units.

 2.3 - Command Qualifiers

 2. 3.1 - /CLOSURE

    /CLOSURE
    /NOCLOSURE (D)

    Controls whether the ENTER UNIT command enters the closure of the
    set of units specified into the current program library.

    By default, only the specification and body of the units
    specified are entered.

 2. 3.2 - /CONFIRM

    /CONFIRM
    /NOCONFIRM (D)

    Controls whether the ENTER UNIT command displays the name of each
    unit before entering that unit into the current program library,
    and requests that you confirm whether or not that unit should
    be entered. If you specify the /CONFIRM qualifier, the possible
    responses are as follows:

    o  Affirmative responses are YES, TRUE, and 1.

    o  Negative responses are NO, FALSE, 0, and the RETURN key.

    o  QUIT or Ctrl/Z indicates that you want to stop processing the
       command at that point.

    o  ALL indicates that you want to continue processing the command
       without any further prompts.

    You can use any combination of upper- and lowercase letters for
    word responses. Word responses can be abbreviated to one or more
    letters (for example, Y, YE, or YES). If you type a response
    other than one of those in the list, the prompt is reissued.

    By default, no confirmation is requested.

 2. 3.3 - /ENTERED

    /ENTERED[=library] (D)
    /NOENTERED

    Controls whether entered units are entered. You can use the
    library option to enter units that were entered from a particular
    library. When you specify the /NOENTERED qualifier, only units
    that have been compiled or copied into the other program library
    are entered. Note that when you specify the /ENTERED qualifier,
    local units are entered unless the /NOLOCAL qualifier is also
    in effect (the defaults for these qualifiers are /LOCAL and
    /ENTERED).

    By default, all units, including entered units, are entered.

 2. 3.4 - /LOCAL

    /LOCAL (D)
    /NOLOCAL

    Controls whether local units (those units that were added to the
    library by a compilation or a COPY UNIT command) are entered.
    Note that when you specify the /LOCAL qualifier, entered units
    are entered unless the /NOENTERED qualifier is also in effect
    (the defaults for these qualifiers are /LOCAL and /ENTERED).

    By default, all units specified, including local units, are
    entered.

 2. 3.5 - /LOG

    /LOG
    /NOLOG (D)

    Controls whether the name of a unit is displayed after it has
    been entered.

    By default, the names of entered units are not displayed.

 2. 3.6 - /REPLACE

    /REPLACE
    /NOREPLACE (D)

    Controls whether the unit to be entered replaces a unit of the
    same name that is already defined in the current program library.

    By default, the unit to be entered does not replace a unit of the
    same name that is already defined in the current program library.

 2.4 - Positional Qualifiers

 2. 4.1 - /BODY_ONLY

    /BODY_ONLY

    Enters only the body of the specified unit.

    When you append the /BODY_ONLY qualifier to the ENTER UNIT
    command string, any /SPECIFICATION_ONLY qualifiers that are
    appended to parameters in the command line override the /BODY_
    ONLY qualifier for those particular parameters. You cannot
    append both the /BODY_ONLY qualifier and the /SPECIFICATION_ONLY
    qualifier to the ENTER UNIT command string or to the same unit
    name parameter.

    By default, if the /BODY_ONLY qualifier is omitted, the
    specification, as well as the body, is entered.

 2. 4.2 - /SPECIFICATION_ONLY

    /SPECIFICATION_ONLY

    Enters only the specification of the specified unit.

    When you append the /SPECIFICATION_ONLY qualifier to the ENTER
    UNIT command string, any /BODY_ONLY qualifiers that are appended
    to parameters in the command line override the /SPECIFICATION_
    ONLY qualifier for those particular parameters. You cannot
    append both the /SPECIFICATION_ONLY qualifier and the /BODY_ONLY
    qualifier to the ENTER UNIT command string or to the same unit
    name parameter.

    By default, if the /SPECIFICATION_ONLY qualifier is omitted, the
    body, as well as the specification, is entered.

 2.5 - Examples

    1.ACS> ENTER UNIT [PROJ.MAIN_LIB] *

      Enters all of the units from the project library into the
      current program library.

    2.ACS> ENTER UNIT/REPLACE DISK:[SMITH.SHARE.ADALIB] QUEUE_MANAGER

      Enters the unit QUEUE_MANAGER into the current program
      library from the library DISK:[SMITH.SHARE.ADALIB], replacing
      any previous index reference to that unit. If the /REPLACE
      qualifier had not been used, a previously existing reference to
      QUEUE_MANAGER would not have been replaced.
  Close     Help