13.2 – Argument
action OpenVMS usage:value type: longword (unsigned) access: read only mechanism: by value This argument can take two values: If Value of Action Is... Then... LGI$_DISUSER_STOP Do not return on error. LGI$_DISUSER_ Return LGI$_DISUSER or SS$_NORMAL. RETURN
13.3 – Description
The site can use this callback routine to establish the standard OpenVMS action if the DISUSER flag is set.
13.4 – Condition Values Returned
LGI$_DISUSER SS$_NORMAL
14 – LGI$ICB_GET_INPUT
The LGI$ICB_GET_INPUT callback routine enables interaction with the user. Format LGI$ICB_GET_INPUT rab ,flags
14.1 – Returns
No value. Does not return on failure.
14.2 – Arguments
rab OpenVMS usage:rab type: longword (unsigned) access: modify mechanism: by reference Data structure used to set up a read-with-prompt OpenVMS RMS operation. Normally you pass the RAB address in LGI$A_ICR_INPUT_ RAB. flags OpenVMS usage:mask_longword type: longword (unsigned) access: read only mechanism: by reference A data structure that determines the error response as follows: Flags ValueResponse 0 Normal error message. 1 LOGINOUT exits quietly. 2 Normal error message; however, the callback routine returns control to the caller rather than exiting on timeout (timeout status is in RAB).
14.3 – Description
The LGI$ICB_GET_INPUT callback routine invokes the LOGINOUT input routine to enable interaction with character-cell terminal users. The read operation provides a timeout to ensure that the UAF record does not remain locked if the user presses Ctrl/S.
14.4 – Condition Values Returned
No return value. Examine status in RAB to determine the results of the read operation.
15 – LGI$ICB_GET_SYSPWD
The LGI$ICB_GET_SYSPWD callback routine validates the system password. Format LGI$ICB_GET_SYSPWD
15.1 – Returns
No value. Does not return on failure.
15.2 – Arguments
None.
15.3 – Description
This callback routine performs standard system password-checking for interactive logins on character-cell terminals only. If the system password is validated, this callback routine returns control to the caller. If the system password is not validated, the LOGINOUT image exits, and the login is terminated.
15.4 – Condition Values Returned
None.
16 – LGI$ICB_MODALHOURS
The LGI$ICB_MODALHOURS callback routine checks for restrictions on access modes and access hours. Format LGI$ICB_MODALHOURS
16.1 – Returns
No value. Does not return on failure.
16.2 – Arguments
None.
16.3 – Description
The site uses this callback routine to establish the access modes and access hours available to the user. If the user is not authorized to access the system from this login class (batch, dialup, local, remote, network) at this time (as specified in the UAF), the callback routine: o Writes its standard error message to the user terminal, if there is a terminal o Does not return control to the caller
16.4 – Condition Values Returned
None.
17 – LGI$ICB_PASSWORD
The LGI$ICB_PASSWORD callback routine produces the specified password prompt and then processes the input. Format LGI$ICB_PASSWORD password_number ,prompt ,buffer
17.1 – Returns
OpenVMS usage:cond_value type: longword (unsigned) access: write only mechanism: by value Condition value in R0.
17.2 – Arguments
password_number OpenVMS usage:value type: longword (unsigned) access: read only mechanism: by value A numeric value indicating which password to prompt for and what action to take on it: ValuePrompt for 0 Primary password and validate it 1 Secondary password and validate it -1 Primary password but do not validate it -2 Secondary password but do not validate it -3 Arbitrary 32-character value returned to buffer specified in buffer If the value is -3, you must specify the prompt argument and the buffer argument. prompt OpenVMS usage:character string type: string descriptor access: read only mechanism: by reference String that must begin with "cr,lf". If this argument is not supplied, the standard prompt is used. buffer OpenVMS usage:character string type: string descriptor access: modify mechanism: by reference Buffer having at least 32 bytes available to store password when password_number argument value is -3.
17.3 – Description
The site can use this callback routine to interactively prompt for passwords. The routine uses either the standard OpenVMS password prompt or a prompt provided by the caller in the second argument. The password is returned in one of the following locations, depending on the value of the password_number argument: Value of Password_ Number Argument Location 0 or -1 LGI$A_ICR_PWD1 1 or -2 LGI$A_ICR_PWD2 -3 buffer argument NOTE This routine will do overstriking, if necessary, to support echo local terminals. See the VSI OpenVMS Programming Concepts Manual for more information about echo terminals.
17.4 – Condition Values Returned
SS$_NORMAL Success. LGI$_INVPWD Password check failed. LGI$_NOSUCHUSER No UAF record found.
18 – LGI$ICB_PWDEXPIRED
The LGI$ICB_PWDEXPIRED callback routine checks for password expiration. Format LGI$ICB_PWDEXPIRED
18.1 – Returns
No value. Does not return on failure.
18.2 – Arguments
None.
18.3 – Description
Use this callback routine to determine whether the account password has expired. If the password is expired, the callback routine: o Writes its standard error message to the user terminal, if there is a terminal o Does not return control to the caller
18.4 – Condition Values Returned
None.
19 – LGI$ICB_USERPARSE
The LGI$ICB_USERPARSE callback routine parses the user name input. Format LGI$ICB_USERPARSE input_buffer
19.1 – Returns
OpenVMS usage:cond_value type: longword (unsigned) access: write only mechanism: by value Condition value in R0.
19.2 – Argument
input_buffer OpenVMS usage:character string type: string descriptor access: read only mechanism: by reference The input buffer must contain the characters LOGIN in the first five character locations, followed by an ASCII space character and then the user name and applicable site-specified qualifiers.
19.3 – Description
The site can use this callback routine to parse input for interactive logins on character-cell and DECwindows terminals. Upon completion of this routine, the user name is accessible at the LGI$A_USERNAME entry in the standard arguments vector.
19.4 – Condition Values Returned
True (1) if successful; otherwise, any condition code returned by CLI$PARSE.
20 – LGI$ICB_USERPROMPT
The LGI$ICB_USERPROMPT callback routine prompts for the user name. Format LGI$ICB_USERPROMPT prompt
20.1 – Returns
OpenVMS usage:cond_value type: longword (unsigned) access: write only mechanism: by value Condition value in R0.
20.2 – Argument
prompt OpenVMS usage:character string type: string descriptor access: read only mechanism: by reference A string that must begin with "cr,lf". For example, to produce the standard user name prompt, use your language equivalent of the following BLISS value: UPLIT(12,UPLIT BYTE(CR,LF,'Username: ')) Declare the string in C using the following statement: $DESCRIPTOR(<variable_name>, "lrlnUsername:") You then pass the descriptor using the variable name. This routine also produces the standard user name prompt if you pass the value 0 for this argument.
20.3 – Description
Use this callback routine to interactively prompt for the user name on a character-cell terminal. The callback routine reads the response to the prompt and does standard DCL parsing for the user name and any qualifiers provided. Upon completion of this routine, the user name is accessible at the LGI$A_USERNAME entry in the standard arguments vector.
20.4 – Condition Values Returned
SS$_NORMAL Success. LGI$_NOTVALID Retry count exceeded for user input.
21 – LGI$ICB_VALIDATE
The LGI$ICB_VALIDATE callback routine validates the user name and passwords against the system authorization file. Format LGI$ICB_VALIDATE username ,pwd1 ,pwd2
21.1 – Returns
OpenVMS usage:cond_value type: longword (unsigned) access: write only mechanism: by value Condition value in R0.
21.2 – Arguments
username OpenVMS usage:character string type: string descriptor access: read only mechanism: by reference User name. pwd1 OpenVMS usage:character string type: string descriptor access: read only mechanism: by reference Primary password. pwd2 OpenVMS usage:character string type: string descriptor access: read only mechanism: by reference Secondary password.
21.3 – Description
The site can use this callback routine to validate the user name and the user's primary and secondary passwords against the system authorization file (SYSUAF.DAT). The routine also: o Updates the user authorization (UAF) record with information about login failures o Performs security auditing o Performs break-in detection and intrusion evasion
21.4 – Condition Values Returned
Success, or an error indicating the reason for the failure.