File: error.h

package info (click to toggle)
graphviz 14.0.5-2
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 139,388 kB
  • sloc: ansic: 141,938; cpp: 11,957; python: 7,766; makefile: 4,043; yacc: 3,030; xml: 2,972; tcl: 2,495; sh: 1,388; objc: 1,159; java: 560; lex: 423; perl: 243; awk: 156; pascal: 139; php: 58; ruby: 49; cs: 31; sed: 1
file content (67 lines) | stat: -rw-r--r-- 1,955 bytes parent folder | download | duplicates (2)
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
/*************************************************************************
 * Copyright (c) 2011 AT&T Intellectual Property 
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors: Details at https://graphviz.org
 *************************************************************************/

#pragma once

#ifdef __cplusplus
extern "C" {
#endif

/*
 * standalone mini error interface
 */

#include <stdarg.h>
#include <errno.h>

    typedef struct Error_info_s {
	int errors;
	int indent;
	int line;
	int warnings;
	int trace;
	char *file;
	char *id;
    } Error_info_t;

#define ERROR_INFO	0	/* info message -- no err_id    */
#define ERROR_WARNING	1	/* warning message              */
#define ERROR_ERROR	2	/* error message -- no err_exit */
#define ERROR_FATAL	3	/* error message with err_exit  */
#define ERROR_PANIC	ERROR_LEVEL	/* panic message with err_exit  */

#define ERROR_LEVEL	0x00ff	/* level portion of status      */
#define ERROR_USAGE	0x0800	/* usage message                */

/* support for extra API misuse warnings if available */
#ifdef __GNUC__
  #define PRINTF_LIKE(index, first) __attribute__((format(printf, index, first)))
#else
  #define PRINTF_LIKE(index, first) /* nothing */
#endif

    extern Error_info_t error_info;

    extern void setTraceLevel (int);
    extern void setErrorLine (int);
    extern void setErrorFileLine (char*, int);
    extern void setErrorId (char*);
    extern void setErrorErrors (int);
    extern int  getErrorErrors (void);

    extern void error(int, const char *, ...) PRINTF_LIKE(2, 3);
    extern void errorf(void *, void *, int, const char *, ...) PRINTF_LIKE(4, 5);
    extern void errorv(const char *, int, const char *, va_list);

#undef PRINTF_LIKE

#ifdef __cplusplus
}
#endif