|
ADC Home > Reference Library > Reference > Darwin > Kernel 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]; };
entryCountThe number of queue entries in the queue.
headIndexThe index of the next queue slot that will be filled in by the queue writer.
tailIndexThe index of the next queue slot that can be read by the queue reader.
reservedReserved for future use.
queueThe array of queue entries.
IOStreamBufferQueueEntry |
struct IOStreamBufferQueueEntry { IOStreamBufferID bufferID; UInt32 dataOffset; UInt32 dataLength; UInt32 controlOffset; UInt32 controlLength; UInt32 reserved[3]; };
bufferIDThe ID of the buffer passed in this queue entry.
dataLengthThe length of the valid data in the buffer.
reservedReserved 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: 2008-12-19