HELPLIB.HLB  —  System Services, $SETPRI
    Changes the base priority of the process. The base priority is
    used to determine the order in which executable processes are to
    run.

    Format

      SYS$SETPRI  [pidadr] ,[prcnam] ,pri ,[prvpri] ,[nullarg]

                  ,[nullarg]

    C Prototype

      int sys$setpri  (unsigned int *pidadr, void *prcnam, unsigned

                      int pri, unsigned int *prvpri, unsigned int

                      *pol, unsigned int *prvpol);

1  –  Arguments

 pidadr

    OpenVMS usage:process_id
    type:         longword (unsigned)
    access:       modify
    mechanism:    by reference
    Process identification (PID) of the process whose priority is to
    be set. The pidadr argument is the address of the PID. The pidadr
    argument can refer to a process running on the local node or a
    process running on another node in the cluster.

 prcnam

    OpenVMS usage:process_name
    type:         character-coded text string
    access:       read only
    mechanism:    by descriptor-fixed-length string descriptor
    Process name of the process whose priority is to be changed. The
    prcnam argument is the address of a character string descriptor
    pointing to the process name.

    A process running on the local node can be identified with a 1-
    to 15-character string. To identify a process on a particular
    node on a cluster, specify the full process name, which includes
    the node name as well as the process name. The full process name
    can contain up to 23 characters.

    You can use the prcnam argument only on behalf of processes in
    the same UIC group as the calling process. To set the priority
    for processes in other groups, you must specify the pidadr
    argument.

 pri

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by value
    New base priority to be established for the process. The pri
    argument is a longword value containing the new priority.
    Priorities that are not real time are in the range 0 through
    15; real-time priorities are in the range 16 through 31.

    If the specified priority is higher than the base priority of the
    target process, and if the caller does not have ALTPRI privilege,
    then the base priority of the target process is used.

 prvpri

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       write only
    mechanism:    by reference
    Base priority of the process before the call to $SETPRI. The
    prvpri argument is the address of a longword into which $SETPRI
    writes the previous base priority of the process.

 policy

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference
    On Alpha and Integrity server systems, address of a longword
    containing the new scheduling policy for the process.

    The $JPIDEF macro defines the following symbols for the policy
    argument:

    Symbol            Meaning

    JPI$K_DEFAULT_    The normal scheduling policy. The priority
    POLICY            interval for this policy is defined as [0..n],
                      such that priorities [0..15] are interactive
                      and priorities [16..n] are real time.

    JPI$K_PSX_FIFO_   POSIX FIFO scheduling policy. The priority
    POLICY            interval for this policy is defined as [n..m]
                      real-time priorities.

    JPI$K_PSX_RR_     POSIX round-robin policy. The priority interval
    POLICY            for this policy is defined as [n..m] real-time
                      priorities.

 prvpol

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       write only
    mechanism:    by reference
    On Alpha and Integrity server systems, address of a longword into
    which the previous scheduling policy for the process is written.
    If the policy argument is null, no change in policy is requested
    and prvpol returns the current policy.

    The valid priority intervals for specific scheduling policies
    might change in the future. Applications should, therefore,
    not use embedded numeric constants for scheduling priority, but
    should use the appropriate $GETSYI item codes to fetch the legal
    priority intervals. The application can then dynamically select
    a priority value that is within the interval. The $GETSYI item
    codes are:

    o  SYI$_DEF_PRIO_MAX, SYI$_DEF_PRIO_MIN

    o  SYI$_PSXFIFO_PRIO_MAX, SYI$_PSXFIFO_PRIO_MIN

    o  SYI$_PSXRR_PRIO_MAX, SYI$_PSXRR_PRIO_MIN

    For more information about these item codes, see the $GETSYI
    service description in the VSI OpenVMS System Services Reference
    Manual.

 nullarg

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