VMS Help  —  System Services, $SET RESOURCE DOMAIN
    Controls the association between a calling process and resource
    domains.

    Format

      SYS$SET_RESOURCE_DOMAIN  func ,rsdm_id ,domain_number

                               ,[nullarg] ,[access] ,[acmode]

    C Prototype

      int sys$set_resource_domain  (unsigned int func, unsigned

                                   int *rsdm_id, unsigned int

                                   domain_number, unsigned int

                                   nullarg, unsigned int access,

                                   unsigned int acmode);

1  –  Arguments

 func

    OpenVMS usage:function_code
    type:         longword (unsigned)
    access:       read only
    mechanism:    by value
    Function code specifying the action that $SET_RESOURCE_DOMAIN
    is to perform. The func argument is a longword containing this
    function code.

    See the Function Codes section in the VSI OpenVMS System Services
    Reference Manual for a description of $SET_RESOURCE_DOMAIN
    function codes.

 rsdm_id

    OpenVMS usage:longword
    type:         longword (unsigned)
    access:       write only to join, read only to leave
    mechanism:    by reference
    Resource domain identification. The rsdm_id argument is the
    address of a longword specifying the association of the calling
    process with the resource domain.

    The RSDM$_JOIN_DOMAIN function returns a resource domain
    identification. The RSDM$_LEAVE function requires the rsdm_id
    argument as input to specify which resource domain association
    the process is leaving.

    The resource domain identification can be used as input to the
    $ENQ and $ENQW system services.

 domain_number

    OpenVMS usage:longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by value
    Domain number that identifies the resource domain. The domain_
    number argument is a longword value containing the resource
    domain number.

    The domain_number argument is required for the RSDM$_JOIN_DOMAIN
    function but ignored for the RSDM$_LEAVE function.

 nullarg

    OpenVMS usage:null_arg
    type:         longword (unsigned)
    access:       read only
    mechanism:    by value
    Placeholder Reserved to VSI. You must specify 0.

 access

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by value
    Types of access desired when using the lock management services
    within the resource domain. The access argument is a longword
    bit mask specifying the access types required; these can include
    read, write, and lock.

    The following table lists the symbols that the $RSDMDEF macro
    defines, their descriptions, and the lock management system
    services that might require each type of access:

                   Access
    Symbol         Description      System Service

    RSDM$M_READ    Read lock value  $DEQ, $ENQ, $ENQW, $GETLKI,
                   blocks           $GETLKIW
    RSDM$M_WRITE   Write lock       $DEQ, $ENQ, $ENQW,
                   value blocks
    RSDM$M_LOCK    Take locks       $ENQ, $ENQW

    The service grants the desired access, provided your process has
    the necessary access rights to the resource domain. If you do not
    specify the access argument or if you specify 0, $SET_RESOURCE_
    DOMAIN attempts to access the domain in the following order:

    1. Read, write, lock

    2. Read, lock

    3. Write, lock

    4. Lock

    The access attempt terminates with the first success.

    The access argument defaults to 0. It is ignored for the RSDM$_
    LEAVE function.

 acmode

    OpenVMS usage:access_mode
    type:         longword (unsigned)
    access:       read only
    mechanism:    by value
    Access mode requested for the association to the resource domain.
    The most privileged access mode granted is the access mode of the
    caller. Locks cannot be taken from access modes less privileged
    than the access mode of the association.

    The acmode argument is a longword containing the access mode. The
    $PSLDEF macro defines the following symbols for the access modes:

    Symbolic      Access     Privilege
    Name          Mode       Rank

    PSL$C_KERNEL  Kernel     High
    PSL$C_EXEC    Executive  -
    PSL$C_SUPER   Supervisor -
    PSL$C_USER    User       Low

    The acmode argument is optional for the RSDM$_JOIN_DOMAIN
    function. If you do not specify the acmode argument, the access
    mode is set to the access mode of the calling process. The acmode
    argument is ignored for the RSDM$_LEAVE function.
Close Help