2 /*
\83V
\83X
\83e
\83\80\8d\
\91¢
\91Ì
\8b¤
\92Ê
\8aÇ
\97\9d\83\8b\81[
\83`
\83\93*/
\r
6 System_CommonStruct *System_CommonStruct_Allocate(uint structid)
\r
9 System_CommonStruct *str;
\r
13 case SYSTEM_STRUCTID_SHEET:
\r
14 strsize = sizeof(UI_Sheet);
\r
16 case SYSTEM_STRUCTID_FIFO32:
\r
17 strsize = sizeof(DATA_FIFO32);
\r
19 case SYSTEM_STRUCTID_TEXTBOX:
\r
20 strsize = sizeof(UI_TextBox);
\r
22 case SYSTEM_STRUCTID_CONSOLE:
\r
23 strsize = sizeof(UI_Console);
\r
25 case SYSTEM_STRUCTID_FLOPPYDISK:
\r
26 strsize = sizeof(IO_FloppyDisk);
\r
28 case SYSTEM_STRUCTID_FILE:
\r
29 strsize = sizeof(IO_File);
\r
32 #ifdef CHNOSPROJECT_DEBUG_COMMON_STRUCT
\r
33 debug("System_CommonStruct_Allocate:Unknown Struct.\n");
\r
38 str = System_Memory_Allocate(strsize);
\r
39 str->structid = structid;
\r
40 str->structsize = strsize;
\r
45 uint System_CommonStruct_Free(System_CommonStruct *str)
\r
47 switch(str->structid){
\r
48 case SYSTEM_STRUCTID_SHEET:
\r
49 case SYSTEM_STRUCTID_FIFO32:
\r
50 case SYSTEM_STRUCTID_TEXTBOX:
\r
51 case SYSTEM_STRUCTID_CONSOLE:
\r
52 case SYSTEM_STRUCTID_FLOPPYDISK:
\r
53 case SYSTEM_STRUCTID_FILE:
\r
56 #ifdef CHNOSPROJECT_DEBUG_COMMON_STRUCT
\r
57 debug("System_CommonStruct_Free:Unknown Struct.\n");
\r
61 str->structid = SYSTEM_STRUCTID_UNDEFINED;
\r
62 System_Memory_Free(str, str->structsize);
\r