shutdown関数の追加
[YACASL2.git] / include / cerr.h
index 828d03e..a4d1246 100644 (file)
@@ -5,6 +5,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <assert.h>
+#include <stdbool.h>
 
 #ifndef ARRAYSIZE
 #define ARRAYSIZE(array) (sizeof(array)/sizeof(array[0]))
@@ -16,20 +17,29 @@ extern int cerrno;
 /* エラーメッセージ */
 extern char *cerrmsg;
 
-/* エラーコードリスト */
+/* エラーコード配列 */
 typedef struct {
     int num;
     char *msg;
 } CERRARRAY;
 
+/* エラーコードリスト */
+typedef struct _CERRLIST {
+    struct _CERRLIST *next;
+    CERRARRAY *err;
+} CERRLIST;
+
 /* エラーメッセージ */
-extern CERRARRAY cerr[];
+extern CERRLIST *cerr;
 
 enum {
     CERRSTRSIZE = 10,    /* エラーメッセージ中に挿入できる文字列のサイズ */
     CERRMSGSIZE = 70,    /* エラーメッセージのサイズ */
 };
 
+/* エラーを追加する */
+bool addcerrlist(int cerrc, CERRARRAY cerrv[]);
+
 /* エラー番号とエラーメッセージを設定 */
 void setcerr(int num, const char *str);