rtxStream.h File Reference

Input/output data stream type definitions and function prototypes. More...

#include "rtxsrc/rtxContext.h"
#include "rtxsrc/rtxMemBuf.h"

Go to the source code of this file.


Classes

struct  OSRTSTREAM
 The stream control block. More...

Defines

#define OSRTSTRMF_INPUT   0x0001
#define OSRTSTRMF_OUTPUT   0x0002
#define OSRTSTRMF_BUFFERED   0x8000
#define OSRTSTRMF_UNBUFFERED   0x4000
#define OSRTSTRMF_POSMARKED   0x2000
#define OSRTSTRMF_FIXINMEM   0x1000
#define OSRTSTRMF_BUF_INPUT   (OSRTSTRMF_INPUT|OSRTSTRMF_BUFFERED)
#define OSRTSTRMF_BUF_OUTPUT   (OSRTSTRMF_OUTPUT|OSRTSTRMF_BUFFERED)
#define OSRTSTRMID_FILE   1
#define OSRTSTRMID_SOCKET   2
#define OSRTSTRMID_MEMORY   3
#define OSRTSTRMID_BUFFERED   4
#define OSRTSTRMID_DIRECTBUF   5
#define OSRTSTRMID_CTXTBUF   6
#define OSRTSTRMID_ZLIB   7
#define OSRTSTRMID_USER   1000
#define OSRTSTRM_K_BUFSIZE   1024
#define OSRTSTRM_K_INVALIDMARK   ((size_t)-1)
#define OSRTSTREAM_BYTEINDEX(pctxt)
#define OSRTSTREAM_ID(pctxt)   ((pctxt)->pStream->id)
#define OSRTSTREAM_FLAGS(pctxt)   ((pctxt)->pStream->flags)

Typedefs

typedef long(*) OSRTStreamReadProc (struct OSRTSTREAM *pStream, OSOCTET *pbuffer, size_t bufSize)
 Stream read function pointer type.
typedef long(*) OSRTStreamBlockingReadProc (struct OSRTSTREAM *pStream, OSOCTET *pbuffer, size_t toReadBytes)
 Stream blockingRead function pointer type.
typedef long(*) OSRTStreamWriteProc (struct OSRTSTREAM *pStream, const OSOCTET *data, size_t numocts)
 Stream write function pointer type.
typedef int(*) OSRTStreamFlushProc (struct OSRTSTREAM *pStream)
 Stream flush function pointer type.
typedef int(*) OSRTStreamCloseProc (struct OSRTSTREAM *pStream)
 Stream close function pointer type.
typedef int(*) OSRTStreamSkipProc (struct OSRTSTREAM *pStream, size_t skipBytes)
 Stream skip function pointer type.
typedef int(*) OSRTStreamMarkProc (struct OSRTSTREAM *pStream, size_t readAheadLimit)
 Stream mark function pointer type.
typedef int(*) OSRTStreamResetProc (struct OSRTSTREAM *pStream)
 Stream reset function pointer type.

Functions

EXTERNRT int rtxStreamClose (OSCTXT *pctxt)
 This function closes the input or output stream and releases any system resources associated with the stream.
EXTERNRT int rtxStreamFlush (OSCTXT *pctxt)
 This function flushes the output stream and forces any buffered output octets to be written out.
EXTERNRT int rtxStreamInit (OSCTXT *pctxt)
 This function initializes a stream part of the context block.
EXTERNRT long rtxStreamRead (OSCTXT *pctxt, OSOCTET *pbuffer, size_t bufSize)
 This function reads up to 'bufsize' bytes of data from the input stream into an array of octets.
EXTERNRT long rtxStreamBlockingRead (OSCTXT *pctxt, OSOCTET *pbuffer, size_t readBytes)
 This function reads up to 'bufsize' bytes of data from the input stream into an array of octets.
EXTERNRT int rtxStreamSkip (OSCTXT *pctxt, size_t skipBytes)
 This function skips over and discards the specified amount of data octets from this input stream.
EXTERNRT long rtxStreamWrite (OSCTXT *pctxt, const OSOCTET *data, size_t numocts)
 This function writes the specified amount of octets from the specified array to the output stream.
EXTERNRT int rtxStreamGetIOBytes (OSCTXT *pctxt, size_t *pPos)
 This function returns the number of processed octets.
EXTERNRT int rtxStreamMark (OSCTXT *pctxt, size_t readAheadLimit)
 Marks the current position in this input stream.
EXTERNRT int rtxStreamReset (OSCTXT *pctxt)
 Repositions this stream to the position recorded by the last call to the rtxStreamMark function.
EXTERNRT OSBOOL rtxStreamMarkSupported (OSCTXT *pctxt)
 Tests if this input stream supports the mark and reset methods.
EXTERNRT OSBOOL rtxStreamIsOpened (OSCTXT *pctxt)
 Tests if this stream opened (for reading or writing).
EXTERNRT OSBOOL rtxStreamIsReadable (OSCTXT *pctxt)
 Tests if this stream opened for reading.
EXTERNRT OSBOOL rtxStreamIsWritable (OSCTXT *pctxt)
 Tests if this stream opened for writing.
EXTERNRT int rtxStreamRelease (OSCTXT *pctxt)
 This function releases the stream's resources.
EXTERNRT void rtxStreamSetCapture (OSCTXT *pctxt, OSRTMEMBUF *pmembuf)
 This function sets a capture buffer for the stream.
EXTERNRT OSRTMEMBUFrtxStreamGetCapture (OSCTXT *pctxt)
 This function returns the capture buffer currently assigned to the stream.

Detailed Description

Input/output data stream type definitions and function prototypes.

Definition in file rtxStream.h.