rtxStream.h File Reference

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

Go to the source code of this file.

Classes

struct  OSRTSTREAM

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)
typedef long(* OSRTStreamBlockingReadProc )(struct OSRTSTREAM *pStream, OSOCTET *pbuffer, size_t toReadBytes)
typedef long(* OSRTStreamWriteProc )(struct OSRTSTREAM *pStream, const OSOCTET *data, size_t numocts)
typedef int(* OSRTStreamFlushProc )(struct OSRTSTREAM *pStream)
typedef int(* OSRTStreamCloseProc )(struct OSRTSTREAM *pStream)
typedef int(* OSRTStreamSkipProc )(struct OSRTSTREAM *pStream, size_t skipBytes)
typedef int(* OSRTStreamMarkProc )(struct OSRTSTREAM *pStream, size_t readAheadLimit)
typedef int(* OSRTStreamResetProc )(struct OSRTSTREAM *pStream)
typedef int(* OSRTStreamGetPosProc )(struct OSRTSTREAM *pStream, size_t *ppos)
typedef int(* OSRTStreamSetPosProc )(struct OSRTSTREAM *pStream, size_t pos)
typedef struct OSRTSTREAM OSRTSTREAM

Functions

int rtxStreamClose (OSCTXT *pctxt)
int rtxStreamFlush (OSCTXT *pctxt)
int rtxStreamInit (OSCTXT *pctxt)
long rtxStreamRead (OSCTXT *pctxt, OSOCTET *pbuffer, size_t bufSize)
long rtxStreamBlockingRead (OSCTXT *pctxt, OSOCTET *pbuffer, size_t readBytes)
int rtxStreamSkip (OSCTXT *pctxt, size_t skipBytes)
long rtxStreamWrite (OSCTXT *pctxt, const OSOCTET *data, size_t numocts)
int rtxStreamGetIOBytes (OSCTXT *pctxt, size_t *pPos)
int rtxStreamMark (OSCTXT *pctxt, size_t readAheadLimit)
int rtxStreamReset (OSCTXT *pctxt)
OSBOOL rtxStreamMarkSupported (OSCTXT *pctxt)
OSBOOL rtxStreamIsOpened (OSCTXT *pctxt)
OSBOOL rtxStreamIsReadable (OSCTXT *pctxt)
OSBOOL rtxStreamIsWritable (OSCTXT *pctxt)
int rtxStreamRelease (OSCTXT *pctxt)
void rtxStreamSetCapture (OSCTXT *pctxt, OSRTMEMBUF *pmembuf)
OSRTMEMBUFrtxStreamGetCapture (OSCTXT *pctxt)
int rtxStreamGetPos (OSCTXT *pctxt, size_t *ppos)
int rtxStreamSetPos (OSCTXT *pctxt, size_t pos)

Detailed Description

Input/output data stream type definitions and function prototypes.