xref: /aoo4110/main/tools/inc/tools/errcode.hxx (revision b1cdbd2c)
1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 
24 #ifndef _ERRCODE_HXX
25 #define _ERRCODE_HXX
26 
27 #ifndef __RSC
28 #ifndef _SOLAR_H
29 #include <tools/solar.h>
30 #endif
31 #endif
32 
33 /*
34 
35 01234567012345670123456701234567
36 ||   ||          |||   ||      |
37 Warning           ||   ||      |
38  |   ||           ||   ||      |
39  Dynamic          ||   ||      |
40       |           ||   ||      |
41       Subsystembereiche |      |
42                    |   ||      |
43                    |   ||      |
44                    |   ||      |
45                    Class       |
46                         |      |
47                         |      |
48                         |      |
49                         Code
50 */
51 
52 #define ERRCODE_BUTTON_OK                 0x01
53 #define ERRCODE_BUTTON_CANCEL             0x02
54 #define ERRCODE_BUTTON_RETRY              0x04
55 #define ERRCODE_BUTTON_OK_CANCEL          0x03
56 #define ERRCODE_BUTTON_OK_RETRY_CANCEL    0x07
57 #define ERRCODE_BUTTON_NO                 0x08
58 #define ERRCODE_BUTTON_YES                0x10
59 #define ERRCODE_BUTTON_YES_NO             0x18
60 #define ERRCODE_BUTTON_YES_NO_CANCEL      0x1a
61 
62 #define ERRCODE_BUTTON_DEF_OK             0x100
63 #define ERRCODE_BUTTON_DEF_CANCEL         0x200
64 #define ERRCODE_BUTTON_DEF_YES            0x300
65 #define ERRCODE_BUTTON_DEF_NO             0x400
66 
67 #define ERRCODE_MSG_ERROR                 0x1000
68 #define ERRCODE_MSG_WARNING               0x2000
69 #define ERRCODE_MSG_INFO                  0x3000
70 #define ERRCODE_MSG_QUERY                 0x4000
71 
72 #define ERRCODE_ERROR_MASK                0x3fffffffUL
73 #define ERRCODE_WARNING_MASK              0x80000000UL
74 #define ERRCODE_RES_MASK                  0x7fff
75 
76 #define ERRCODE_CLASS_SHIFT               8
77 #define ERRCODE_AREA_SHIFT                13
78 #define ERRCODE_DYNAMIC_SHIFT             26
79 
80 #define ERRCODE_CLASS_MASK                (31UL  <<ERRCODE_CLASS_SHIFT)
81 
82 #define ERRCODE_DYNAMIC_START             (1UL   <<ERRCODE_DYNAMIC_SHIFT)
83 #define ERRCODE_DYNAMIC_COUNT             31UL
84 #define ERRCODE_DYNAMIC_MASK              (31UL  <<ERRCODE_DYNAMIC_SHIFT)
85 
86 #ifdef __RSC
87 
88 #define ERRCODE_TOERRID(x) (x & ~ERRCODE_DYNAMIC_MASK)
89 #define ERRCODE_TOERROR(x) \
90     ((x & ERRCODE_WARNING_MASK) ? 0 : (x & ERRCODE_ERROR_MASK))
91 
92 #else
93 
94 typedef sal_uIntPtr ErrCode;
95 
ERRCODE_TOERRID(sal_uIntPtr x)96 inline sal_uIntPtr ERRCODE_TOERRID( sal_uIntPtr x )
97 {
98 	return x & ~ERRCODE_DYNAMIC_MASK;
99 }
100 
ERRCODE_TOERROR(sal_uIntPtr x)101 inline sal_uIntPtr ERRCODE_TOERROR( sal_uIntPtr x )
102 {
103 	return ((x & ERRCODE_WARNING_MASK) ? 0 : (x & ERRCODE_ERROR_MASK));
104 }
105 
106 #endif
107 
108 #define ERRCODE_AREA_TOOLS               (0UL   << ERRCODE_AREA_SHIFT)
109 #define ERRCODE_AREA_SV                  (1UL   << ERRCODE_AREA_SHIFT)
110 #define ERRCODE_AREA_SFX                 (2UL   << ERRCODE_AREA_SHIFT)
111 #define ERRCODE_AREA_INET                (3UL   << ERRCODE_AREA_SHIFT)
112 #define ERRCODE_AREA_IO                   ERRCODE_AREA_TOOLS
113 
114 #define ERRCODE_AREA_LIB1                (8UL   << ERRCODE_AREA_SHIFT)
115 #define ERRCODE_AREA_SVX                 ERRCODE_AREA_LIB1
116 #define ERRCODE_AREA_SVX_END             (ERRCODE_AREA_SO-1)
117 #define ERRCODE_AREA_SO                  (9UL   << ERRCODE_AREA_SHIFT)
118 #define ERRCODE_AREA_SO_END              (ERRCODE_AREA_SBX-1)
119 #define ERRCODE_AREA_SBX				 (10UL   << ERRCODE_AREA_SHIFT)
120 #define ERRCODE_AREA_SBX_END			 ((11UL  << ERRCODE_AREA_SHIFT) - 1)
121 #define ERRCODE_AREA_DB 				 (11UL   << ERRCODE_AREA_SHIFT)
122 #define ERRCODE_AREA_DB_END			 	 ((12UL  << ERRCODE_AREA_SHIFT) - 1)
123 #define ERRCODE_AREA_JAVA                (12UL  << ERRCODE_AREA_SHIFT)
124 #define ERRCODE_AREA_JAVA_END            ((13UL  << ERRCODE_AREA_SHIFT) - 1)
125 #define ERRCODE_AREA_UUI                 (13UL  << ERRCODE_AREA_SHIFT)
126 #define ERRCODE_AREA_UUI_END             ((14UL  << ERRCODE_AREA_SHIFT) - 1)
127 #define ERRCODE_AREA_LIB2                (14UL  << ERRCODE_AREA_SHIFT)
128 #define ERRCODE_AREA_LIB2_END            ((15UL  << ERRCODE_AREA_SHIFT) - 1)
129 #define ERRCODE_AREA_CHAOS               (15UL  << ERRCODE_AREA_SHIFT)
130 #define ERRCODE_AREA_CHAOS_END           ((16UL  << ERRCODE_AREA_SHIFT) - 1)
131 
132 #define ERRCODE_AREA_APP1                (32UL  << ERRCODE_AREA_SHIFT)
133 #define ERRCODE_AREA_APP2                (40UL  << ERRCODE_AREA_SHIFT)
134 #define ERRCODE_AREA_APP3                (48UL  << ERRCODE_AREA_SHIFT)
135 #define ERRCODE_AREA_APP4                (56UL  << ERRCODE_AREA_SHIFT)
136 #define ERRCODE_AREA_APP5                (64UL  << ERRCODE_AREA_SHIFT)
137 #define ERRCODE_AREA_APP6                (72UL  << ERRCODE_AREA_SHIFT)
138 
139 #define ERRCODE_AREA_SC                  ERRCODE_AREA_APP1
140 #define ERRCODE_AREA_SC_END              (ERRCODE_AREA_APP2-1)
141 
142 #define ERRCODE_AREA_SD                  ERRCODE_AREA_APP2
143 #define ERRCODE_AREA_SD_END              (ERRCODE_AREA_APP3-1)
144 
145 #define ERRCODE_AREA_SW                  ERRCODE_AREA_APP4
146 #define ERRCODE_AREA_SW_END              (ERRCODE_AREA_APP5-1)
147 
148 #define ERRCODE_AREA_OFA                 ERRCODE_AREA_APP5
149 #define ERRCODE_AREA_OFA_END             (ERRCODE_AREA_APP6-1)
150 
151 #define ERRCODE_CLASS_NONE               (0UL   << ERRCODE_CLASS_SHIFT)
152 #define ERRCODE_CLASS_ABORT              (1UL   << ERRCODE_CLASS_SHIFT)
153 #define ERRCODE_CLASS_GENERAL            (2UL   << ERRCODE_CLASS_SHIFT)
154 #define ERRCODE_CLASS_NOTEXISTS          (3UL   << ERRCODE_CLASS_SHIFT)
155 #define ERRCODE_CLASS_ALREADYEXISTS      (4UL   << ERRCODE_CLASS_SHIFT)
156 #define ERRCODE_CLASS_ACCESS             (5UL   << ERRCODE_CLASS_SHIFT)
157 #define ERRCODE_CLASS_PATH               (6UL   << ERRCODE_CLASS_SHIFT)
158 #define ERRCODE_CLASS_LOCKING            (7UL   << ERRCODE_CLASS_SHIFT)
159 #define ERRCODE_CLASS_PARAMETER          (8UL   << ERRCODE_CLASS_SHIFT)
160 #define ERRCODE_CLASS_SPACE              (9UL   << ERRCODE_CLASS_SHIFT)
161 #define ERRCODE_CLASS_NOTSUPPORTED       (10UL  << ERRCODE_CLASS_SHIFT)
162 #define ERRCODE_CLASS_READ               (11UL  << ERRCODE_CLASS_SHIFT)
163 #define ERRCODE_CLASS_WRITE              (12UL  << ERRCODE_CLASS_SHIFT)
164 #define ERRCODE_CLASS_UNKNOWN            (13UL  << ERRCODE_CLASS_SHIFT)
165 #define ERRCODE_CLASS_VERSION            (14UL  << ERRCODE_CLASS_SHIFT)
166 #define ERRCODE_CLASS_FORMAT             (15UL  << ERRCODE_CLASS_SHIFT)
167 #define ERRCODE_CLASS_CREATE             (16UL  << ERRCODE_CLASS_SHIFT)
168 #define ERRCODE_CLASS_IMPORT             (17UL  << ERRCODE_CLASS_SHIFT)
169 #define ERRCODE_CLASS_EXPORT             (18UL  << ERRCODE_CLASS_SHIFT)
170 #define ERRCODE_CLASS_FILTER             (19UL  << ERRCODE_CLASS_SHIFT)
171 #define ERRCODE_CLASS_SO                 (20UL  << ERRCODE_CLASS_SHIFT)
172 #define ERRCODE_CLASS_SBX				 (21UL  << ERRCODE_CLASS_SHIFT)
173 #define ERRCODE_CLASS_RUNTIME			 (22UL  << ERRCODE_CLASS_SHIFT)
174 #define ERRCODE_CLASS_COMPILER			 (23UL  << ERRCODE_CLASS_SHIFT)
175 
176 #define ERRCODE_NONE                  (0UL)
177 #define ERRCODE_ABORT                 ERRCODE_IO_ABORT
178 
179 #define ERRCODE_IO_MISPLACEDCHAR      (1UL |ERRCODE_CLASS_PARAMETER|\
180                                          ERRCODE_AREA_IO)
181 #define ERRCODE_IO_NOTEXISTS          (2UL |ERRCODE_CLASS_NOTEXISTS|\
182                                          ERRCODE_AREA_IO)
183 #define ERRCODE_IO_ALREADYEXISTS      (3UL |ERRCODE_CLASS_ALREADYEXISTS|\
184                                          ERRCODE_AREA_IO)
185 #define ERRCODE_IO_NOTADIRECTORY      (4UL |ERRCODE_CLASS_PARAMETER|\
186                                          ERRCODE_AREA_IO)
187 #define ERRCODE_IO_NOTAFILE           (5UL |ERRCODE_CLASS_PARAMETER|\
188                                          ERRCODE_AREA_IO)
189 #define ERRCODE_IO_INVALIDDEVICE      (6UL |ERRCODE_CLASS_PATH|\
190                                          ERRCODE_AREA_IO)
191 #define ERRCODE_IO_ACCESSDENIED       (7UL |ERRCODE_CLASS_ACCESS|\
192                                          ERRCODE_AREA_IO)
193 #define ERRCODE_IO_LOCKVIOLATION      (8UL |ERRCODE_CLASS_LOCKING|\
194                                          ERRCODE_AREA_IO)
195 #define ERRCODE_IO_OUTOFSPACE         (9UL |ERRCODE_CLASS_SPACE|\
196                                          ERRCODE_AREA_IO)
197 #define ERRCODE_IO_ISWILDCARD         (11UL|ERRCODE_CLASS_PARAMETER|\
198                                          ERRCODE_AREA_IO)
199 #define ERRCODE_IO_NOTSUPPORTED       (12UL|ERRCODE_CLASS_NOTSUPPORTED|\
200                                          ERRCODE_AREA_IO)
201 #define ERRCODE_IO_GENERAL            (13UL|ERRCODE_CLASS_GENERAL|\
202                                          ERRCODE_AREA_IO)
203 #define ERRCODE_IO_TOOMANYOPENFILES   (14UL|ERRCODE_CLASS_SPACE|\
204                                          ERRCODE_AREA_IO)
205 #define ERRCODE_IO_CANTREAD           (15UL|ERRCODE_CLASS_READ|\
206                                          ERRCODE_AREA_IO)
207 #define ERRCODE_IO_CANTWRITE          (16UL|ERRCODE_CLASS_WRITE|\
208                                          ERRCODE_AREA_IO)
209 #define ERRCODE_IO_OUTOFMEMORY        (17UL|ERRCODE_CLASS_SPACE|\
210                                          ERRCODE_AREA_IO)
211 #define ERRCODE_IO_CANTSEEK           (18UL|ERRCODE_CLASS_GENERAL|\
212                                          ERRCODE_AREA_IO)
213 #define ERRCODE_IO_CANTTELL           (19UL|ERRCODE_CLASS_GENERAL|\
214                                          ERRCODE_AREA_IO)
215 #define ERRCODE_IO_WRONGVERSION       (20UL|ERRCODE_CLASS_VERSION|\
216                                          ERRCODE_AREA_IO)
217 #define ERRCODE_IO_WRONGFORMAT        (21UL|ERRCODE_CLASS_FORMAT|\
218                                          ERRCODE_AREA_IO)
219 #define ERRCODE_IO_INVALIDCHAR        (22UL|ERRCODE_CLASS_PARAMETER|\
220                                          ERRCODE_AREA_IO)
221 #define ERRCODE_IO_UNKNOWN            (23UL|ERRCODE_CLASS_UNKNOWN|\
222                                          ERRCODE_AREA_IO)
223 #define ERRCODE_IO_INVALIDACCESS      (24UL|ERRCODE_CLASS_ACCESS|\
224                                          ERRCODE_AREA_IO)
225 #define ERRCODE_IO_CANTCREATE         (25UL|ERRCODE_CLASS_CREATE|\
226                                          ERRCODE_AREA_IO)
227 #define ERRCODE_IO_INVALIDPARAMETER   (26UL|ERRCODE_CLASS_PARAMETER|\
228                                          ERRCODE_AREA_IO)
229 #define ERRCODE_IO_ABORT              (27UL|ERRCODE_CLASS_ABORT|\
230                                          ERRCODE_AREA_IO)
231 #define ERRCODE_IO_NOTEXISTSPATH      (28UL |ERRCODE_CLASS_NOTEXISTS|\
232                                          ERRCODE_AREA_IO)
233 #define ERRCODE_IO_PENDING            (29UL |ERRCODE_CLASS_NOTEXISTS|\
234                                          ERRCODE_AREA_IO)
235 #define ERRCODE_IO_RECURSIVE          (30UL |ERRCODE_CLASS_PARAMETER|\
236                                          ERRCODE_AREA_IO)
237 #define ERRCODE_IO_NAMETOOLONG		  (31UL |ERRCODE_CLASS_PARAMETER|\
238 										 ERRCODE_AREA_IO)
239 #define ERRCODE_IO_INVALIDLENGTH	  (32UL |ERRCODE_CLASS_PARAMETER|\
240 										 ERRCODE_AREA_IO)
241 #define ERRCODE_IO_CURRENTDIR		  (33UL |ERRCODE_CLASS_PARAMETER|\
242 										 ERRCODE_AREA_IO)
243 #define ERRCODE_IO_NOTSAMEDEVICE	  (34UL |ERRCODE_CLASS_PARAMETER|\
244 										 ERRCODE_AREA_IO)
245 #define ERRCODE_IO_DEVICENOTREADY	  (35UL |ERRCODE_CLASS_READ|\
246 										 ERRCODE_AREA_IO)
247 #define ERRCODE_IO_BADCRC			  (36UL |ERRCODE_CLASS_READ|\
248 										 ERRCODE_AREA_IO)
249 #define ERRCODE_IO_WRITEPROTECTED	  (37UL |ERRCODE_CLASS_ACCESS|\
250 										 ERRCODE_AREA_IO)
251 #define ERRCODE_IO_BROKENPACKAGE	  (38UL |ERRCODE_CLASS_FORMAT|\
252 										 ERRCODE_AREA_IO)
253 #define ERRCODE_IO_NOTSTORABLEINBINARYFORMAT	  (39UL |ERRCODE_CLASS_FORMAT|\
254 										 ERRCODE_AREA_IO)
255 
256 // FsysErrorCodes
257 
258 #define FSYS_ERR_OK                     ERRCODE_NONE
259 #define FSYS_ERR_MISPLACEDCHAR          ERRCODE_IO_MISPLACEDCHAR
260 #define FSYS_ERR_INVALIDCHAR            ERRCODE_IO_INVALIDCHAR
261 #define FSYS_ERR_NOTEXISTS              ERRCODE_IO_NOTEXISTS
262 #define FSYS_ERR_ALREADYEXISTS          ERRCODE_IO_ALREADYEXISTS
263 #define FSYS_ERR_NOTADIRECTORY          ERRCODE_IO_NOTADIRECTORY
264 #define FSYS_ERR_NOTAFILE               ERRCODE_IO_NOTAFILE
265 #define FSYS_ERR_INVALIDDEVICE          ERRCODE_IO_INVALIDDEVICE
266 #define FSYS_ERR_ACCESSDENIED           ERRCODE_IO_ACCESSDENIED
267 #define FSYS_ERR_LOCKVIOLATION          ERRCODE_IO_LOCKVIOLATION
268 #define FSYS_ERR_VOLUMEFULL             ERRCODE_IO_OUTOFSPACE
269 #define FSYS_ERR_ISWILDCARD             ERRCODE_IO_ISWILDCARD
270 #define FSYS_ERR_NOTSUPPORTED           ERRCODE_IO_NOTSUPPORTED
271 #define FSYS_ERR_UNKNOWN                ERRCODE_IO_UNKNOWN
272 
273 // StreamErrorCodes
274 
275 #define SVSTREAM_OK                     ERRCODE_NONE
276 
277 #define SVSTREAM_GENERALERROR           ERRCODE_IO_GENERAL
278 #define SVSTREAM_FILE_NOT_FOUND         ERRCODE_IO_NOTEXISTS
279 #define SVSTREAM_PATH_NOT_FOUND         ERRCODE_IO_NOTEXISTSPATH
280 #define SVSTREAM_TOO_MANY_OPEN_FILES    ERRCODE_IO_TOOMANYOPENFILES
281 #define SVSTREAM_ACCESS_DENIED          ERRCODE_IO_ACCESSDENIED
282 #define SVSTREAM_SHARING_VIOLATION      ERRCODE_IO_LOCKVIOLATION
283 #define SVSTREAM_LOCKING_VIOLATION      ERRCODE_IO_LOCKVIOLATION
284 #define SVSTREAM_SHARE_BUFF_EXCEEDED    ERRCODE_IO_LOCKVIOLATION
285 
286 #define SVSTREAM_INVALID_ACCESS         ERRCODE_IO_INVALIDACCESS
287 #define SVSTREAM_INVALID_HANDLE         ERRCODE_IO_GENERAL
288 #define SVSTREAM_CANNOT_MAKE            ERRCODE_IO_CANTCREATE
289 #define SVSTREAM_INVALID_PARAMETER      ERRCODE_IO_INVALIDPARAMETER
290 
291 #define SVSTREAM_READ_ERROR             ERRCODE_IO_CANTREAD
292 #define SVSTREAM_WRITE_ERROR            ERRCODE_IO_CANTWRITE
293 #define SVSTREAM_SEEK_ERROR             ERRCODE_IO_CANTSEEK
294 #define SVSTREAM_TELL_ERROR             ERRCODE_IO_CANTTELL
295 
296 #define SVSTREAM_OUTOFMEMORY            ERRCODE_IO_OUTOFMEMORY
297 
298 #define SVSTREAM_FILEFORMAT_ERROR       ERRCODE_IO_WRONGFORMAT
299 #define SVSTREAM_WRONGVERSION           ERRCODE_IO_WRONGVERSION
300 
301 #define SVSTREAM_DISK_FULL              ERRCODE_IO_OUTOFSPACE
302 
303 // Fuer die EditEngine:
304 #define SVSTREAM_ERRBASE_USER           ERRCODE_AREA_LIB1
305 
306 #define PRINTER_OK                      ERRCODE_NONE
307 #define PRINTER_ABORT                   ERRCODE_IO_ABORT
308 #define PRINTER_OUTOFMEMORY             ERRCODE_IO_OUTOFMEMORY
309 #define PRINTER_GENERALERROR            ERRCODE_IO_GENERAL
310 #define PRINTER_ACCESSDENIED            ERRCODE_IO_ACCESSDENIED
311 
312 #define ERRCODE_INET_NAME_RESOLVE (ERRCODE_AREA_INET | ERRCODE_CLASS_READ | 1)
313 #define ERRCODE_INET_CONNECT      (ERRCODE_AREA_INET | ERRCODE_CLASS_READ | 2)
314 #define ERRCODE_INET_READ         (ERRCODE_AREA_INET | ERRCODE_CLASS_READ | 3)
315 #define ERRCODE_INET_WRITE        (ERRCODE_AREA_INET | ERRCODE_CLASS_WRITE| 4)
316 #define ERRCODE_INET_GENERAL      (ERRCODE_AREA_INET | ERRCODE_CLASS_WRITE |5)
317 #define ERRCODE_INET_OFFLINE      (ERRCODE_AREA_INET | ERRCODE_CLASS_READ |6)
318 
319 #endif
320