X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?p=YACASL2.git;a=blobdiff_plain;f=include%2Fcerr.h;h=810bf3c442cd881fc261bae02829d8b39e3b6be7;hp=662cff26fc9a7731546b5e0e68c68d4e8d488856;hb=1708c99d4b6263863304d48ebca3b3473d6a0112;hpb=555c5e8b851becc08ba661a9cb19f617d5a00c12 diff --git a/include/cerr.h b/include/cerr.h index 662cff2..810bf3c 100644 --- a/include/cerr.h +++ b/include/cerr.h @@ -1,51 +1,87 @@ #ifndef YACASL2_CERR_H_INCLUDED #define YACASL2_CERR_H_INCLUDED -#include -#include -#include -#include #include #include "cmem.h" -#ifndef ARRAYSIZE -#define ARRAYSIZE(array) (sizeof(array)/sizeof(array[0])) -#endif - -/* エラーの構造体 */ -typedef struct { - int num; /* エラー番号 */ - char *msg; /* エラーメッセージ */ +/** + * @brief エラーを表すデータ型 + */ +typedef struct _CERR { + int num; /**<エラー番号 */ + char *msg; /**<エラーメッセージ */ } CERR; -/* 現在のエラー */ +/** + * @brief 現在のエラー + */ extern CERR *cerr; -/* エラーリスト */ +/** + * @brief エラーリストのデータ型 + */ typedef struct _CERRLIST { - struct _CERRLIST *next; - CERR *cerr; + struct _CERRLIST *next; /**<リスト次項目へのポインタ */ + CERR *cerr; /**<エラーの構造体 */ } CERRLIST; +/** + * @brief エラーリスト + */ extern CERRLIST *cerrlist; enum { - CERRSTRSIZE = 10, /* エラーメッセージ中に挿入できる文字列のサイズ */ - CERRMSGSIZE = 70, /* エラーメッセージのサイズ */ + CERRSTRSIZE = 10, /**<エラーメッセージ中に挿入できる文字列のサイズ */ + CERRMSGSIZE = 70, /**<エラーメッセージのサイズ */ }; -/* エラーの初期化 */ +/** + * @brief エラーを初期化する + * + * @return なし + */ void cerr_init(); -/* エラーリストを作成・追加する */ -bool addcerrlist(int cerrc, CERR cerrv[]); +/** + * @brief エラーリストを作成・追加する + * + * @return なし + * + * @param cerrc 作成または追加するエラーの数 + * @param cerrv 作成または追加するエラーの配列 + */ +void addcerrlist(int cerrc, CERR cerrv[]); + +/** + * @brief エラーリストを表示する + * + * @return なし + */ +void printcerrlist(); -/* エラー番号とエラーメッセージを設定 */ +/** + * @brief 現在のエラーを設定する + * + * @return なし + * + * @param num エラー番号 + * @param *str エラーメッセージに含まれる文字列 + */ void setcerr(int num, const char *str); -/* エラー番号からメッセージを返す */ +/** + * @brief エラー番号に対応するエラーメッセージを返す + * + * @return エラーメッセージ + * + * @param num エラー番号 + */ char *getcerrmsg(int num); -/* エラーを解放する */ +/** + * @brief エラーリストと現在のエラーを解放する + * + * @return なし + */ void freecerr(); #endif