IOStream
A class representing a stream of data buffers passed from kernel to user space and back again.
Declaration
class IOStream : IOServiceOverview
The IOStream class defines a mechanism for moving buffers of data from kernel space to user space or vice-versa. The policy for which direction the data flows and the nature of the data is left up the the implementer of the driver which uses IOStream.
Although it is expected that the client of an IOStream will be in user space, this is not required.
References to "output" mean "from the IOStream to the user client", and "input" means "from the user client to the IOStream."
Topics
Stream control
Queueing and dequeueing buffers
Opening and closing streams
Managing user clients
Managing shared queues
createQueuesdestroyQueuesgetInputQueuegetInputQueueMemoryDescriptorgetOutputQueuegetOutputQueueMemoryDescriptor
Managing notifications
Managing notification ports
Managing buffers in an IOStream
addBufferaddBuffersgetBufferCountgetBuffersgetBufferWithIDremoveAllBuffers()removeAllBuffers()removeBuffer(IOStreamBuffer *)removeBuffer(IOStreamBufferID)
Creating IOStream objects
Instance Methods
addBufferaddBufferscreateQueuesdequeueInputEntrydestroyQueuesenqueueOutputBufferenqueueOutputEntryfreegetBufferCountgetBufferWithIDgetBuffersgetInputPortgetInputQueuegetInputQueueMemoryDescriptorgetMetaClassgetOutputPortgetOutputQueuegetOutputQueueMemoryDescriptorgetStreamModehandleClosehandleOpeninitinitWithBuffersinputCallbackinputSyncCallbacknewUserClientremoveAllBuffersremoveBufferremoveBuffersendOutputNotificationsetInputPortsetOutputPortsetStreamModestartStreamstopStreamsuspendStream