HELPLIB.HLB  —  LGI Routines
access: write only mechanism: by value Condition value in R0.

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.
Close Help