linux_futex.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. // Copyright 2014 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #ifndef SANDBOX_LINUX_SYSTEM_HEADERS_LINUX_FUTEX_H_
  5. #define SANDBOX_LINUX_SYSTEM_HEADERS_LINUX_FUTEX_H_
  6. #include <linux/futex.h>
  7. #if !defined(FUTEX_WAIT)
  8. #define FUTEX_WAIT 0
  9. #endif
  10. #if !defined(FUTEX_WAKE)
  11. #define FUTEX_WAKE 1
  12. #endif
  13. #if !defined(FUTEX_FD)
  14. #define FUTEX_FD 2
  15. #endif
  16. #if !defined(FUTEX_REQUEUE)
  17. #define FUTEX_REQUEUE 3
  18. #endif
  19. #if !defined(FUTEX_CMP_REQUEUE)
  20. #define FUTEX_CMP_REQUEUE 4
  21. #endif
  22. #if !defined(FUTEX_WAKE_OP)
  23. #define FUTEX_WAKE_OP 5
  24. #endif
  25. #if !defined(FUTEX_LOCK_PI)
  26. #define FUTEX_LOCK_PI 6
  27. #endif
  28. #if !defined(FUTEX_UNLOCK_PI)
  29. #define FUTEX_UNLOCK_PI 7
  30. #endif
  31. #if !defined(FUTEX_TRYLOCK_PI)
  32. #define FUTEX_TRYLOCK_PI 8
  33. #endif
  34. #if !defined(FUTEX_WAIT_BITSET)
  35. #define FUTEX_WAIT_BITSET 9
  36. #endif
  37. #if !defined(FUTEX_WAKE_BITSET)
  38. #define FUTEX_WAKE_BITSET 10
  39. #endif
  40. #if !defined(FUTEX_WAIT_REQUEUE_PI)
  41. #define FUTEX_WAIT_REQUEUE_PI 11
  42. #endif
  43. #if !defined(FUTEX_CMP_REQUEUE_PI)
  44. #define FUTEX_CMP_REQUEUE_PI 12
  45. #endif
  46. #if !defined(FUTEX_PRIVATE_FLAG)
  47. #define FUTEX_PRIVATE_FLAG 128
  48. #endif
  49. #if !defined FUTEX_CLOCK_REALTIME
  50. #define FUTEX_CLOCK_REALTIME 256
  51. #endif
  52. #if !defined(FUTEX_CMD_MASK)
  53. #define FUTEX_CMD_MASK ~(FUTEX_PRIVATE_FLAG | FUTEX_CLOCK_REALTIME)
  54. #endif
  55. #if !defined(FUTEX_CMP_REQUEUE_PI_PRIVATE)
  56. #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | FUTEX_PRIVATE_FLAG)
  57. #endif
  58. #if !defined(FUTEX_UNLOCK_PI_PRIVATE)
  59. #define FUTEX_UNLOCK_PI_PRIVATE (FUTEX_UNLOCK_PI | FUTEX_PRIVATE_FLAG)
  60. #endif
  61. #endif // SANDBOX_LINUX_SYSTEM_HEADERS_LINUX_FUTEX_H_