]> git.ipfire.org Git - thirdparty/glibc.git/blame - sysdeps/unix/sysv/linux/getpriority.c
Prefer https to http for gnu.org and fsf.org URLs
[thirdparty/glibc.git] / sysdeps / unix / sysv / linux / getpriority.c
CommitLineData
7a12c6bb 1/* getpriority for Linux.
04277e02 2 Copyright (C) 1996-2019 Free Software Foundation, Inc.
41bdb6e2 3 This file is part of the GNU C Library.
b5791037
UD
4
5 The GNU C Library is free software; you can redistribute it and/or
41bdb6e2
AJ
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
b5791037
UD
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
41bdb6e2 13 Lesser General Public License for more details.
b5791037 14
41bdb6e2 15 You should have received a copy of the GNU Lesser General Public
59ba27a6 16 License along with the GNU C Library; if not, see
5a82c748 17 <https://www.gnu.org/licenses/>. */
7a12c6bb
RM
18
19#include <errno.h>
20#include <sys/resource.h>
21
0dee6738
UD
22#include <sysdep.h>
23#include <sys/syscall.h>
24
4a244f0d 25/* The return value of getpriority syscall is biased by this value
7a12c6bb
RM
26 to avoid returning negative values. */
27#define PZERO 20
28
29/* Return the highest priority of any process specified by WHICH and WHO
30 (see above); if WHO is zero, the current process, process group, or user
31 (as specified by WHO) is used. A lower priority number means higher
32 priority. Priorities range from PRIO_MIN to PRIO_MAX. */
33
34int
c3621351 35__getpriority (enum __priority_which which, id_t who)
7a12c6bb 36{
e5dee2c8
L
37 int res;
38
39 res = INLINE_SYSCALL (getpriority, 2, (int) which, who);
40 if (res >= 0)
41 res = PZERO - res;
42 return res;
7a12c6bb 43}
c3621351
JM
44libc_hidden_def (__getpriority)
45weak_alias (__getpriority, getpriority)