; 
; Exports of file cmutil.dll
;
; Autogenerated by gen_exportdef
; Written by Kai Tietz, 2007
;
LIBRARY cmutil.dll
EXPORTS
; public: __thiscall CIniA::CIniA(struct HINSTANCE__ *,char const *,char const *,char const *,char const *)
??0CIniA@@QAE@PAUHINSTANCE__@@PBD111@Z
; public: __thiscall CIniW::CIniW(struct HINSTANCE__ *,unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *)
??0CIniW@@QAE@PAUHINSTANCE__@@PBG111@Z
; public: __thiscall CRandom::CRandom(unsigned int)
??0CRandom@@QAE@I@Z
; public: __thiscall CRandom::CRandom(void)
??0CRandom@@QAE@XZ
; public: __thiscall CmLogFile::CmLogFile(void)
??0CmLogFile@@QAE@XZ
; public: __thiscall CIniA::~CIniA(void)
??1CIniA@@QAE@XZ
; public: __thiscall CIniW::~CIniW(void)
??1CIniW@@QAE@XZ
; public: __thiscall CmLogFile::~CmLogFile(void)
??1CmLogFile@@QAE@XZ
; public: class CIniA & __thiscall CIniA::operator=(class CIniA const &)
??4CIniA@@QAEAAV0@ABV0@@Z
; public: class CIniW & __thiscall CIniW::operator=(class CIniW const &)
??4CIniW@@QAEAAV0@ABV0@@Z
; public: class CRandom & __thiscall CRandom::operator=(class CRandom const &)
??4CRandom@@QAEAAV0@ABV0@@Z
; public: class CmLogFile & __thiscall CmLogFile::operator=(class CmLogFile const &)
??4CmLogFile@@QAEAAV0@ABV0@@Z
; public: void __thiscall CIniA::`default constructor closure'(void)
??_FCIniA@@QAEXXZ
; public: void __thiscall CIniW::`default constructor closure'(void)
??_FCIniW@@QAEXXZ
; public: void __thiscall CmLogFile::Banner(void)
?Banner@CmLogFile@@QAEXXZ
; protected: int __thiscall CIniA::CIniA_DeleteEntryFromReg(struct HKEY__ *,char const *,char const *)const 
?CIniA_DeleteEntryFromReg@CIniA@@IBEHPAUHKEY__@@PBD1@Z
; protected: unsigned char * __thiscall CIniA::CIniA_GetEntryFromReg(struct HKEY__ *,char const *,char const *,unsigned long,unsigned long)const 
?CIniA_GetEntryFromReg@CIniA@@IBEPAEPAUHKEY__@@PBD1KK@Z
; protected: int __thiscall CIniA::CIniA_WriteEntryToReg(struct HKEY__ *,char const *,char const *,unsigned char const *,unsigned long,unsigned long)const 
?CIniA_WriteEntryToReg@CIniA@@IBEHPAUHKEY__@@PBD1PBEKK@Z
; protected: int __thiscall CIniW::CIniW_DeleteEntryFromReg(struct HKEY__ *,unsigned short const *,unsigned short const *)const 
?CIniW_DeleteEntryFromReg@CIniW@@IBEHPAUHKEY__@@PBG1@Z
; protected: unsigned char * __thiscall CIniW::CIniW_GetEntryFromReg(struct HKEY__ *,unsigned short const *,unsigned short const *,unsigned long,unsigned long)const 
?CIniW_GetEntryFromReg@CIniW@@IBEPAEPAUHKEY__@@PBG1KK@Z
; protected: int __thiscall CIniW::CIniW_WriteEntryToReg(struct HKEY__ *,unsigned short const *,unsigned short const *,unsigned char const *,unsigned long,unsigned long)const 
?CIniW_WriteEntryToReg@CIniW@@IBEHPAUHKEY__@@PBG1PBEKK@Z
; protected: static void __stdcall CIniA::CIni_SetFile(char * *,char const *)
?CIni_SetFile@CIniA@@KGXPAPADPBD@Z
; protected: static void __stdcall CIniW::CIni_SetFile(unsigned short * *,unsigned short const *)
?CIni_SetFile@CIniW@@KGXPAPAGPBG@Z
; public: void __thiscall CIniA::Clear(void)
?Clear@CIniA@@QAEXXZ
; public: void __thiscall CIniW::Clear(void)
?Clear@CIniW@@QAEXXZ
; public: void __thiscall CmLogFile::Clear(int)
?Clear@CmLogFile@@QAEXH@Z
; private: long __thiscall CmLogFile::CloseFile(void)
?CloseFile@CmLogFile@@AAEJXZ
CmAtolA
CmAtolW
CmBuildFullPathFromRelativeA
CmBuildFullPathFromRelativeW
CmCompareStringA
CmCompareStringW
CmConvertRelativePathA
CmConvertRelativePathW
CmEndOfStrA
CmEndOfStrW
CmFmtMsgA
CmFmtMsgW
CmFree
CmIsDigitA
CmIsDigitW
CmIsSpaceA
CmIsSpaceW
CmLoadIconA
CmLoadIconW
CmLoadImage
CmLoadImageA
CmLoadImageW
CmLoadSmallIconA
CmLoadSmallIconW
CmLoadStringA
CmLoadStringW
CmMalloc
CmMoveMemory
CmParsePathA
CmParsePathW
CmRealloc
CmStrCatAllocA
CmStrCatAllocW
CmStrCpyAllocA
CmStrCpyAllocW
CmStrStrA
CmStrStrW
CmStrTrimA
CmStrTrimW
CmStrchrA
CmStrchrW
CmStripFileNameA
CmStripFileNameW
CmStripPathAndExtA
CmStripPathAndExtW
CmStrrchrA
CmStrrchrW
CmStrtokA
CmStrtokW
CmWinHelp
; public: long __thiscall CmLogFile::DeInit(void)
?DeInit@CmLogFile@@QAEJXZ
; private: void __thiscall CmLogFile::FormatWrite(enum _CMLOG_ITEM,unsigned short *)
?FormatWrite@CmLogFile@@AAEXW4_CMLOG_ITEM@@PAG@Z
; public: int __thiscall CIniA::GPPB(char const *,char const *,int)const 
?GPPB@CIniA@@QBEHPBD0H@Z
; public: int __thiscall CIniW::GPPB(unsigned short const *,unsigned short const *,int)const 
?GPPB@CIniW@@QBEHPBG0H@Z
; public: unsigned long __thiscall CIniA::GPPI(char const *,char const *,unsigned long)const 
?GPPI@CIniA@@QBEKPBD0K@Z
; public: unsigned long __thiscall CIniW::GPPI(unsigned short const *,unsigned short const *,unsigned long)const 
?GPPI@CIniW@@QBEKPBG0K@Z
; public: char * __thiscall CIniA::GPPS(char const *,char const *,char const *)const 
?GPPS@CIniA@@QBEPADPBD00@Z
; public: unsigned short * __thiscall CIniW::GPPS(unsigned short const *,unsigned short const *,unsigned short const *)const 
?GPPS@CIniW@@QBEPAGPBG00@Z
; public: int __thiscall CRandom::Generate(void)
?Generate@CRandom@@QAEHXZ
; public: char const * __thiscall CIniA::GetFile(void)const 
?GetFile@CIniA@@QBEPBDXZ
; public: unsigned short const * __thiscall CIniW::GetFile(void)const 
?GetFile@CIniW@@QBEPBGXZ
; public: struct HINSTANCE__ * __thiscall CIniA::GetHInst(void)const 
?GetHInst@CIniA@@QBEPAUHINSTANCE__@@XZ
; public: struct HINSTANCE__ * __thiscall CIniW::GetHInst(void)const 
?GetHInst@CIniW@@QBEPAUHINSTANCE__@@XZ
; public: unsigned short const * __thiscall CmLogFile::GetLogFilePath(void)
?GetLogFilePath@CmLogFile@@QAEPBGXZ
GetOSBuildNumber
GetOSMajorVersion
GetOSVersion
; public: char const * __thiscall CIniA::GetPrimaryFile(void)const 
?GetPrimaryFile@CIniA@@QBEPBDXZ
; public: unsigned short const * __thiscall CIniW::GetPrimaryFile(void)const 
?GetPrimaryFile@CIniW@@QBEPBGXZ
; public: char const * __thiscall CIniA::GetPrimaryRegPath(void)const 
?GetPrimaryRegPath@CIniA@@QBEPBDXZ
; public: unsigned short const * __thiscall CIniW::GetPrimaryRegPath(void)const 
?GetPrimaryRegPath@CIniW@@QBEPBGXZ
; public: char const * __thiscall CIniA::GetRegPath(void)const 
?GetRegPath@CIniA@@QBEPBDXZ
; public: unsigned short const * __thiscall CIniW::GetRegPath(void)const 
?GetRegPath@CIniW@@QBEPBGXZ
; public: char const * __thiscall CIniA::GetSection(void)const 
?GetSection@CIniA@@QBEPBDXZ
; public: unsigned short const * __thiscall CIniW::GetSection(void)const 
?GetSection@CIniW@@QBEPBGXZ
; public: void __thiscall CRandom::Init(unsigned long)
?Init@CRandom@@QAEXK@Z
; public: long __thiscall CmLogFile::Init(struct HINSTANCE__ *,int,char const *)
?Init@CmLogFile@@QAEJPAUHINSTANCE__@@HPBD@Z
; public: long __thiscall CmLogFile::Init(struct HINSTANCE__ *,int,unsigned short const *)
?Init@CmLogFile@@QAEJPAUHINSTANCE__@@HPBG@Z
; public: int __thiscall CmLogFile::IsEnabled(void)
?IsEnabled@CmLogFile@@QAEHXZ
IsFarEastNonOSR2Win95
IsLogonAsSystem
; protected: char * __thiscall CIniA::LoadEntry(char const *)const 
?LoadEntry@CIniA@@IBEPADPBD@Z
; protected: unsigned short * __thiscall CIniW::LoadEntry(unsigned short const *)const 
?LoadEntry@CIniW@@IBEPAGPBG@Z
; public: char * __thiscall CIniA::LoadSection(char const *)const 
?LoadSection@CIniA@@QBEPADPBD@Z
; public: unsigned short * __thiscall CIniW::LoadSection(unsigned short const *)const 
?LoadSection@CIniW@@QBEPAGPBG@Z
; public: void __cdecl CmLogFile::Log(enum _CMLOG_ITEM,...)
?Log@CmLogFile@@QAAXW4_CMLOG_ITEM@@ZZ
MakeBold
; private: long __thiscall CmLogFile::OpenFile(void)
?OpenFile@CmLogFile@@AAEJXZ
ReleaseBold
; public: void __thiscall CIniA::SetEntry(char const *)
?SetEntry@CIniA@@QAEXPBD@Z
; public: void __thiscall CIniW::SetEntry(unsigned short const *)
?SetEntry@CIniW@@QAEXPBG@Z
; public: void __thiscall CIniA::SetEntryFromIdx(unsigned long)
?SetEntryFromIdx@CIniA@@QAEXK@Z
; public: void __thiscall CIniW::SetEntryFromIdx(unsigned long)
?SetEntryFromIdx@CIniW@@QAEXK@Z
; public: void __thiscall CIniA::SetFile(char const *)
?SetFile@CIniA@@QAEXPBD@Z
; public: void __thiscall CIniW::SetFile(unsigned short const *)
?SetFile@CIniW@@QAEXPBG@Z
; public: void __thiscall CIniA::SetHInst(struct HINSTANCE__ *)
?SetHInst@CIniA@@QAEXPAUHINSTANCE__@@@Z
; public: void __thiscall CIniW::SetHInst(struct HINSTANCE__ *)
?SetHInst@CIniW@@QAEXPAUHINSTANCE__@@@Z
; public: void __thiscall CIniA::SetICSDataPath(char const *)
?SetICSDataPath@CIniA@@QAEXPBD@Z
; public: void __thiscall CIniW::SetICSDataPath(unsigned short const *)
?SetICSDataPath@CIniW@@QAEXPBG@Z
; public: long __thiscall CmLogFile::SetParams(int,unsigned long,char const *)
?SetParams@CmLogFile@@QAEJHKPBD@Z
; public: long __thiscall CmLogFile::SetParams(int,unsigned long,unsigned short const *)
?SetParams@CmLogFile@@QAEJHKPBG@Z
; public: void __thiscall CIniA::SetPrimaryFile(char const *)
?SetPrimaryFile@CIniA@@QAEXPBD@Z
; public: void __thiscall CIniW::SetPrimaryFile(unsigned short const *)
?SetPrimaryFile@CIniW@@QAEXPBG@Z
; public: void __thiscall CIniA::SetPrimaryRegPath(char const *)
?SetPrimaryRegPath@CIniA@@QAEXPBD@Z
; public: void __thiscall CIniW::SetPrimaryRegPath(unsigned short const *)
?SetPrimaryRegPath@CIniW@@QAEXPBG@Z
; public: void __thiscall CIniA::SetReadICSData(int)
?SetReadICSData@CIniA@@QAEXH@Z
; public: void __thiscall CIniW::SetReadICSData(int)
?SetReadICSData@CIniW@@QAEXH@Z
; public: void __thiscall CIniA::SetRegPath(char const *)
?SetRegPath@CIniA@@QAEXPBD@Z
; public: void __thiscall CIniW::SetRegPath(unsigned short const *)
?SetRegPath@CIniW@@QAEXPBG@Z
; public: void __thiscall CIniA::SetSection(char const *)
?SetSection@CIniA@@QAEXPBD@Z
; public: void __thiscall CIniW::SetSection(unsigned short const *)
?SetSection@CIniW@@QAEXPBG@Z
; public: void __thiscall CIniA::SetWriteICSData(int)
?SetWriteICSData@CIniA@@QAEXH@Z
; public: void __thiscall CIniW::SetWriteICSData(int)
?SetWriteICSData@CIniW@@QAEXH@Z
; public: long __thiscall CmLogFile::Start(int)
?Start@CmLogFile@@QAEJH@Z
; public: long __thiscall CmLogFile::Stop(void)
?Stop@CmLogFile@@QAEJXZ
SzToWz
SzToWzWithAlloc
UpdateFont
; public: void __thiscall CIniA::WPPB(char const *,char const *,int)
?WPPB@CIniA@@QAEXPBD0H@Z
; public: void __thiscall CIniW::WPPB(unsigned short const *,unsigned short const *,int)
?WPPB@CIniW@@QAEXPBG0H@Z
; public: void __thiscall CIniA::WPPI(char const *,char const *,unsigned long)
?WPPI@CIniA@@QAEXPBD0K@Z
; public: void __thiscall CIniW::WPPI(unsigned short const *,unsigned short const *,unsigned long)
?WPPI@CIniW@@QAEXPBG0K@Z
; public: void __thiscall CIniA::WPPS(char const *,char const *,char const *)
?WPPS@CIniA@@QAEXPBD00@Z
; public: void __thiscall CIniW::WPPS(unsigned short const *,unsigned short const *,unsigned short const *)
?WPPS@CIniW@@QAEXPBG00@Z
; private: long __thiscall CmLogFile::Write(unsigned short *)
?Write@CmLogFile@@AAEJPAG@Z
WzToSz
WzToSzWithAlloc
