00001 00007 #ifndef _ERROR_H 00008 #define _ERROR_H 00009 00010 #include <stdlib.h> 00011 #include <stdio.h> 00012 #include <stdarg.h> 00013 00014 typedef int (*PRINTFUNCTION)(char *,...); 00015 00016 typedef enum {FS_IN = 0, FS_STD = 1, FS_ERR = 2} FILESTREAM; 00017 00018 #ifdef __cplusplus 00019 extern "C" { 00020 #endif 00021 00022 PRINTFUNCTION output_set_stdout(PRINTFUNCTION call); 00023 PRINTFUNCTION output_set_stderr(PRINTFUNCTION call); 00024 00025 FILE *output_set_stream(FILESTREAM fs, FILE *newfp); 00026 FILE* output_redirect(char *name, char *path); 00027 FILE* output_redirect_stream(char *name, FILE *fp); 00028 int output_fatal(char *format,...); 00029 int output_error(char *format,...); 00030 int output_warning(char *format,...); 00031 int output_debug(char *format,...); 00032 int output_verbose(char *format,...); 00033 int output_message(char *format,...); 00034 int output_raw(char *format,...); 00035 int output_test(char *format,...); 00036 int output_progress(void); 00037 int output_profile(char *format,...); 00038 00039 int output_notify_error(void (*)(void)); 00040 00041 int output_xsd(char *spec); 00042 00043 #ifdef __cplusplus 00044 } 00045 #endif 00046 00047 #endif 00048