Guardian Programmer's Guide

Table Of Contents
Writing a Command-Interpreter Monitor ($CMON)
Guardian Programmer’s Guide 421922-014
23 - 9
Controlling Logon
Controlling Logon
When a user attempts to log on to the system, the TACL process sends two messages
to the $CMON process: the Prelogon^msg message and the Logon^msg message.
The Prelogon^msg Message
In addition to providing the user ID of the user logging on and information about the
TACL process, the Prelogon^msg message provides the name of the user and
information about whether the user is already logged on. Using this information,
$CMON can invoke additional security, such as requiring a user to log on under one ID
before logging on under another. The Prelogon^msg message has the following
structure:
After processing the Prelogon^msg message, the $CMON process replies with a
Prelogon^reply structure in the format given below. The $CMON process has the
option of accepting or rejecting the request and of sending a display message back to
Structure of command-interpreter message -59 (Prelogon^msg message):
STRUCT PRELOGON^MSG;
BEGIN
INT MSGCODE; ![0] value -59
INT USERID; ![1] user ID of user logging on.
! Value is 0 if user is
! logged off or logged on as
! NULL.NULL (0,0).
INT CIPRI; ![2] current priority of command
! interpreter
INT CIINFILE[0:11]; ![3] TACL process IN file
INT CIOUTFILE[0:11]; ![15] TACL process OUT file
INT LOGGEDON; ![27] value is 0 if command
! interpreter is currently
! logged off, or nonzero if
! TACL process is already
! logged on
INT USERNAME[0:7]; ![28] internal user name through
! which the user wants to
! log on
END;