146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// found in the LICENSE file. 446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#ifndef SANDBOX_LINUX_SERVICES_ANDROID_FUTEX_H_ 646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#define SANDBOX_LINUX_SERVICES_ANDROID_FUTEX_H_ 746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 81320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#if !defined(FUTEX_WAIT) 91320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define FUTEX_WAIT 0 101320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#endif 111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#if !defined(FUTEX_WAKE) 131320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define FUTEX_WAKE 1 141320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#endif 151320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#if !defined(FUTEX_FD) 171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define FUTEX_FD 2 181320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#endif 191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#if !defined(FUTEX_REQUEUE) 211320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define FUTEX_REQUEUE 3 221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#endif 231320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 241320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#if !defined(FUTEX_CMP_REQUEUE) 251320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define FUTEX_CMP_REQUEUE 4 261320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#endif 271320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 281320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#if !defined(FUTEX_WAKE_OP) 291320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define FUTEX_WAKE_OP 5 301320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#endif 311320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 321320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#if !defined(FUTEX_LOCK_PI) 331320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define FUTEX_LOCK_PI 6 341320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#endif 351320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 361320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#if !defined(FUTEX_UNLOCK_PI) 371320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define FUTEX_UNLOCK_PI 7 381320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#endif 391320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 401320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#if !defined(FUTEX_TRYLOCK_PI) 411320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define FUTEX_TRYLOCK_PI 8 421320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#endif 431320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 441320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#if !defined(FUTEX_WAIT_BITSET) 451320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define FUTEX_WAIT_BITSET 9 461320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#endif 471320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 481320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#if !defined(FUTEX_WAKE_BITSET) 491320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define FUTEX_WAKE_BITSET 10 501320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#endif 511320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 521320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#if !defined(FUTEX_WAIT_REQUEUE_PI) 531320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define FUTEX_WAIT_REQUEUE_PI 11 541320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#endif 551320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 561320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#if !defined(FUTEX_CMP_REQUEUE_PI) 571320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define FUTEX_CMP_REQUEUE_PI 12 581320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#endif 591320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 6046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#if !defined(FUTEX_PRIVATE_FLAG) 6146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#define FUTEX_PRIVATE_FLAG 128 6246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#endif 6346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 641320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#if !defined FUTEX_CLOCK_REALTIME 6546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#define FUTEX_CLOCK_REALTIME 256 6646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#endif 6746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 681320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#if !defined(FUTEX_CMD_MASK) 691320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define FUTEX_CMD_MASK ~(FUTEX_PRIVATE_FLAG | FUTEX_CLOCK_REALTIME) 7046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#endif 7146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 7246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#if !defined(FUTEX_CMP_REQUEUE_PI_PRIVATE) 7346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | FUTEX_PRIVATE_FLAG) 7446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#endif 7546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 761320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#if !defined(FUTEX_UNLOCK_PI_PRIVATE) 771320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define FUTEX_UNLOCK_PI_PRIVATE (FUTEX_UNLOCK_PI | FUTEX_PRIVATE_FLAG) 7846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#endif 7946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 8046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#endif // SANDBOX_LINUX_SERVICES_ANDROID_FUTEX_H_ 81