summaryrefslogtreecommitdiff
path: root/xpdf/Error.h
blob: a4ae5c9c1213302cedd5d46f65d878a60eb5a2fa (plain)
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
//========================================================================
//
// Error.h
//
// Copyright 1996-2003 Glyph & Cog, LLC
//
//========================================================================

#ifndef ERROR_H
#define ERROR_H

#include <aconf.h>

#ifdef USE_GCC_PRAGMAS
#pragma interface
#endif

#include <stdio.h>
#include "config.h"

enum ErrorCategory {
  errSyntaxWarning,	// PDF syntax error which can be worked around;
			//   output will probably be correct
  errSyntaxError,	// PDF syntax error which can be worked around;
			//   output will probably be incorrect
  errConfig,		// error in Xpdf config info (xpdfrc file, etc.)
  errCommandLine,	// error in user-supplied parameters, action not
			//   allowed, etc. (only used by command-line tools)
  errIO,		// error in file I/O
  errNotAllowed,	// action not allowed by PDF permission bits
  errUnimplemented,	// unimplemented PDF feature - display will be
			//   incorrect
  errInternal		// internal error - malfunction within the Xpdf code
};

extern void setErrorCallback(void (*cbk)(void *data, ErrorCategory category,
					 int pos, char *msg),
			     void *data);

extern void CDECL error(ErrorCategory category, int pos, const char *msg, ...);

#endif