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