priocntlset(2) SYSTEM CALLS priocntlset(2)
NAME
priocntlset - generalized process scheduler control
SYNOPSIS
#include <sys/types.h>
#include <sys/procset.h>
#include <sys/priocntl.h>
#include <sys/rtpriocntl.h>
#include <sys/tspriocntl.h>
long priocntlset(procsett *psp, int cmd, ... /* arg */);
DESCRIPTION
priocntlset changes the scheduling properties of running
processes. priocntlset has the same functions as the
priocntl system call, but a more general way of specifying
the set of processes whose scheduling properties are to be
changed. cmd specifies the function to be performed. arg
is a pointer to a structure whose type depends on cmd. See
priocntl(2) for the valid values of cmd and the correspond-
ing arg structures. psp is a pointer to a procset struc-
ture, which priocntlset uses to specify the set of processes
whose scheduling properties are to be changed.
typedef struct procset {
idopt pop; /* operator connecting left/right sets */
idtypet plidtype; /* left set ID type */
idt plid; /* left set ID */
idtypet pridtype; /* right set ID type */
idt prid; /* right set ID */
} procsett;
plidtype and plid specify the ID type and ID of one
(``left'') set of processes; pridtype and prid specify the
ID type and ID of a second (``right'') set of processes. ID
types and IDs are specified just as for the priocntl system
call. pop specifies the operation to be performed on the
two sets of processes to get the set of processes the system
call is to apply to. The valid values for pop and the
processes they specify are:
POPDIFF set difference: processes in left set and
not in right set
POPAND set intersection: processes in both left and
right sets
POPOR set union: processes in either left or right
sets or both
POPXOR set exclusive-or: processes in left or right
set but not in both
The following macro, which is defined in procset.h, offers a
convenient way to initialize a procset structure:
1
priocntlset(2) SYSTEM CALLS priocntlset(2)
#define setprocset(psp, op, ltype, lid, rtype, rid) \
(psp)->pop = (op), \
(psp)->plidtype = (ltype), \
(psp)->plid = (lid), \
(psp)->pridtype = (rtype), \
(psp)->prid = (rid),
DIAGNOSTICS
priocntlset has the same return values and errors as
priocntl.
SEE ALSO
priocntl(2) priocntl(1) in the User's Reference Manual
2