HELPLIB.HLB  —  PEEK  Commands
   The Peek/Spy subcommands are:

   ALLOW         - Allow a non-privideged user to watch you with Peek.
   ATTACH        - Attach to another process in you job.
   DISALLOW      - Revoke previously issued ALLOW commands
   EXIT          - Exit interactive Peek/Spy prompting.
   FORMAT        - Format a log file.
   HELP          - Access on-line Peek/Spy help.
   INSTALL       - (Obsolete beginning in Peek/Spy version 4.5)
   LICENSE       - Enter Product Authorization Key.
   NODE_NAME_CHANGE - Update licensed nodename afer a nodename change.
   NOSAVE_SCREEN - End screen-saving (on AXP) and terminal-logging.
   PEEK          - (PEEK-Only) Same as WATCH.
   QUIT          - Exit interactive Peek/Spy prompting.
   REMOVE        - (Obsolete beginning in Peek/Spy version 4.5)
   RT_ENABLE     - (VAX-Only) Enable VAX Peek/Spy watching on an RTA unit.
   SAVE_SCREEN   - Start screen-saving (on AXP) and terminal-logging.
   SHOW          - Show various Peek/Spy and system data.
   SHUTDOWN      - Shut down Peek/Spy - Only use from PEEK_SHUTDOWN.COM.
   SPAWN         - Spawn a subprocess.
   SPY           - (SPY-Only) Same as WATCH.
   WATCH         - Watch another user.

   As shipped, subcommands may be used as verbs during interactive
   Peek/Spy command prompting (e.g. PEEK> ALLOW), but subcommands
   must be entered as qualifiers when used as part of a single-line
   DCL command (e.g. $ PEEK/ALLOW). This default behavior can be
   changed. See the PEEK Commands Subtopic: /COMMAND_MODE.

1  –  ALLOW

   (Peek-Only subcommand, not for use with the SPY program.)

   The ALLOW subcommand is used to allow non-privileged users to watch
   your terminal using PEEK. Non-privileged users may not watch your
   terminal unless you first ALLOW them by using this command.

   When PEEK/ALLOW is used, a parameter specifying one or more valid
   rights-list identifiers can be specified. In most cases, each
   username on the system has an identical rights-list identifier.

   Format:

     $ PEEK/ALLOW username-and-identifier-list
     $ PEEK
     PEEK> ALLOW username-and-identifier-list

1.1  –  Parameters

   username-and-rights-list-identifier-list

   Specify a list of usernames and/or rights-list identifiers whose
   holders may watch your terminal.

   Full * and % wildcards are supported for usernames, and the
   UIC:[ggg,mmm] syntax is also supported. It allows a * wildcard for
   the group or member portion of the UIC. Due to the embedded comma,
   the "UIC:[ggg,mmm]" syntax in a command must be enclosed in quotes.

   Each individual item in the list may be preceeded by a minus to
   reverse the sense of that one item so it disallows instead of allows.

   Rights-list identifiers held by a process are displayed by the DCL
   $ SHOW PROCESS/PRIVILEGE command. Once you issue a PEEK/ALLOW command
   specifying an identifier, any users who has been granted that
   identifier may watch your terminal.

   Example:  $ PEEK/ALLOW J_JONES,HELPERS,P_SMITH

   This command allows your terminal to be watched by users J_JONES and
   P_SMITH and all users with the rights-list identifier HELPERS.

   The list is checked from left to right, so

             $ PEEK/ALLOW -J_JONES,*

   would disallow J_JONES but allow anyone else to watch.

1.2  –  Qualifiers

1.2.1    /BACKGROUND

   AXP-Only...

   /[NO]BACKGROUND

   Synonymous with the /SINGLE_WINDOW and /WINDOW qualifiers. See the
   PEEK Commands ALLOW Subtopic: /SINGLE_WINDOW.

1.2.2    /BEEP_TERMINAL

   /BEEP_TERMINAL = "hot-key-defintion"

   Defines a hot-key sequence for use while being watched which, when
   pressed, will cause both the watcher's and user's terminal bells
   to ring.

   This may be used to get the watcher's attention while you are being
   watched. This is useful if the watcher walks away from his terminal.

   Example:      $ PEEK/ALLOW/BEEP_TERMINAL="<F6>" JONES

   This command allows JONES to watch you and it defines the F6 key as
   the hot-key which you can use, while being watched, to ring JONES'
   terminal bell.

   The default value for this hot-key is taken from the logical
   USER$BEEP_TERMINAL. This is usually defined system-wide by
   PEEK_DEFAULTS.COM. A user may supply his own default value in his
   own process or job or group logical name table, as an alternative
   to using this ALLOW command qualfier.

   For a complete description of the syntax used for specifying hot-key
   definitions, see the top-level PEEK Subtopic: Hot-Keys.

1.2.3    /BP_OUTPUT

   /BP_OUTPUT   (default)
   /NOBP_OUTPUT

   Enables or disables an ALLOWed watcher from diverting the output from
   your terminal so it goes only to his own terminal. The watched screen
   appears to just "go dead" during bypass-output until bypass-output is
   turned back off again.

   Bypass-output mode is turned on and off through use of the
   BYPASS_OUTPUT_TOGGLE hot-key. BYPASS_OUTPUT_TOGGLE is used by
   watchers to watch disconnected terminal-server sessions and terminals
   which have gone into a hold-screen mode. (For more information, see
   the PEEK Commands ALLOW Subtopic: /BYPASS_OUTPUT_TOGGLE.)

   /BP_OUTPUT is a DCL positional qualifier. It can be used at the start
   of a PEEK/ALLOW command line, before any identifiers, in which case
   it applies to all identifiers on the command line. It can also be
   used on a PEEK/ALLOW command line after a particular identifier, in
   which case it will apply only to that one identifier in the list.

   Examples:

         $ PEEK/ALLOW/NOBP_OUTPUT J_JONES,J_DOE
         $! J_JONES and J_DOE may watch you but without BP_OUTPUT.

         $ PEEK/ALLOW J_JONES/NOBP_OUTPUT,J_DOE
         $! J_JONES and J_DOE may both watch you but only J_DOE may
         $! BP_OUTPUT (since BP_OUTPUT is the default).

   ALLOW/NOBP_OUTPUT has no effect on SPY, nor on privileged PEEK users.

1.2.4    /BYPASS_OUTPUT_TOGGLE

   /BYPASS_OUTPUT_TOGGLE = "hot-key-defintion"

   Defines a hot-key sequence for use while being watched which, when
   pressed, turns on and off bypass-output mode.

   Bypass-output mode causes output going to the terminal being watched
   to cease being displayed on that terminal. The output goes only to
   the watcher's terminal.

   This allows the watcher to watch terminal output despite the terminal
   having gone into an XOFF state due to being put on hold-screen.
   Bypass-output mode is particularly useful for watching disconnected
   sessions on a terminal server, which would otherwise be hung, waiting
   to be reconnected to a physical terminal.

   It can also be useful to a watcher when he is watching a terminal on
   a slow modem line since the watcher will not have to wait while the
   output goes out over the modem.

   A user can disable this feature when he issues a PEEK/ALLOW command
   to allow a non-privileged user to watch him with PEEK. See the PEEK
   Commands ALLOW Subtopic: /BP_OUTPUT.

   The default hot-key value for ALLOW/BYPASS_OUTPUT_TOGGLE is taken
   from the logcial USER$BYPASS_OUTPUT_TOGGLE, usually defined system-
   wide by PEEK_DEFAULTS.COM.

   Example:

         $ PEEK/ALLOW/BYPASS_OUTPUT_TOGGLE="<CTRL-K>" USER1

   The above command allows USER1 to watch the current user with PEEK.
   While being watched, the user may use the hot-key Control-K to turn
   on and off bypass-output mode.

   For a complete description of the syntax used for specifying hot-key
   definitions, see the top-level PEEK Subtopic: Hot-Keys.

