X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?p=YACASL2.git;a=blobdiff_plain;f=include%2Fstruct.h;h=ffc448ed5c9cf56fb61ab65197a71511358b5fc2;hp=ed58762a3a8334c338f448aede586db669571c33;hb=5c3c2f08e16a3a682db878d66095f90e732194aa;hpb=9f54a56b4d6a4c2e09529a5e71ad0d84afa1ce45 diff --git a/include/struct.h b/include/struct.h index ed58762..ffc448e 100644 --- a/include/struct.h +++ b/include/struct.h @@ -53,6 +53,15 @@ typedef struct { */ extern SYSTEM *sys; +/** + * 命令ハッシュ表のハッシュの種類 + */ +typedef enum { + HASH_CMDTYPE, + HASH_CODE, + HASH_MAX, +} CMDTAB_HASH; + /** * COMET II 命令 * 命令タイプは、オペランドにより5種類に分類 @@ -145,25 +154,24 @@ void reset(int memsize, int clocks); void shutdown(); /** - * 名前とタイプがキーの命令ハッシュ表を作成する - */ -bool create_cmdtype_code(); - -/** - * 命令の名前とタイプから、命令コードを返す - * 無効な場合は0xFFFFを返す + * @brief 命令ハッシュ表を作成する + * + * @return なし + * + * @param hash ハッシュ値 */ -WORD getcmdcode(const char *cmd, CMDTYPE type); +bool create_cmdtable(CMDTAB_HASH hash); /** - * 名前とタイプがキーの命令ハッシュ表を解放する + * 命令ハッシュ表を解放する */ -void free_cmdtype_code(); +void free_cmdtable(CMDTAB_HASH hash); /** - * コードがキーの命令ハッシュ表を作成する + * 命令の名前とタイプから、命令コードを返す + * 無効な場合は0xFFFFを返す */ -bool create_code_cmdtype(); +WORD getcmdcode(const char *cmd, CMDTYPE type); /** * 命令コードから命令の関数ポインタを返す @@ -180,9 +188,4 @@ CMDTYPE getcmdtype(WORD code); */ char *getcmdname(WORD code); -/** - * コードがキーの命令ハッシュ表を解放する - */ -void free_code_cmdtype(); - #endif /* YACASL2_CASL2_INCLUDEDの終端 */