there is a terminal

   o  Does not return control to the caller
 

3  Condition_Values_Returned

   None.
 

2  LGI$ICB_USERPARSE
   The LGI$ICB_USERPARSE callback routine parses the user name
   input.

   Format

     LGI$ICB_USERPARSE  input_buffer
 

3  Returns
   OpenVMS usage:cond_value
   type:         longword (unsigned)
   access:       write only
   mechanism:    by value

   Condition value in R0.
 

3  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.
 

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.
 

3  Condition_Values_Returned
   True (1) if successful; otherwise, any condition code returned by
   CLI$PARSE.
 

2  LGI$ICB_USERPROMPT
   The LGI$ICB_USERPROMPT callback routine prompts for the user
   name.

   Format

     LGI$ICB_USERPROMPT  prompt
 

3  Returns
   OpenVMS usage:cond_value
   type:         longword (unsigned)
   access:       write only
   mechanism:    by value

   Condition value in R0.
 

3  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.
 

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.
 

3  Condition_Values_Returned

   SS$_NORMAL         Success.
   LGI$_NOTVALID      Retry count exceeded for user input.
 

2  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
 

3  Returns
   OpenVMS usage:cond_value
   type:         longword (unsigned)
   access:       write only
   mechanism:    by value

   Condition value in R0.
 

3  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.
 

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
 

3  Condition_Values_Returned
   Success, or an error indicating the reason for the failure.