1.2.5    /CHAT_TOGGLE

   /CHAT_TOGGLE = "hot-key-defintion"

   Allows the watcher and user to chat, where they can type back and
   forth to each other, but the keystrokes typed are not entered as
   input to whatever program the user process currently is running.

   Specify a hot-key sequence which, when pressed while being watched,
   will cause Peek/Spy to enter/exit a mode which is similar to "local
   mode" on a standard terminal.

   The default hot-key value for ALLOW/CHAT_TOGGLE is taken from the
   logical USER$CHAT_TOGGLE, usually defined system-wide by
   PEEK_DEFAULTS.COM.

   While in chat mode, what the user and watcher type to each other is
   echoed on both terminals, but will NOT be placed into the user's
   typeahead buffer, or passed on to the user's running program. This
   prevents this type of chatting activity from causing program or
   command errors for the user being watched.

   Example:

         $ PEEK/ALLOW JONES /CHAT="<F14>"

   The above command allows user JONES to watch you with PEEK and
   defines F14 as the hot-key for entering and exiting chat mode.

   Whenever the user being watched presses F14, both terminals will go
   into chat mode until F14 is pressed again.

   While in chat mode, the watcher and user being watched may type
   whatever they wish, and it will be displayed on both screens.

   If chat mode appears not to work and your terminal just beeps when
   you type, this is because you do not have keyboard input control
   (see the PEEK Commands ALLOW Subtopic: /TOGGLE_INPUT, which is still
   active during chat mode unless /SIMULTANEOUS_INPUT is in effect).

   The keys which are useful while in chat mode are the alphanumeric
   keys, carriage-return, delete and the arrow keys.

   You should press carriage-return to end a line, since if the other
   terminal is not in auto-wrap mode, the other user may not be able
   to see what you are typing after you reach the margin and only your
   terminal does an autowrap.

1.2.6    /CUMULATIVE

   /[NO]CUMULATIVE

   Controls whether or not successive ALLOW commands are cumulative.

   /NOCUMULATIVE causes all prior ALLOW information to be erased, via
   an implicit DISALLOW, before the current ALLOW command is executed.

    Example:  $ PEEK/ALLOW/NOCUMULATIVE J_DOE

   The above command erases any and all existing ALLOW permissions
   before granting permission to J_DOE to watch you.

   The default value for this qualifier is taken from the logical
   USER$CUMULATIVE, usually defined by PEEK_DEFAULTS.COM.

   For /CUMULATIVE, the current qualifier value for /FIRST controls
   whether the current ALLOW defition is added at the beginning or
   at the end of any previously-defined ALLOW information.

   For /NOCUMULATIVE, the current value for the qualifer /KEYS_ERASE
   controls whether or not hot-key definitions previously defined via
   ALLOW commands are also erased as part of the implicit DISALLOW.

   Note that earlier versions of Peek/Spy did not have the /CUMULATIVE
   qualifier. The value for the ALLOW subcommand in these earlier
   versions was always /NOCUMULATIVE.

1.2.7    /END_WATCH

   /END_WATCH = "hot-key-defintion"

   Defines a hot-key sequence for use while being watched which, when
   pressed by the user, will cause a current watcher to stop watching.

   The default value for ALLOW/END_WATCH is taken from the logical
   USER$END_WATCH. This is usually defined system-wide by
   PEEK_DEFAULTS.COM. A user may supply his own default value in his
   own process or job or group logical name table, as an alternative
   to using this ALLOW command qualfier.

   For a complete description of the syntax used for specifying hot-key
   definitions, see the top-level PEEK Subtopic: Hot-Keys.

   If this hot-key is not defined, then the user will not be able to
   stop a watcher who is watching him with PEEK, except by issuing a
   PEEK/DISALOW command from DCL.

   Example:      $ PEEK/ALLOW/END_WATCH="<F6>" JONES

   This command allows JONES to watch you and it defines the F6 key as
   the hot-key which you can use, while being watched, to terminate
   JONES' watching of you.

   Note that the ALLOW END_WATCH hot-key has no effect on someone who
   is watching the user with SPY.

1.2.8    /FIRST

   /[NO]FIRST

   Used with PEEK/ALLOW/CUMULATIVE to specify that the current ALLOW
   definition should be added to the front of any existing ALLOW list.

   Example: $ PEEK/ALLOW/FIRST J_DOE/BP_OUTPUT

   The above adds J_DOE/BP_OUTPUT to the beginning of any existing
   WATCHER$ALLOW list in one's LNM$JOB logical name table.

   The default value for /FIRST is taken from the logical USER$FIRST,
   usually defined system-wide by PEEK_DEFAULTS.COM.

1.2.9    /KB_CONTROL

   /KB_CONTROL  (default)
   /NOKB_CONTROL

   Enables (or disables) an ALLOWed watcher from supplying input for
   your terminal.

   /KB_CONTROL is a DCL positional qualifier. It can be used at the
   start of a PEEK/ALLOW command line, before any identifiers, in which
   case it applies to all identifiers on the command line. It can also
   be used on the PEEK/ALLOW command line after a particular identifier,
   in which case it will apply only to that one identifier in the list.

   Examples:

         $ PEEK/ALLOW/NOKB_CONTROL J_JONES,J_DOE
         $! J_JONES and J_DOE may watch you but without KB_CONTROL.

         $ PEEK/ALLOW J_JONES/NOKB_CONTROL,J_DOE
         $! J_JONES and J_DOE may watch you but only J_DOE may toggle
         $! input (since KB_CONTROL is the default).

   ALLOW/NOKB_CONTROL has no effect on SPY, nor on privileged PEEK users.

1.2.10    /KEYS_ERASE

   /[NO]KEYS_ERASE

   Controls whether any existing hot-key definitions are also erased
   as part of the implicit DISALLOW command which is done when
   /NOCUMULATIVE is in effect.

   Example:  $ PEEK/ALLOW/NOCUMULATIVE/NOKEYS_ERASE J_DOE

   All former PEEK/ALLOW permissions are cancelled prior to ALLOWing
   J_DOE to watch, but any hot-keys previously defined via PEEK/ALLOW
   are retained.

   The default value is taken from the logical USER$KEYS_ERASE, usually
   defined system-wide by PEEK_DEFAULTS.COM.

1.2.11    /ONCE

   /ONCE
   /NOONCE  (default)

   Limits ALLOWed watching to a single time. When watching by the
   ALLOWed user is terminated, he will not be able to watch your
   terminal again until you again do a PEEK/ALLOW command for him.

   /ONCE is a DCL positional qualifier. It can be used at the start of
   a PEEK/ALLOW command line, before any identifiers, in which case it
   applies to all identifiers on the command line. It can also be used
   on a PEEK/ALLOW command line after a particular identifier, in
   which case it will apply only to that one identifier in the list.

   Examples:

         $ PEEK/ALLOW/ONCE J_JONES,J_DOE
         $! J_JONES and J_DOE may watch you only once each.

         $ PEEK/ALLOW J_JONES,J_DOE/ONCE
         $! J_JONES and J_DOE may watch you but J_DOE only once.

   ALLOW/ONCE has no effect on SPY, nor on privileged PEEK users.

1.2.12    /PERMIT_INPUT

   /PERMIT_INPUT="hot-key-defintion"

   Hot-key used to permit a watcher (who is not normally able to have
   keyboard control) to acquire temporary keyboard control through
   use of his REQUEST_INPUT hot-key.

   PERMIT_INPUT can be issued by the user being watched, or by a
   primary watcher who currently has keyboard control.

   To successfully grant PERMIT_INPUT, the user granting it must
   currently have keyboard control (via either SIMULTANEOUS_INPUT
   or TOGGLE_INPUT).

   If a PERMIT_INPUT request is rejected (due to not currently having
   control of the keyboard) then the terminal bell will beep.

   Once PERMIT_INPUT has been enabled and a watcher then accepts it
   (by using his REQUEST_INPUT hot-key), the watcher and the user who
   permitted him may either toggle input between themselves using
   their TOGGLE_INPUT hot-keys, or may both type simultanously if the
   PSIMUL qualifier (or default) is in effect for the permitted
   watcher. (See also similar data for NOBEEP under /PNOBEEP.)

   Once granted, PERMIT_INPUT can be revoked again at any time by
   issuing another PERMIT_INPUT. (The PERMIT_INPUT key toggles
   PERMIT_INPUT on and back off.)

   A PERMIT_INPUT granted by the user being watched is also revoked
   whenever the primary watcher (if any) toggles input.

   Likewise, a PERMIT_INPUT granted by a primary watcher is revoked
   whenever the user being watched toggles input.

   Thus input-ability gained through PERMIT_INPUT/REQUEST_INPUT is
   very temporary.

   The logical USER$PERMIT_INPUT specifies the default hot-key value
   for use when being watched.

   Note that PERMIT_INPUT and REQUEST_INPUT may be used to temporarily
   grant input-ability to a watcher who otherwise would not be able to
   gain keyboard control due to keyboard-control licensing-option
   or ALLOW-command restrictions.

