1 // Copyright (c) 2012 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 5 #ifndef SANDBOX_LINUX_SERVICES_ANDROID_ARM_UCONTEXT_H_ 6 #define SANDBOX_LINUX_SERVICES_ANDROID_ARM_UCONTEXT_H_ 7 8 #if !defined(__BIONIC_HAVE_UCONTEXT_T) 9 #include <asm/sigcontext.h> 10 11 // We also need greg_t for the sandbox, include it in this header as well. 12 typedef unsigned long greg_t; 13 14 //typedef unsigned long sigset_t; 15 typedef struct ucontext { 16 unsigned long uc_flags; 17 struct ucontext *uc_link; 18 stack_t uc_stack; 19 struct sigcontext uc_mcontext; 20 sigset_t uc_sigmask; 21 /* Allow for uc_sigmask growth. Glibc uses a 1024-bit sigset_t. */ 22 int __not_used[32 - (sizeof (sigset_t) / sizeof (int))]; 23 /* Last for extensibility. Eight byte aligned because some 24 coprocessors require eight byte alignment. */ 25 unsigned long uc_regspace[128] __attribute__((__aligned__(8))); 26 } ucontext_t; 27 28 #else 29 #include <sys/ucontext.h> 30 #endif // __BIONIC_HAVE_UCONTEXT_T 31 32 #endif // SANDBOX_LINUX_SERVICES_ANDROID_ARM_UCONTEXT_H_ 33