Amiga Unix — 68040 · 68060

Manual pages › System calls (2)

priocntlset(2)

generalized process scheduler control

From the original Amiga UNIX 2.1 manual. Some things it mentions may not be in this release.

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(procset_t *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 {
    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 */
  } procset_t;
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),

DIAGNOSTICS

priocntlset has the same return values and errors as priocntl.

SEE ALSO

priocntl(2) priocntl(1) in the User's Reference Manual