1.2.13    /QUOTE

   /QUOTE = "hot-key-defintion"

   Defines a hot-key sequence for use while being watched which, when
   recognized, tells PEEK that the user's next keystroke is NOT to be
   interpreted as a PEEK hot-key, but is to be passed through to
   the user's terminal instead.

   This allows the user to press the QUOTE hot-key and follow it with
   some other PEEK hot-key which he wishes to pass to his running
   program as input without it being intercepted by PEEK. (Whether or
   not it is passed to the program is still controlled by the
   /TOGGLE_INPUT sequence, unless SIMULTANEOUS_INPUT is in effect.
   See the PEEK Commands ALLOW Subtopic: /TOGGLE_INPUT.)

   The QUOTE hot-key sequence should be entered by the user immediately
   before a hot-key keystroke which he wishes to pass through to his
   terminal.

   The default value for ALLOW/QUOTE is taken from the logical
   USER$QUOTE, usually defined system-wide by PEEK_DEFAULTS.COM.

   Example:

         $ PEEK/ALLOW/QUOTE="<F7>"/BEEP_TERMINAL="<F6>" USER1
     or
         $ DEFINE USER$QUOTE "<F7>"
         $ DEFINE USER$BEEP_TERMINAL "<F6>"
         $ PEEK/ALLOW USER1

   In either case, if the watched user presses F6, the bell will be rung
   on the watcher's terminal. However, if he presses F7 followed by F6,
   then the F6 sequence will be passed to the user's process (if the
   user currently has keyboard control).

   For a complete description of the syntax used for specifying hot-key
   definitions, see the top-level PEEK Subtopic: Hot-Keys.

1.2.14    /SINGLE_WINDOW

   AXP-Only...

   /[NO]SINGLE_WINDOW

   Used with NDC's MultiSessions product on AXP to determines whether
   the ALLOW command applies to the MS Server of the process which
   issues the ALLOW command, or to the individual MultiSessions NDC-
   terminal windows from which the command is issued.

   Use ALLOW /NOSINGLE_WINDOW to allow someone to watch your MS Server
   process. This allows the watcher to follow you as you switch between
   individual NDC-terminal windows.

   Use ALLOW /SINGLE_WINDOW to allow someone to watch only the single
   NDC-terminal window from which you issue this command. The watcher
   will need to use /SINGLE_WINDOW on his WATCH command.

   /SINGLE_WINDOW is synonymous with /BACKGROUND and /WINDOW.

   The default value for an ALLOW command is determined by the logical
   USER$BACKGROUND usually defined by PEEK_DEFAULTS.COM. You can
   override the default by using this command qualifier.

   Examples:

   $ PEEK/ALLOW/SINGLE_WINDOW JOE    ! Allow JOE to watch only the
                                     ! NDC-terminal window from which
                                     ! this ALLOW command is issued.
   $ PEEK/ALLOW/NOSINGLE_WINDOW JOE  ! Allow JOE to watch your MS
                                     ! Server process, following you
                                     ! as you switch between NDC windows.

1.2.15    /TOGGLE_INPUT

   /TOGGLE_INPUT = "hot-key-defintion"
   /NOTOGGLE_INPUT

   Defines a hot-key sequence for use while being watched which, when
   pressed, switches control of the user's keyboard between the
   watcher and the user.

   If a watcher has taken control of the user's keyboard with PEEK,
   then when this hot-key is pressed by the user, it returns
   control of his keyboard back to him/her.

   The default value for this hot-key is taken from the logical
   USER$TOGGLE_INPUT, usually defined by PEEK_DFAULTS.COM.

   If SIMULTANEOUS_INPUT is in effect, both the watcher and the user
   will be able to provide input for the user at the same time.
   Pressing the TOGGLE_INPUT hot-key has no effect in this case.

   If this hot-key is NOT defined (either on the command line or
   as a logical name) then the user will not be able to regain
   keyboard control once it has been taken over by a watcher.

     NOTE:  There is a licensing option which will prevent the watcher
     from ever providing input to the user's terminal. This is for use
     in banking and other high-security environments. If the
     TOGGLE_INPUT feature appears not to work at your site, you
     should check to see if your license specifies NOKB_CONTROL. Use
     the $ PEEK/SHOW LICENSE command to check your license options.

   The remainder of this section will assume that SIMULTANEOUS_INPUT
   is not in effect.

   When a watcher first begins watching someone, the watcher is not
   allowed to enter input for the user's process. If he types anything
   (other than one of his defined hot-key sequences) PEEK throws away
   the watcher's input and rings the bell on his terminal to remind
   him that he does not currently have keyboard control.

   The watcher may press his TOGGLE_INPUT hot-key to swap keyboard
   control, taking it away from the user being watched. At this point,
   the bell on the terminal of the user being watched will ring if he
   attempts to type anything other than his defined hot-key sequences.

   The user being watched may then press his own TOGGLE_INPUT hot-key
   sequence to get control of his keyboard back from the watcher.

   For example, J_DOE issues the command:

         $ PEEK/ALLOW/TOGGLE_INPUT="<F10>" USER1

   After this ALLOW command is issued, USER1 can watch J_DOE with PEEK.

   While watching J_DOE, USER1 can press his hot-key to take over
   keyboard control from J_DOE. If J_DOE then tries to type, his
   terminal bell will just ring to inform him that USER1 currently
   has keyboard control.

   J_DOE can then press his F10 key to regain control of his keyboard.

   For a complete description of the syntax used for specifying hot-key
   definitions, see the top-level PEEK Subtopic: Hot-Keys.

   The /TOGGLE_INPUT command qualifier may also be negated. This allows
   one to override a default TOGGLE_INPUT definition which has been
   placed in a logical name table.

   When specified as PEEK/ALLOW/NOTOGGLE_INPUT, this tells PEEK no
   hot-key should be defined to allow the user to toggle input control
   while being watched.

   /NOTOGGLE_INPUT is equivalent to specifying /TOGGLE_INPUT="" (null
   string).

   NOTE: The ALLOW/NOTOGGLE_INPUT qualifier prevents a user who issues
         the command containing it from toggling keyboard input. The
         ALLOW/NOKB_CONTROL qualifier refers to whether an ALLOWed
         watcher may take over control of the keyboard of the user
         being watched.

1.2.16    /WINDOW

   AXP-Only...

   /[NO]WINDOW

   Synonymous with the /BACKGROUND and /SINGLE_WINDOW qualifiers. See
   the PEEK Commands ALLOW Subtopic: /SINGLE_WINDOW.

2  –  ATTACH

   PEEK> ATTACH process_name
   PEEK> ATTACH/IDENTIFICATION=nnn

   Used from the PEEK> prompt, the ATTACH subcommand allows one to attach
   back to another process in one's job, just as with the DCL ATTACH
   command.

   You must specify either the process name to attach to, or else you can
   provide the process ID to attach to with the /IDENTIFICATION=nnn syntax.

   Example:

   PEEK> ATTACH JBREWER       or PEEK> ATTACH/IDENTIFICATION=6D

3  –  DISALLOW

   $ PEEK /DISALLOW

   This subcommand performs the following functions:

    1.  Lets no other non-privileged users watch your terminal by
        revoking all permission to watch granted through previous
        PEEK/ALLOW commands.

    2.  Any user currently watching with PEEK is forced to stop watching.

    3.  If any hot-keys were defined with a previous PEEK/ALLOW
        command (as displayed by $ PEEK/SHOW KEYS), then these hot-key
        defintions may also be erased, depending on the /KEYS_ERASE
        value currently in effect.

   Format:
        $ PEEK/DISALLOW          $ PEEK
                                 PEEK> DISALLOW

3.1  –  Qualifiers

3.1.1    /BACKGROUND

   AXP Only...

   /[NO]BACKGROUND

   Synonymous with the /SINGLE_WINDOW and /WINDOW qualifiers. See
   the PEEK Commands DISALLOW Subtopic: /SINGLE_WINDOW.

3.1.2    /KEYS_ERASE

   /[NO]KEYS_ERASE

   Controls whether any existing hot-key definitions are also erased as
   part of a DISALLOW command.

   Example: $ PEEK/DISALLOW/NOKEYS_ERASE

   All previously granted PEEK/ALLOW permissions are revoked, but any
   hot-keys defined via previous PEEK/ALLOW commands are retained.

   The default value is taken from the logical USER$KEYS_ERASE, usually
   defined system-wide by PEEK_DEFAULTS.COM.

