2 * << Haru Free PDF Library >> -- hpdf_error.h
4 * URL: http://libharu.org
6 * Copyright (c) 1999-2006 Takeshi Kanno <takeshi_kanno@est.hi-ho.ne.jp>
7 * Copyright (c) 2007-2009 Antony Dovgal <tony@daylessday.org>
9 * Permission to use, copy, modify, distribute and sell this software
10 * and its documentation for any purpose is hereby granted without fee,
11 * provided that the above copyright notice appear in all copies and
12 * that both that copyright notice and this permission notice appear
13 * in supporting documentation.
14 * It is provided "as is" without express or implied warranty.
21 #include "hpdf_types.h"
28 #define HPDF_ARRAY_COUNT_ERR 0x1001
29 #define HPDF_ARRAY_ITEM_NOT_FOUND 0x1002
30 #define HPDF_ARRAY_ITEM_UNEXPECTED_TYPE 0x1003
31 #define HPDF_BINARY_LENGTH_ERR 0x1004
32 #define HPDF_CANNOT_GET_PALLET 0x1005
33 #define HPDF_DICT_COUNT_ERR 0x1007
34 #define HPDF_DICT_ITEM_NOT_FOUND 0x1008
35 #define HPDF_DICT_ITEM_UNEXPECTED_TYPE 0x1009
36 #define HPDF_DICT_STREAM_LENGTH_NOT_FOUND 0x100A
37 #define HPDF_DOC_ENCRYPTDICT_NOT_FOUND 0x100B
38 #define HPDF_DOC_INVALID_OBJECT 0x100C
40 #define HPDF_DUPLICATE_REGISTRATION 0x100E
41 #define HPDF_EXCEED_JWW_CODE_NUM_LIMIT 0x100F
43 #define HPDF_ENCRYPT_INVALID_PASSWORD 0x1011
45 #define HPDF_ERR_UNKNOWN_CLASS 0x1013
46 #define HPDF_EXCEED_GSTATE_LIMIT 0x1014
47 #define HPDF_FAILD_TO_ALLOC_MEM 0x1015
48 #define HPDF_FILE_IO_ERROR 0x1016
49 #define HPDF_FILE_OPEN_ERROR 0x1017
51 #define HPDF_FONT_EXISTS 0x1019
52 #define HPDF_FONT_INVALID_WIDTHS_TABLE 0x101A
53 #define HPDF_INVALID_AFM_HEADER 0x101B
54 #define HPDF_INVALID_ANNOTATION 0x101C
56 #define HPDF_INVALID_BIT_PER_COMPONENT 0x101E
57 #define HPDF_INVALID_CHAR_MATRICS_DATA 0x101F
58 #define HPDF_INVALID_COLOR_SPACE 0x1020
59 #define HPDF_INVALID_COMPRESSION_MODE 0x1021
60 #define HPDF_INVALID_DATE_TIME 0x1022
61 #define HPDF_INVALID_DESTINATION 0x1023
63 #define HPDF_INVALID_DOCUMENT 0x1025
64 #define HPDF_INVALID_DOCUMENT_STATE 0x1026
65 #define HPDF_INVALID_ENCODER 0x1027
66 #define HPDF_INVALID_ENCODER_TYPE 0x1028
69 #define HPDF_INVALID_ENCODING_NAME 0x102B
70 #define HPDF_INVALID_ENCRYPT_KEY_LEN 0x102C
71 #define HPDF_INVALID_FONTDEF_DATA 0x102D
72 #define HPDF_INVALID_FONTDEF_TYPE 0x102E
73 #define HPDF_INVALID_FONT_NAME 0x102F
74 #define HPDF_INVALID_IMAGE 0x1030
75 #define HPDF_INVALID_JPEG_DATA 0x1031
76 #define HPDF_INVALID_N_DATA 0x1032
77 #define HPDF_INVALID_OBJECT 0x1033
78 #define HPDF_INVALID_OBJ_ID 0x1034
79 #define HPDF_INVALID_OPERATION 0x1035
80 #define HPDF_INVALID_OUTLINE 0x1036
81 #define HPDF_INVALID_PAGE 0x1037
82 #define HPDF_INVALID_PAGES 0x1038
83 #define HPDF_INVALID_PARAMETER 0x1039
85 #define HPDF_INVALID_PNG_IMAGE 0x103B
86 #define HPDF_INVALID_STREAM 0x103C
87 #define HPDF_MISSING_FILE_NAME_ENTRY 0x103D
89 #define HPDF_INVALID_TTC_FILE 0x103F
90 #define HPDF_INVALID_TTC_INDEX 0x1040
91 #define HPDF_INVALID_WX_DATA 0x1041
92 #define HPDF_ITEM_NOT_FOUND 0x1042
93 #define HPDF_LIBPNG_ERROR 0x1043
94 #define HPDF_NAME_INVALID_VALUE 0x1044
95 #define HPDF_NAME_OUT_OF_RANGE 0x1045
98 #define HPDF_PAGE_INVALID_PARAM_COUNT 0x1048
99 #define HPDF_PAGES_MISSING_KIDS_ENTRY 0x1049
100 #define HPDF_PAGE_CANNOT_FIND_OBJECT 0x104A
101 #define HPDF_PAGE_CANNOT_GET_ROOT_PAGES 0x104B
102 #define HPDF_PAGE_CANNOT_RESTORE_GSTATE 0x104C
103 #define HPDF_PAGE_CANNOT_SET_PARENT 0x104D
104 #define HPDF_PAGE_FONT_NOT_FOUND 0x104E
105 #define HPDF_PAGE_INVALID_FONT 0x104F
106 #define HPDF_PAGE_INVALID_FONT_SIZE 0x1050
107 #define HPDF_PAGE_INVALID_GMODE 0x1051
108 #define HPDF_PAGE_INVALID_INDEX 0x1052
109 #define HPDF_PAGE_INVALID_ROTATE_VALUE 0x1053
110 #define HPDF_PAGE_INVALID_SIZE 0x1054
111 #define HPDF_PAGE_INVALID_XOBJECT 0x1055
112 #define HPDF_PAGE_OUT_OF_RANGE 0x1056
113 #define HPDF_REAL_OUT_OF_RANGE 0x1057
114 #define HPDF_STREAM_EOF 0x1058
115 #define HPDF_STREAM_READLN_CONTINUE 0x1059
117 #define HPDF_STRING_OUT_OF_RANGE 0x105B
118 #define HPDF_THIS_FUNC_WAS_SKIPPED 0x105C
119 #define HPDF_TTF_CANNOT_EMBEDDING_FONT 0x105D
120 #define HPDF_TTF_INVALID_CMAP 0x105E
121 #define HPDF_TTF_INVALID_FOMAT 0x105F
122 #define HPDF_TTF_MISSING_TABLE 0x1060
123 #define HPDF_UNSUPPORTED_FONT_TYPE 0x1061
124 #define HPDF_UNSUPPORTED_FUNC 0x1062
125 #define HPDF_UNSUPPORTED_JPEG_FORMAT 0x1063
126 #define HPDF_UNSUPPORTED_TYPE1_FONT 0x1064
127 #define HPDF_XREF_COUNT_ERR 0x1065
128 #define HPDF_ZLIB_ERROR 0x1066
129 #define HPDF_INVALID_PAGE_INDEX 0x1067
130 #define HPDF_INVALID_URI 0x1068
131 #define HPDF_PAGE_LAYOUT_OUT_OF_RANGE 0x1069
132 #define HPDF_PAGE_MODE_OUT_OF_RANGE 0x1070
133 #define HPDF_PAGE_NUM_STYLE_OUT_OF_RANGE 0x1071
134 #define HPDF_ANNOT_INVALID_ICON 0x1072
135 #define HPDF_ANNOT_INVALID_BORDER_STYLE 0x1073
136 #define HPDF_PAGE_INVALID_DIRECTION 0x1074
137 #define HPDF_INVALID_FONT 0x1075
138 #define HPDF_PAGE_INSUFFICIENT_SPACE 0x1076
139 #define HPDF_PAGE_INVALID_DISPLAY_TIME 0x1077
140 #define HPDF_PAGE_INVALID_TRANSITION_TIME 0x1078
141 #define HPDF_INVALID_PAGE_SLIDESHOW_TYPE 0x1079
142 #define HPDF_EXT_GSTATE_OUT_OF_RANGE 0x1080
143 #define HPDF_INVALID_EXT_GSTATE 0x1081
144 #define HPDF_EXT_GSTATE_READ_ONLY 0x1082
145 #define HPDF_INVALID_U3D_DATA 0x1083
146 #define HPDF_NAME_CANNOT_GET_NAMES 0x1084
147 #define HPDF_INVALID_ICC_COMPONENT_NUM 0x1085
149 /*---------------------------------------------------------------------------*/
151 /*---------------------------------------------------------------------------*/
152 /*----- HPDF_Error ----------------------------------------------------------*/
154 typedef struct _HPDF_Error_Rec *HPDF_Error;
156 typedef struct _HPDF_Error_Rec {
157 HPDF_STATUS error_no;
158 HPDF_STATUS detail_no;
159 HPDF_Error_Handler error_fn;
166 * if error_fn is NULL, the default-handlers are set as error-handler.
167 * user_data is used to identify the object which threw an error.
171 HPDF_Error_Init (HPDF_Error error,
176 HPDF_Error_Reset (HPDF_Error error);
180 HPDF_Error_GetCode (HPDF_Error error);
184 HPDF_Error_GetDetailCode (HPDF_Error error);
188 HPDF_SetError (HPDF_Error error,
189 HPDF_STATUS error_no,
190 HPDF_STATUS detail_no);
194 HPDF_RaiseError (HPDF_Error error,
195 HPDF_STATUS error_no,
196 HPDF_STATUS detail_no);
200 #endif /* __cplusplus */
202 #endif /* _HPDF_ERROR_H */