00001
00002
00003
00004
00005
00006
00015 #ifndef SPKG__ERROR_H
00016 #define SPKG__ERROR_H
00017
00018 #include <glib.h>
00019
00020 G_BEGIN_DECLS
00021
00022 #define E_OK 0
00023 #define E_ERROR 1
00024 #define E_BADARG 2
00025 #define E_FATAL 4
00026 #define E_BREAK 5
00028 #define E_PASS 0xffffffff
00030 #define E(n) (1<<(n+8))
00032 struct error;
00033
00038 extern struct error* e_new();
00039
00044 extern void e_free(struct error* e);
00045
00050 extern gchar* e_string(struct error* e);
00051
00056 extern gint e_errno(struct error* e);
00057
00066 extern void e_add(
00067 struct error* e,
00068 const char* context,
00069 const char* function,
00070 gint errnum,
00071 gchar* errfmt,
00072 ...
00073 ) G_GNUC_PRINTF (5, 6);
00074
00079 extern void e_clean(struct error* e);
00080
00085 extern void e_print(struct error* e);
00086
00092 extern gint e_ok(struct error* e);
00093
00094 G_END_DECLS
00095
00096 #endif
00097