Lines Matching refs:stream

23  * \brief Input-output stream abstraction.
30 /* Result of operation on stream */
48 /* Type for pointer to internal stream psecifig data */
52 typedef deStreamResult (*deIOStreamReadFunc) (deStreamData* stream, void* buf, deInt32 bufSize, deInt32* numRead);
53 typedef deStreamResult (*deIOStreamWriteFunc) (deStreamData* stream, const void* buf, deInt32 bufSize, deInt32* numWritten);
54 typedef const char* (*deIOStreamGetErrorFunc) (deStreamData* stream);
55 typedef deStreamResult (*deIOStreamFlushFunc) (deStreamData* stream);
56 typedef deStreamResult (*deIOStreamDeinitFunc) (deStreamData* stream);
57 typedef deStreamStatus (*deIOStreamStatusFunc) (deStreamData* stream);
59 /* Virtual table type for specifying stream specifig behaviour */
77 DE_INLINE deStreamResult deIOStream_read (deIOStream* stream, void* buf, deInt32 bufSize, deInt32* numRead);
78 DE_INLINE deStreamResult deIOStream_write (deIOStream* stream, const void* buf, deInt32 bufSize, deInt32* numWritten);
79 DE_INLINE const char* deIOStream_getError (deIOStream* stream);
80 DE_INLINE deStreamStatus deIOStream_getStatus (deIOStream* stream);
81 DE_INLINE deStreamResult deIOStream_flush (deIOStream* stream);
82 DE_INLINE deStreamResult deIOStream_deinit (deIOStream* stream);
86 DE_INLINE deStreamResult deIOStream_write (deIOStream* stream, const void* buf, deInt32 bufSize, deInt32* numWritten)
88 DE_ASSERT(stream);
89 DE_ASSERT(stream->vfTable);
90 DE_ASSERT(stream->vfTable->writeFunc);
92 return stream->vfTable->writeFunc(stream->streamData, buf, bufSize, numWritten);
95 DE_INLINE deStreamResult deIOStream_read (deIOStream* stream, void* buf, deInt32 bufSize, deInt32* numRead)
97 DE_ASSERT(stream);
98 DE_ASSERT(stream->vfTable);
99 DE_ASSERT(stream->vfTable->readFunc);
101 return stream->vfTable->readFunc(stream->streamData, buf, bufSize, numRead);
104 DE_INLINE const char* deIOStream_getError (deIOStream* stream)
106 DE_ASSERT(stream);
107 DE_ASSERT(stream->vfTable);
108 DE_ASSERT(stream->vfTable->getErrorFunc);
110 return stream->vfTable->getErrorFunc(stream->streamData);
113 DE_INLINE deStreamResult deIOStream_flush (deIOStream* stream)
115 DE_ASSERT(stream);
116 DE_ASSERT(stream->vfTable);
117 DE_ASSERT(stream->vfTable->flushFunc);
119 return stream->vfTable->flushFunc(stream->streamData);
122 DE_INLINE deStreamResult deIOStream_deinit (deIOStream* stream)
125 DE_ASSERT(stream);
126 DE_ASSERT(stream->vfTable);
127 DE_ASSERT(stream->vfTable->deinitFunc);
129 result = stream->vfTable->deinitFunc(stream->streamData);
131 stream->vfTable = DE_NULL;
132 stream->streamData = DE_NULL;
137 DE_INLINE deStreamStatus deIOStream_getStatus (deIOStream* stream)
139 DE_ASSERT(stream);
140 DE_ASSERT(stream->vfTable);
141 DE_ASSERT(stream->vfTable->statusFunc);
143 return stream->vfTable->statusFunc(stream->streamData);