uint (*getHash)(const void *structure);\r
};\r
\r
+//@chnlib00.c\r
+typedef struct CHNLIB_UIPARRAY CHNLIB_UIPArray;\r
+//@chnlib01.c\r
+typedef struct CHNLIB_STRING CHNLIB_String;\r
+//@chnlib05.c\r
+typedef struct CHNLIB_RANDOM_GENERATOR_MT CHNLIB_RandomGeneratorMT;\r
+//@chnlib06.c\r
+typedef struct CHNLIB_UniversallyUniqueIDentifier CHNLIB_UUID;\r
+\r
//\r
//Define library values\r
//\r
#define False 0\r
#define True 1\r
\r
-#define CHNLIB_STRUCT_ID_Null 0\r
-#define CHNLIB_STRUCT_ID_UIPArray 1\r
-#define CHNLIB_STRUCT_ID_String 2\r
+#define CHNLIB_STRUCT_ID_Null 0\r
+#define CHNLIB_STRUCT_ID_UIPArray 1\r
+#define CHNLIB_STRUCT_ID_String 2\r
+#define CHNLIB_STRUCT_ID_RandomGeneratorMT 3\r
+#define CHNLIB_STRUCT_ID_UUID 4\r
\r
#define CHNLIB_MAX_STRING_LENGTH 4096\r
\r
void CHNLIB_Release(void **structure);\r
void *CHNLIB_AutoRelease(void *structure);\r
//@chnlib00.c\r
-typedef struct CHNLIB_UIPARRAY CHNLIB_UIPArray;\r
-struct CHNLIB_UIP_ARRAY;\r
//----配列の初期化\r
CHNLIB_UIPArray *CHNLIB_UIPArray_Initialize(void);\r
//----データの追加\r
CHNLIB_UIPArray *CHNLIB_UIPArray_GetSortedInDescendingOrderByData32(const CHNLIB_UIPArray *array);\r
\r
//@chnlib01.c\r
-typedef struct CHNLIB_STRING CHNLIB_String;\r
-struct CHNLIB_STRING;\r
//----文字列の初期化\r
CHNLIB_String *CHNLIB_String_Initialize(const char str[]);\r
CHNLIB_String *CHNLIB_String_InitializeWithFormat(const char format[], ...);\r
int CHNLIB_UIPArray_GetSeparatedStringByUIPArray(CHNLIB_UIPArray **separated, const CHNLIB_UIPArray *list, const CHNLIB_String *s);\r
int CHNLIB_UIPArray_GetSeparatedUTF8Character(CHNLIB_UIPArray **separated, const CHNLIB_String *s);\r
CHNLIB_String *CHNLIB_ReadLine(FILE *fp);\r
+CHNLIB_UUID *CHNLIB_GenerateUUIDVersion4WithRandomGeneratorMT(CHNLIB_RandomGeneratorMT *mt);\r
\r
//@chnlib03.c\r
void CHNLIB_Environment_SetCurrentWorkingDirectory(const char apppath[]);\r
const char *CHNLIB_Environment_GetFilenameFromPath(const char path[]);\r
\r
-//@chnlib05.c\r
+//@chnlib04.c\r
int CHNLIB_UTF8_GetCharacterType(char c);\r
int CHNLIB_UTF8_GetStringLengthByCharacter(const char s[]);\r
uint CHNLIB_UTF8_GetNextUnicodeOfCharacter(const char s[], const char **next);\r
int CHNLIB_UTF8_GetByteSizeFromLengthByCharacter(const char s[], int start, int end);\r
uint CHNLIB_UTF8_GetCountOfContain(const char s[], const char search[]);\r
\r
+//@chnlib05.c\r
+CHNLIB_RandomGeneratorMT *CHNLIB_RandomGeneratorMT_Initialise(void);\r
+void CHNLIB_RandomGeneratorMT_Free(CHNLIB_RandomGeneratorMT *env);\r
+void CHNLIB_RandomGeneratorMT_SetSeed(CHNLIB_RandomGeneratorMT *env, unsigned long s);\r
+void CHNLIB_RandomGeneratorMT_SetSeedFromArray(CHNLIB_RandomGeneratorMT *env, unsigned long init_key[], int key_length);\r
+uint CHNLIB_RandomGeneratorMT_GetRandomUnsignedInteger32(CHNLIB_RandomGeneratorMT *env);\r
+\r
+//@chnlib06.c\r
+CHNLIB_UUID *CHNLIB_UUID_Initialise(void);\r
+void CHNLIB_UUID_Free(CHNLIB_UUID *uuid);\r
+void CHNLIB_UUID_Print(const CHNLIB_UUID *uuid);\r
+int CHNLIB_UUID_IsEqualToUUID(const CHNLIB_UUID *uuid1, const CHNLIB_UUID *uuid2);\r
+void CHNLIB_UUID_SetValueAsUUIDVersion4CompatibleWithRFC4122(CHNLIB_UUID *uuid, uint random1, uint random2, uint random3, uint random4);\r
+void CHNLIB_UUID_SetNullUUID(CHNLIB_UUID *uuid);\r
+CHNLIB_UUID *CHNLIB_UUID_Copy(const CHNLIB_UUID *uuidBase);\r
#endif\r