Previous | Contents | Index |
The LGI$ICR_INIT callout routine may perform any required initialization functions.
LGI$ICR_INIT arg_vector ,context
OpenVMS usage: cond_value type: longword (unsigned) access: write only mechanism: by value
Returns status indicating whether and how to proceed with the login.
arg_vector
OpenVMS usage: vector type: vector_longword_unsigned access: modify mechanism: by reference
Vector containing callbacks and login information.context
OpenVMS usage: context type: longword (unsigned) access: modify mechanism: by reference
Pointer to site's local context.
This routine is called for all job types before opening input and output files. If desired, the callout routine may initialize the context argument, which LOGINOUT subsequently passes to each callout routine with the address of local storage specific to the callout image.
SS$_NORMAL Access permitted; continue policy checks. LGI$_SKIPRELATED Access permitted; omit calls to the LGI$ICR_INIT callout routine in subsequent images. Other Disallow the login.
None.
The LGI$ICR_JOBSTEP callout routine signals the start of each batch job step.
LGI$ICR_JOBSTEP input_file_name ,context ,write_fao
OpenVMS usage: cond_value type: longword (unsigned) access: write only mechanism: by value
Not applicable.
input_file_name
OpenVMS usage: descriptor type: character string access: read mechanism: by reference
The name of the input file.context
OpenVMS usage: context type: longword (unsigned) access: modify mechanism: by reference
Pointer to site's local context.write_fao (fao_string[,arg1[,arg2][,...]]])
OpenVMS usage: routine type: procedure access: read mechanism: by reference
Address of a routine that may be called to format and display output. The routine has fao_string as its first argument, followed by a variable number of arguments. (See the $FAO system directive in the HP OpenVMS System Services Reference Manual for more information.)
The LGI$ICR_JOBSTEP routine alerts the site of each job step in a batch job. The routine is invoked as LOGINOUT processes each job step. For the first job step, the LGI$ICR_JOBSTEP callout routine is invoked immediately following the LGI$ICR_IDENTIFY callout routine. For all other job steps, it is the only callout routine that is invoked.The routine is provided with the input file name, but the input file is not open when the routine is called. For the first job step, the LGI$ICR_INIT callout routine may provide the batch job step routine with context. For other job steps, the context argument is a null.
For all job steps except the first, the output file is open, and the routine specified by the write_fao argument is available.
There is no OpenVMS policy associated with LGI$ICR_JOBSTEP.
LGI$_SKIPRELATED or any error value Access permitted; omit calls to the LGI$ICR_JOBSTEP callout routine in subsequent images.
None.
The LGI$ICR_LOGOUT callout routine permits the site callout images to respond to the DCL command LOGOUT.
Note
This routine is not called if the calling process is deleted with STOP/PROCESS ($DELPRC). If the calling terminal is disconnected when logout occurs, this routine must not produce output.
LGI$ICR_LOGOUT username ,processname ,creprc_flags ,write_fao
OpenVMS usage: cond_value type: longword (unsigned) access: write only mechanism: by value
Returns logout status from the site program.
username
OpenVMS usage: descriptor type: character string access: read mechanism: by reference
User name.processname
OpenVMS usage: descriptor type: character string access: read mechanism: by reference
Process name.creprc_flags
OpenVMS usage: mask_longword type: longword_unsigned access: read mechanism: by reference
Process creation status flags.
write_fao (fao_string[,arg1[,arg2][,...]]])
OpenVMS usage: routine type: procedure access: read mechanism: by reference
Procedure for writing data. The value is 0 if output is not permitted.Address of a routine that may be called to format and display output. The routine has fao_string as its first argument, followed by a variable number of arguments. (See the $FAO system directive in the HP OpenVMS System Services Reference Manual for more information.)
The LGI$ICR_LOGOUT routine is invoked after auditing is completed and immediately before LOGOUT prints the logout message. This routine cannot prevent the logout from finishing, but it may prevent display of the standard logout message.
LGI$_SKIPRELATED or any error value Access permitted; omit calls to the LGI$ICR_LOGOUT callout routine in subsequent images.
None.
15.5 LOGINOUT Callback Routines
LOGINOUT callout routines use callback routines to interact with the
user or to access other LOGINOUT services. This section describes the
individual callback routines. The description of each routine includes
the following:
The LGI$ICB_ACCTEXPIRED callback routine checks for account expiration.
LGI$ICB_ACCTEXPIRED
No value. Does not return on failure.
None.
The site can use this callback routine to determine if the specified account is expired. If the account is expired, the LGI$ICB_ACCTEXPIRED callback routine:
- Writes its standard error message to the user terminal, if a terminal exists
- Does not return control to the caller
None.
The site may use the LGI$ICB_AUTOLOGIN callback routine to determine whether the standard OpenVMS autologin functionality applies for this terminal.
LGI$ICB_AUTOLOGIN
OpenVMS usage: value type: longword (unsigned) access: write only mechanism: by value
True (logical 1) if autologin enabled; 0 otherwise.
None.
If the standard OpenVMS autologin functionality applies, the callback routine returns the user name to the site program using the standard argument vector so that the autologin process may continue.The autologin determination is made before the site prompts for the user passwords. The callback routine is applicable only for interactive character-cell logins.
Note
Standard OpenVMS policy uses autologin only on directly connected or LAT connected character-cell terminals. The LGI$ICB_AUTOLOGIN callback routine checks the automatic login file (ALF) SYS$SYSTEM:SYSALF.DAT to make the determination.A DECwindows callout can include a method for doing a DECwindows autologin. In that case, the callout routine should set the autologin flag to true before returning control to LOGINOUT.
None.
The LGI$ICB_CHECK_PASS callback routine checks a password against the user authorization file (UAF) record.
LGI$ICB_CHECK_PASS password ,uaf_record ,pwd_number
OpenVMS usage: value type: longword (unsigned) access: write only mechanism: by value
The value 1 for a valid password. The value --4 for an invalid password.
password
OpenVMS usage: character string type: string descriptor access: read only mechanism: by reference
User-supplied password to be validated.uaf_record
OpenVMS usage: buffer type: vector_byte (unsigned) access: read only mechanism: by reference
Address of buffer containing UAF record.pwd_number
OpenVMS usage: value type: longword (unsigned) access: read only mechanism: by value
Password number, 0 (primary) or 1 (secondary).
The site uses this callback routine to check the user-supplied password against the UAF record provided as the second argument. If the password is valid, the routine returns a 1 in R0; if the password is invalid, the routine returns a --4 in R0.
None.
The LGI$ICB_DISUSER callback routine checks the disabled user account flag.
LGI$ICB_DISUSER action
OpenVMS usage: cond_value type: longword (unsigned) access: write only mechanism: by value
Condition value in R0.
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 Return LGI$_DISUSER or SS$_NORMAL.
The site can use this callback routine to establish the standard OpenVMS action if the DISUSER flag is set.
LGI$_DISUSER SS$_NORMAL
The LGI$ICB_GET_INPUT callback routine enables interaction with the user.
LGI$ICB_GET_INPUT rab ,flags
No value. Does not return on failure.
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 Value Response 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).
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.
No return value. Examine status in RAB to determine the results of the read operation.
The LGI$ICB_GET_SYSPWD callback routine validates the system password.
LGI$ICB_GET_SYSPWD
No value. Does not return on failure.
None.
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.
None.
The LGI$ICB_MODALHOURS callback routine checks for restrictions on access modes and access hours.
LGI$ICB_MODALHOURS
No value. Does not return on failure.
None.
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:
- Writes its standard error message to the user terminal, if there is a terminal
- Does not return control to the caller
None.
The LGI$ICB_PASSWORD callback routine produces the specified password prompt and then processes the input.
LGI$ICB_PASSWORD password_number ,prompt ,buffer
OpenVMS usage: cond_value type: longword (unsigned) access: write only mechanism: by value
Condition value in R0.
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:If the value is --3, you must specify the prompt argument and the buffer argument.
Value Prompt 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 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.
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 HP OpenVMS Programming Concepts Manual for more information about echo terminals.
SS$_NORMAL Success. LGI$_INVPWD Password check failed. LGI$_NOSUCHUSER No UAF record found.
Previous | Next | Contents | Index |