Library /sys$common/syshlp/helplib.hlb  —  System Services, $GETLKI
    Returns information about the lock database on a system.

    The $GETLKI service completes asynchronously; for synchronous
    completion, use the Get Lock Information and Wait ($GETLKIW)
    service.

    The $GETLKI, $GETLKIW, $ENQ, $ENQW, and $DEQ services together
    provide the user interface to the Lock Management facility.

    Format

      SYS$GETLKI  [efn] ,lkidadr ,itmlst [,iosb] [,astadr] [,astprm]

                  [,nullarg]

    C Prototype

      int sys$getlki  (unsigned int efn, unsigned int *lkidadr,

                      void *itmlst, struct _iosb *iosb, void

                      (*astadr)(__unknown_params), int astprm,

                      unsigned int reserved);

1  –  Arguments

 efn

    OpenVMS usage:ef_number
    type:         longword (unsigned)
    access:       read only
    mechanism:    by value
    Number of the event flag to be set when $GETLKI completes. The
    efn argument is a longword containing this number; however,
    $GETLKI uses only the low-order byte. If you do not specify efn,
    $GETLKI sets event flag 0.

    HP strongly recommends the use of the EFN$C_ENF "no event flag"
    value as the event flag if you are not using an event flag to
    externally synchronize with the completion of this system service
    call. The $EFNDEF macro defines EFN$C_ENF. For more information,
    see the HP OpenVMS Programming Concepts Manual.

 lkidadr

    OpenVMS usage:lock_id
    type:         longword (unsigned)
    access:       modify
    mechanism:    by reference
    Lock identification (lock ID) for the lock about which
    information is to be returned. The lock ID is the second longword
    in the lock status block, which was created when the lock was
    granted. The lkidadr argument is the address of this longword.

    If the value specified by lkidadr is 0 or -1, $GETLKI assumes
    a wildcard operation and returns information about each lock to
    which the calling process has access, one lock per call.

    To use the $GETLKI service, you must have read/write access to
    the lock ID.

 itmlst

    OpenVMS usage:item_list_3
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference
    Item list specifying the lock information that $GETLKI is to
    return. The itmlst argument is the address of a list of item
    descriptors, each of which describes an item of information. The
    list of item descriptors is terminated by a longword of 0.

    Refer to the HP OpenVMS System Services Reference Manual to view
    the item code diagram and descriptor fields table.

 iosb

    OpenVMS usage:io_status_block
    type:         quadword (unsigned)
    access:       write only
    mechanism:    by reference
    I/O status block that is to receive the final completion status.
    The iosb argument is the address of a quadword.

    When $GETLKI is called, it sets the I/O status block to 0. When
    $GETLKI completes, it writes a condition value to the first
    longword in the quadword. The remaining two words in the quadword
    are unused.

    Although this argument is optional, HP strongly recommends that
    you specify it, for the following reasons:

    o  If you are using an event flag to signal the completion of
       the service, you can test the I/O status block for a condition
       value to be sure that the event flag was not set by an event
       other than service completion.

    o  If you are using the $SYNCH service to synchronize completion
       of the service, the I/O status block is a required argument
       for $SYNCH.

    o  The condition value returned in R0 and the condition value
       returned in the I/O status block provide information about
       different aspects of the call to the $GETLKI service. The
       condition value returned in R0 gives you information about the
       success or failure of the service call itself; the condition
       value returned in the I/O status block gives you information
       about the success or failure of the service operation.
       Therefore, to accurately assess the success or failure of the
       call to $GETLKI, you must check the condition values returned
       in both R0 and the I/O status block.

 astadr

    OpenVMS usage:ast_procedure
    type:         procedure value
    access:       call without stack unwinding
    mechanism:    by reference
    AST service routine to be executed when the service completes.
    The astadr argument is the address of this routine.

    If you specify this argument, the AST routine executes at the
    same access mode as the caller of the $GETLKI service.

 astprm

    OpenVMS usage:user_arg
    type:         longword (unsigned)
    access:       read only
    mechanism:    by value
    AST parameter to be passed to the AST service routine specified
    by the astadr argument. The astprm argument is the longword
    parameter.

 nullarg

    OpenVMS usage:null_arg
    type:         longword (unsigned)
    access:       read only
    mechanism:    by value
    Placeholding argument reserved by HP.
Close Help