Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
/* Copyright (C) 1989, 1995, 1998, 1999 Aladdin Enterprises.  All rights reserved.
2
 
3
  This software is provided AS-IS with no warranty, either express or
4
  implied.
5
 
6
  This software is distributed under license and may not be copied,
7
  modified or distributed except as expressly authorized under the terms
8
  of the license contained in the file LICENSE in this distribution.
9
 
10
  For more information about licensing, please refer to
11
  http://www.ghostscript.com/licensing/. For information on
12
  commercial licensing, go to http://www.artifex.com/licensing/ or
13
  contact Artifex Software, Inc., 101 Lucas Valley Road #110,
14
  San Rafael, CA  94903, U.S.A., +1(415)492-9861.
15
*/
16
 
17
/* $Id: ierrors.h,v 1.2 2003/12/03 22:31:26 alexcher Exp $ */
18
/* Definition of error codes */
19
 
20
#ifndef ierrors_INCLUDED
21
#  define ierrors_INCLUDED
22
 
23
/*
24
 * DO NOT USE THIS FILE IN THE GRAPHICS LIBRARY.
25
 * THIS FILE IS PART OF THE POSTSCRIPT INTERPRETER.
26
 * USE gserrors.h IN THE LIBRARY.
27
 */
28
 
29
/*
30
 * A procedure that may return an error always returns
31
 * a non-negative value (zero, unless otherwise noted) for success,
32
 * or negative for failure.
33
 * We use ints rather than an enum to avoid a lot of casting.
34
 */
35
 
36
/* Define the error name table */
37
extern const char *const gs_error_names[];
38
 
39
		/* ------ PostScript Level 1 errors ------ */
40
 
41
#define e_unknownerror (-1)	/* unknown error */
42
#define e_dictfull (-2)
43
#define e_dictstackoverflow (-3)
44
#define e_dictstackunderflow (-4)
45
#define e_execstackoverflow (-5)
46
#define e_interrupt (-6)
47
/* We also need to define gs_error_interrupt, for gpcheck.h. */
48
#undef gs_error_interrupt
49
#define gs_error_interrupt e_interrupt
50
#define e_invalidaccess (-7)
51
#define e_invalidexit (-8)
52
#define e_invalidfileaccess (-9)
53
#define e_invalidfont (-10)
54
#define e_invalidrestore (-11)
55
#define e_ioerror (-12)
56
#define e_limitcheck (-13)
57
#define e_nocurrentpoint (-14)
58
#define e_rangecheck (-15)
59
#define e_stackoverflow (-16)
60
#define e_stackunderflow (-17)
61
#define e_syntaxerror (-18)
62
#define e_timeout (-19)
63
#define e_typecheck (-20)
64
#define e_undefined (-21)
65
#define e_undefinedfilename (-22)
66
#define e_undefinedresult (-23)
67
#define e_unmatchedmark (-24)
68
#define e_VMerror (-25)
69
 
70
#define LEVEL1_ERROR_NAMES\
71
 "unknownerror", "dictfull", "dictstackoverflow", "dictstackunderflow",\
72
 "execstackoverflow", "interrupt", "invalidaccess", "invalidexit",\
73
 "invalidfileaccess", "invalidfont", "invalidrestore", "ioerror",\
74
 "limitcheck", "nocurrentpoint", "rangecheck", "stackoverflow",\
75
 "stackunderflow", "syntaxerror", "timeout", "typecheck", "undefined",\
76
 "undefinedfilename", "undefinedresult", "unmatchedmark", "VMerror"
77
 
78
		/* ------ Additional Level 2 and DPS errors ------ */
79
 
80
#define e_configurationerror (-26)
81
#define e_invalidcontext (-27)
82
#define e_undefinedresource (-28)
83
#define e_unregistered (-29)
84
/* invalidid is for the NeXT DPS extension. */
85
#define e_invalidid (-30)
86
 
87
#define LEVEL2_ERROR_NAMES\
88
 "configurationerror", "invalidcontext", "undefinedresource",\
89
 "unregistered", "invalidid"
90
 
91
#define ERROR_NAMES   LEVEL1_ERROR_NAMES, LEVEL2_ERROR_NAMES
92
 
93
		/* ------ Pseudo-errors used internally ------ */
94
 
95
/*
96
 * Internal code for a fatal error.
97
 * gs_interpret also returns this for a .quit with a positive exit code.
98
 */
99
#define e_Fatal (-100)
100
 
101
/*
102
 * Internal code for the .quit operator.
103
 * The real quit code is an integer on the operand stack.
104
 * gs_interpret returns this only for a .quit with a zero exit code.
105
 */
106
#define e_Quit (-101)
107
 
108
/*
109
 * Internal code for a normal exit from the interpreter.
110
 * Do not use outside of interp.c.
111
 */
112
#define e_InterpreterExit (-102)
113
 
114
/*
115
 * Internal code that indicates that a procedure has been stored in the
116
 * remap_proc of the graphics state, and should be called before retrying
117
 * the current token.  This is used for color remapping involving a call
118
 * back into the interpreter -- inelegant, but effective.
119
 */
120
#define e_RemapColor (-103)
121
 
122
/*
123
 * Internal code to indicate we have underflowed the top block
124
 * of the e-stack.
125
 */
126
#define e_ExecStackUnderflow (-104)
127
 
128
/*
129
 * Internal code for the vmreclaim operator with a positive operand.
130
 * We need to handle this as an error because otherwise the interpreter
131
 * won't reload enough of its state when the operator returns.
132
 */
133
#define e_VMreclaim (-105)
134
 
135
/*
136
 * Internal code for requesting more input from run_string.
137
 */
138
#define e_NeedInput (-106)
139
 
140
/*
141
 * Internal code for stdin callout.
142
 */
143
#define e_NeedStdin (-107)
144
 
145
/*
146
 * Internal code for stdout callout.
147
 */
148
#define e_NeedStdout (-108)
149
 
150
/*
151
 * Internal code for stderr callout.
152
 */
153
#define e_NeedStderr (-109)
154
 
155
/*
156
 * Internal code for a normal exit when usage info is displayed.
157
 * This allows Window versions of Ghostscript to pause until
158
 * the message can be read.
159
 */
160
#define e_Info (-110)
161
 
162
/*
163
 * Define which error codes require re-executing the current object.
164
 */
165
#define ERROR_IS_INTERRUPT(ecode)\
166
  ((ecode) == e_interrupt || (ecode) == e_timeout)
167
 
168
#endif /* ierrors_INCLUDED */