VMS Help  —  LBR Routines, LBR$OUTPUT_HELP, Description
    The LBR$OUTPUT_HELP routine provides a simple, one-call method
    to initiate an interactive help session. Help library bookkeeping
    functions, such as LBR$INI_CONTROL and LBR$OPEN, are handled
    internally. You should not call LBR$INI_CONTROL or LBR$OPEN
    before you issue a call to LBR$OUTPUT_HELP.

    LBR$OUTPUT_HELP accepts help keys in the same format as LBR$GET_
    HELP, with the following qualifications:

    o  If the keyword HELP is supplied, help text on HELP is output,
       followed by a list of HELP subtopics available.

       If no help keys are provided or if the line_desc argument is
       0, a list of topics available in the root library is output.

    o  If the line_desc argument contains a list of help keys, then
       each key must be separated from its predecessor by a slash
       (/)  or by one or more spaces.

    o  The first key can specify a library to replace the main
       library as the root library (the first library searched) in
       which LBR$OUTPUT_HELP searches for help. A key used for this
       purpose must have the form <@filespec>, where filespec is
       subject to the same restrictions as the library_name argument.
       If the specified library is an enabled user-defined default
       library, then filespec can be abbreviated as any unique
       substring of that default library's logical name translation.

    In default library searches, you can define one or more default
    libraries for LBR$OUTPUT_HELP to search for help information not
    contained in the root library. Do this by equating logical names
    (HLP$LIBRARY, HLP$LIBRARY_1, . . . ,HLP$LIBRARY_999) to the file
    specifications of the default help libraries. You can define
    these logical names in the process, group, or system logical name
    table.

    If default library searching is enabled by the flags argument,
    LBR$OUTPUT_HELP uses those flags to determine which logical
    name tables are enabled and then automatically searches any
    user default libraries that have been defined in those logical
    name tables. The library search order proceeds as follows: root
    library, main library (if specified and different from the root
    library), process libraries (if enabled), group libraries (if
    enabled), system libraries (if enabled). If the requested help
    information is not found in any of these libraries, LBR$OUTPUT_
    HELP returns to the root library and issues a "help not found"
    message.

    To enter an interactive help session (after your initial request
    for help has been satisfied), you must set the HLP$M_PROMPT bit
    in the flags argument.

    You can encounter four different types of prompt in an
    interactive help session. Each type represents a different level
    in the hierarchy of help available to you.

    1. If the root library is the main library and you are not
       currently examining HELP for a particular topic, the prompt
       Topic? is output.

    2. If the root library is a library other than the main library
       and if you are not currently examining HELP for a particular
       topic, a prompt of the form @<library-spec>Topic? is output.

    3. If you are currently examining HELP for a particular topic
       (and subtopics), a prompt of the form <keyword...>subtopic? is
       output.

    4. A combination of 2 and 3.

    When you encounter one of these prompt messages, you can respond
    in any one of several ways. Each type of response and its effect
    on LBR$OUTPUT_HELP in each prompting situation is described in
    the following table:

                       Action in the Current Prompt Environment
    Response           (Keyed to the prompt in the preceding list)

    keyword [ . . . ]  (1,2)  Search all enabled libraries for these
                       keys.
                       (3,4)  Search additional help for the current
                       topic (and subtopic) for these keys.
    @filespec          (1,2)  Same as above, except that the root
    [keyword[ . . . ]] library is the library specified by filespec.
                       If the specified library does not exist, treat
                       @filespec as a normal key.
                       (3,4)  Same as above; treat @filespec as a
                       normal key.
    ?                  (1,2)  Display a list of topics available in
                       the root library.
                       (3,4)  Display a list of subtopics of the
                       current topic (and subtopics) for which help
                       exists.
    Carriage Return    (1)  Exit from LBR$OUTPUT_HELP.
                       (2)  Change root library to main library.
                       (3,4)  Strip the last keyword from a list of
                       keys defining the current topic (and subtopic)
                       environment.
    Ctrl/Z             (1,2,3,4) Exit from LBR$OUTPUT_HELP.
Close Help