p6runtimeapi.h

Go to the documentation of this file.
00001 
00013 #ifndef P6RUNTIMEAPI_H__
00014 #define P6RUNTIMEAPI_H__ 1
00015 
00016 #include "p6errorinfo.h"
00017 #include "p6dllapi.h"
00018 #include "p6thread.h"
00019 
00020 namespace P6R {
00021 
00022 #ifdef  __cplusplus
00023 extern "C" {
00024 #endif
00025 
00027 
00032 typedef P6R::P6UINT32 P6COMFLAGS;
00033 
00042 static const P6COMFLAGS P6CF_NOFLAGS            = 0x00000000;     
00043 
00050 static const P6COMFLAGS P6CF_RESERVED1          = 0x00000001;     
00051 
00059 static const P6COMFLAGS P6CF_DISABLELOGS        = 0x00000002;
00060 
00066 static const P6COMFLAGS P6CF_VERBOSELOGS        = 0x00000004;
00067 
00074 static const P6COMFLAGS P6CF_DISABLEDYNAMICREG  = 0x00000008;
00075 
00081 static const P6COMFLAGS P6CF_UPDATECONF         = 0x00000010;
00082 
00088 static const P6COMFLAGS P6CF_NOSERVICES         = 0x00000020;
00089 
00098 static const P6COMFLAGS P6CF_UPDATEAPPCONF      =  0x00000080;
00099 
00107 static const P6COMFLAGS P6CF_CONTINUEEXCEPTIONS =  0x00000100;
00108 
00117 static const P6COMFLAGS P6CF_DONTFILTERCMDLINE  =  0x00000200;
00118 
00125 static const P6COMFLAGS P6CF_DISABLESERVICE     =  0x00000400;
00127 #ifdef  __cplusplus
00128 }
00129 #endif
00130 
00131 } // namespace
00132 
00133 
00134 #ifdef  __cplusplus
00135 extern "C" {
00136 #endif
00137 
00139 
00142 
00143 
00145 
00148 
00149 
00151 
00152 
00155 typedef P6R::P6ERR (*P6SUBMAIN)(P6R::P6INT32 argc,P6R::P6CHAR *argv[],P6R::p6ICurThread *pCurThread,P6R::p6ILogProducer *pThreadLogger);
00156 
00180 P6API P6R::P6ERR p6Initialize(P6SUBMAIN pfnSubMain,P6R::P6INT32 argc,P6R::P6CHAR *argv[],P6R::P6COMFLAGS fFlags);
00181 typedef P6R::P6ERR (*P6INITIALIZE)(P6SUBMAIN pfnSubMain,P6R::P6INT32 argc,P6R::P6CHAR *argv[],P6R::P6COMFLAGS fFlags);
00182 
00209 
00210 
00212 
00233 
00234 P6API P6R::P6ERR p6GetRuntimeIface(const P6R::IID &iid,P6R::P6VOID **ppIface);
00235 
00264 P6API P6R::P6ERR p6CreateInstance(P6R::p6ICom *pOuter,const P6R::CID &cid,const P6R::IID &iid,P6R::P6VOID **ppIface);
00265 
00267 
00284 P6API P6R::P6ERR p6UUIDToString(const P6R::P6UUID &uuid,P6R::P6CHAR *pBuffer,P6R::P6SIZE cBuffer);
00285 
00303 P6API P6R::P6ERR p6UUIDToWString(const P6R::P6UUID &uuid,P6R::P6WCHAR *pBuffer,P6R::P6SIZE cBuffer);
00304 
00322 P6API P6R::P6ERR p6StringToUUID(const P6R::P6CHAR *pszUUID,P6R::P6UUID &uuid);
00323 
00341 P6API P6R::P6ERR p6WStringToUUID(const P6R::P6WCHAR *pszUUID,P6R::P6UUID &uuid);
00343 
00358 P6API P6R::P6CHAR * p6ErrToStr(P6R::P6ERR err,P6R::P6CHAR *pszBuffer,P6R::P6SIZE cBuffer);
00359 
00374 P6API P6R::P6WCHAR * p6ErrToWStr(P6R::P6ERR err,P6R::P6WCHAR *pszBuffer,P6R::P6SIZE cBuffer);
00375 
00377 
00398 P6API P6R::P6ERR p6GetModuleFilename(P6R::P6WCHAR *pszBuffer,P6R::P6SIZE *pcBuffer);
00399 
00419 P6API P6R::P6ERR p6GetDirectory(P6DIRS nDir,P6R::P6WCHAR *pBuffer,P6R::P6SIZE cBuffer,P6R::P6SIZE *pcWritten);
00421 
00433 P6API P6R::P6INT32 p6AtomicInc32(P6R::P6INT32 volatile *pVar);
00434 
00446 P6API P6R::P6INT32 p6AtomicDec32(P6R::P6INT32 volatile *pVar);
00447 
00449 
00461 P6API P6R::P6INT32 p6AtomicAdd32(P6R::P6INT32 volatile *pVar,P6R::P6INT32 value);
00462 
00476 P6API P6R::P6INT32 p6AtomicSet32(P6R::P6INT32 volatile *pVar,P6R::P6INT32 value);
00477 
00491 P6API P6R::P6INT64 p6AtomicSet64(P6R::P6INT64 volatile *pVar,P6R::P6INT64 value);
00492 
00506 P6API P6R::P6VOID* p6AtomicSetPtr(P6R::P6VOID volatile **pVar,P6R::P6VOID *pValue);
00507 
00521 P6API P6R::P6UINT32 p6HashData(const P6R::P6UINT8 *pData,P6R::P6SIZE cData,P6R::P6UINT32 hash);
00522 
00530 P6API P6R::P6UINT32 p6HashString(const P6R::P6CHAR *pszData);
00531 
00539 P6API P6R::P6UINT32 p6HashStringW(const P6R::P6WCHAR *pszData);
00540 
00541 P6API P6R::P6UINT32 p6HashBCSTR(P6R::P6BCSTR *pbcsString);
00542 
00543 P6API P6R::P6UINT32 p6HashBWCSTR(P6R::P6BWCSTR *pbwcsString);
00544 
00552 P6API P6R::P6UINT32 p6HashUINT32(P6R::P6UINT32 nInteger);
00553 
00561 P6API P6R::P6UINT64 p6HashUINT64(P6R::P6UINT64 nInteger);
00562 
00573 P6API P6R::P6UINT32 p6HashUINT64to32(P6R::P6UINT64 nInteger);
00574 
00605 P6API P6R::P6ERR p6SetError(const P6R::IID *piid,const P6R::P6CHAR *pszFile,P6R::P6UINT32 cLine,P6R::P6ERR error,const P6R::P6WCHAR *pwszContext,const P6R::P6WCHAR *pwszDescription);
00606 
00638 P6API P6R::P6ERR p6SetErrorA(const P6R::IID *piid,const P6R::P6CHAR *pszFile,P6R::P6UINT32 cLine,P6R::P6ERR error,const P6R::P6CHAR *pszContext,const P6R::P6CHAR *pszDescription);
00639 
00648 P6API P6R::P6ERR p6GetErrorInfo(P6R::p6IErrorInfo **ppInfo);
00649 
00650 
00663 P6API P6R::P6ERR p6AllocMemory(P6R::P6SIZE cSize,P6R::P6VOID **ppMemory);
00664 
00674 P6API P6R::P6ERR p6FreeMemory(P6R::P6VOID *pMemory);
00675 
00690 P6API P6R::P6ERR p6AllocComString(const P6R::P6WCHAR *pszSource,P6R::P6COMSTR *ppNewString);
00691 
00700 P6API P6R::P6ERR p6FreeComString(P6R::P6COMSTR pString);
00701 
00719 P6API P6R::P6ERR p6ComStringLen(const P6R::P6COMSTR pString,P6R::P6SIZE *pLength);
00720 
00738 P6API P6R::P6ERR p6ComStringByteLen(const P6R::P6COMSTR pString,P6R::P6SIZE *pLength);
00739 
00753 P6API P6R::P6ERR p6AllocComStringLen(P6R::P6WCHAR *pszSource,P6R::P6SIZE nSize,P6R::P6COMSTR *ppNewString);
00754 
00766 P6API P6R::P6ERR p6GetRuntimeVersion(P6R::P6VERINFO *pVerInfo);
00767 
00779 P6API P6R::P6ERR p6MapOSError(P6R::P6UINT32 oserr);
00780 
00781 P6API P6R::P6ERR p6Backtrace(P6R::P6CHAR *pBuffer,P6R::P6SIZE cBuffer,P6R::P6UINT32 cFramesToSkip,P6BTFLAGS fFlags);
00782 
00783 P6API P6R::P6ERR p6Assert(const P6R::P6WCHAR *pszExpr,const P6R::P6CHAR *pszFile,P6R::P6UINT32 nLine);
00784 
00809 #define P6ASSERT(expr)  ((expr)?P6R::eOk:p6Assert(P6TEXT(#expr),__FILE__,__LINE__))
00810 
00811 
00812 P6API P6R::P6ERR p6CreateCryptoInstance(const P6R::CID &cid,const P6R::IID &iid,P6R::P6VOID **ppIface);
00813 
00835 P6API P6R::P6ERR p6TraceAddref(const P6R::P6CHAR *pszClassname,P6R::P6UINT32 cClassSize,P6R::P6VOID *classAddr,P6R::P6INT32 refCount,P6R::P6UINT32 *pSerialNumber);
00836 
00837 P6API P6R::P6ERR p6TraceRelease(const P6R::P6CHAR *pszClassname,P6R::P6VOID *classAddr,P6R::P6INT32 refCount,P6R::P6UINT32 *pSerialNumber);
00838 
00839 P6API P6R::P6ERR p6TraceCTOR(const P6R::P6CHAR *pszClassname,P6R::P6UINT32 cClassSize,P6R::P6VOID *classAddr,P6R::P6UINT32 *pSerialNumber);
00840 
00841 P6API P6R::P6ERR p6TraceDTOR(const P6R::P6CHAR *pszClassname,P6R::P6VOID *classAddr,P6R::P6UINT32 *pSerialNumber);
00842 
00843 P6API P6R::P6VOID p6ComponentCTOR();
00844 
00845 P6API P6R::P6VOID p6ComponentDTOR();
00847 
00848 
00851 #ifdef  __cplusplus
00852 }
00853 #endif
00854 
00855 #endif                   
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines
Copyright © 2004 - 2010 P6R Inc. - All Rights Reserved.