3.1.3    /SINGLE_WINDOW

   AXP-Only...

   /[NO]SINGLE_WINDOW

   Used with NDC's MultiSessions product on AXP to determines whether
   the DISALLOW command applies to the MS Server of the process which
   issues the DISALLOW command, or to the individual MultiSessions
   NDC-terminal windows from which the command is issued.

   Use DISALLOW/NOSINGLE_WINDOW to disallow someone to watch your MS
   Server process. This disallows the watcher from follow you as you
   switch between individual NDC-terminal windows.

   Use DISALLOW/SINGLE_WINDOW to disallow someone from watching only
   the single NDC-terminal window from which you issue the command.

   /SINGLE_WINDOW is synonymous with /BACKGROUND and /WINDOW.

   The default value for a DISALLOW command is determined by the
   logical USER$BACKGROUND usually defined by PEEK_DEFAULTS.COM. You
   can override the default by using this command qualifier.

   Examples:

   $ PEEK/DISALLOW/SINGLE_WINDOW   ! Disallow all prior ALLOW
                                   ! permissions granted for watching
                                   ! your single NDC-terminal window
                                   ! from which this DISALLOW command
                                   ! is issued.

   $ PEEK/DISALLOW/NOSINGLE_WINDOW ! Disallow all prior ALLOW
                                   ! permissions granted for watching
                                   ! your MS Server process, and thus
                                   ! from following you as you switch
                                   ! between NDC windows.

3.1.4    /WINDOW

   AXP Only...

   /[NO]WINDOW

   Synonymous with the /BACKGROUND and /SINGLE_WINDOW qualifiers. See the
   PEEK Commands DISALLOW Subtopic: /SINGLE_WINDOW.

4  –  EXIT

   PEEK> EXIT

   The EXIT command is used to exit back to DCL from the interactive
   command-prompting mode of PEEK.

5  –  FORMAT

   $ PEEK/FORMAT in_file out_file      PEEK> FORMAT in_file out_file

   The PEEK/FORMAT command may be used to convert the format of log
   files so that they may be more easily displayed or printed.

   The Peek/Spy FORMAT subcommand converts a log file containing
   terminal-control sequences (which might otherwise be difficult
   to display, print or analyze) into distinct pages of plain-text
   output, It also separates out redundant output (e.g., when a
   later output segment overlays an earlier output segment).

   Example:

    $ PEEK /USER=SMITH /LOG=SMITH.LOG   ! Make Peek log file.
    $! Watch SMITH for a while, then exit from PEEK.
    $ PEEK /FORMAT SMITH.LOG SMITH.FMT  ! Format log file.

   The output file (SMITH.FMT) will contain screens which are in
   a plain-text sequential format. This is useful for typing,
   printing, or searching.

   Each output screen is a series of 24 lines (by default, or as
   specified by /PAGE=n). The initial output-screen width can be
   specified with /WIDTH=n (the default is 80 columns).

   The actions of, and some qualfiers for, the FORMAT subcommand
   differ for AXP and VAX. See the PEEK Commands FORMAT Subtopics:
   AXP-Only and VAX-Only.

5.1  –  Overview

   There is an inherent problem in creating an ASCII-stream log file of
   terminal output, whether it is created by PEEK/LOG, SET HOST/LOG or
   KERMIT's LOG SESSION command, etc.

   The problem is that records in a stream output file either have an
   arbitrary length (as do those made by KERMIT) or no maximum length
   at all. In the case where an arbitrary length is imposed on the log
   file, you will see extra carriage-returns embedded in the file when
   it is typed. In the case of PEEK, which does NOT arbitrarily end a
   line after 256 bytes (or some such size), the TYPE command, EDT,
   TPU, etc., all have varying degrees of success in displaying the
   file's contents.

   VMS's TYPE command will usually abort if you attempt to type a
   file which has records longer than 2048 bytes. EDT and TPU have
   similar record-length limitations.

   Thus we have added a format command which will process an arbitrary
   sequence of text and escape and control sequences into a series of
   output screens.

5.2  –  AXP-Only

   With PEEK/FORMAT on AXP, a full, new, output screen is appended
   to the formatted output file whenever any one of the following
   conditions occurs:

     1.  A clear-screen sequence in found in the input file.
     2.  A selective-erase sequence in found in the input file.
     3.  The screen is cleared because the screen width is changed.
     4.  Enough lines are scrolled on the screen that some are about
         to be lost off of the top or bottom of the screen.

   The output-file format may be varied to take advantage of different
   printer formats. The default output format is plain text, but other
   formats are available through the /PRINTER_TYPE=keyword qualifier.

   The following PRINTER_TYPE keywords are currently defined for AXP:

       FILE        - For plain text into file (this is the default).
       VT100       - For paged output to a VTxxx type terminal.

   The output file will have form-feed characters inserted at the page
   breaks.

5.2.1  –  Qualifiers

5.2.1.1    /WIDTH

   /WIDTH = page_width

   Used to specify the initial page width.

   If /WIDTH is not specified, the default is 80 columns.

   If /WIDTH is specified without a value, the width of the current
   terminal is used.

5.3  –  VAX-Only

   With PEEK/FORMAT on VAX, a full, new, output screen is appended
   to the formatted output file whenever any one of the following
   conditions occurs:

     1.  A clear-screen sequence in found in the input file.
     2.  A selective-erase sequence in found in the input file.
     3.  The screen is cleared because the screen width is changed.
     4.  Enough lines are scrolled on the screen that some are about
         to be lost off of the top or bottom of the screen.
     5.  /CURSOR_FLUSH was specified as a negative number and the
         cursor moves up more than the specified number of lines.
     6.  /CURSOR_FLUSH was specified as a positive number and the
         cursor is positioned to the specified line number.

   These latter two options can be useful for formatting output from
   programs which don't erase the screen, but just re-position the
   cursor and overwrite existing text.

   The output file format may be varied to take advantage of several
   different printer formats. The default output format is plain text,
   but other formats are available which will display bolded and
   underlined sequences as they originally appeared in the file.

   The following PRINTER_TYPE keywords are currently defined on VAX
   for use with the /PRINTER_TYPE=keyword qualifier:

      FILE        - For plain text into file (this is the default).
      VT100       - For paged output to a VTxxx type terminal.
      DUMB_BS     - Overprint BOLD & underline using backspace.
      DUMB_CR     - Overprint BOLD & underline using carriage-returns.
      LA100, LA120, LA180, LA210, LA50, LA75, LN03,
      VT200, VT300, VT400

   The output file will have form-feed characters inserted at the page
   breaks.

   By default these form-feeds are inserted on a separate line, but
   one can get the form-feeds appended to the last line of text on a
   page by using the /[NO]CONTINUOUS_PAGES qualifier. This could be
   useful when one wants to use all lines of a page, but the form-
   feed on a separate line would cause a page to be skipped between
   each page of text.

5.3.1  –  Qualifiers

5.3.1.1    /CONTINUOUS_PAGES

   /[NO]CONTINUOUS_PAGES

   Specify /CONTINUOUS_PAGES if you want pages separated by a form
   feed appended to the end of the last line of the page. This is
   useful when one wants to use all lines of a page, where the
   form-feed on a separate line could cause a page to be skipped
   between each page of text.

   Specify /NOCONTINUOUS_PAGES if you want pages separated by a
   form feed which is on a line by itself. This is the default.

5.3.1.2    /CURSOR_FLUSH

   /CURSOR_FLUSH=n

   Specify a line number which, if the cursor is positioned back
   to that line after being on a different line, the current
   screen contents will be flushed to the output file.

   This is useful for formatting screens which display data over
   the top of prior data, rather than clearing the screen before
   displaying the new data.

   The default value is zero. This means the cursor position
   is ignored.

   If specified as a negative number, this indicates that, if the
   cursor moves up that number of lines, the current screen
   contents will be flushed to the output file.

   Example:

     $ KERMIT                           ! Start program.
     Kermit-32> LOG SESSION PRICES.LOG  ! Start log file.
     Kermit-32> CONNECT TXA6:           ! Connect to modem line.
     ATDT-1-800-234-1998                ! Dial DEC's store.
     etc.
     $ PEEK /FORMAT PRICES.LOG PRICES.LIS /CURSOR_FLUSH=3

   When DEC's Electronic Store is accessed to look up prices,
   it positions to line 3, outputs a line of price information,
   then positions to line 4, etc., until the screen is full.

   When you tell it to display the next screen, it repeats this
   process. Using /CURSOR_FLUSH=3 tells the FORMAT command to
   output the prior screen before figuring out what the next
   screen will be.

5.3.1.3    /FORM_FEED

   /[NO]FORM_FEED

   Specify /FORM_FEED if you wish to have output pages separated
   by a form feed character. This is the default.

   Specify /NOFORM_FEED if you do not wish to have output pages
   separated by a form feed character.

