File: cterror.h

package info (click to toggle)
libconvert-binary-c-perl 0.74-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 9,100 kB
  • ctags: 21,416
  • sloc: ansic: 63,666; perl: 18,582; yacc: 2,143; makefile: 44
file content (87 lines) | stat: -rw-r--r-- 2,512 bytes parent folder | download
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