rtxStreamMemory.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2003-2010 Objective Systems, Inc.
00003  *
00004  * This software is furnished under a license and may be used and copied
00005  * only in accordance with the terms of such license and with the
00006  * inclusion of the above copyright notice. This software or any other
00007  * copies thereof may not be provided or otherwise made available to any
00008  * other person. No title to and ownership of the software is hereby
00009  * transferred.
00010  *
00011  * The information in this software is subject to change without notice
00012  * and should not be construed as a commitment by Objective Systems, Inc.
00013  *
00014  * PROPRIETARY NOTICE
00015  *
00016  * This software is an unpublished work subject to a confidentiality agreement
00017  * and is protected by copyright and trade secret law.  Unauthorized copying,
00018  * redistribution or other use of this work is prohibited.
00019  *
00020  * The above notice of copyright on this source code product does not indicate
00021  * any actual or intended publication of such source code.
00022  *
00023  *****************************************************************************/
00027 #ifndef _RTXSTREAMMEMORY_H_
00028 #define _RTXSTREAMMEMORY_H_
00029 
00030 #ifndef _NO_STREAM
00031 
00032 #include "rtxsrc/rtxStream.h"
00033 
00034 typedef struct DirBufDesc {
00035    OSCTXT* pctxt;
00036    OSRTSTREAM* pUnderStream; /* underlying stream object */
00037    size_t   savedIndex;
00038 } DirBufDesc;
00039 
00040 #ifdef __cplusplus
00041 extern "C" {
00042 #endif
00043 
00061 EXTERNRT int rtxStreamMemoryCreate (OSCTXT* pctxt, OSUINT16 flags);
00062 
00077 EXTERNRT int rtxStreamMemoryAttach (OSCTXT* pctxt, OSOCTET* pMemBuf,
00078                                      size_t bufSize, OSUINT16 flags);
00079 
00089 EXTERNRT OSOCTET* rtxStreamMemoryGetBuffer (OSCTXT* pctxt, size_t* pSize);
00090 
00101 EXTERNRT int rtxStreamMemoryCreateReader
00102    (OSCTXT* pctxt, OSOCTET* pMemBuf, size_t bufSize);
00103 
00117 EXTERNRT int rtxStreamMemoryCreateWriter
00118    (OSCTXT* pctxt, OSOCTET* pMemBuf, size_t bufSize);
00119 
00124 #ifdef __cplusplus
00125 }
00126 #endif
00127 
00128 #endif /* _NO_STREAM */
00129 #endif /* _RTXSTREAMMEMORY_H_ */
00130