5.3.1.4    /RECORD_END

   /[NO]RECORD_END

   PEEK/FORMAT tries to intelligently cope with log files which
   have overly-long lines which have been arbitrary split into
   more than one log-file record. This is most commonly
   encountered with Kermit log files, as covered in the
   PEEK Commands FORMAT Subtopic: Overview.

   The FORMAT /RECORD_END qualifier specifies that newlines
   should be inserted between records in the input file.

   This is the default for all input files, except those with
   variable-length, maximum 256-byte records and CR carriage-
   control. Kermit log files have this latter file format. For
   such files only, the default is /NORECORD_END.

   Specifying /NORECORD_END directs the FORMAT command not to
   insert a newline between records if the previous line ends at
   or before the screen's right margin.

   This commonly has the effect of concatenating all records in
   the input file into one continuous stream of input characters,
   without the FORMAT command adding any newlines.

   The presumption here is that the log-file contains in it the
   needed carriage-control characters, and none need to be added
   at the end of each log-file record.

5.4  –  Qualifiers

5.4.1    /PAGE

   /PAGE = page_length

   Specify the height of the screen. This value is used to determine
   where to insert form feeds in the output file.

   The default value if /PAGE is not specified is 24 lines.

   If /PAGE is specified without a value, the value defaults to the
   length of the current terminal.

   This qualfier should be specified if you are using a 36 or 48 line
   screen on a VT420 or other terminal.

5.4.2    /PRINTER_TYPE

   /PRINTER_TYPE=keyword

   /PRINTER_TYPE is used to specify the printer type.

   The default PRINTER_TYPE is FILE. This produces a plain-text
   output file with all terminal-control sequences removed.

   PRINTER_TYPEs available differ for AXP and VAX. for details,
   see the PEEK Commands FORMAT Subtopics: AXP-Only and VAX-Only.

5.4.3    /SCREEN_SIZE

   /SCREEN_SIZE = page_length

   Synonymous for /PAGE. See PEEK Commands FORMAT Subtopic: /PAGE.

6  –  HELP

   $ PEEK /HELP [topic] [subtopic]      PEEK> HELP [topic] [subtopic]

   Displays on-line help on Peek/Spy usage.

   The help topic and subtopic specify aspects of Peek/Spy for which
   you want further information. You may use the standard VMS wildcard
   characters * and % (either by themselves or within a topic or subtopic).

7  –  LICENSE

   $ PEEK /LICENSE

   When you put a new version of a licensed NDC product on your system,
   you will be allowed to demo it for a period of time, after which the
   product will only continue to work if you are under support or make
   arrangements with NDC for an extension of the demo. (If you received
   the product through an NDC distributor then they will be able to help
   you with licensing.)

   The PEEK/LICENSE command is used when communicating with NDC
   concerning your license. NDC can give out license keys to extend
   demos or record support arrangements.

   The PEEK/LICENSE command gives you a license key which you pass on
   to NDC. NDC then gives you back a responding key which you enter,
   updating the NDC license database on your system for the product.

   The LMF$PEEK.LDB file in PEEK$LOCATION should not be deleted from your
   system. If it is, then you will need to get a license key from NDC in
   order to continue to use the product.

   If you change the PEEK$LOCATION directory on your system, then in
   order to continue to use the product, you will also need to rename
   the LMF$PEEK.LDB file into the new directory. (If you are not demoing,
   then you may alternately copy the file to the new directory, instead
   of renaming it there.)

   You must have SYSPRV as an authorized privilege to use the license
   command.

   The license command first asks you to enter your exact company name.

   The company name should be entered as you want it to display in the
   license message which goes to the terminal when running the product.
   The name, including all spacing and punctuation, must be communicated
   to NDC exactly or the license key will not be accepted. Once a company
   name has been exchanged with NDC, the company name cannot thereafter
   be changed without first consulting with NDC.

   After entering the company name, you will be given a license key to
   transmit to NDC. It should be communicated exactly, including the
   encoding-type, nodename, etc, as directed on the license screen.

   If you are not communicating the license key to NDC immediately,
   then you can exit the license screen by entering a Ctrl-Z at the
   prompt. You may, alternately, create the file KEY.LIS, containing
   the necessary licensing information for NDC, by pressing the PF4 key,
   instead of Ctrl-Z.

   When you receive a responding key from NDC, you should re-enter the
   company name exactly as before (if you have exited from the license
   screen meanwhile). Then enter the responding key, exactly as given
   by NDC. You will get a key-accepted message if all goes well.

   If there has been any miscommunication of the company name, license
   key or encoding type, or the responding key, then you will get an
   error message and will have to try again.

8  –  NODE_NAME_CHANGE

   $ PEEK /NODE_NAME_CHANGE

   If you should change the nodename of a node which is licensed for an
   NDC product (something we expect would be a very rare occurence) the
   product will no longer work on that node unless you then use the
   NODE_NAME_CHANGE command while running the product from that node. This
   records the nodename change in the NDC license database on your system.

   The NODE_NAME_CHANGE command cannot be used to put the product onto a
   different node than the one originally licensed.

   If you change a nodename and do not use this command, you will later
   receive a message telling you that you are running a demo version of
   the software and that it is about to expire.

   The NODE_NAME_CHANGE command will prompt you for the old name for the
   node you are running from, and will change the license record for the
   current node from the old name you give to the current (new) name for
   that node.

   The product may not be in use on the system when this command is used.
   SYSPRV as an authorized privilege is required to use the
   NODE_NAME_CHANGE command.

9  –  NOSAVE_SCREEN

   $ PEEK/NOSAVE_SCREEN                PEEK> NOSAVE_SCREEN

   The PEEK/NOSAVE_SCREEN subcommand is used on AXP to end
   screen-saving for a terminal.

   On AXP, terminals with the screen-saver feature turned on provide
   a full initial-screen-contents display for the watcher when they
   are watched with Peek/Spy.

   NOSAVE_SCREEN also ends any terminal-logging which is in progress.

   For more information, see the PEEK Commands Subtopic: SAVE_SCREEN.

10  –  PEEK

   PEEK> PEEK [/qualifier=] target_list [/qualifiers]

   (PEEK-Only, not for use with SPY.)

   The PEEK subcommand may be used to watch someone with PEEK (not SPY)
   when in interactive command-prompting mode.

   It is synonymous with the WATCH command.

   Examples:

   PEEK> PEEK JOE              ! Watch process JOE.
   PEEK> PEEK/TERMINAL=LTA5723 ! Watch terminal LTA5723.
   PEEK> PEEK/USER=JBREWER     ! Watch user JBREWER.

   For more information and a full list of PEEK command qualifiers,
   see the top-level PEEK Subtopic: Watching.

11  –  QUIT

   PEEK> QUIT

   The QUIT subcommand is used to exit back to DCL from the
   interactive command-prompting mode of PEEK.

   It is synonymous with the EXIT subcommand.

   Example:     $ PEEK
                PEEK> QUIT
                $

12  –  RT_ENABLE

   VAX Only

   $ PEEK/RT_ENABLE      ! VAX Only

   When an RTA unit logs in it must issue a PEEK/RT_ENABLE command before
   it can be watched with Peek/Spy. (This command must also be used before
   a VAX RTA can start NDC's VAX MultiSessions screen-saver which is used
   for the Peek/Spy initial screen refresh on VAX.)

   PEEK/RT_ENABLE enables watching of the single RTA terminal from which
   the command is issued, without affecting other RTAs on the system.

   Enabling watching of RTAs on AXP uses PEEK/SAVE_SCREEN instead of
   PEEK/RT_ENABLE.

13  –  SAVE_SCREEN

   $ PEEK/SAVE_SCREEN                PEEK> SAVE_SCREEN

   The PEEK/SAVE_SCREEN subcommand is used on AXP to start the
   screen-saver feature for a terminal. On AXP, SAVE_SCREEN also
   enables watching of RTA terminals.

   On AXP, terminals with the screen-saver feature turned on provide a
   full initial-screen-contents display for the watcher when they are
   watched with Peek/Spy.

   SAVE_SCREEN is also used on both AXP and VAX to start terminal-
   logging - the logging to a disk file of all the output sent to the
   terminal. See the PEEK Commands SAVE_SCREEN Subtopic: /OUTPUT_LOG_FILE.

   Examples for AXP:

   $ PEEK /SAVE_SCREEN         ! Start screen-saving for SYS$COMMAND.
   $ SPY  /SAVE_SCREEN LTA5059 ! Start screen-saving for LTA5059.

   Example for AXP or VAX:

   $ PEEK
   PEEK> SAVE_SCREEN/LOG       ! Start screen-saving with a log file.

