ADC Home > Reference Library > Reference > Hardware & Drivers > I/O Kit Framework Reference
|
IOStreamShared.h |
Includes: |
<sys/cdefs.h> <IOKit/IOTypes.h> |
IOStream definitions shared between kernel and user space.
IOStreamBufferID |
typedef UInt32 IOStreamBufferID;
IOStreamBufferQueue |
struct IOStreamBufferQueue { UInt32 entryCount; volatile UInt32 headIndex; volatile UInt32 tailIndex; UInt32 reserved; IOStreamBufferQueueEntry queue[0]; };
entryCount
The number of queue entries in the queue.
headIndex
The index of the next queue slot that will be filled in by the queue writer.
tailIndex
The index of the next queue slot that can be read by the queue reader.
reserved
Reserved for future use.
queue
The array of queue entries.
IOStreamBufferQueueEntry |
struct IOStreamBufferQueueEntry { IOStreamBufferID bufferID; UInt32 dataOffset; UInt32 dataLength; UInt32 controlOffset; UInt32 controlLength; UInt32 reserved[3]; };
bufferID
The ID of the buffer passed in this queue entry.
dataLength
The length of the valid data in the buffer.
reserved
Reserved for future use.
IOStream |
enum { kIOStreamOptionOpenExclusive = 0x00010000, kIOStreamOptionOpenShared = 0x00020000 };
Mach |
Port types used with IOConnectSetNotificationPort().
enum { kIOStreamPortTypeOutput, kIOStreamPortTypeInput };
Memory |
Memory types used with IOConnectMapMemory().
enum { kIOStreamMemoryTypeOutputQueue = 0x10000000, kIOStreamMemoryTypeInputQueue = 0x20000000, kIOStreamMemoryTypeBufferData = 0x30000000, kIOStreamMemoryTypeBufferControl = 0x40000000, kIOStreamBufferIDMask = 0x0FFFFFFF, kIOStreamMemoryTypeMask = 0xF0000000 };
User |
Client method numbers used with IOConnectMethod...() functions.
enum { kIOStreamMethodOpen, kIOStreamMethodClose, kIOStreamMethodStart, kIOStreamMethodStop, kIOStreamMethodSuspend, kIOStreamMethodGetMode, kIOStreamMethodSetMode, kIOStreamMethodGetBufferCount };
User |
Client trap numbers used with IOConnectTrap..() functions.
enum { kIOStreamEnqueueInputTrap, kIOStreamEnqueueInputSyncTrap };
|
Last Updated: 2009-02-23