OSDN Git Service

binding with libharu.
[putex/putex.git] / src / texsourc / lib / libhpdf / include / hpdf_error.h
1 /*
2  * << Haru Free PDF Library >> -- hpdf_error.h
3  *
4  * URL: http://libharu.org
5  *
6  * Copyright (c) 1999-2006 Takeshi Kanno <takeshi_kanno@est.hi-ho.ne.jp>
7  * Copyright (c) 2007-2009 Antony Dovgal <tony@daylessday.org>
8  *
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.
15  *
16  */
17
18 #ifndef _HPDF_ERROR_H
19 #define _HPDF_ERROR_H
20
21 #include "hpdf_types.h"
22
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26
27 /* error-code */
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
39 /*                                                0x100D */
40 #define HPDF_DUPLICATE_REGISTRATION               0x100E
41 #define HPDF_EXCEED_JWW_CODE_NUM_LIMIT            0x100F
42 /*                                                0x1010 */
43 #define HPDF_ENCRYPT_INVALID_PASSWORD             0x1011
44 /*                                                0x1012 */
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
50 /*                                                0x1018 */
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
55 /*                                                0x101D */
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
62 /*                                                0x1024 */
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
67 /*                                                0x1029 */
68 /*                                                0x102A */
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
84 /*                                                0x103A */
85 #define HPDF_INVALID_PNG_IMAGE                    0x103B
86 #define HPDF_INVALID_STREAM                       0x103C
87 #define HPDF_MISSING_FILE_NAME_ENTRY              0x103D
88 /*                                                0x103E */
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
96 /*                                                0x1046 */
97 /*                                                0x1047 */
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
116 /*                                                0x105A */
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
148
149 /*---------------------------------------------------------------------------*/
150
151 /*---------------------------------------------------------------------------*/
152 /*----- HPDF_Error ----------------------------------------------------------*/
153
154 typedef struct  _HPDF_Error_Rec  *HPDF_Error;
155
156 typedef struct  _HPDF_Error_Rec {
157     HPDF_STATUS             error_no;
158     HPDF_STATUS             detail_no;
159     HPDF_Error_Handler      error_fn;
160     void                    *user_data;
161 } HPDF_Error_Rec;
162
163
164 /*  HPDF_Error_init
165  *
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.
168  *
169  */
170 void
171 HPDF_Error_Init  (HPDF_Error    error,
172                   void         *user_data);
173
174
175 void
176 HPDF_Error_Reset  (HPDF_Error  error);
177
178
179 HPDF_STATUS
180 HPDF_Error_GetCode  (HPDF_Error  error);
181
182
183 HPDF_STATUS
184 HPDF_Error_GetDetailCode  (HPDF_Error  error);
185
186
187 HPDF_STATUS
188 HPDF_SetError  (HPDF_Error   error,
189                 HPDF_STATUS  error_no,
190                 HPDF_STATUS  detail_no);
191
192
193 HPDF_STATUS
194 HPDF_RaiseError  (HPDF_Error   error,
195                   HPDF_STATUS  error_no,
196                   HPDF_STATUS  detail_no);
197
198 #ifdef __cplusplus
199 }
200 #endif /* __cplusplus */
201
202 #endif /* _HPDF_ERROR_H */
203