;
; Definition file of cmutil.dll
; Automatic generated by gendef
; written by Kai Tietz 2008
;
LIBRARY "cmutil.dll"
EXPORTS
; public: __thiscall CIniA::CIniA(struct HINSTANCE__ *,char const *,char const *,char const *,char const *)
??0CIniA@@QAE@PAUHINSTANCE__@@PBD111@Z ; has WINAPI (@20)
; public: __thiscall CIniW::CIniW(struct HINSTANCE__ *,unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *)
??0CIniW@@QAE@PAUHINSTANCE__@@PBG111@Z ; has WINAPI (@20)
; public: __thiscall CRandom::CRandom(unsigned int)
??0CRandom@@QAE@I@Z ; has WINAPI (@4)
; 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 ; has WINAPI (@4)
; public: class CIniW &__thiscall CIniW::operator =(class CIniW const &)
??4CIniW@@QAEAAV0@ABV0@@Z ; has WINAPI (@4)
; public: class CRandom &__thiscall CRandom::operator =(class CRandom const &)
??4CRandom@@QAEAAV0@ABV0@@Z ; has WINAPI (@4)
; public: class CmLogFile &__thiscall CmLogFile::operator =(class CmLogFile const &)
??4CmLogFile@@QAEAAV0@ABV0@@Z ; has WINAPI (@4)
; public: void __thiscall CIniA::__dflt_ctor_closure(void)
??_FCIniA@@QAEXXZ
; public: void __thiscall CIniW::__dflt_ctor_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 ; has WINAPI (@12)
; protected: unsigned char *__thiscall CIniA::CIniA_GetEntryFromReg(struct HKEY__ *,char const *,char const *,unsigned long,unsigned long)const 
?CIniA_GetEntryFromReg@CIniA@@IBEPAEPAUHKEY__@@PBD1KK@Z ; has WINAPI (@20)
; 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 ; has WINAPI (@24)
; protected: int __thiscall CIniW::CIniW_DeleteEntryFromReg(struct HKEY__ *,unsigned short const *,unsigned short const *)const 
?CIniW_DeleteEntryFromReg@CIniW@@IBEHPAUHKEY__@@PBG1@Z ; has WINAPI (@12)
; 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 ; has WINAPI (@20)
; 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 ; has WINAPI (@24)
; protected: static void __stdcall CIniA::CIni_SetFile(char **,char const *)
?CIni_SetFile@CIniA@@KGXPAPADPBD@Z ; has WINAPI (@8)
; protected: static void __stdcall CIniW::CIni_SetFile(unsigned short **,unsigned short const *)
?CIni_SetFile@CIniW@@KGXPAPAGPBG@Z ; has WINAPI (@8)
; 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 ; has WINAPI (@4)
; private: long __thiscall CmLogFile::CloseFile(void)
?CloseFile@CmLogFile@@AAEJXZ
CmAtolA@4
CmAtolW@4
CmBuildFullPathFromRelativeA@8
CmBuildFullPathFromRelativeW@8
CmCompareStringA@8
CmCompareStringW@8
CmConvertRelativePathW@8
CmConvertStrToIPv6AddrA@8
CmConvertStrToIPv6AddrW@8
CmEndOfStrW@4
CmFmtMsgA
CmFmtMsgW
CmFree@4
CmIsDigitW@4
CmIsIPv6AddressA@4
CmIsIPv6AddressW@4
CmIsSpaceW@4
CmLoadIconA@8
CmLoadIconW@8
CmLoadImageW@20
CmLoadSmallIconA@8
CmLoadSmallIconW@8
CmLoadStringW@8
CmMalloc@4
CmMoveMemory@12
CmParsePathW@16
CmRealloc@8
CmStrCatAllocA@8
CmStrCatAllocW@8
CmStrCharCountA@8
CmStrCharCountW@8
CmStrCharStuffingA@8
CmStrCharStuffingW@8
CmStrCpyAllocA@4
CmStrCpyAllocW@4
CmStrStrA@8
CmStrStrW@8
CmStrTrimW@4
CmStrchrA@8
CmStrchrW@8
CmStripFileNameW@8
CmStripPathAndExtW@4
CmStrrchrA@8
CmStrrchrW@8
CmStrtokA@8
CmStrtokW@8
CmWinHelp@20
; 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 ; has WINAPI (@8)
; public: int __thiscall CIniA::GPPB(char const *,char const *,int)const 
?GPPB@CIniA@@QBEHPBD0H@Z ; has WINAPI (@12)
; public: int __thiscall CIniW::GPPB(unsigned short const *,unsigned short const *,int)const 
?GPPB@CIniW@@QBEHPBG0H@Z ; has WINAPI (@12)
; public: unsigned long __thiscall CIniA::GPPI(char const *,char const *,unsigned long)const 
?GPPI@CIniA@@QBEKPBD0K@Z ; has WINAPI (@12)
; public: unsigned long __thiscall CIniW::GPPI(unsigned short const *,unsigned short const *,unsigned long)const 
?GPPI@CIniW@@QBEKPBG0K@Z ; has WINAPI (@12)
; public: char *__thiscall CIniA::GPPS(char const *,char const *,char const *)const 
?GPPS@CIniA@@QBEPADPBD00@Z ; has WINAPI (@12)
; public: unsigned short *__thiscall CIniW::GPPS(unsigned short const *,unsigned short const *,unsigned short const *)const 
?GPPS@CIniW@@QBEPAGPBG00@Z ; has WINAPI (@12)
; 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 ; has WINAPI (@4)
; public: long __thiscall CmLogFile::Init(struct HINSTANCE__ *,int,char const *)
?Init@CmLogFile@@QAEJPAUHINSTANCE__@@HPBD@Z ; has WINAPI (@12)
; public: long __thiscall CmLogFile::Init(struct HINSTANCE__ *,int,unsigned short const *)
?Init@CmLogFile@@QAEJPAUHINSTANCE__@@HPBG@Z ; has WINAPI (@12)
; public: int __thiscall CmLogFile::IsEnabled(void)
?IsEnabled@CmLogFile@@QAEHXZ
IsFarEastNonOSR2Win95
IsLogonAsSystem
; protected: char *__thiscall CIniA::LoadEntry(char const *)const 
?LoadEntry@CIniA@@IBEPADPBD@Z ; has WINAPI (@4)
; protected: unsigned short *__thiscall CIniW::LoadEntry(unsigned short const *)const 
?LoadEntry@CIniW@@IBEPAGPBG@Z ; has WINAPI (@4)
; public: char *__thiscall CIniA::LoadSection(char const *)const 
?LoadSection@CIniA@@QBEPADPBD@Z ; has WINAPI (@4)
; public: unsigned short *__thiscall CIniW::LoadSection(unsigned short const *)const 
?LoadSection@CIniW@@QBEPAGPBG@Z ; has WINAPI (@4)
; public: void __cdecl CmLogFile::Log(enum _CMLOG_ITEM,...)
?Log@CmLogFile@@QAAXW4_CMLOG_ITEM@@ZZ
MakeBold@8
; private: long __thiscall CmLogFile::OpenFile(void)
?OpenFile@CmLogFile@@AAEJXZ
ReleaseBold@4
; public: void __thiscall CIniA::SetEntry(char const *)
?SetEntry@CIniA@@QAEXPBD@Z ; has WINAPI (@4)
; public: void __thiscall CIniW::SetEntry(unsigned short const *)
?SetEntry@CIniW@@QAEXPBG@Z ; has WINAPI (@4)
; public: void __thiscall CIniA::SetEntryFromIdx(unsigned long)
?SetEntryFromIdx@CIniA@@QAEXK@Z ; has WINAPI (@4)
; public: void __thiscall CIniW::SetEntryFromIdx(unsigned long)
?SetEntryFromIdx@CIniW@@QAEXK@Z ; has WINAPI (@4)
; public: void __thiscall CIniA::SetFile(char const *)
?SetFile@CIniA@@QAEXPBD@Z ; has WINAPI (@4)
; public: void __thiscall CIniW::SetFile(unsigned short const *)
?SetFile@CIniW@@QAEXPBG@Z ; has WINAPI (@4)
; public: void __thiscall CIniA::SetHInst(struct HINSTANCE__ *)
?SetHInst@CIniA@@QAEXPAUHINSTANCE__@@@Z ; has WINAPI (@4)
; public: void __thiscall CIniW::SetHInst(struct HINSTANCE__ *)
?SetHInst@CIniW@@QAEXPAUHINSTANCE__@@@Z ; has WINAPI (@4)
; public: void __thiscall CIniA::SetICSDataPath(char const *)
?SetICSDataPath@CIniA@@QAEXPBD@Z ; has WINAPI (@4)
; public: void __thiscall CIniW::SetICSDataPath(unsigned short const *)
?SetICSDataPath@CIniW@@QAEXPBG@Z ; has WINAPI (@4)
; public: long __thiscall CmLogFile::SetParams(int,unsigned long,char const *)
?SetParams@CmLogFile@@QAEJHKPBD@Z ; has WINAPI (@12)
; public: long __thiscall CmLogFile::SetParams(int,unsigned long,unsigned short const *)
?SetParams@CmLogFile@@QAEJHKPBG@Z ; has WINAPI (@12)
; public: void __thiscall CIniA::SetPrimaryFile(char const *)
?SetPrimaryFile@CIniA@@QAEXPBD@Z ; has WINAPI (@4)
; public: void __thiscall CIniW::SetPrimaryFile(unsigned short const *)
?SetPrimaryFile@CIniW@@QAEXPBG@Z ; has WINAPI (@4)
; public: void __thiscall CIniA::SetPrimaryRegPath(char const *)
?SetPrimaryRegPath@CIniA@@QAEXPBD@Z ; has WINAPI (@4)
; public: void __thiscall CIniW::SetPrimaryRegPath(unsigned short const *)
?SetPrimaryRegPath@CIniW@@QAEXPBG@Z ; has WINAPI (@4)
; public: void __thiscall CIniA::SetReadICSData(int)
?SetReadICSData@CIniA@@QAEXH@Z ; has WINAPI (@4)
; public: void __thiscall CIniW::SetReadICSData(int)
?SetReadICSData@CIniW@@QAEXH@Z ; has WINAPI (@4)
; public: void __thiscall CIniA::SetRegPath(char const *)
?SetRegPath@CIniA@@QAEXPBD@Z ; has WINAPI (@4)
; public: void __thiscall CIniW::SetRegPath(unsigned short const *)
?SetRegPath@CIniW@@QAEXPBG@Z ; has WINAPI (@4)
; public: void __thiscall CIniA::SetSection(char const *)
?SetSection@CIniA@@QAEXPBD@Z ; has WINAPI (@4)
; public: void __thiscall CIniW::SetSection(unsigned short const *)
?SetSection@CIniW@@QAEXPBG@Z ; has WINAPI (@4)
; public: void __thiscall CIniA::SetWriteICSData(int)
?SetWriteICSData@CIniA@@QAEXH@Z ; has WINAPI (@4)
; public: void __thiscall CIniW::SetWriteICSData(int)
?SetWriteICSData@CIniW@@QAEXH@Z ; has WINAPI (@4)
; public: long __thiscall CmLogFile::Start(int)
?Start@CmLogFile@@QAEJH@Z ; has WINAPI (@4)
; public: long __thiscall CmLogFile::Stop(void)
?Stop@CmLogFile@@QAEJXZ
SzToWz@12
SzToWzWithAlloc@4
UpdateFont@4
; public: void __thiscall CIniA::WPPB(char const *,char const *,int)
?WPPB@CIniA@@QAEXPBD0H@Z ; has WINAPI (@12)
; public: void __thiscall CIniW::WPPB(unsigned short const *,unsigned short const *,int)
?WPPB@CIniW@@QAEXPBG0H@Z ; has WINAPI (@12)
; public: void __thiscall CIniA::WPPI(char const *,char const *,unsigned long)
?WPPI@CIniA@@QAEXPBD0K@Z ; has WINAPI (@12)
; public: void __thiscall CIniW::WPPI(unsigned short const *,unsigned short const *,unsigned long)
?WPPI@CIniW@@QAEXPBG0K@Z ; has WINAPI (@12)
; public: void __thiscall CIniA::WPPS(char const *,char const *,char const *)
?WPPS@CIniA@@QAEXPBD00@Z ; has WINAPI (@12)
; public: void __thiscall CIniW::WPPS(unsigned short const *,unsigned short const *,unsigned short const *)
?WPPS@CIniW@@QAEXPBG00@Z ; has WINAPI (@12)
; private: long __thiscall CmLogFile::Write(unsigned short *)
?Write@CmLogFile@@AAEJPAG@Z ; has WINAPI (@4)
WzToSz@12
WzToSzWithAlloc@4
; public: static unsigned long const CIniW::kMaxValueLength
?kMaxValueLength@CIniW@@2KB
