X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=src%2Fbasic%2Fprocess-util.h;h=d99fb3d6b84fbdf458953bb3e65bb78251593cf4;hb=53e1b683907c2f12330f00feb9630150196f064d;hp=28d8d7499a5060fde2126ab50cbac1937a142dcb;hpb=23e4a234fc06393e4b7f4cfb8774b326ac5f29e4;p=thirdparty%2Fsystemd.git diff --git a/src/basic/process-util.h b/src/basic/process-util.h index 28d8d7499a5..d99fb3d6b84 100644 --- a/src/basic/process-util.h +++ b/src/basic/process-util.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: LGPL-2.1+ */ #pragma once /*** @@ -20,6 +21,7 @@ ***/ #include +#include #include #include #include @@ -90,6 +92,9 @@ bool oom_score_adjust_is_valid(int oa); unsigned long personality_from_string(const char *p); const char *personality_to_string(unsigned long); +int safe_personality(unsigned long p); +int opinionated_personality(unsigned long *ret); + int ioprio_class_to_string_alloc(int i, char **s); int ioprio_class_from_string(const char *s); @@ -110,6 +115,14 @@ static inline bool nice_is_valid(int n) { return n >= PRIO_MIN && n < PRIO_MAX; } +static inline bool sched_policy_is_valid(int i) { + return IN_SET(i, SCHED_OTHER, SCHED_BATCH, SCHED_IDLE, SCHED_FIFO, SCHED_RR); +} + +static inline bool sched_priority_is_valid(int i) { + return i >= 0 && i <= sched_get_priority_max(SCHED_RR); +} + static inline bool ioprio_class_is_valid(int i) { return IN_SET(i, IOPRIO_CLASS_NONE, IOPRIO_CLASS_RT, IOPRIO_CLASS_BE, IOPRIO_CLASS_IDLE); } @@ -118,4 +131,10 @@ static inline bool ioprio_priority_is_valid(int i) { return i >= 0 && i < IOPRIO_BE_NR; } +static inline bool pid_is_valid(pid_t p) { + return p > 0; +} + int ioprio_parse_priority(const char *s, int *ret); + +pid_t getpid_cached(void);