Green shading in the line number column means the source is part of the translation unit, red means it is conditionally excluded. Highlighted line numbers link to the translation unit page. Highlighted macros link to the macro page.
1: /* 2: * Copyright (c) 2003-2012 Apple Inc. All rights reserved. 3: * 4: * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5: * 6: * This file contains Original Code and/or Modifications of Original Code 7: * as defined in and that are subject to the Apple Public Source License 8: * Version 2.0 (the 'License'). You may not use this file except in 9: * compliance with the License. The rights granted to you under the License 10: * may not be used to create, or enable the creation or redistribution of, 11: * unlawful or unlicensed copies of an Apple operating system, or to 12: * circumvent, violate, or enable the circumvention or violation of, any 13: * terms of an Apple operating system software license agreement. 14: * 15: * Please obtain a copy of the License at 16: * http://www.opensource.apple.com/apsl/ and read it before using this file. 17: * 18: * The Original Code and all software distributed under the License are 19: * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 20: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 21: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 22: * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 23: * Please see the License for the specific language governing rights and 24: * limitations under the License. 25: * 26: * @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 27: */ 28: 29: #ifndef __I386_MCONTEXT_H_ 30: #define __I386_MCONTEXT_H_ 31: 32: #include <sys/appleapiopts.h> 33: #include <mach/i386/_structs.h> 34: 35: #ifndef _STRUCT_MCONTEXT32 36: #if __DARWIN_UNIX03 37: #define _STRUCT_MCONTEXT32 struct __darwin_mcontext32 38: _STRUCT_MCONTEXT32 39: { 40: _STRUCT_X86_EXCEPTION_STATE32 __es; 41: _STRUCT_X86_THREAD_STATE32 __ss; 42: _STRUCT_X86_FLOAT_STATE32 __fs; 43: }; 44: 45: #define _STRUCT_MCONTEXT_AVX32 struct __darwin_mcontext_avx32 46: _STRUCT_MCONTEXT_AVX32 47: { 48: _STRUCT_X86_EXCEPTION_STATE32 __es; 49: _STRUCT_X86_THREAD_STATE32 __ss; 50: _STRUCT_X86_AVX_STATE32 __fs; 51: }; 52: 53: #else /* !__DARWIN_UNIX03 */ 54: #define _STRUCT_MCONTEXT32 struct mcontext32 55: _STRUCT_MCONTEXT32 56: { 57: _STRUCT_X86_EXCEPTION_STATE32 es; 58: _STRUCT_X86_THREAD_STATE32 ss; 59: _STRUCT_X86_FLOAT_STATE32 fs; 60: }; 61: 62: #define _STRUCT_MCONTEXT_AVX32 struct mcontext_avx32 63: _STRUCT_MCONTEXT_AVX32 64: { 65: _STRUCT_X86_EXCEPTION_STATE32 es; 66: _STRUCT_X86_THREAD_STATE32 ss; 67: _STRUCT_X86_AVX_STATE32 fs; 68: }; 69: 70: #endif /* __DARWIN_UNIX03 */ 71: #endif /* _STRUCT_MCONTEXT32 */ 72: 73: #ifndef _STRUCT_MCONTEXT64 74: #if __DARWIN_UNIX03 75: #define _STRUCT_MCONTEXT64 struct __darwin_mcontext64 76: _STRUCT_MCONTEXT64 77: { 78: _STRUCT_X86_EXCEPTION_STATE64 __es; 79: _STRUCT_X86_THREAD_STATE64 __ss; 80: _STRUCT_X86_FLOAT_STATE64 __fs; 81: }; 82: 83: #define _STRUCT_MCONTEXT_AVX64 struct __darwin_mcontext_avx64 84: _STRUCT_MCONTEXT_AVX64 85: { 86: _STRUCT_X86_EXCEPTION_STATE64 __es; 87: _STRUCT_X86_THREAD_STATE64 __ss; 88: _STRUCT_X86_AVX_STATE64 __fs; 89: }; 90: 91: #else /* !__DARWIN_UNIX03 */ 92: #define _STRUCT_MCONTEXT64 struct mcontext64 93: _STRUCT_MCONTEXT64 94: { 95: _STRUCT_X86_EXCEPTION_STATE64 es; 96: _STRUCT_X86_THREAD_STATE64 ss; 97: _STRUCT_X86_FLOAT_STATE64 fs; 98: }; 99: 100: #define _STRUCT_MCONTEXT_AVX64 struct mcontext_avx64 101: _STRUCT_MCONTEXT_AVX64 102: { 103: _STRUCT_X86_EXCEPTION_STATE64 es; 104: _STRUCT_X86_THREAD_STATE64 ss; 105: _STRUCT_X86_AVX_STATE64 fs; 106: }; 107: 108: #endif /* __DARWIN_UNIX03 */ 109: #endif /* _STRUCT_MCONTEXT64 */ 110: 111: 112: #ifndef _MCONTEXT_T 113: #define _MCONTEXT_T 114: #if defined(__LP64__) 115: typedef _STRUCT_MCONTEXT64 *mcontext_t; 116: #define _STRUCT_MCONTEXT _STRUCT_MCONTEXT64 117: #else 118: typedef _STRUCT_MCONTEXT32 *mcontext_t; 119: #define _STRUCT_MCONTEXT _STRUCT_MCONTEXT32 120: #endif 121: #endif /* _MCONTEXT_T */ 122: 123: #endif /* __I386_MCONTEXT_H_ */ 124: