linux/include/uapi/linux/pr.h
<<
>>
Prefs
   1#ifndef _UAPI_PR_H
   2#define _UAPI_PR_H
   3
   4enum 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
  13struct pr_reservation {
  14        __u64   key;
  15        __u32   type;
  16        __u32   flags;
  17};
  18
  19struct pr_registration {
  20        __u64   old_key;
  21        __u64   new_key;
  22        __u32   flags;
  23        __u32   __pad;
  24};
  25
  26struct pr_preempt {
  27        __u64   old_key;
  28        __u64   new_key;
  29        __u32   type;
  30        __u32   flags;
  31};
  32
  33struct 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 */
  49