#include <IOKit/stream/IOStreamShared.h>

IOKit/stream/IOStreamShared.h Kernel.framework

@header IOStreamShared.h IOStream definitions shared between kernel and user space.
6 enums · 2 typedefs · 2 structs · 1 macro

typedefIOStreamBufferID

Buffer numbers are guaranteed to go from 0 to bufferCount - 1. @typedef IOStreamBufferID
typedef UInt32 IOStreamBufferID

macrokIOStreamBufferIDInvalid

#define kIOStreamBufferIDInvalid (~0)

structIOStreamBufferQueueEntry

size 32, align 4
IOStreamBufferIDbufferID
UInt32dataOffset
UInt32dataLength
UInt32controlOffset
UInt32controlLength
UInt32[3]reserved

structIOStreamBufferQueue

size 16, align 4
UInt32entryCount
volatile UInt32headIndex
volatile UInt32tailIndex
UInt32reserved
IOStreamBufferQueueEntry[0]queue

enum(anonymous)

@enum Memory mapping types @constant kIOStreamMemoryTypeOutputQueue @constant kIOStreamMemoryTypeInputQueue @constant kIOStreamMemoryTypeBufferData @constant kIOStreamMemoryTypeBufferControl @constant kIOStreamBufferIDMask @constant kIOStreamMemoryTypeMask @abstract Memory types used with IOConnectMapMemory(). @discussion
underlying type unsigned int
kIOStreamMemoryTypeOutputQueue268435456
kIOStreamMemoryTypeInputQueue536870912
kIOStreamMemoryTypeBufferData805306368
kIOStreamMemoryTypeBufferControl1073741824
kIOStreamBufferIDMask268435455
kIOStreamMemoryTypeMask4026531840

enum(anonymous)

@enum Mach port types @constant kIOStreamPortTypeOutput @constant kIOStreamPortTypeInput @abstract Port types used with IOConnectSetNotificationPort(). @discussion
underlying type unsigned int
kIOStreamPortTypeOutput0
kIOStreamPortTypeInput1

enum(anonymous)

underlying type unsigned int
kIOStreamOptionOpenExclusive65536
kIOStreamOptionOpenShared131072

enum(anonymous)

@enum User client methods @constant kIOStreamMethodOpen @constant kIOStreamMethodClose @constant kIOStreamMethodStart @constant kIOStreamMethodStop @constant kIOStreamMethodSuspend @constant kIOStreamMethodGetMode @constant kIOStreamMethodSetMode @abstract Client method numbers used with IOConnectMethod...() functions. @discussion
underlying type unsigned int
kIOStreamMethodOpen0
kIOStreamMethodClose1
kIOStreamMethodStart2
kIOStreamMethodStop3
kIOStreamMethodSuspend4
kIOStreamMethodGetMode5
kIOStreamMethodSetMode6
kIOStreamMethodGetBufferCount7

enum(anonymous)

@enum User client traps @constant kIOStreamEnqueueInputTrap @constant kIOStreamEnqueueInputSyncTrap @abstract Client trap numbers used with IOConnectTrap..() functions. @discussion
underlying type unsigned int
kIOStreamEnqueueInputTrap0
kIOStreamEnqueueInputSyncTrap1

enumIOStreamMode

underlying type unsigned int
kIOStreamModeInput0From user to kernel space
kIOStreamModeOutput1From kernel to user space
kIOStreamModeInputOutput2bidirectional

typedefIOStreamMode

typedef enum IOStreamMode IOStreamMode;