1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
/*******************************************************************************
*
* HEADER: cterror.h
*
********************************************************************************
*
* DESCRIPTION: Error reporting for the ctlib
*
********************************************************************************
*
* $Project: /Convert-Binary-C $
* $Author: mhx $
* $Date: 2009/03/15 04:10:48 +0100 $
* $Revision: 24 $
* $Source: /ctlib/cterror.h $
*
********************************************************************************
*
* Copyright (c) 2002-2009 Marcus Holland-Moritz. All rights reserved.
* This program is free software; you can redistribute it and/or modify
* it under the same terms as Perl itself.
*
*******************************************************************************/
#ifndef _CTLIB_CTERROR_H
#define _CTLIB_CTERROR_H
/*===== GLOBAL INCLUDES ======================================================*/
/*===== LOCAL INCLUDES =======================================================*/
#include "ctparse.h"
#include "cppreent.h"
/*===== DEFINES ==============================================================*/
/*===== TYPEDEFS =============================================================*/
typedef struct {
void * (*newstr)(void);
void (*destroy)(void *);
void (*scatf)(void *, const char *, ...);
void (*vscatf)(void *, const char *, va_list *);
const char * (*cstring)(void *, size_t *);
void (*fatalerr)(void *);
} PrintFunctions;
enum CTErrorSeverity {
CTES_INFORMATION,
CTES_WARNING,
CTES_ERROR
};
typedef struct {
enum CTErrorSeverity severity;
char *string;
} CTLibError;
/*===== FUNCTION PROTOTYPES ==================================================*/
#define set_print_functions CTlib_set_print_functions
void set_print_functions(PrintFunctions *pPF);
#define pop_all_errors CTlib_pop_all_errors
void pop_all_errors(CParseInfo *pCPI);
#define push_error CTlib_push_error
void push_error(CParseInfo *pCPI, const char *fmt, ...);
#define push_warning CTlib_push_warning
void push_warning(CParseInfo *pCPI, const char *fmt, ...);
#define fatal_error CTlib_fatal_error
void fatal_error(const char *fmt, ...);
#define my_ucpp_ouch CTlib_my_ucpp_ouch
void my_ucpp_ouch(pUCPP_ char *fmt, ...);
#define my_ucpp_error CTlib_my_ucpp_error
void my_ucpp_error(pUCPP_ long line, char *fmt, ...);
#define my_ucpp_warning CTlib_my_ucpp_warning
void my_ucpp_warning(pUCPP_ long line, char *fmt, ...);
#endif
|