priocntlset(2)


priocntlset -- generalized process scheduler control

Synopsis

   #include <sys/types.h>
   #include <sys/procset.h>
   #include <sys/priocntl.h>
   #include <sys/fppriocntl.h>
   #include <sys/tspriocntl.h>
   

long priocntlset(procset_t *psp, int cmd, void *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


psp
is a pointer to a procset structure, which priocntlset uses to specify the set of processes whose scheduling properties are to be changed. The procset_t structure contains the following members:
     idop_t    p_op;       /* operator connecting left/right sets */
     idtype_t  p_lidtype;  /* left set ID type */
     id_t      p_lid;      /* left set ID */
     idtype_t  p_ridtype;  /* right set ID type */
     id_t      p_rid;      /* right set ID */


p_lidtype and p_lid
specify the ID type and ID of one (``left'') set of processes;

p_ridtype and p_rid
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.


p_op
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 p_op and the processes they specify are:

POP_DIFF
set difference: processes in left set and not in right set

POP_AND
set intersection: processes in both left and right sets

POP_OR
set union: processes in either left or right sets or both

POP_XOR
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:

   #define	setprocset(psp, op, ltype, lid, rtype, rid) \
   (psp)->p_op       = (op), \
   (psp)->p_lidtype  = (ltype), \
   (psp)->p_lid      = (lid), \
   (psp)->p_ridtype  = (rtype), \
   (psp)->p_rid      = (rid);

Return values

priocntlset has the same return values as priocntl(2).

Errors

priocntlset has the same errors as priocntl(2).

References

priocntl(1), priocntl(2)
© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004