Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
p6entropy.h
Go to the documentation of this file.
1 
13 #ifndef P6ENTROPY_H__
14 #define P6ENTROPY_H__ 1
15 
16 #include "p6com.h"
17 
18 #ifdef __cplusplus
19 namespace P6R {
20 extern "C" {
21 #endif
22 
41 static const P6ENTROPYFLAGS P6ENTROPY_NOFLAGS = 0x00000000;
42 static const P6ENTROPYFLAGS P6ENTROPY_LOW = 0x00000001;
43 static const P6ENTROPYFLAGS P6ENTROPY_HIGH = 0x00000002;
44 static const P6ENTROPYFLAGS P6ENTROPY_QUALITYMASK = 0x00000003;
45 
57 #undef INTERFACE
58 #define INTERFACE p6IEntropySource
60 {
71  P6DECLCOMMETHOD(initialize)(P6THIS_ P6ENTROPYFLAGS flags ) P6PURE;
72 
90  P6DECLCOMMETHOD(fillBuffer)(P6THIS_ P6CHAR* pEntropy, P6REFUINT32 bufSize ) P6PURE;
91 
102  P6DECLCOMMETHOD(getQuality)(P6THIS_ P6ENTROPYFLAGS *pQuality) P6PURE;
103 };
104 
105 // {EF8E24A5-62E2-4b79-B8D5-1D6084DB699D}
106 #define IF_p6IEntropySource {0xef8e24a5,0x62e2,0x4b79,{0xb8,0xd5,0x1d,0x60,0x84,0xdb,0x69,0x9d}}
107 
108 // {565BCB1A-8FF8-422C-A1CE-ECA0A13BD790}
109 #define COMP_p6EntropySource {0x565BCB1A,0x8FF8,0x422C,{0xA1,0xCE,0xEC,0xA0,0xA1,0x3B,0xD7,0x90}}
110 
111 #ifdef __cplusplus
112 } /* extern "C" */
113 } // namespace
114 #endif
115 
116 
117 #endif
118 
119 
#define P6REFUINT32
Definition: p6defs.h:199
uint32_t P6UINT32
Definition: p6types.h:77
#define P6DECLAREICOM
Definition: p6defs.h:191
#define P6PURE
Definition: p6defs.h:192
P6UINT32 P6ENTROPYFLAGS
P6ENTROPYFLAGS.
Definition: p6entropy.h:40
The base interface all [p6]COM components must derive from and implement.
Definition: p6comdef.h:97
This is a plugin interface for the customer of the ICrypto interface to enhance the built in entropy ...
Definition: p6entropy.h:59
#define P6DECLCOMMETHOD(method)
Definition: p6defs.h:189
#define P6THIS_
Definition: p6defs.h:193
P6COM definitions and interfaces.
char P6CHAR
Narrow character type.
Definition: p6types.h:105
#define P6DECLAREIF_(iface, baseif)
Definition: p6defs.h:188