159c5f4b0fb104e8e4806e4934a3d5d112ad695abDaniel Erat// Copyright 2014 The Chromium Authors. All rights reserved. 259c5f4b0fb104e8e4806e4934a3d5d112ad695abDaniel Erat// Use of this source code is governed by a BSD-style license that can be 359c5f4b0fb104e8e4806e4934a3d5d112ad695abDaniel Erat// found in the LICENSE file. 459c5f4b0fb104e8e4806e4934a3d5d112ad695abDaniel Erat 559c5f4b0fb104e8e4806e4934a3d5d112ad695abDaniel Erat#ifndef SANDBOX_LINUX_SYSTEM_HEADERS_ARM64_LINUX_UCONTEXT_H_ 659c5f4b0fb104e8e4806e4934a3d5d112ad695abDaniel Erat#define SANDBOX_LINUX_SYSTEM_HEADERS_ARM64_LINUX_UCONTEXT_H_ 759c5f4b0fb104e8e4806e4934a3d5d112ad695abDaniel Erat 859c5f4b0fb104e8e4806e4934a3d5d112ad695abDaniel Erat#if !defined(__BIONIC_HAVE_UCONTEXT_T) 959c5f4b0fb104e8e4806e4934a3d5d112ad695abDaniel Erat#include <asm/sigcontext.h> 1059c5f4b0fb104e8e4806e4934a3d5d112ad695abDaniel Erat#include <signal.h> 11cce46a0c214b37e8da48c522c83037e8ffa4f9fdAlex Vakulenko#include <stdint.h> 1259c5f4b0fb104e8e4806e4934a3d5d112ad695abDaniel Erat// We also need greg_t for the sandbox, include it in this header as well. 1359c5f4b0fb104e8e4806e4934a3d5d112ad695abDaniel Erattypedef uint64_t greg_t; 1459c5f4b0fb104e8e4806e4934a3d5d112ad695abDaniel Erat 1559c5f4b0fb104e8e4806e4934a3d5d112ad695abDaniel Eratstruct ucontext_t { 1659c5f4b0fb104e8e4806e4934a3d5d112ad695abDaniel Erat unsigned long uc_flags; 1759c5f4b0fb104e8e4806e4934a3d5d112ad695abDaniel Erat struct ucontext* uc_link; 1859c5f4b0fb104e8e4806e4934a3d5d112ad695abDaniel Erat stack_t uc_stack; 1959c5f4b0fb104e8e4806e4934a3d5d112ad695abDaniel Erat sigset_t uc_sigmask; 2059c5f4b0fb104e8e4806e4934a3d5d112ad695abDaniel Erat /* glibc uses a 1024-bit sigset_t */ 2159c5f4b0fb104e8e4806e4934a3d5d112ad695abDaniel Erat uint8_t unused[1024 / 8 - sizeof(sigset_t)]; 2259c5f4b0fb104e8e4806e4934a3d5d112ad695abDaniel Erat /* last for future expansion */ 2359c5f4b0fb104e8e4806e4934a3d5d112ad695abDaniel Erat struct sigcontext uc_mcontext; 2459c5f4b0fb104e8e4806e4934a3d5d112ad695abDaniel Erat}; 2559c5f4b0fb104e8e4806e4934a3d5d112ad695abDaniel Erat 2659c5f4b0fb104e8e4806e4934a3d5d112ad695abDaniel Erat#else 2759c5f4b0fb104e8e4806e4934a3d5d112ad695abDaniel Erat#include <sys/ucontext.h> 2859c5f4b0fb104e8e4806e4934a3d5d112ad695abDaniel Erat#endif // __BIONIC_HAVE_UCONTEXT_T 2959c5f4b0fb104e8e4806e4934a3d5d112ad695abDaniel Erat 3059c5f4b0fb104e8e4806e4934a3d5d112ad695abDaniel Erat#endif // SANDBOX_LINUX_SYSTEM_HEADERS_ARM64_LINUX_UCONTEXT_H_ 31