13.1  –  Description

   Screen-saving begins on AXP after a SAVE_SCREEN command has been
   done.

   (On VAX, screen-saving is begun by turning on NDC's MultiSessions.)

   On AXP, RTA terminals may ONLY be watched after they've done a
   PEEK/SAVE_SCREEN. (The command on VAX is PEEK/RT_ENABLE.)

   On AXP it is wise, therefore, to do a PEEK/SAVE_SCREEN ahead of
   time, such as from SYLOGIN.COM or LOGIN.COM, so enough time
   elapses before watching begins for a full screen to be saved for
   display when watching begins.

   On AXP, if screen-saving has not yet been started when watching
   begins, then PEEK automatically turns on the screen-saver (this
   does not apply to RTA terminals which must issue a
   PEEK/SAVE_SCREEN on AXP in order to be watched with Peek/Spy), but
   in this case there hasn't yet been enough time to save a full
   screen, so only a partial screen is initially displayed for the
   watcher, or even no screen at all if nothing has been sent to the
   terminal since screen-saving started.

   For VAX, terminal-logging is now begun by using PEEK/SAVE_SCREEN/LOG.

   Screen-saving and any terminal-logging are both turned off by the
   NOSAVE_SCREEN command. Terminal-logging alone is turned off with
   the SAVE_SCREEN/CLOSE_FILE command, without also turning off
   screen-saving.

   If a screen-saver is on without a log file, then a log file can
   be started using the SAVE_SCREEN/LOG[=file] command.

   When logging is in progress, a new log file can be started with
   PEEK/SAVE_SCREEN/LOG/NEW_FILE. This closes any existing log file
   and starts terminal-logging to a new log file.

13.2  –  Parameters

   AXP-Only...

   For the SPY program only, you can specify the name of a terminal
   other than your own for which the screen-saver is to be turned on.

   You cannot, however, use SPY to start screen-saving with logging
   for some other terminal than your own. Terminal-logging can only
   be started from the terminal itself which is to be logged. (You
   can, of course, watch the terminal with $ SPY/LOG and make a log
   file that way.)

   Example:

   $ SPY /SAVE_SCREEN LTA5059 ! Start screen-saving for LTA5059.

   You can use the above command to start up screen-saving for
   LTA5059 before watching it, so you will have an initial full-
   screen display available when you do start watching LTA5059.

13.3  –  Qualifiers

13.3.1    /CLOSE_FILE

   $ PEEK/SAVE_SCREEN /CLOSE_FILE

   The /CLOSE_FILE qualifier closes any existing log file turned on with
   PEEK/SAVE_SCREEN/LOG, without interrupting the ongoing screen-saving.

   This means a watcher will still be able to get an initial full-screen
   display when starting to watch the terminal. Only any on-going
   terminal-logging is ended with SAVE_SCREEN/CLOSE_FILE.

   Example: PEEK> SAVE_SCREEN/CLOSE_FILE    ! Close current log file.

13.3.2    /LOG_FILE

   $ PEEK/SAVE_SCREEN /LOG_FILE [=file_spec]

   This a synonymous with the /OUTPUT_LOG_FILE qualifier.

   See the PEEK Commands SAVE_SCREEN Subtopic: /OUTPUT_LOG_FILE.

13.3.3    /MAX_REOPEN

   $ PEEK/SAVE_SCREEN/LOG/REOPEN /MAX_REOPEN = blocks
                                 /NOMAX_REOPEN

   Specifies the approximate maximum number of blocks to which a
   terminal-logging file may grow before a new version of the log file
   is started, when /REOPEN is in effect.

   Use /NOMAX_REOPEN to specify that any default /MAX_REOPEN value
   should be ignored.

   The default value for /MAX_REOPEN is taken from the logical
   SAVE$MAX_REOPEN, usually defined by PEEK_DEFAULTS.COM.

   Example: $ PEEK/SAVE_SCREEN/LOG/REOPEN/MAX_REOPEN=100

   For more information, see the PEEK Commands SAVE_SCREEN Subtopic:
   /REOPEN.

13.3.4    /MIN_REOPEN

   $ PEEK/SAVE_SCREEN/LOG/REOPEN /MIN_REOPEN = blocks
                                 /NOMIN_REOPEN

   Specifies the minimum number of blocks to which a terminal-
   logging file must grow before a new version of the log file is
   started, when /REOPEN is in effect.

   Use /NOMIN_REOPEN to specify that any default /MIN_REOPEN value
   should be ignored.

   The default value for /MIN_REOPEN is taken from the logical
   SAVE$MIN_REOPEN, usually defined by PEEK_DEFAULTS.COM.

   Example: $ PEEK/SAVE_SCREEN/LOG/REOPEN/MIN_REOPEN=10

   /MIN_REOPEN is ignored for reopens done as a result of
   a /TIME_OF_DAY specification.

   For more information, see the PEEK Commands SAVE_SCREEN Subtopic:
   /REOPEN

13.3.5    /NEW_FILE

   $ PEEK/SAVE_SCREEN/LOG /[NO]NEW_FILE

   Used to specify that a new terminal-logging file should be started.
   Any current terminal-logging file is closed.

   Example:

   $ PEEK/SAVE_SCREEN/LOG=LOG.LOG     ! Start logging to LOG.LOG.

   $ PEEK/SAVE_SCREEN/LOG=NEWLOG.LOG/NEW_FILE
                                      ! Close LOG.LOG and start
                                      ! logging to NEWLOG.LOG.

   The new file will contain the full initial contents of the screen
   at the time the command is executed.

13.3.6    /OUTPUT_LOG_FILE

   $ PEEK/SAVE_SCREEN /OUTPUT_LOG_FILE [=file_spec]

   SAVE_SCREEN/OUTPUT_LOG_FILE[=file] is used to create a log file
   containing everything output to the terminal while the screen-
   saving is in effect.

   The default filespec is taken from the logical SAVE$OUTPUT_LOG_FILE.
   This logical may be defined system-wide by PEEK_DEFAULTS.COM, or it
   may be defined in any of the logical-name tables specified in
   LNM$PEEK_TABLE_SEARCH_LIST, which is defined by PEEK_DEFAULTS.COM.
   See the top-level PEEK Subtopic: Defaults.

   If this logical is not defined and if /OUTPUT_LOG_FILE is specified
   without the optional file-spec, then PEEK will generate a log file
   in the current default directory using a default log-file name of:

       PEEK_TRMLOG_username_terminalname.LOG

   If a log file is already being made, then it can be closed with a
   $ PEEK/SAVE_SCREEN/CLOSE_FILE command.

   To close the current log file and start logging to a new log file
   use a $ PEEK/SAVE_SCREEN/LOG/NEW_FILE command.

   The /REOPEN qualifier also affects PEEK/SAVE_SCREEN/LOG.

   Terminal logging with /SAVE_SCREEN/LOG is terminated by a
   PEEK/SAVE_SCREEN/CLOSE_FILE command, or a PEEK/NOSAVE_SCREEN command.

   Example:

        $ PEEK/SAVE /OUTPUT=SAVE_OUTPUT

   Note that /LOG and /OUTPUT_LOG are synonymous.

13.3.7    /PERMANENT

   $ PEEK/SAVE_SCREEN /PERMANENT
                      /NOPERMANENT  (default)

   Used to specify that the screen-saving (on AXP) or terminal-logging
   (on AXP or VAX) cannot be shut off for the terminal concerned.

   Example: $ PEEK/SAVE_SCREEN/PERMANENT       ! (AXP-Only)

   Also applies to terminal-logging on both VAX and AXP. E.g.

     PEEK> SAVE_SCREEN /LOG=PERMANENT.LOG /PERMANENT

   The PERMANENT qualifier disallows turning off screen-saving with the
   NOSAVE_SCREEN command. If there is a log file for the screen-saving,
   then the logging cannot be turned off if /PERMANENT is used.

   A permanent screen-saver only goes away when the terminal itself goes
   away (for LTAs etc which are deleted when the user logs off) or when
   the system is shut down (for permanent terminals such as TTAs, etc.).

   The /PERMANENT qualifier should be used with EXTREME CAUTION with
   logging on direct-connect terminal such as TTA's, TXA's or OPA's
   since with these terminals the log file will just continue to grow
   and can't be turned off without rebooting the system.

   /PERMANENT is mainly intended for security use on such things as
   dial-up lines, where a log file of the terminal output is desired
   and the system manager doesn't want the user to be able to stop
   the logging by doing a NOSAVE_SCREEN or SAVE/CLOSE_FILE command.

13.3.8    /REOPEN

   $ PEEK/SAVE_SCREEN/LOG /[NO]REOPEN

   Used to specify that new versions of a terminal-logging file
   should [not] be periodically opened.

   Example: $ PEEK/SAVE_SCREEN/LOG/REOPEN

   /REOPEN re-opens a new version of the log file whenever it
   reaches a certain number of disk blocks, or whenever a certain
   time of day or span of time has elapsed, providing at least a certain
   minimum number of blocks have been written to the file.

   The maximum and minimum blocks and the time of day and time span are
   specified using the /MAX_REOPEN, /MIN_REOPEN, /SPAN and /TIME_OF_DAY
   qualifiers, or by defaults for these which are specified in logical
   names.

   Each reopened log files has a copy of the initial full-screen at the
   time the log file was reopened.

   The default /REOPEN value is taken from the logical SAVE$REOPEN.

   /NOREOPEN is used on the command line to override a default
   /REOPEN value.

   (Note: /APPEND is ignored for PEEK/SAVE/LOG when /REOPEN is
   in effect.)

13.3.9    /SPAN

   $ PEEK/SAVE_SCREEN/LOG/REOPEN /SPAN = minutes
                                 /NOSPAN

   Specifies the approximate time period which should elapse before
   a new version of a terminal-logging file should be started, when
   /REOPEN is in effect.

   Use /NOSPAN to specify that any default /SPAN value should
   be ignored.

   The default value for this qualifier is taken from the logical
   name SAVE$SPAN.

   Example: $ PEEK/SAVE_SCREEN/LOG/REOPEN/SPAN=10

   The number of minutes can contain a decimal point. The minimum
   acceptable value is 1 minute.

   For more information, see the PEEK Commands SAVE_SCREEN Subtopic:
   /REOPEN

13.3.10    /TIME_OF_DAY

   $ PEEK/SAVE_SCREEN/LOG/REOPEN /TIME_OF_DAY = hh:mm
                                 /NOTIME_OF_DAY

   Specifies the approximate time of day when a new version of a
   terminal-logging file should be started (when /REOPEN is in
   effect).

   Use /NOTIME_OF_DAY to specify that any default /TIME_OF_DAY
   value should be ignored.

   The default value for this qualifier is taken from the logical
   name SAVE$TIME_OF_DAY.

   Example: $ PEEK/SAVE_SCREEN/LOG/REOPEN/TIME_OF_DAY=23:59

   The above command specifies that a new log file version should
   be created at 1 minute before midnight each day.

   Valid values for /TIME_OF_DAY are 00:00 through 23:59.

   Note that all 5 characters of the hh:mm syntax are required
   in all cases. Midnight would be specfied as 00:00. (The
   special value /TIME_OF_DAY=-1 is the equivalent of
   /NOTIME_OF_DAY and causes the qualifier to be ignored.)

   Examples:             The log file will be reopened at:

   /TIME_OF_DAY=00:00    12:00 AM
   /TIME_OF_DAY=00:01	12:01 AM
   /TIME_OF_DAY=01:00 	 1:00 AM
   /TIME_OF_DAY=12:00 	12:00 PM
   /TIME_OF_DAY=14:03	 2:03 PM

   Any /MIN_REOPEN value is ignored when reopening a file at
   the /TIME_OF_DAY specified.

   For more information, see the PEEK Commands SAVE_SCREEN
   Subtopic:

   /REOPEN

14  –  SHOW

   $ PEEK /SHOW [ALL] (default)      PEEK> SHOW [ALL] (default)
   $ PEEK /SHOW ALLOWS               PEEK> SHOW ALLOWS
   $ PEEK /SHOW KEYS                 PEEK> SHOW KEYS
   $ PEEK /SHOW LICENSE              PEEK> SHOW LICENSE
   $ PEEK /SHOW PEEK                 PEEK> SHOW PEEK
   $ PEEK /SHOW USERS                PEEK> SHOW USERS
   $ PEEK /SHOW VERSION              PEEK> SHOW VERSION
   $ PEEK /SHOW WATCHER              PEEK> SHOW WATCHER

   Displays PEEK-related information.

14.1  –  ALL

   $ PEEK /SHOW [ALL] (default)      PEEK> SHOW [ALL] (default)

   Displays PEEK-related information which includes the version
   of PEEK, licensing information, ALLOW information, and hot-key
   information (hot-keys for use both when being watched and when
   watching another).

   The /SINGLE_WINDOW qualifier is used in conjuction with NDC's
   MultiSessions product to show information for either the MS Server
   process or for just the single NDC-terminal window which issues
   the SHOW command. See the PEEK Commands SHOW Subtopic:
   /SINGLE_WINDOW.

14.2  –  ALLOWS

   $ PEEK/SHOW ALLOWS          PEEK> SHOW ALLOWS

   Displays the list of identifiers and usernames which you have
   allowed to watch your process with the ALLOW subcommand. (For
   more information about the PEEK ALLOW subcommand, see the
   top-level PEEK Subtopic: Commands ALLOW.)

   The display also tell you whether or not permission to watch
   was granted on a once-only basis or as many times as desired,
   and whether bypassing output or keyboard control were
   disallowed for the ALLOWed users.

   This command will also display any hot-key sequences which have been
   defined for use while you are being watched by another.

   The /SINGLE_WINDOW qualifier is used in conjuction with NDC's
   MultiSessions product to show information for either the MS Server
   process or for just the single NDC-terminal window which issues
   the SHOW command. See the PEEK Commands SHOW Subtopic:
   /SINGLE_WINDOW.

   Format:

     $ PEEK/SHOW ALLOWS        PEEK> SHOW ALLOWS

14.3  –  KEYS

   $ PEEK /SHOW KEYS                 PEEK> SHOW KEYS

   Displays information on the hot-keys which are defined for use
   when being watched and when watching another.

   The /SINGLE_WINDOW qualifier is used in conjuction with NDC's
   MultiSessions product to show information for either the MS Server
   process or for just the single NDC-terminal window which issues
   the SHOW command. See the PEEK Commands SHOW Subtopic:
   /SINGLE_WINDOW.

14.4  –  LICENSE

   $ PEEK /SHOW LICENSE              PEEK> SHOW LICENSE

   Displays license information.

14.5  –  PEEK

   $ PEEK /SHOW PEEK                 PEEK> SHOW PEEK

   Displays any other nodes in the cluster which have started PEEK.

14.6  –  USERS

   $ PEEK /SHOW USERS [node::][spec,spec,...]

   PEEK> SHOW USERS [node::][spec,spec,...]

   Displays data about current users on the system. This helps you more
   easily isolate the users whom you want to watch.

   A parameter, or list of parameters, can be used to qualify which
   users are displayed.

   These parameters take the standard VMS wildcards * and %.

   A nodename can be prefixed before the first user specification in
   the list. In this case, any users on that node matching any of the
   user specifications are displayed. E.g.

     $ PEEK/SHOW USERS ALPHA::SYS,P*USER

   will display any users on node ALPHA that either begin with SYS or
   else start with a 'P' and also contain the string 'USER'.

   (Note that the use of nodenames for the SHOW USERS command differs
   from the use of nodenames in other Peek commands. For SHOW USERS,
   only the first specification in the list may have a nodename
   prepended to it. That nodename applies to all of the subsequent
   user specs in the list.)

   The data shown, and the format of the /SHOW USERS display, are
   user-definable; see the PEEK manual for details on how you can
   customize the /SHOW USERS display to your liking.

   The default format for /SHOW USERS is a look-alike for the VMS
   Version 5.1 DCL SHOW USERS display.

14.7  –  VERSION

   $ PEEK /SHOW VERSION              PEEK> SHOW VERSION

   Display the version of PEEK which is currently running.

14.8  –  WATCHER

   $ PEEK /SHOW WATCHER              PEEK> SHOW WATCHER

   Displays the hot-keys defined for use when watching another.

14.9  –  Qualifiers

14.9.1    /BACKGROUND

   AXP Only...

   /[NO]BACKGROUND

   Synonymous with the /SINGLE_WINDOW and /WINDOW qualifiers. See the
   PEEK Commands SHOW Subtopic: /SINGLE_WINDOW.

14.9.2    /SINGLE_WINDOW

   AXP-Only...

   /[NO]SINGLE_WINDOW

   Used with NDC's MultiSessions product on AXP to determines whether
   the SHOW command applies to the MS Server of the process which
   issues the SHOW command, or to the individual MultiSessions NDC-
   terminal windows from which the command is issued.

   Use SHOW/NOSINGLE_WINDOW to show the ALLOW and hot-key infomation
   for your MS Server process.

   Use SHOW/SINGLE_WINDOW to show the ALLOW and hot-key information for
   the single NDC-terminal window from which you issue the command.

   /SINGLE_WINDOW is synonymous with /BACKGROUND and /WINDOW.

   The default /SINGLE_WINDOW value for a SHOW command is determined by
   the logical USER$BACKGROUND usually defined by PEEK_DEFAULTS.COM.
   You can override this default by using this command qualifier.

   Examples:

   $ PEEK/SHOW/SINGLE_WINDOW     ! Show ALLOW and hot-key information
                                 ! for the single NDC-terminal window
                                 ! from which this command is issued.
   $ PEEK/SHOW/NOSINGLE_WINDOW   ! Show ALLOW and hot-key information
                                 ! for your MS Server process.

14.9.3    /WINDOW

   AXP Only...

   /[NO]WINDOW

   Synonymous with the /BACKGROUND and /SINGLE_WINDOW qualifiers. See
   the PEEK Commands SHOW Subtopic: /SINGLE_WINDOW.

15  –  SHUTDOWN

   $ PEEK /SHUTDOWN                  PEEK> SHUTDOWN

   This subcommand is normally only issued from PEEK_SHUTDOWN.COM.

   The subcommand handles part of shutting down Peek/Spy on the system,
   but does not completely shut Peek/Spy down.

   Therefore, PEEK/SHUTDOWN should only normally be done by
   PEEK_SHUTDOWN.COM.

   Doing a PEEK/SHUTDOWN without doing the rest of PEEK_SHUTDOWN.COM can
   leave Peek/Spy in an inoperable state.

16  –  SPAWN

   PEEK> SPAWN
   This command can be used from the PEEK> prompt to spawn a subprocess.

   The optional parameter is a command string to be executed by the
   spawned subprocess.

   The SPAWN command also takes the following qualifiers:

    /CARRIAGE_CONTROL  - Controls subprocess prompt string format.
    /CLI               - To specify a command line interpreter
                         other than DCL.
    /INPUT             - Where the subprocess gets its input commands.
    /KEYPAD            - Whether DEFINE/KEY settings are inherited.
    /LOG               - Display process name when re-attaching to process.
    /LOGICAL_NAMES     - Whether logical names are inherited.
    /NOTIFY            - If a message is received when subprocess finishes.
    /OUTPUT            - Where subprocess sends its output.
    /PROCESS           - Name of the subprocess to be created.
    /PROMPT            - The prompt string to use for subprocess.
    /SYMBOLS           - Whether symbol definitions are inherited.
    /WAIT              - Does parent wait for subprocess (default=yes).

   For further details, use VMS's HELP on SPAWN, or see the description of
   LIB$SPAWN in the VAX/VMS Run-Time Library Routines Reference Manual.

   Examples:

     PEEK> SPAWN SHOW TIME
       20-FEB-1992 17:13:04
     %PEEK-I-RETURNED, control returned to process D_STROM
     PEEK> SPAWN
     $ SHOW TIME
       20-FEB-1992 17:13:19
     $ LOG
       Process D_STROM_1 logged out at 20-FEB-1992 17:13:21.54
     %PEEK-I-RETURNED, control returned to process D_STROM
     PEEK>
     PEEK> SPAWN/NOWAIT/INPUT=MGR$:CHECK.COM/OUTPUT=MGR$:CHECK.LOG
     %PEEK-I-SPAWNED, process D_STROM_1 spawned
     PEEK>

17  –  SPY

   SPY> SPY [/qualifier=] target_list [/qualifiers]

   (SPY-Only, not for use with PEEK.)

   The SPY subcommand may be used to watch someone with SPY (not PEEK)
   when in interactive command-prompting mode.

   It is synonymous with the WATCH command.

   Examples:

   SPY> SPY JOE              ! Watch process JOE.
   SPY> SPY/TERMINAL=LTA5723 ! Watch terminal LTA5723.
   SPY> SPY/USER=JBREWER     ! Watch user JBREWER.

   For more information and a full list of SPY command qualifiers,
   see the top-level PEEK Subtopic: Watching.

18  –  WATCH

   PEEK> WATCH [/qualifier=] target_list [/qualifiers]
   SPY>  WATCH [/qualifier=] target_list [/qualifiers]

   The WATCH command is used to watch someone when in the interactive
   command-prompting mode of Peek/Spy.

   Examples:

   PEEK> WATCH JOE              ! Watch process JOE.
   PEEK> WATCH/TERMINAL=LTA5723 ! Watch terminal LTA5723.
   SPY>  WATCH/USER=JBREWER     ! Watch user JBREWER.

   For more information and a full list of WATCH command qualifiers,
   see the top-level PEEK Subtopic: Watching.

19    /COMMAND_MODE

   Command mode allows subcommands to be issued as verbs instead of
   as command qualifiers.

   As shipped, command mode is the default mode used during Peek/Spy
   interactive command prompting, and non-command mode is used for
   single-line DCL Peek/Spy commands.

   As shipped:

     In single-line DCL commands, subcommands are qualifiers:

       $ PEEK /ALLOW PETE      ! Allow PETE to watch you.
       $ PEEK /SHOW  USERS     ! Show users on system.
       $ PEEK JOE              ! Watch process JOE.

     During interactive command-prompting, subcommands are verbs:

       $ PEEK                  ! Enter command-prompting mode.
       PEEK> ALLOW PETE        ! Allow PETE to watch you.
       PEEK> SHOW  USERS       ! Show users on system.
       PEEK> WATCH JOE         ! Watch process JOE.

   The subcommands which are accepted as verbs in command mode are:

   ALLOW, ATTACH, DISALLOW, EXIT, FORMAT, HELP, LICENSE,
   NODE_NAME_CHANGE, NOSAVE_SCREEN, PEEK (for PEEK), QUIT,
   RT_ENABLE (VAX-only), SAVE_SCREEN, SHOW, SHUTDOWN, SPAWN,
   SPY (for SPY), and WATCH.

   When in command mode, you must use the WATCH (or PEEK for Peek,
   or SPY for Spy) verb when you want to watch someone. E.g.

     PEEK> WATCH JOE        ! Not  PEEK> JOE.

   The qualifier form of all the above subcommands is also still accepted
   when in command mode, e.g. "PEEK> /WATCH JOE" is accepted.

19.1  –  Disabling Command Mode

   If desired, you can disable command mode, so subcommands must always
   be entered as command qualifiers, even during interacive command
   prompting.

   To disable command mode during Peek/Spy command prompting, define
   the logical name WATCHER$COMMAND_MODE_PROMPT as False.

   This logical name can be defined system-wide by PEEK_DEFAULTS.COM,
   or it can be locally defined in any of the logical-name tables
   specified by LNM$PEEK_TABLE_SEARCH_LIST, which is defined by
   PEEK_DEFAULTS.COM.

   When WATCHER$COMMAND_MODE_PROMPT is FALSE, subcommands must always
   be entered as command qualifiers, even during command prompting.

   Example:  $ PEEK
             PEEK> /ALLOW JOE    ! Not  PEEK> ALLOW JOE
             PEEK> /WATCH *      ! Not  PEEK> WATCH *

19.2  –  Forcing Command Mode

   The /COMMAND_MODE qualifier can be used to force command-mode.

   After entering the /COMMAND_MODE qualifier, you will not need to
   use a slash on the command line, but can enter the various
   subcommands as verbs.

   You can force command-mode syntax, even for single-line DCL
   Peek/Spy commands by changing the Peek/Spy foreign command
   defintions to include the /COMMAND_MODE qualifier.

   Change the DCL definitions of the PEEK and SPY symbols from:
   (The _Vx should be replaced with _V5 or _V6 or _V7.)

     $ PEEK :== $ PEEK$LOCATION:PEEK_Vx
     $ SPY  :== $ PEEK$LOCATION:SPY_Vx
   to
     $ PEEK :== $ PEEK$LOCATION:PEEK_Vx/COMMNAD_MODE
     $ SPY  :== $ PEEK$LOCATION:SPY_Vx/COMMAND_MODE

   Once the PEEK and SPY symbols are so defined, Peek/Spy
   subcommands may be used as verbs in single-line DCL commands.

   Example:

         $ PEEK ALLOW JOE     ! Instead of $ PEEK /ALLOW JOE.
         $ PEEK WATCH *       ! Instead of $ PEEK /WATCH *.

   Note that in command mode, the WATCH verb is required.
   Wrong in command mode:

        $ PEEK JOE            ! Not accepted in command mode.

   Right in command mode:

        $ PEEK WATCH JOE      ! WATCH verb is required syntax.
Close Help