--- /dev/null
+\r
+/*\83V\83X\83e\83\80\8d\\91¢\91Ì\8b¤\92Ê\8aÇ\97\9d\83\8b\81[\83`\83\93*/\r
+\r
+#include "core.h"\r
+\r
+System_CommonStruct *System_CommonStruct_Allocate(uint structid)\r
+{\r
+ uint strsize;\r
+ System_CommonStruct *str;\r
+\r
+ strsize = 0;\r
+ switch(structid){\r
+ case SYSTEM_STRUCTID_SHEET:\r
+ strsize = sizeof(UI_Sheet);\r
+ break;\r
+ case SYSTEM_STRUCTID_FIFO32:\r
+ strsize = sizeof(DATA_FIFO32);\r
+ break;\r
+ case SYSTEM_STRUCTID_TEXTBOX:\r
+ strsize = sizeof(UI_TextBox);\r
+ break;\r
+ case SYSTEM_STRUCTID_CONSOLE:\r
+ strsize = sizeof(UI_Console);\r
+ break;\r
+ case SYSTEM_STRUCTID_FLOPPYDISK:\r
+ strsize = sizeof(IO_FloppyDisk);\r
+ break;\r
+ case SYSTEM_STRUCTID_FILE:\r
+ strsize = sizeof(IO_File);\r
+ break;\r
+ default:\r
+ #ifdef CHNOSPROJECT_DEBUG_COMMON_STRUCT\r
+ debug("System_CommonStruct_Allocate:Unknown Struct.\n");\r
+ #endif\r
+ return Null;\r
+ }\r
+\r
+ str = System_Memory_Allocate(strsize);\r
+ str->structid = structid;\r
+ str->structsize = strsize;\r
+\r
+ return str;\r
+}\r
+\r
+uint System_CommonStruct_Free(System_CommonStruct *str)\r
+{\r
+ switch(str->structid){\r
+ case SYSTEM_STRUCTID_SHEET:\r
+ case SYSTEM_STRUCTID_FIFO32:\r
+ case SYSTEM_STRUCTID_TEXTBOX:\r
+ case SYSTEM_STRUCTID_CONSOLE:\r
+ case SYSTEM_STRUCTID_FLOPPYDISK:\r
+ case SYSTEM_STRUCTID_FILE:\r
+ break;\r
+ default:\r
+ #ifdef CHNOSPROJECT_DEBUG_COMMON_STRUCT\r
+ debug("System_CommonStruct_Free:Unknown Struct.\n");\r
+ #endif\r
+ return 1;\r
+ }\r
+ str->structid = SYSTEM_STRUCTID_UNDEFINED;\r
+ System_Memory_Free(str, str->structsize);\r
+ return 0;\r
+}\r
+\r