00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00028 #ifndef ERROR_H
00029 #define ERROR_H
00030
00031 #ifdef HAVE_CONFIG_H
00032 # include <config.h>
00033 #endif
00034
00036 #define FATAL_ERROR(string) lutil_error_fatal(string, __FILE__, __FUNCTION__, __LINE__)
00037
00038 #define ERROR(args...) lutil_error(__FILE__, __FUNCTION__, __LINE__, args)
00039
00040 typedef void (*UErrorFunc)(const char * string, const char* filename, const char* function, int lineno);
00041 typedef int (*UPromptFunc)(const char * title, const char* msg, int nTotal, int nDefault, const char *choice1, va_list args);
00042
00044 void lutil_error_setErrorFunc(UErrorFunc errorFunc);
00046 void lutil_error_setPromptFunc(UPromptFunc promptFunc);
00048 void lutil_error_resetErrorFunc(void);
00050 void lutil_error_resetPromptFunc(void);
00051
00053 void lutil_error_fatal(const char* string, const char* filename, const char* function, int lineno);
00055 int lutil_error_prompt(const char* title, const char* msg, int nTotal, int nDefault, const char *choice1, ...);
00056
00058 void lutil_error(const char* filename, const char* function, int lineno, const char *template, ...) __attribute__ ((format (printf, 4, 5)));
00059
00060 #endif