1 /* SPDX-License-Identifier: LGPL-2.1-or-later */
2 
3 #include "ioprio-util.h"
4 #include "parse-util.h"
5 #include "string-table.h"
6 
ioprio_parse_priority(const char * s,int * ret)7 int ioprio_parse_priority(const char *s, int *ret) {
8         int i, r;
9 
10         assert(s);
11         assert(ret);
12 
13         r = safe_atoi(s, &i);
14         if (r < 0)
15                 return r;
16 
17         if (!ioprio_priority_is_valid(i))
18                 return -EINVAL;
19 
20         *ret = i;
21         return 0;
22 }
23 
24 static const char *const ioprio_class_table[] = {
25         [IOPRIO_CLASS_NONE] = "none",
26         [IOPRIO_CLASS_RT] = "realtime",
27         [IOPRIO_CLASS_BE] = "best-effort",
28         [IOPRIO_CLASS_IDLE] = "idle",
29 };
30 
31 DEFINE_STRING_TABLE_LOOKUP_WITH_FALLBACK(ioprio_class, int, IOPRIO_N_CLASSES);
32