/*
- * Copyright (c) 1998-2000 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 1998-2006 Apple Computer, Inc. All rights reserved.
*
- * @APPLE_LICENSE_HEADER_START@
- *
- * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved.
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
*
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apple Public Source License
* Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this
- * file.
+ * compliance with the License. The rights granted to you under the License
+ * may not be used to create, or enable the creation or redistribution of,
+ * unlawful or unlicensed copies of an Apple operating system, or to
+ * circumvent, violate, or enable the circumvention or violation of, any
+ * terms of an Apple operating system software license agreement.
+ *
+ * Please obtain a copy of the License at
+ * http://www.opensource.apple.com/apsl/ and read it before using this file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* Please see the License for the specific language governing rights and
* limitations under the License.
*
- * @APPLE_LICENSE_HEADER_END@
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
*/
-/*
- * Copyright (c) 1998 Apple Computer, Inc. All rights reserved.
- *
- * HISTORY
- *
- */
-
#ifndef __IOKIT_IOTYPES_H
#define __IOKIT_IOTYPES_H
#endif
#ifndef NULL
+#if defined (__cplusplus)
#define NULL 0
+#else
+#define NULL ((void *)0)
+#endif
#endif
/*
#ifndef __MACTYPES__ /* CF MacTypes.h */
#ifndef __TYPES__ /* guess... Mac Types.h */
+#include <stdbool.h>
#include <libkern/OSTypes.h>
-#ifndef __cplusplus
-#if !TYPE_BOOL
-#ifdef KERNEL
-typedef int bool;
-enum {
- false = 0,
- true = 1
-};
-#endif
-#endif
-#endif
-
#endif /* __TYPES__ */
#endif /* __MACTYPES__ */
+#if KERNEL
+#include <libkern/OSBase.h>
+#endif
+
typedef UInt32 IOOptionBits;
typedef SInt32 IOFixed;
typedef UInt32 IOVersion;
typedef UInt32 IOByteCount;
+ /* LP64todo - these will need to expand to mach_vm_address_t */
typedef vm_address_t IOVirtualAddress;
typedef IOVirtualAddress IOLogicalAddress;
#endif
+
#if __cplusplus
struct IOVirtualRange
{
IOVirtualAddress address;
IOByteCount length;
};
+struct IOAddressRange
+{
+ mach_vm_address_t address;
+ mach_vm_size_t length;
+};
#else
typedef struct
{
IOVirtualAddress address;
IOByteCount length;
} IOVirtualRange;
+
+typedef struct
+{
+ mach_vm_address_t address;
+ mach_vm_size_t length;
+} IOAddressRange;
#endif
/*
#include <device/device_types.h>
typedef io_object_t io_connect_t;
+typedef io_object_t io_enumerator_t;
typedef io_object_t io_iterator_t;
typedef io_object_t io_registry_entry_t;
typedef io_object_t io_service_t;
-typedef io_object_t io_enumerator_t;
+#define IO_OBJECT_NULL ((io_object_t) 0)
#endif /* MACH_KERNEL */
kIOMapReadOnly = 0x00001000,
kIOMapStatic = 0x01000000,
- kIOMapReference = 0x02000000
+ kIOMapReference = 0x02000000,
+ kIOMapUnique = 0x04000000,
+ kIOMap64Bit = 0x08000000
};
/*! @enum Scale Factors
@constant kNanosecondScale Scale factor for nanosecond based times.
@constant kMicrosecondScale Scale factor for microsecond based times.
@constant kMillisecondScale Scale factor for millisecond based times.
+ @constant kTickScale Scale factor for the standard (100Hz) tick.
@constant kSecondScale Scale factor for second based times. */
enum {
kNanosecondScale = 1,
kMicrosecondScale = 1000,
kMillisecondScale = 1000 * 1000,
- kSecondScale = 1000 * 1000 * 1000
+ kSecondScale = 1000 * 1000 * 1000,
+ kTickScale = (kSecondScale / 100)
};
/* compatibility types */