DSDataBuf

Data buffer structure.

Synopsis

struct DSDataBuf {
   struct DSDataBuf* permanentNext;
   struct DSDataBuf* next;
   long useCount;
   struct DSStreamCB* streamCBPtr;
   Item ioreqItem;
   IOReq* ioreqItemPtr;
   char streamData[4];
 typedef struct DSDataBuf DSDataBuf, *DSDataBufPtr

Description

The data buffer structure managed by the stream parser. The first part of each physical data buffer must contain the header information described by this structure. The actual data component of a DSDataBuf can be a different length for each stream. However, buffer sizes are fixed within a given stream.

Fields

permanentNext
Pointer for keeping permanent global buffer list for debugging, etc. (not used by streamer).
next
Pointer for linking buffers into lists (free, in use, etc.).
useCount
Count of subscribers using this buffer.
streamCBPtr
Pointer to the context block of the owning stream.
Note: The following two fields are filled in by data acquisition at "opening" time.

ioreqItem
I/O request item for queuing reads for this buffer
oreqItemPtr
Pointer to the item in system space
streamData
Start of (variable length) stream data

Associated Files

DataStream.h