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. 12typedef uint64_t greg_t; 13 14struct 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