]> git.saurik.com Git - apple/xnu.git/blob - libkern/libkern/OSTypes.h
54131c3d59d3056ed892db3442b41c545daef382
[apple/xnu.git] / libkern / libkern / OSTypes.h
1 /*
2 * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
3 *
4 * @APPLE_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. Please obtain a copy of the License at
10 * http://www.opensource.apple.com/apsl/ and read it before using this
11 * file.
12 *
13 * The Original Code and all software distributed under the License are
14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
18 * Please see the License for the specific language governing rights and
19 * limitations under the License.
20 *
21 * @APPLE_LICENSE_HEADER_END@
22 */
23 /*
24 * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
25 *
26 * HISTORY
27 *
28 */
29
30 #ifndef _OS_OSTYPES_H
31 #define _OS_OSTYPES_H
32
33 typedef unsigned int UInt;
34 typedef signed int SInt;
35
36 #ifndef __MACTYPES__ /* CF MacTypes.h */
37 #ifndef __TYPES__ /* guess... Mac Types.h */
38
39 typedef unsigned char UInt8;
40 typedef unsigned short UInt16;
41 typedef unsigned long UInt32;
42 typedef unsigned long long UInt64;
43 #if defined(__BIG_ENDIAN__)
44 typedef struct UnsignedWide {
45 UInt32 hi;
46 UInt32 lo;
47 } UnsignedWide;
48 #elif defined(__LITTLE_ENDIAN__)
49 typedef struct UnsignedWide {
50 UInt32 lo;
51 UInt32 hi;
52 } UnsignedWide;
53 #else
54 #error Unknown endianess.
55 #endif
56
57 typedef signed char SInt8;
58 typedef signed short SInt16;
59 typedef signed long SInt32;
60 typedef signed long long SInt64;
61 #if defined(__BIG_ENDIAN__)
62 typedef struct wide {
63 SInt32 hi;
64 UInt32 lo;
65 } wide;
66 #elif defined(__LITTLE_ENDIAN__)
67 typedef struct wide {
68 UInt32 lo;
69 SInt32 hi;
70 } wide;
71 #else
72 #error Unknown endianess.
73 #endif
74
75 typedef SInt32 OSStatus;
76 typedef UnsignedWide AbsoluteTime;
77 typedef UInt32 OptionBits;
78
79 typedef unsigned char Boolean;
80
81 #endif /* __TYPES__ */
82 #endif /* __MACTYPES__ */
83
84 #if !defined(OS_INLINE)
85 # define OS_INLINE static inline
86 #endif
87
88 #endif /* _OS_OSTYPES_H */