00001
00009 #ifndef P6LOADER_H__
00010 #define P6LOADER_H__ 1
00011
00012 namespace P6R {
00013
00014 typedef P6UINT32 P6SCLF;
00015
00016 const P6SCLF P6SCLF_NOFLAGS = 0x00000000;
00021 const P6SCLF P6SCLF_LOADALL = 0x00000001;
00026 const P6SCLF P6SCLF_DBGLOG = 0x00000002;
00031 const P6SCLF P6SCLF_INFLOG = 0x00000004;
00036 const P6SCLF P6SCLF_WRNLOG = 0x00000008;
00040 const P6SCLF P6SCLF_ALLLOG = (P6SCLF_DBGLOG|P6SCLF_INFLOG|P6SCLF_WRNLOG);
00041
00042 extern "C" {
00043
00048
00063 P6API P6R::P6ERR p6InitializeLoader(P6R::p6IDataStream *pLogSink,P6R::P6INT32 nVerbosity,P6SCLF fFlags);
00064
00065
00077 P6API P6R::P6ERR p6CleanupLoader();
00078
00080 typedef P6R::P6ERR (*P6INITIALIZELOADER)(P6R::p6IDataStream *pLogSink,P6R::P6INT32 nVerbosity,P6SCLF fFlags);
00081 typedef P6R::P6ERR (*P6CLEANUPLOADER)();
00082 typedef P6R::P6ERR (*P6CREATEINSTANCE)(P6R::p6ICom *pOuter,const P6R::CID &cid,const P6R::IID &iid,P6R::P6VOID **ppIface);
00083 typedef P6R::P6ERR (*P6GETRUNTIMEIFACE)(const P6R::IID &iid,P6R::P6VOID **ppIface);
00084 typedef P6R::P6CHAR* (*P6ERRTOSTR)(P6R::P6ERR err,P6CHAR *pszBuffer,P6SIZE cBuffer);
00085 typedef P6R::P6WCHAR* (*P6ERRTOWSTR)(P6R::P6ERR err,P6WCHAR *pszBuffer,P6SIZE cBuffer);
00086 typedef P6R::P6INT32 (*P6ATOMICINC32)(P6R::P6INT32 volatile *pVar);
00087 typedef P6R::P6INT32 (*P6ATOMICDEC32)(P6R::P6INT32 volatile *pVar);
00088 }
00089
00090 }
00091
00092
00093 #endif
00094
00095
00096