1/* 2 * Copyright (c) 1999-2012 Apple Computer, 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#if !defined(KERNEL) 30#include <MacTypes.h> 31#endif /* !KERNEL */ 32 33#ifndef _OS_OSTYPES_H 34#define _OS_OSTYPES_H 35 36#define OSTYPES_K64_REV 2 37 38typedef unsigned int UInt; 39typedef signed int SInt; 40 41#if defined(KERNEL) 42 43typedef unsigned char UInt8; 44typedef unsigned short UInt16; 45#if __LP64__ 46typedef unsigned int UInt32; 47#else 48typedef unsigned long UInt32; 49#endif 50typedef unsigned long long UInt64; 51#if defined(__BIG_ENDIAN__) 52typedef struct __attribute__((deprecated)) UnsignedWide { 53 UInt32 hi; 54 UInt32 lo; 55} UnsignedWide __attribute__((deprecated)); 56#elif defined(__LITTLE_ENDIAN__) 57typedef struct __attribute__((deprecated)) UnsignedWide { 58 UInt32 lo; 59 UInt32 hi; 60} UnsignedWide __attribute__((deprecated)); 61#else 62#error Unknown endianess. 63#endif 64 65typedef signed char SInt8; 66typedef signed short SInt16; 67#if __LP64__ 68typedef signed int SInt32; 69#else 70typedef signed long SInt32; 71#endif 72typedef signed long long SInt64; 73 74typedef SInt32 OSStatus; 75 76#ifndef ABSOLUTETIME_SCALAR_TYPE 77#define ABSOLUTETIME_SCALAR_TYPE 1 78#endif 79typedef UInt64 AbsoluteTime; 80 81typedef UInt32 OptionBits __attribute__((deprecated)); 82 83#if defined(__LP64__) 84/* 85 * Use intrinsic boolean types for the LP64 kernel, otherwise maintain 86 * source and binary backward compatibility. This attempts to resolve 87 * the "(x == true)" vs. "(x)" conditional issue. 88 */ 89#ifdef __cplusplus 90typedef bool Boolean; 91#else /* !__cplusplus */ 92#if defined(__STDC_VERSION__) && ((__STDC_VERSION__ - 199901L) > 0L) 93/* only use this if we are sure we are using a c99 compiler */ 94typedef _Bool Boolean; 95#else /* !c99 */ 96/* Fall back to previous definition unless c99 */ 97typedef unsigned char Boolean; 98#endif /* !c99 */ 99#endif /* !__cplusplus */ 100#else /* !__LP64__ */ 101typedef unsigned char Boolean; 102#endif /* !__LP64__ */ 103 104#endif /* KERNEL */ 105 106#include <sys/_types/_os_inline.h> 107 108#endif /* _OS_OSTYPES_H */ 109