--- /dev/null
+/* The header file was composed by module mixer */ \r
+#ifdef _MSC_VER\r
+ #if showIncludes\r
+ #pragma message( "start of #include \"" __FILE__ "\"" )\r
+ #endif\r
+#endif\r
+\r
+#ifndef __CLIB_H\r
+#define __CLIB_H\r
+\r
+\r
+ \r
+/*=================================================================*/\r
+/* <<< [CRT/CRT.h] >>> */ \r
+/*=================================================================*/\r
+ \r
+#include <stdio.h> \r
+#ifdef __linux__\r
+ #define _tfopen_s( out_File, Path, Mode ) \\r
+ ( *(out_File) = fopen( Path, Mode ), (*(out_File) == NULL) ? (1) : (0) )\r
+#endif\r
+ \r
+#include <string.h> \r
+ \r
+#include <stdarg.h> \r
+#ifdef __linux__\r
+ #define _vsnprintf vsnprintf\r
+#endif\r
+ \r
+#include <crtdbg.h> \r
+ \r
+#ifndef __linux__\r
+ #include <tchar.h> \r
+#else\r
+ #define _T(x) x\r
+ typedef char TCHAR;\r
+ #define _tcschr strchr\r
+ #define _tprintf printf\r
+#endif\r
+ \r
+#include <locale.h> \r
+\r
+#if UNDER_CE\r
+ #define setlocale( x, y )\r
+#endif\r
+ \r
+#include <errno.h> \r
+#ifdef __linux__\r
+ typedef int errno_t; // CERT DCL09-C\r
+#endif\r
+ \r
+#include <assert.h> \r
+ \r
+#include <direct.h> \r
+ \r
+/*=================================================================*/\r
+/* <<< [CRT_plus/CRT_plus.h] >>> */ \r
+/*=================================================================*/\r
+ \r
+/***********************************************************************\r
+ <<< [fopen_ccs] >>> \r
+************************************************************************/\r
+#if defined(_UNICODE) \r
+ #define fopen_ccs ",ccs=UNICODE"\r
+#else\r
+ #define fopen_ccs "t"\r
+#endif\r
+\r
+\r
+ \r
+/***********************************************************************\r
+ <<< [C99Type] >>> \r
+************************************************************************/\r
+typedef signed int int32_t; /* for 32bit compiler */\r
+typedef signed short int16_t;\r
+typedef signed char int8_t;\r
+typedef unsigned int uint_t;\r
+typedef unsigned int uint32_t; /* for 32bit compiler */\r
+typedef unsigned short uint16_t;\r
+typedef unsigned char uint8_t;\r
+typedef float float32_t;\r
+typedef double float64_t;\r
+typedef char bool_t; /* this is not C99 */\r
+\r
+\r
+ \r
+/***********************************************************************\r
+ <<< [bool type] >>> \r
+************************************************************************/\r
+#ifndef __cplusplus\r
+ #ifndef BOOL_DEFINED\r
+ typedef unsigned char bool;\r
+ enum { true = 1, false = 0 };\r
+ #define BOOL_DEFINED\r
+ #endif\r
+#endif\r
+\r
+\r
+ \r
+/*********************************************************************************************\r
+ <<< [BitField] [BIT_FIELD_ENDIAN] [BIT_FIELD_LITTLE_ENDIAN] [BIT_FIELD_BIG_ENDIAN] >>> \r
+**********************************************************************************************/\r
+typedef unsigned int BitField; \r
+typedef uint32_t BitField32;\r
+#define BIT_FIELD_ENDIAN BIT_FIELD_LITTLE_ENDIAN\r
+#define BIT_FIELD_LITTLE_ENDIAN 1\r
+#define BIT_FIELD_BIG_ENDIAN 2\r
+\r
+\r
+ \r
+/***********************************************************************\r
+ <<< [inline] [SUPPORT_INLINE_C_FUNC] [NOT_USE_INLINE_MACRO] >>> \r
+************************************************************************/\r
+#ifndef SUPPORT_INLINE_C_FUNC\r
+ #define SUPPORT_INLINE_C_FUNC 1\r
+#endif\r
+#ifndef INLINE\r
+ #if ! __cplusplus\r
+ #if SUPPORT_INLINE_C_FUNC\r
+ #define inline _inline /* inline is specified under C99 */\r
+ #endif\r
+ #endif\r
+#endif\r
+\r
+#ifndef NOT_USE_INLINE_MACRO\r
+ #define NOT_USE_INLINE_MACRO 0\r
+#endif\r
+\r
+\r
+ \r
+/***********************************************************************\r
+ <<< [FuncType] [FinishFuncType] >>> \r
+************************************************************************/\r
+typedef int (*FuncType)( void* Param ); \r
+typedef int (*FinishFuncType)( void* m, int e );\r
+\r
+\r
+ \r
+/*=================================================================*/\r
+/* <<< [Error4/Error4.h] >>> */ \r
+/*=================================================================*/\r
+ \r
+#if __cplusplus\r
+ extern "C" { /* Start of C Symbol */ \r
+#endif\r
+\r
+\r
+/***********************************************************************\r
+ <<< [errnum_t] >>> \r
+************************************************************************/\r
+typedef int errnum_t; /* 0=no error */\r
+enum { NoError = 0 };\r
+enum { Error4_Err_Base = 0x00000400 }; /* 0x001, 0x400 .. 0x4FF : Reseved meaning by clib */\r
+enum { Error4_Err_Mask = 0xFFFFFF00 };\r
+enum { E_Others = 0x001 }; /* 1 */\r
+enum { E_Original = 0x101 }; /* 257 */\r
+enum { E_GetLastError = 0x401 }; /* 1025 */\r
+enum { E_HResult = 0x402 }; /* 1026 */\r
+enum { E_Errno = 0x403 }; /* 1027 */\r
+enum { E_Unknown = 0x404 }; /* 1028 */\r
+enum { E_InError = 0x405 }; /* 1029 */\r
+enum { E_InFinally = 0x406 }; /* 1030 */\r
+enum { E_InvalidValue = 0x407 }; /* 1031 */\r
+enum { E_NotImplementYet = 0x409 }; /* 1033 */\r
+enum { E_Limitation = 0x40F }; /* 1039 */\r
+enum { E_FewMemory = 0x410 }; /* 1040 */\r
+enum { E_FewArray = 0x411 }; /* 1041 */\r
+enum { E_CannotOpenFile = 0x412 }; /* 1042 */\r
+enum { E_NotFoundDllFunc = 0x413 }; /* 1043 */\r
+enum { E_BadCmdID = 0x414 }; /* 1044 */\r
+enum { E_NotFoundSymbol = 0x415 }; /* 1045 */\r
+enum { E_NoNext = 0x416 }; /* 1046 */\r
+enum { E_AccessDenied = 0x417 }; /* 1047 */\r
+enum { E_PathNotFound = 0x418 }; /* 1048 */\r
+enum { E_OutOfWritable = 0x425 }; /* 1061 */\r
+enum { E_NotInitGlobal = 0x46B }; /* 1131 */\r
+enum { E_DebugBreak = 0x4DB }; /* 1243 */\r
+enum { E_ExitTest = 0x4E7 }; /* 1255 */\r
+\r
+\r
+ \r
+/***********************************************************************\r
+ <<< [Err2_setBreakErrID] >>> \r
+************************************************************************/\r
+#ifndef ERR2_ENABLE_ERROR_BREAK\r
+ #if ! NDEBUG\r
+ #define ERR2_ENABLE_ERROR_BREAK 1\r
+ #else\r
+ #define ERR2_ENABLE_ERROR_BREAK 0\r
+ #endif\r
+#endif\r
+\r
+#if ERR2_ENABLE_ERROR_BREAK\r
+ #define IF(x) if( (x) && ( TryOnIfTrue_imp() ? (TestableDebugBreak(),1) : (1) ) )\r
+ #define IF_D(x) IF(x)\r
+\r
+ #define ASSERT_R( x, goto_err_or_Statement ) \\r
+ __pragma(warning(push)) \\r
+ __pragma(warning(disable:4127)) \\r
+ do{ IF(!(x)) goto_err_or_Statement; } while(0) /* do-while is CERT standard PRE10-C */ \\r
+ __pragma(warning(pop))\r
+\r
+ #define ASSERT_D( x, goto_err_or_Statement ) ASSERT_R( x, goto_err_or_Statement )\r
+#else\r
+ #define IF(x) if(x)\r
+ #define IF_D(x) \\r
+ __pragma(warning(push)) \\r
+ __pragma(warning(disable:4127)) \\r
+ if(0) \\r
+ __pragma(warning(pop))\r
+\r
+ #define ASSERT_R( x, goto_err_or_Statement ) \\r
+ __pragma(warning(push)) \\r
+ __pragma(warning(disable:4127)) \\r
+ do{ if(!(x)) goto_err_or_Statement; }while(0) /* do-while is CERT standard PRE10-C */ \\r
+ __pragma(warning(pop))\r
+\r
+ #define ASSERT_D( x, goto_err_or_Statement )\r
+#endif\r
+\r
+\r
+#if ! ERR2_ENABLE_ERROR_BREAK\r
+ #define Err2_setBreakErrID( x )\r
+ #define Err2_clear()\r
+ #define IfErrThenBreak()\r
+ typedef int ErrStackAreaClass; // dummy type\r
+ #define PushErr( ErrStackArea ) UNREFERENCED_VARIABLES( ErrStackArea )\r
+ #define PopErr( ErrStackArea ) UNREFERENCED_VARIABLES( ErrStackArea )\r
+#else\r
+ void Err2_setBreakErrID( int ID );\r
+ void Err2_clear(void);\r
+ void IfErrThenBreak(void);\r
+ typedef struct _Err2 ErrStackAreaClass;\r
+ void PushErr( ErrStackAreaClass* ErrStackArea );\r
+ void PopErr( ErrStackAreaClass* ErrStackArea );\r
+\r
+ int TryOnIfTrue_imp(void);\r
+\r
+ typedef struct _Err2 Err2;\r
+ struct _Err2 {\r
+ int ErrID;\r
+ int BreakErrID;\r
+ int IsErr;\r
+ };\r
+ extern Err2 g_Err2;\r
+#endif\r
+\r
+\r
+ \r
+/***********************************************************************\r
+ <<< [DEBUG_TRUE, DEBUG_FALSE] >>> \r
+************************************************************************/\r
+#if ! NDEBUG\r
+ #define DEBUG_TRUE 1\r
+ #define DEBUG_FALSE 0\r
+#else\r
+ #define DEBUG_TRUE __cut_on_debug =\r
+ #define DEBUG_FALSE 0\r
+#endif\r
+\r
+\r
+ \r
+/***********************************************************************\r
+ <<< [DEBUG_CODE] >>> \r
+************************************************************************/\r
+#if ! NDEBUG\r
+ #define DEBUG_CODE( expression ) \\r
+ __pragma(warning(push)) \\r
+ __pragma(warning(disable:4127)) \\r
+ do { expression; } while(0) /* do-while is CERT standard PRE10-C */ \\r
+ __pragma(warning(pop))\r
+#else\r
+ #define DEBUG_CODE( expression ) /* no execute */\r
+#endif\r
+\r
+\r
+ \r
+/***********************************************************************\r
+ <<< [CHECK_ARG] >>> \r
+************************************************************************/\r
+#ifndef CHECK_ARG\r
+ #define CHECK_ARG 1\r
+#endif\r
+\r
+/*[GetIsCheckArg][SetIsCheckArg]*/\r
+extern bool g_IsCheckArg;\r
+inline bool GetIsCheckArg(void) { return g_IsCheckArg; }\r
+inline void SetIsCheckArg( bool IsCheckArg ) { g_IsCheckArg = IsCheckArg; }\r
+\r
+\r
+ \r
+/***********************************************************************\r
+ <<< [MEMSET_TO_NOT_INIT] >>> \r
+************************************************************************/\r
+#ifndef USE_MEMSET_TO_NOT_INIT\r
+ #if ! NDEBUG\r
+ #define USE_MEMSET_TO_NOT_INIT 1\r
+ #else\r
+ #define USE_MEMSET_TO_NOT_INIT 0\r
+ #endif\r
+#endif\r
+\r
+#if USE_MEMSET_TO_NOT_INIT\r
+ #define MEMSET_TO_NOT_INIT( Address, ByteSize ) memset( Address, 0xDE, ByteSize )\r
+#else\r
+ #define MEMSET_TO_NOT_INIT( Address, ByteSize )\r
+#endif\r
+\r
+ \r
+/***********************************************************************\r
+ <<< [NAME_STR] >>> \r
+************************************************************************/\r
+#ifndef NAME_STR\r
+ #if ! NDEBUG\r
+ #define NAME_STR 1\r
+ #else\r
+ #define NAME_STR 0\r
+ #endif\r
+#endif\r
+\r
+ \r
+/***********************************************************************\r
+ <<< [UNREFERENCED_VARIABLES] >>> \r
+************************************************************************/\r
+#ifdef __linux__\r
+ #define UNREFERENCED_VARIABLES( x )\r
+#else\r
+ #define UNREFERENCED_VARIABLES( x ) x\r
+#endif\r
+\r
+\r
+ \r
+#if __cplusplus\r
+ } /* End of C Symbol */ \r
+#endif\r
+ \r
+/*=================================================================*/\r
+/* <<< [DebugTools/DebugTools.h] >>> */ \r
+/*=================================================================*/\r
+ \r
+#if __cplusplus\r
+ extern "C" { /* Start of C Symbol */ \r
+#endif\r
+\r
+\r
+#ifndef NDEBUG\r
+ #define NDEBUG_ERROR\r
+#else\r
+ #define NDEBUG_ERROR ___cut_NDEBUG_ERROR\r
+#endif\r
+\r
+ \r
+#ifndef dll_global_g_DebugBreakCount\r
+ #define dll_global_g_DebugBreakCount /* [dll_global_g_DebugBreakCount_NotDLL] */\r
+#endif\r
+ \r
+/***********************************************************************\r
+ <<< [TestableDebugBreak] >>> \r
+************************************************************************/\r
+#define TestableDebugBreak() ( g_DebugBreakCount++, (TestableDebugBreak_isEnabled() ? (DebugBreak(),0) : 0 ) )\r
+int TestableDebugBreak_isEnabled(void);\r
+dll_global_g_DebugBreakCount extern int g_bTestableDebugBreak_Disable;\r
+dll_global_g_DebugBreakCount extern int g_DebugBreakCount;\r
+\r
+\r
+ \r
+#if __cplusplus\r
+ } /* End of C Symbol */ \r
+#endif\r
+\r
+\r
+ \r
+/*=================================================================*/\r
+/* <<< [Print/Print2.h] >>> */ \r
+/*=================================================================*/\r
+ \r
+#if __cplusplus\r
+ extern "C" { /* Start of C Symbol */ \r
+#endif\r
+ \r
+/***********************************************************************\r
+ <<< [USE_printf_to] >>> \r
+************************************************************************/\r
+#define USE_printf_to_stdout 1\r
+#define USE_printf_to_debugger 2\r
+#define USE_printf_to_file 3\r
+\r
+\r
+ \r
+/***********************************************************************\r
+ <<< [PrintfCounterClass] >>> \r
+************************************************************************/\r
+#if USE_PRINTF_COUNTER\r
+\r
+typedef struct _PrintfCounterClass PrintfCounterClass;\r
+struct _PrintfCounterClass {\r
+ int Count;\r
+ int BreakCount;\r
+ int BreakIndent;\r
+};\r
+extern PrintfCounterClass g_PrintfCounter;\r
+\r
+#endif\r
+\r
+\r
+ \r
+/***********************************************************************\r
+ <<< [printf_to_debugger] >>> \r
+************************************************************************/\r
+void printf_to_debugger( const char* fmt, ... );\r
+void wprintf_to_debugger( const wchar_t* fmt, ... );\r
+\r
+#ifndef USE_printf_to\r
+ #ifdef __linux__\r
+ #define USE_printf_to USE_printf_to_stdout\r
+ #else\r
+ #define USE_printf_to USE_printf_to_debugger\r
+ #endif\r
+#endif\r
+\r
+#if USE_printf_to == USE_printf_to_debugger\r
+ #define printf printf_to_debugger\r
+ #define wprintf wprintf_to_debugger\r
+\r
+ #undef _tprintf\r
+ #if UNICODE\r
+ #define _tprintf wprintf_to_debugger\r
+ #else\r
+ #define _tprintf printf_to_debugger\r
+ #endif\r
+#endif\r
+\r
+ \r
+int vsprintf_r( char* s, size_t s_size, const char* format, va_list va ); \r
+ \r
+int vswprintf_r( wchar_t* s, size_t s_size, const wchar_t* format, va_list va ); \r
+ \r
+/*[vstprintf_r]*/\r
+#if defined(_UNICODE) \r
+ #define vstprintf_r vswprintf_r\r
+#else\r
+ #define vstprintf_r vsprintf_r\r
+#endif\r
+ \r
+int stprintf_r( TCHAR* s, size_t s_size, const TCHAR* format, ... ); \r
+ \r
+int stcpy_part_r( TCHAR* s, size_t s_size, TCHAR* s_start, TCHAR** p_s_last, \r
+ const TCHAR* src, const TCHAR* src_over );\r
+int stprintf_part_r( TCHAR* s, size_t s_size, TCHAR* s_start, TCHAR** p_s_last,\r
+ const TCHAR* format, ... );\r
+ \r
+#if __cplusplus\r
+ } /* End of C Symbol */ \r
+#endif\r
+\r
+ \r
+/*=================================================================*/\r
+/* <<< [StrT/StrT.h] >>> */ \r
+/*=================================================================*/\r
+ \r
+#if __cplusplus\r
+ extern "C" { /* Start of C Symbol */ \r
+#endif\r
+\r
+int StrT_cpy( TCHAR* Dst, size_t DstSize, const TCHAR* Src );\r
+int StrT_cat( TCHAR* Dst, size_t DstSize, const TCHAR* Src );\r
+#define StrT_cat( Dst, DstSize, Src ) \\r
+ stcpy_part_r( Dst, sizeof(Dst), _tcschr( Dst, _T('\0') ), NULL, Src, NULL )\r
+TCHAR* StrT_malloc_cpy( const TCHAR* Src );\r
+TCHAR* StrT_malloc_cpy_from_char( const char* Src );\r
+TCHAR* StrT_chrs( const TCHAR* s, const TCHAR* keys );\r
+TCHAR* StrT_skip( const TCHAR* s, const TCHAR* keys );\r
+\r
+\r
+ \r
+/***********************************************************************\r
+ <<< [StrT_Path] >>> \r
+************************************************************************/\r
+enum { StrT_LocalPathMaxSize = 4096 };\r
+TCHAR* StrT_refFName( const TCHAR* s );\r
+TCHAR* StrT_refExt( const TCHAR* s );\r
+bool StrT_isAbsPath( const TCHAR* s );\r
+#define StrT_getAbsPath( out_AbsPath, AbsPathSize, StepPath, BasePath ) \\r
+ StrT_getAbsPath_part( out_AbsPath, AbsPathSize, out_AbsPath, NULL, StepPath, BasePath )\r
+#define StrT_getParentAbsPath( Str, StrSize, StepPath, BasePath ) \\r
+ StrT_getParentAbsPath_part( Str, StrSize, Str, NULL, StepPath, BasePath )\r
+int StrT_getAbsPath_part( TCHAR* Str, size_t StrSize, TCHAR* StrStart,\r
+ TCHAR** out_StrLast, const TCHAR* StepPath, const TCHAR* BasePath );\r
+int StrT_getParentAbsPath_part( TCHAR* Str, size_t StrSize, TCHAR* StrStart,\r
+ TCHAR** out_StrLast, const TCHAR* StepPath, const TCHAR* BasePath );\r
+int StrT_getBaseName_part( TCHAR* Str, size_t StrSize, TCHAR* StrStart,\r
+ TCHAR** out_StrLast, const TCHAR* SrcPath );\r
+#define StrT_getBaseName( Str, StrSize, SrcPath ) \\r
+ StrT_getBaseName_part( Str, StrSize, Str, NULL, SrcPath )\r
+int StrT_addLastOfFileName( TCHAR* out_Path, size_t PathSize,\r
+ const TCHAR* BasePath, const TCHAR* AddName );\r
+\r
+ \r
+#if __cplusplus\r
+ } /* End of C Symbol */ \r
+#endif\r
+\r
+ \r
+/*=================================================================*/\r
+/* <<< [FileT/FileT.h] >>> */ \r
+/*=================================================================*/\r
+ \r
+#if __cplusplus\r
+ extern "C" { /* Start of C Symbol */ \r
+#endif\r
+\r
+#define FileT_isExistWildcard 1\r
+bool FileT_isExist( const TCHAR* path );\r
+bool FileT_isFile( const TCHAR* path );\r
+bool FileT_isDir( const TCHAR* path );\r
+int FileT_isDiff( const TCHAR* Path1, const TCHAR* Path2, bool* bDiff );\r
+int FileT_isSameText( TCHAR* Path1, TCHAR* Path2, int Format1, int Format2, bool* out_bSame );\r
+int FileT_isSameBinaryFile( const TCHAR* PathA, const TCHAR* PathB, int Flags, bool* out_IsSame );\r
+\r
+\r
+ \r
+/* FileT_CallByNestFindData */ \r
+typedef struct {\r
+ void* CallerArgument;\r
+ TCHAR* AbsPath; // abstruct path\r
+ TCHAR* StepPath;\r
+ TCHAR* FileName;\r
+ DWORD FileAttributes;\r
+} FileT_CallByNestFindData;\r
+\r
+int FileT_callByNestFind( const TCHAR* Path, BitField Flags, void* Obj, FuncType Callback );\r
+\r
+enum { FileT_FolderBeforeFiles = 1 };\r
+enum { FileT_FolderAfterFiles = 2 };\r
+enum { FileT_Folder = FILE_ATTRIBUTE_DIRECTORY };\r
+\r
+ \r
+/***********************************************************************\r
+ <<< [FileT_Read] >>> \r
+************************************************************************/\r
+int FileT_openForRead( FILE** out_pFile, const TCHAR* path );\r
+int FileT_close( FILE* File, int e );\r
+\r
+\r
+\r
+ \r
+/***********************************************************************\r
+ <<< [FileT_Write] >>> \r
+************************************************************************/\r
+int FileT_openForWrite( FILE** out_pFile, const TCHAR* Path, int Flags );\r
+\r
+enum { F_Unicode = 1, F_Append = 2 };\r
+\r
+int FileT_copy( const TCHAR* SrcPath, const TCHAR* DstPath );\r
+int FileT_mkdir( const TCHAR* Path );\r
+int FileT_del( const TCHAR* Path );\r
+\r
+\r
+ \r
+/***********************************************************************\r
+ <<< [Writables] >>> \r
+************************************************************************/\r
+#ifndef Uses_AppKey\r
+#define Uses_AppKey 1\r
+#endif\r
+\r
+typedef void* AppKey;\r
+typedef struct _Writables Writables;\r
+\r
+int AppKey_newWritable( AppKey** in_out_m, Writables** out_Writable, ... );\r
+void AppKey_initGlobal_const(void);\r
+int AppKey_finishGlobal( int e );\r
+int AppKey_addNewWritableFolder( const TCHAR* Path );\r
+\r
+\r
+struct _Writables {\r
+ TCHAR** m_Paths; // array of array of TCHAR\r
+ int m_nPath; // -1= not inited\r
+};\r
+\r
+int Writables_delete( Writables* m, int e );\r
+\r
+int Writables_add( Writables* m, AppKey* Key, TCHAR* Path );\r
+int Writables_remove( Writables* m, TCHAR* Path );\r
+\r
+int Writables_enable( Writables* m );\r
+int Writables_disable( Writables* m, int e );\r
+\r
+extern Writables g_CurrentWritables;\r
+\r
+\r
+ \r
+#if __cplusplus\r
+ } /* End of C Symbol */ \r
+#endif\r
+ \r
+/*=================================================================*/\r
+/* <<< [Locale/Locale.h] >>> */ \r
+/*=================================================================*/\r
+ \r
+#if __cplusplus\r
+ extern "C" { /* Start of C Symbol */ \r
+#endif\r
+\r
+\r
+ \r
+/***********************************************************************\r
+ <<< [Locale] >>> \r
+************************************************************************/\r
+extern char* g_LocaleSymbol;\r
+int Locale_init(void);\r
+int Locale_isInited(void);\r
+ \r
+#if __cplusplus\r
+ } /* End of C Symbol */ \r
+#endif\r
+\r
+\r
+ \r
+/*=================================================================*/\r
+/* <<< [PlatformSDK_plus/PlatformSDK_plus.h] >>> */ \r
+/*=================================================================*/\r
+ \r
+#if __cplusplus\r
+ extern "C" { /* Start of C Symbol */ \r
+#endif\r
+\r
+\r
+ \r
+#include <shlwapi.h> \r
+#pragma comment(lib, "shlwapi.lib")\r
+\r
+\r
+ \r
+int GetCommandLineUnnamed( int Index1, TCHAR* out_AParam, size_t AParamSize ); \r
+int GetCommandLineNamed( const TCHAR* Name, bool bCase, TCHAR* out_Value, size_t ValueSize );\r
+int GetCommandLineNamedC8( const TCHAR* Name, bool bCase, char* out_Value, size_t ValueSize );\r
+int GetCommandLineNamedI( const TCHAR* Name, bool bCase, int* out_Value );\r
+bool GetCommandLineExist( const TCHAR* Name, bool bCase );\r
+\r
+#if ! _UNICODE\r
+ #define GetCommandLineNamedC8 GetCommandLineNamed\r
+#endif\r
+\r
+ \r
+/* [env] */ \r
+#define env( Str, StrSize, Input ) \\r
+ env_part( Str, StrSize, Str, NULL, Input )\r
+int env_part( TCHAR* Str, unsigned StrSize, TCHAR* StrStart, TCHAR** out_StrLast,\r
+ const TCHAR* Input );\r
+int env_malloc( TCHAR** out_Value, size_t* out_ValueLen, const TCHAR* Name );\r
+\r
+\r
+ \r
+#if __cplusplus\r
+ } /* End of C Symbol */ \r
+#endif\r
+ \r
+/*=================================================================*/\r
+/* <<< [Global0/Global0.h] >>> */ \r
+/*=================================================================*/\r
+ \r
+#if __cplusplus\r
+ extern "C" { /* Start of C Symbol */ \r
+#endif\r
+\r
+\r
+ \r
+/***********************************************************************\r
+ <<< [Globals] >>> \r
+************************************************************************/\r
+#define USE_GLOBALS 1\r
+\r
+void Globals_init_const(void);\r
+int Globals_init(void);\r
+int Globals_finish( int e );\r
+\r
+#if NDEBUG\r
+ #define get_InitedObject( m, isInited ) (m)\r
+#else\r
+ #define get_InitedObject( m, isInited ) ( isInited( m ) ? (m) : (DebugBreak(), (m)) )\r
+#endif\r
+\r
+\r
+ \r
+#if __cplusplus\r
+ } /* End of C Symbol */ \r
+#endif\r
+ \r
+#endif // __CLIB_H \r
+\r
+#ifdef _MSC_VER\r
+ #if showIncludes\r
+ #pragma message( "end of #include \"" __FILE__ "\"" )\r
+ #endif\r
+#endif\r
+ \r