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 5 #ifndef SANDBOX_LINUX_SERVICES_ANDROID_ARM64_UCONTEXT_H_ 6 #define SANDBOX_LINUX_SERVICES_ANDROID_ARM64_UCONTEXT_H_ 7 8 #if !defined(__BIONIC_HAVE_UCONTEXT_T) 9 #include <asm/sigcontext.h> 10 #include <signal.h> 11 // We also need greg_t for the sandbox, include it in this header as well. 12 typedef uint64_t greg_t; 13 14 struct ucontext_t { 15 unsigned long uc_flags; 16 struct ucontext* uc_link; 17 stack_t uc_stack; 18 sigset_t uc_sigmask; 19 /* glibc uses a 1024-bit sigset_t */ 20 uint8_t unused[1024 / 8 - sizeof(sigset_t)]; 21 /* last for future expansion */ 22 struct sigcontext uc_mcontext; 23 }; 24 25 #else 26 #include <sys/ucontext.h> 27 #endif // __BIONIC_HAVE_UCONTEXT_T 28 29 #endif // SANDBOX_LINUX_SERVICES_ANDROID_ARM64_UCONTEXT_H_ 30