int sched_get_priority_max(int policy);
int sched_get_priority_min(int policy);
Processes with numerically higher priority values are scheduled before processes with numerically lower priority values. Thus, the value returned by sched_get_priority_max will be greater than the value returned by sched_get_priority_min.
Linux allows the static priority value range 1 to 99 for SCHED_FIFO and SCHED_RR and the priority 0 for SCHED_OTHER. Scheduling priority ranges for the various policies are not alterable.
The range of scheduling priorities may vary on other POSIX systems, thus it is a good idea for portable applications to use a virtual priority range and map it to the interval given by sched_get_priority_max and sched_get_priority_min. POSIX.1b requires a spread of at least 32 between the maximum and the minimum values for SCHED_FIFO and SCHED_RR.
POSIX systems on which sched_get_priority_max and sched_get_priority_min are available define _POSIX_PRIORITY_SCHEDULING in <unistd.h>.
sched_setscheduler(2) has a description of the Linux scheduling scheme.
Programming for the real world - POSIX.4
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