Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net...
[deliverable/linux.git] / include / uapi / linux / pr.h
1 #ifndef _UAPI_PR_H
2 #define _UAPI_PR_H
3
4 enum pr_type {
5 PR_WRITE_EXCLUSIVE = 1,
6 PR_EXCLUSIVE_ACCESS = 2,
7 PR_WRITE_EXCLUSIVE_REG_ONLY = 3,
8 PR_EXCLUSIVE_ACCESS_REG_ONLY = 4,
9 PR_WRITE_EXCLUSIVE_ALL_REGS = 5,
10 PR_EXCLUSIVE_ACCESS_ALL_REGS = 6,
11 };
12
13 struct pr_reservation {
14 __u64 key;
15 __u32 type;
16 __u32 flags;
17 };
18
19 struct pr_registration {
20 __u64 old_key;
21 __u64 new_key;
22 __u32 flags;
23 __u32 __pad;
24 };
25
26 struct pr_preempt {
27 __u64 old_key;
28 __u64 new_key;
29 __u32 type;
30 __u32 flags;
31 };
32
33 struct pr_clear {
34 __u64 key;
35 __u32 flags;
36 __u32 __pad;
37 };
38
39 #define PR_FL_IGNORE_KEY (1 << 0) /* ignore existing key */
40
41 #define IOC_PR_REGISTER _IOW('p', 200, struct pr_registration)
42 #define IOC_PR_RESERVE _IOW('p', 201, struct pr_reservation)
43 #define IOC_PR_RELEASE _IOW('p', 202, struct pr_reservation)
44 #define IOC_PR_PREEMPT _IOW('p', 203, struct pr_preempt)
45 #define IOC_PR_PREEMPT_ABORT _IOW('p', 204, struct pr_preempt)
46 #define IOC_PR_CLEAR _IOW('p', 205, struct pr_clear)
47
48 #endif /* _UAPI_PR_H */
This page took 0.030792 seconds and 5 git commands to generate.