* Copyright (c) 1998-2000 Apple Computer, Inc. All rights reserved.
*
* @APPLE_OSREFERENCE_LICENSE_HEADER_START@
* Copyright (c) 1998-2000 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
* 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
* 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.
* 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.
* 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
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
-#define IOServiceTrace(csc, a, b, c, d) do { \
- if(kIOTraceIOService & gIOKitTrace) { \
- KERNEL_DEBUG_CONSTANT(IODBG_IOSERVICE(csc), a, b, c, d, 0); \
- } \
+#define IOServiceTrace(csc, a, b, c, d) do { \
+ if(kIOTraceIOService & gIOKitTrace) { \
+ KERNEL_DEBUG_CONSTANT(IODBG_IOSERVICE(csc), a, b, c, d, 0); \
+ } \
-#define IOServiceTrace(csc, a, b, c, d) do { \
- (void)a; \
- (void)b; \
- (void)c; \
- (void)d; \
+#define IOServiceTrace(csc, a, b, c, d) do { \
+ (void)a; \
+ (void)b; \
+ (void)c; \
+ (void)d; \
-IOKernelAllocateWithPhysicalRestrict(mach_vm_size_t size, mach_vm_address_t maxPhys,
- mach_vm_size_t alignment, bool contiguous);
+IOKernelAllocateWithPhysicalRestrict(mach_vm_size_t size, mach_vm_address_t maxPhys,
+ mach_vm_size_t alignment, bool contiguous);
void
IOKernelFreePhysical(mach_vm_address_t address, mach_vm_size_t size);
#if IOTRACKING
IOReturn
IOMemoryMapTracking(IOTrackingUser * tracking, task_t * task,
void
IOKernelFreePhysical(mach_vm_address_t address, mach_vm_size_t size);
#if IOTRACKING
IOReturn
IOMemoryMapTracking(IOTrackingUser * tracking, task_t * task,
-#define __IODEQUALIFY(type, expr) \
- ({ typeof(expr) expr_ = (type)(uintptr_t)(expr); \
+#define __IODEQUALIFY(type, expr) \
+ ({ typeof(expr) expr_ = (type)(uintptr_t)(expr); \
-struct IODMACommandInternal
-{
- IOMDDMAWalkSegmentState fState;
- IOMDDMACharacteristics fMDSummary;
+struct IODMACommandInternal {
+ IOMDDMAWalkSegmentState fState;
+ IOMDDMACharacteristics fMDSummary;
+
+ UInt64 fPreparedOffset;
+ UInt64 fPreparedLength;
- UInt32 fSourceAlignMask;
-
- UInt8 fCursor;
- UInt8 fCheckAddressing;
- UInt8 fIterateOnly;
- UInt8 fMisaligned;
- UInt8 fMapContig;
- UInt8 fPrepared;
- UInt8 fDoubleBuffer;
- UInt8 fNewMD;
- UInt8 fLocalMapperAllocValid;
- UInt8 fIOVMAddrValid;
- UInt8 fForceDoubleBuffer;
- UInt8 fSetActiveNoMapper;
+ UInt8 fCursor;
+ UInt8 fCheckAddressing;
+ UInt8 fIterateOnly;
+ UInt8 fMisaligned;
+ UInt8 fMapContig;
+ UInt8 fPrepared;
+ UInt8 fDoubleBuffer;
+ UInt8 fNewMD;
+ UInt8 fLocalMapperAllocValid;
+ UInt8 fIOVMAddrValid;
+ UInt8 fForceDoubleBuffer;
+ UInt8 fSetActiveNoMapper;
- // IODMAEventSource use
- IOReturn fStatus;
- UInt64 fActualByteCount;
- AbsoluteTime fTimeStamp;
+ // IODMAEventSource use
+ IOReturn fStatus;
+ UInt64 fActualByteCount;
+ AbsoluteTime fTimeStamp;
- void * devicePager;
- unsigned int pagerContig:1;
- unsigned int unused:31;
- IOMemoryDescriptor * memory;
+ void * devicePager;
+ unsigned int pagerContig:1;
+ unsigned int unused:31;
+ IOMemoryDescriptor * memory;
- IOMemoryDescriptorDevicePager dp;
- uint64_t preparationID;
- // for kernel IOMD subclasses... they have no expansion
- uint64_t kernReserved[4];
- vm_tag_t kernelTag;
- vm_tag_t userTag;
+ IOMemoryDescriptorDevicePager dp;
+ uint64_t preparationID;
+ // for kernel IOMD subclasses... they have no expansion
+ uint64_t kernReserved[4];
+ vm_tag_t kernelTag;
+ vm_tag_t userTag;
+ task_t creator;
extern "C" OSString * IOCopyLogNameForPID(int pid);
extern "C" void IOKitKernelLogBuffer(const char * title, const void * buffer, size_t size,
extern "C" OSString * IOCopyLogNameForPID(int pid);
extern "C" void IOKitKernelLogBuffer(const char * title, const void * buffer, size_t size,
-extern "C" void IOSetKeyStoreData(IOMemoryDescriptor * data);
-extern "C" void IOSetAPFSKeyStoreData(IOMemoryDescriptor* data);
+extern "C" void IOSetKeyStoreData(LIBKERN_CONSUMED IOMemoryDescriptor * data);
+extern "C" void IOSetAPFSKeyStoreData(LIBKERN_CONSUMED IOMemoryDescriptor* data);