NAME

     sched_setparam, sched_getparam  -  set  and  get  scheduling
     parameters


SYNOPSIS

     #include <sched.h>

     int sched_setparam(pid_t pid, const struct sched_param *p);

     int sched_getparam(pid_t pid, struct sched_param *p);

     struct sched_param {
         ...
         int sched_priority;
         ...
     };


DESCRIPTION

     sched_setparam sets  the  scheduling  parameters  associated
     with  the  scheduling  policy  for the process identified by
     pid. If pid is zero, then the parameters of the current pro-
     cess  are set. The interpretation of the parameter p depends
     on the  selected  policy.  Currently,  the  following  three
     scheduling  policies are supported under Linux:  SCHED_FIFO,
     SCHED_RR, and SCHED_OTHER.

     sched_getparam retrieves the scheduling parameters  for  the
     process  identified by pid. If pid is zero, then the parame-
     ters of the current process are retrieved.

     sched_setparam checks the validity of p for  the  scheduling
     policy  of the process. The parameter p->sched_priority must
     lie within the range  given  by  sched_get_priority_min  and
     sched_get_priority_max.

     POSIX systems on which sched_setparam and sched_getparam are
     available define _POSIX_PRIORITY_SCHEDULING in <unistd.h>.



RETURN VALUE

     On success, sched_setparam and sched_getparam return 0.   On
     error, -1 is returned, errno is set appropriately.


ERRORS

     ESRCH   The process whose ID is pid could not be found.

     EPERM   The  calling  process  does  not  have   appropriate
             privileges. The process calling sched_setparam needs
             an effective uid equal to the euid  or  uid  of  the
             process identified by pid, or it must be a superuser
             process.

     EINVAL  The parameter p does not make sense for the  current
             scheduling policy.


CONFORMING TO

     POSIX.1b (formerly POSIX.4)


SEE ALSO

     sched_setscheduler(2),                sched_getscheduler(2),
     sched_get_priority_max(2),        sched_get_priority_min(2),
     nice(2), setpriority(2), getpriority(2),

     sched_setscheduler(2)  has  a  description  of   the   Linux
     scheduling scheme.

     Programming for the real world -  by  Bill  O.  Gallmeister,
     O'Reilly & Associates, Inc., ISBN 1-56592-074-0
     IEEE Std 1003.1b-1993 (POSIX.1b standard)
     ISO/IEC 9945-1:1996