/*
- * Copyright (c) 1998-2006 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 1998-2012 Apple Computer, Inc. All rights reserved.
*
* @APPLE_OSREFERENCE_LICENSE_HEADER_START@
*
/*
* Simple data types.
*/
-#ifndef __MACTYPES__ /* CF MacTypes.h */
-#ifndef __TYPES__ /* guess... Mac Types.h */
-
#include <stdbool.h>
#include <libkern/OSTypes.h>
-#endif /* __TYPES__ */
-#endif /* __MACTYPES__ */
-
#if KERNEL
#include <libkern/OSBase.h>
#endif
typedef UInt32 IOPhysicalLength32;
typedef UInt64 IOPhysicalLength64;
-#ifdef __LP64__
+#if !defined(__arm__) && !defined(__i386__)
typedef mach_vm_address_t IOVirtualAddress;
#else
typedef vm_address_t IOVirtualAddress;
#endif
-#if defined(__LP64__) && defined(KERNEL)
+#if !defined(__arm__) && !defined(__i386__) && !(defined(__x86_64__) && !defined(KERNEL))
typedef IOByteCount64 IOByteCount;
#else
typedef IOByteCount32 IOByteCount;
typedef IOVirtualAddress IOLogicalAddress;
-#if defined(__LP64__) && defined(KERNEL)
+#if !defined(__arm__) && !defined(__i386__) && !(defined(__x86_64__) && !defined(KERNEL))
typedef IOPhysicalAddress64 IOPhysicalAddress;
typedef IOPhysicalLength64 IOPhysicalLength;
IOByteCount length;
} IOVirtualRange;
-#ifdef __LP64__
+#if !defined(__arm__) && !defined(__i386__)
typedef IOVirtualRange IOAddressRange;
-#else /* !__LP64__ */
+#else
typedef struct
{
mach_vm_address_t address;
mach_vm_size_t length;
} IOAddressRange;
-#endif /* !__LP64__ */
+#endif
/*
* Map between #defined or enum'd constants and text description.
#ifndef __IOKIT_PORTS_DEFINED__
#define __IOKIT_PORTS_DEFINED__
#ifdef KERNEL
+#ifdef __cplusplus
+class OSObject;
+typedef OSObject * io_object_t;
+#else
typedef struct OSObject * io_object_t;
+#endif
#else /* KERNEL */
typedef mach_port_t io_object_t;
#endif /* KERNEL */
kIOInhibitCache = 1,
kIOWriteThruCache = 2,
kIOCopybackCache = 3,
- kIOWriteCombineCache = 4
+ kIOWriteCombineCache = 4,
+ kIOCopybackInnerCache = 5
};
// IOMemory mapping options
kIOMapCacheMask = 0x00000700,
kIOMapCacheShift = 8,
- kIOMapDefaultCache = kIODefaultCache << kIOMapCacheShift,
- kIOMapInhibitCache = kIOInhibitCache << kIOMapCacheShift,
- kIOMapWriteThruCache = kIOWriteThruCache << kIOMapCacheShift,
- kIOMapCopybackCache = kIOCopybackCache << kIOMapCacheShift,
- kIOMapWriteCombineCache = kIOWriteCombineCache << kIOMapCacheShift,
+ kIOMapDefaultCache = kIODefaultCache << kIOMapCacheShift,
+ kIOMapInhibitCache = kIOInhibitCache << kIOMapCacheShift,
+ kIOMapWriteThruCache = kIOWriteThruCache << kIOMapCacheShift,
+ kIOMapCopybackCache = kIOCopybackCache << kIOMapCacheShift,
+ kIOMapWriteCombineCache = kIOWriteCombineCache << kIOMapCacheShift,
+ kIOMapCopybackInnerCache = kIOCopybackInnerCache << kIOMapCacheShift,
kIOMapUserOptionsMask = 0x00000fff,
kIOMapStatic = 0x01000000,
kIOMapReference = 0x02000000,
- kIOMapUnique = 0x04000000
+ kIOMapUnique = 0x04000000,
#ifdef XNU_KERNEL_PRIVATE
- , kIOMap64Bit = 0x08000000
+ kIOMap64Bit = 0x08000000,
#endif
+ kIOMapPrefault = 0x10000000,
};
/*! @enum Scale Factors
kTickScale = (kSecondScale / 100)
};
+enum {
+ kIOConnectMethodVarOutputSize = -3
+};
+
/* compatibility types */
#ifndef KERNEL