michael@0: // Copyright (c) 2012 The Chromium Authors. All rights reserved. michael@0: // Use of this source code is governed by a BSD-style license that can be michael@0: // found in the LICENSE file. michael@0: michael@0: /* This file has been imported from michael@0: * http://git.chromium.org/gitweb/?p=chromium.git;a=blob;f=sandbox/linux/services/android_arm_ucontext.h;hb=99b3e83972e478a42fa72da1ffefee58413e87d4 michael@0: */ michael@0: michael@0: #ifndef SANDBOX_LINUX_SERVICES_ANDROID_ARM_UCONTEXT_H_ michael@0: #define SANDBOX_LINUX_SERVICES_ANDROID_ARM_UCONTEXT_H_ michael@0: michael@0: #if !defined(__BIONIC_HAVE_UCONTEXT_T) michael@0: #include michael@0: michael@0: // We also need greg_t for the sandbox, include it in this header as well. michael@0: typedef unsigned long greg_t; michael@0: michael@0: //typedef unsigned long sigset_t; michael@0: typedef struct ucontext { michael@0: unsigned long uc_flags; michael@0: struct ucontext *uc_link; michael@0: stack_t uc_stack; michael@0: struct sigcontext uc_mcontext; michael@0: sigset_t uc_sigmask; michael@0: /* Allow for uc_sigmask growth. Glibc uses a 1024-bit sigset_t. */ michael@0: int __not_used[32 - (sizeof (sigset_t) / sizeof (int))]; michael@0: /* Last for extensibility. Eight byte aligned because some michael@0: coprocessors require eight byte alignment. */ michael@0: unsigned long uc_regspace[128] __attribute__((__aligned__(8))); michael@0: } ucontext_t; michael@0: michael@0: #else michael@0: #include michael@0: #endif // __BIONIC_HAVE_UCONTEXT_T michael@0: michael@0: #endif // SANDBOX_LINUX_SERVICES_ANDROID_ARM_UCONTEXT_H_