データ構造の名前を変更
[YACASL2.git] / include / cerr.h
index a4d1246..a67b65d 100644 (file)
@@ -1,51 +1,67 @@
 #ifndef YACASL2_CERR_H_INCLUDED
 #define YACASL2_CERR_H_INCLUDED
 
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
 #include <stdbool.h>
+#include "cmem.h"
 
-#ifndef ARRAYSIZE
-#define ARRAYSIZE(array) (sizeof(array)/sizeof(array[0]))
-#endif
-
-/* エラー番号 */
-extern int cerrno;
-
-/* エラーメッセージ */
-extern char *cerrmsg;
+/**
+ * エラーの構造体
+ */
+typedef struct _CERR {
+    int num;        /**<エラー番号 */
+    char *msg;      /**<エラーメッセージ */
+} CERR;
 
-/* エラーコード配列 */
-typedef struct {
-    int num;
-    char *msg;
-} CERRARRAY;
+/**
+ * 現在のエラー
+ */
+extern CERR *cerr;
 
-/* エラーコードリスト */
+/**
+ * エラーリスト型
+ */
 typedef struct _CERRLIST {
-    struct _CERRLIST *next;
-    CERRARRAY *err;
+    struct _CERRLIST *next;     /**<リスト次項目へのポインタ */
+    CERR *cerr;                 /**<エラーの構造体 */
 } CERRLIST;
 
-/* エラーメッセージ */
-extern CERRLIST *cerr;
+/**
+ * エラーリスト
+ */
+extern CERRLIST *cerrlist;
 
 enum {
-    CERRSTRSIZE = 10,    /* エラーメッセージ中に挿入できる文字列のサイズ */
-    CERRMSGSIZE = 70,    /* エラーメッセージのサイズ */
+    CERRSTRSIZE = 10,    /**<エラーメッセージ中に挿入できる文字列のサイズ */
+    CERRMSGSIZE = 70,    /**<エラーメッセージのサイズ */
 };
 
-/* エラーを追加する */
-bool addcerrlist(int cerrc, CERRARRAY cerrv[]);
+/**
+ * エラーの初期化
+ */
+void cerr_init();
+
+/**
+ * エラーリストを作成・追加する
+ */
+bool addcerrlist(int cerrc, CERR cerrv[]);
+
+/**
+ * エラーリストを表示する
+ */
+void printcerrlist();
 
-/* エラー番号とエラーメッセージを設定 */
+/**
+ * 現在のエラーを設定する
+ */
 void setcerr(int num, const char *str);
 
-/* エラー番号からメッセージを返す */
+/**
+ * エラーリストから、エラー番号に対応するメッセージを返す
+ */
 char *getcerrmsg(int num);
 
-/* エラーを解放する */
+/**
+ * エラーリストと現在のエラーを解放する
+ */
 void freecerr();
 #endif