Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
p6circb.h
Go to the documentation of this file.
1 
9 #ifndef P6CIRCB_H__
10 #define P6CIRCB_H__ 1
11 
12 #include "p6lock.h"
13 
14 #ifdef __cplusplus
15 namespace P6R {
16 extern "C" {
17 #endif
18 
20 static const CIRCBFLAGS CIRCB_NOFLAGS = 0x00000000;
21 
34 #undef INTERFACE
35 #define INTERFACE p6ICircbuf
37 {
57  P6DECLCOMMETHOD(initialize)(P6THIS_ P6SIZE cSize,CIRCBFLAGS fFlags,p6IMonitor *pReadMonitor) P6PURE;
58 
72  P6DECLCOMMETHOD(available)(P6THIS_ P6SIZE *pcAvailable) P6PURE;
73 
86  P6DECLCOMMETHOD(inUse)(P6THIS_ P6SIZE *pcInUse) P6PURE;
87 
106  P6DECLCOMMETHOD(getData)(P6THIS_ P6UINT8 *pBuffer,P6SIZE *pcBuffer) P6PURE;
107 
120  P6DECLCOMMETHOD(putData)(P6THIS_ P6UINT8 *pBuffer,P6SIZE cBuffer) P6PURE;
121 
136  P6DECLCOMMETHOD(resize)(P6THIS_ P6SIZE cNewSize) P6PURE;
137 
151  P6DECLCOMMETHOD(getSize)(P6THIS_ P6SIZE *pcSize) P6PURE;
152 
161  P6DECLCOMMETHOD(reset)(P6THIS_ ) P6PURE;
162 };
163 #define IF_p6ICircbuf {0xA7D6C8C2,0x076F,0x4219,{0xBE,0xEC,0x03,0xDE,0x0B,0x22,0x12,0xFD}}
164 #define COMP_p6Circbuf {0x25B7AA06,0xF602,0x438b,{0xA5,0x47,0x74,0x09,0x3C,0xDD,0x8F,0x4F}}
165 
166 #ifdef __cplusplus
167 } // extern "C"
168 } // namespace
169 #endif
170 
171 
172 #endif
173 
A intraprocess, reentrant lock/condition variable.
Definition: p6lock.h:79
size_t P6SIZE
Definition: p6types.h:90
A byte oriented circular buffer.
Definition: p6circb.h:36
uint32_t P6UINT32
Definition: p6types.h:77
#define P6DECLAREICOM
Definition: p6defs.h:191
#define P6PURE
Definition: p6defs.h:192
unsigned char P6UINT8
Definition: p6types.h:71
The base interface all [p6]COM components must derive from and implement.
Definition: p6comdef.h:97
Thread and process syncronization interfaces and classes.
P6UINT32 CIRCBFLAGS
Definition: p6circb.h:19
#define P6DECLCOMMETHOD(method)
Definition: p6defs.h:189
#define P6THIS_
Definition: p6defs.h:193
#define P6DECLAREIF_(iface, baseif)
Definition: p6defs.h:188