SIO Module
2-382
2.24
SIO Module
The SIO module is the stream input and output manager.
Functions
❏
SIO_bufsize. Size of the buffers used by a stream
❏
SIO_create. Create stream
❏
SIO_ctrl. Perform a device-dependent control operation
❏
SIO_delete. Delete stream
❏
SIO_flush. Idle a stream by flushing buffers
❏
SIO_get. Get buffer from stream
❏
SIO_idle. Idle a stream
❏
SIO_issue. Send a buffer to a stream
❏
SIO_put. Put buffer to a stream
❏
SIO_ready. Determine if device is ready
❏
SIO_reclaim. Request a buffer back from a stream
❏
SIO_reclaimx. Request a buffer and frame status back from a stream
❏
SIO_segid. Memory segment used by a stream
❏
SIO_select. Select a ready device
❏
SIO_staticbuf. Acquire static buffer from stream
Constants, Types,
and Structures
#define SIO_STANDARD 0 /* open stream for */
/* standard streaming model */
#define SIO_ISSUERECLAIM 1 /* open stream for */
/* issue/reclaim streaming model */
#define SIO_INPUT 0 /* open for input */
#define SIO_OUTPUT 1 /* open for output */
typedef SIO_Handle; /* stream object handle */
typedef DEV_Callback SIO_Callback;
struct SIO_Attrs { /* stream attributes */
Int nbufs; /* number of buffers */
Int segid; /* buffer segment ID */
size_t align; /* buffer alignment */
Bool flush; /* TRUE->don't block in DEV_idle*/
Uns model; /* SIO_STANDARD,SIO_ISSUERECLAIM*/
Uns timeout; /* passed to DEV_reclaim */
SIO_Callback *callback;
/* initializes callback in DEV_Obj */
} SIO_Attrs;