VMS Help  —  System Services, $GET USER CAPABILITY (Alpha and Integrity servers)
    On Alpha and Integrity server systems, reserves a user
    capability, indicating to other processes that the resource is
    in use.

    This service accepts 64-bit addresses.

    Format

      SYS$GET_USER_CAPABILITY   cap_num [,select_num] [,select_mask]

                                [,prev_mask] [,flags]

    C Prototype

      int sys$get_user_capability  (*cap_num, int *select_num, struct

                                   _generic_64 *select_mask, struct

                                   _generic_64 *prev_mask, struct

                                   _generic_64 *flags);

1  –  Arguments

 cap_num

    OpenVMS usage:longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by 32- or 64-bit reference
    Capability number to be reserved by the calling kernel thread.
    This number can range from 1 to 16 for an explicit request, or
    the symbolic constant CAP$K_GET_FREE_CAP can be specified to
    get the next available user capability. The cap_num argument is
    the 32- or 64-bit address of the longword containing the user
    capability number or symbolic constant.

 select_num

    OpenVMS usage:longword
    type:         longword (unsigned)
    access:       write only
    mechanism:    by 32- or 64-bit reference
    The number of the user capability selected by the service
    call. The select_num argument is the 32- or 64-bit address of
    a longword into which the system writes the user capability
    number. For an explicit numeric request, the value returned in
    this longword will match that specified in cap_num; otherwise,
    this cell contains the next available user capability.

 select_mask

    OpenVMS usage:mask_quadword
    type:         quadword (unsigned)
    access:       write only
    mechanism:    by 32- or 64-bit reference
    A quadword bit mask with a single bit position set, reflecting
    the user capability selected by the service. The select_
    mask argument is the 32- or 64-bit address of a quadword into
    which the system writes the selected user capability bit mask.
    This bit mask is the most efficient method for indicating the
    reserved user capability with the $CPU_CAPABILITIES and $PROCESS_
    CAPABILITIES services.

 prev_mask

    OpenVMS usage:mask_quadword
    type:         quadword (unsigned)
    access:       write only
    mechanism:    by 32- or 64-bit reference
    The previous user capability reservation mask before execution
    of this service call. The prev_mask argument is the 32- or 64-bit
    address of a quadword into which the service writes a quadword
    bit mask specifying the previously reserved user capabilities
    taken from the global cell SCH$GQ_RESERVED_USER_CAPS.

 flags

    OpenVMS usage:mask_quadword
    type:         quadword (unsigned)
    access:       read only
    mechanism:    by 32- or 64-bit reference
    Options selected for the user capability reservation. The flags
    argument is a quadword bit vector wherein a bit corresponds to an
    option.

    Each option (bit) has a symbolic name, which the $CAPDEF macro
    defines. The flags argument is constructed by performing a
    logical OR operation using the symbolic names of each desired
    option.

    At this time, all bits are Reserved to VSI and must be 0.
Close Help