12 #ifndef P6RUNTIMEAPI_H__
13 #define P6RUNTIMEAPI_H__ 1
41 static const P6COMFLAGS P6CF_NOFLAGS = 0x00000000;
49 static const P6COMFLAGS P6CF_RESERVED1 = 0x00000001;
58 static const P6COMFLAGS P6CF_DISABLELOGS = 0x00000002;
65 static const P6COMFLAGS P6CF_VERBOSELOGS = 0x00000004;
72 static const P6COMFLAGS P6CF_UNUSED2 = 0x00000008;
79 static const P6COMFLAGS P6CF_UNUSED1 = 0x00000010;
86 static const P6COMFLAGS P6CF_NOSERVICES = 0x00000020;
96 static const P6COMFLAGS P6CF_UPDATEAPPCONF = 0x00000080;
105 static const P6COMFLAGS P6CF_CONTINUEEXCEPTIONS = 0x00000100;
116 static const P6COMFLAGS P6CF_DONTFILTERCMDLINE = 0x00000200;
124 static const P6COMFLAGS P6CF_DISABLESERVICE = 0x00000400;
P6API P6VOID *P6CCALL p6AtomicSetPtr(P6VOID volatile **pVar, P6VOID *pValue)
Atomically sets the value in the variable pointed to by pVar with the specified value.
P6API P6ERR P6CCALL p6GetRuntimeVersion(P6VERINFO *pVerInfo)
Return version informaton for runtime.
P6API P6ERR P6CCALL p6GetDirectory(P6DIRS nDir, P6WCHAR *pBuffer, P6SIZE cBuffer, P6SIZE *pcWritten)
This method can be used to retrieve the location of the specified directory.
P6API P6ERR P6CCALL p6GetRuntimeIface(const P6R::P6IID &iid, P6VOID **ppIface)
This method is used to retreive any of the loader runtime interfaces.
P6API P6WCHAR *P6CCALL p6ErrToWStr(P6ERR err, P6WCHAR *pszBuffer, P6SIZE cBuffer)
Convert a standard P6R::P6ERR into it's P6WCHAR* string representation.
P6API P6ERR P6CCALL p6ComStringLen(const P6COMSTR pString, P6SIZE *pLength)
Returns the length in characters of a P6COMSTR not including the terminating NULL character...
P6API P6UINT32 P6CCALL p6HashBCSTR(P6BCSTR *pbcsString)
Threading interfaces and definitions.
P6API P6UINT64 P6CCALL p6HashUINT64(P6UINT64 nInteger)
A 64 bit integer hash.
P6API P6INT32 P6CCALL p6AtomicAdd32(P6INT32 volatile *pVar, P6INT32 value)
Atomically adds the specified value to the variable pointed to by pVar.
unsigned char P6BOOL
Boolean type.
P6UUID P6IID
An interface ID.
P6WCHAR * P6COMSTR
Standard COM length encoded string.
P6API P6ERR P6CCALL p6CreateCryptoInstance(const P6R::P6CID &cid, const P6R::P6IID &iid, P6VOID **ppIface)
Creates a single uninitialized instance of the cryptographic interface associated with the specified ...
P6API P6ERR P6CCALL p6WStringToUUID(const P6WCHAR *pszUUID, P6R::P6UUID &uuid)
Used to convert the wide character string representation of a P6UUID in the form "{00000000-0000-0000...
#define P6API
[p6]COM runtime glue
P6API P6ERR P6CCALL p6GetCryptoProviderVersion(P6CHAR *pBuffer, P6SIZE cBuffer, P6SIZE *pcWritten, P6BOOL bVerbose)
This function retrieves a string that describes the underlying crypto provider's name and version...
P6API P6INT32 P6CCALL p6AtomicDec32(P6INT32 volatile *pVar)
Atomically decrements the variable pointed to by pVar by one.
P6API P6UINT32 P6CCALL p6HashString(const P6CHAR *pszData)
An implementation of Paul Hsieh's super fast hash for narrow strings.
P6API P6INT32 P6CCALL p6AtomicInc32(P6INT32 volatile *pVar)
Atomically increments the variable pointed to by pVar by one.
P6API P6ERR P6CCALL p6ComStringByteLen(const P6COMSTR pString, P6SIZE *pLength)
Returns the length in bytes of a P6COMSTR not including the terminating NULL character.
P6API P6ERR P6CCALL p6FreeMemory(P6VOID *pMemory)
Frees memory allocated with p6AllocMemory().
P6API P6ERR P6CCALL p6AllocComStringLen(P6WCHAR *pszSource, P6SIZE nSize, P6COMSTR *ppNewString)
Allocates a new COM String of the sepcified size and optionally containing a copy of pszSource...
P6API P6ERR P6CCALL p6MapOSError(P6UINT32 oserr)
Used by porting layers to map OS error values to P6ERR values.
P6API P6INT64 P6CCALL p6AtomicSet64(P6INT64 volatile *pVar, P6INT64 value)
Atomically sets the value in the variable pointed to by pVar with the specified value.
wchar_t P6WCHAR
Wide character type see p6i18n.h.
P6UINT32 P6BTFLAGS
Runtime API Types.
P6API P6INT32 P6CCALL p6AtomicSet32(P6INT32 volatile *pVar, P6INT32 value)
Atomically sets the value in the variable pointed to by pVar with the specified value.
P6API P6UINT32 P6CCALL p6HashStringW(const P6WCHAR *pszData)
An implementation of Paul Hsieh's super fast hash for wide strings.
P6API P6ERR P6CCALL p6FreeComString(P6COMSTR pString)
Frees a COM string previously allocated with p6AllocComString(), p6AllocComStringLen(), p6AllocComStringByteLen()
P6API P6ERR P6CCALL p6CreateInstance(p6ICom *pOuter, const P6R::P6CID &cid, const P6R::P6IID &iid, P6VOID **ppIface)
Creates a single uninitialized instance of the class/interface associated with the specified componen...
P6DIRS
This enumeration defines the directories which can be retrieved using the p6GetDirectory() API...
P6COM DLL runtime api definitions.
p6IErrorInfo interface definition
P6API P6ERR P6CCALL p6UUIDToString(const P6R::P6UUID &uuid, P6CHAR *pBuffer, P6SIZE cBuffer)
This function is used to convert a P6UUID into a string in the form "{00000000-0000-0000-0000-0000000...
P6API P6UINT32 P6CCALL p6HashData(const P6UINT8 *pData, P6SIZE cData, P6UINT32 hash)
An implementation of Paul Hsieh's super fast hash for arbitrary non-NULL terminated data...
it may not contain all the symbols used by this software If you run into undefined symbol please let us know and we can provide you a build that will be compatible with your specific value
P6API P6ERR P6CCALL p6StringToUUID(const P6CHAR *pszUUID, P6R::P6UUID &uuid)
Used to convert a string representing a P6UUID in the form "{00000000-0000-0000-0000-000000000000}" i...
P6API P6ERR P6CCALL p6AllocMemory(P6SIZE cSize, P6VOID **ppMemory)
Allocated a block of memory.
P6UINT32 P6ERR
COM err return type see P6ERR.h.
P6API P6ERR P6CCALL p6UUIDToWString(const P6R::P6UUID &uuid, P6WCHAR *pBuffer, P6SIZE cBuffer)
This function is used to convert a P6UUID into a wide string in the form "{00000000-0000-0000-0000-00...
P6API P6ERR P6CCALL p6AllocComString(const P6WCHAR *pszSource, P6COMSTR *ppNewString)
Allocates a new COM string the same length as pSource and copies the characters in pSource into the n...
P6API P6VOID P6CCALL p6DbgBreak()
A platform independent embeddable breakpoint.
P6API P6UINT32 P6CCALL p6HashBWCSTR(P6BWCSTR *pbwcsString)
P6API P6ERR P6CCALL p6GetThreadLogger(p6ILogProducer **ppLogger)
Used to retrieve the p6ILogProducer interface for the current thread.
P6API P6UINT32 P6CCALL p6HashUINT64to32(P6UINT64 nInteger)
A 64 bit integer to 32 bit hash.
P6API P6UINT32 P6CCALL p6HashUINT32(P6UINT32 nInteger)
A 32 bit integer hash.
P6API P6CHAR *P6CCALL p6ErrToStr(P6ERR err, P6CHAR *pszBuffer, P6SIZE cBuffer)
Convert a standard P6R::P6ERR into it's ASCII string representation.
char P6CHAR
Narrow character type.