|
|
Log In | Not a Member? |
Contact ADC |
|
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 };
open options
Mach |
Port types used with IOConnectSetNotificationPort().
enum { kIOStreamPortTypeOutput, kIOStreamPortTypeInput };
kIOStreamPortTypeOutputkIOStreamPortTypeInput
port types
Memory |
Memory types used with IOConnectMapMemory().
enum { kIOStreamMemoryTypeOutputQueue = 0x10000000, kIOStreamMemoryTypeInputQueue = 0x20000000, kIOStreamMemoryTypeBufferData = 0x30000000, kIOStreamMemoryTypeBufferControl = 0x40000000, kIOStreamBufferIDMask = 0x0FFFFFFF, kIOStreamMemoryTypeMask = 0xF0000000 };
kIOStreamMemoryTypeOutputQueuekIOStreamMemoryTypeInputQueuekIOStreamMemoryTypeBufferDatakIOStreamMemoryTypeBufferControlkIOStreamBufferIDMaskkIOStreamMemoryTypeMask
mapping types
User |
Client method numbers used with IOConnectMethod...() functions.
enum { kIOStreamMethodOpen, kIOStreamMethodClose, kIOStreamMethodStart, kIOStreamMethodStop, kIOStreamMethodSuspend, kIOStreamMethodGetMode, kIOStreamMethodSetMode, kIOStreamMethodGetBufferCount };
kIOStreamMethodOpenkIOStreamMethodClosekIOStreamMethodStartkIOStreamMethodStopkIOStreamMethodSuspendkIOStreamMethodGetModekIOStreamMethodSetMode
client methods
User |
Client trap numbers used with IOConnectTrap..() functions.
enum { kIOStreamEnqueueInputTrap, kIOStreamEnqueueInputSyncTrap };
kIOStreamEnqueueInputTrapkIOStreamEnqueueInputSyncTrap
client traps
|