Changeset 76326 in vbox for trunk/include/iprt
- Timestamp:
- Dec 20, 2018 7:33:08 PM (6 years ago)
- Location:
- trunk/include/iprt
- Files:
-
- 1 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/iprt/err.h
r75993 r76326 27 27 #define ___iprt_err_h 28 28 29 #include <iprt/cdefs.h> 30 #include <iprt/types.h> 31 #include <iprt/stdarg.h> 29 #include <iprt/errcore.h> 32 30 33 31 … … 42 40 * @{ 43 41 */ 44 45 /** @defgroup grp_rt_err_hlp Status Code Helpers46 * @{47 */48 49 #ifdef __cplusplus50 /**51 * Strict type validation class.52 *53 * This is only really useful for type checking the arguments to RT_SUCCESS,54 * RT_SUCCESS_NP, RT_FAILURE and RT_FAILURE_NP. The RTErrStrictType255 * constructor is for integration with external status code strictness regimes.56 */57 class RTErrStrictType58 {59 protected:60 int32_t m_rc;61 62 public:63 /**64 * Constructor for interaction with external status code strictness regimes.65 *66 * This is a special constructor for helping external return code validator67 * classes interact cleanly with RT_SUCCESS, RT_SUCCESS_NP, RT_FAILURE and68 * RT_FAILURE_NP while barring automatic cast to integer.69 *70 * @param rcObj IPRT status code object from an automatic cast.71 */72 RTErrStrictType(RTErrStrictType2 const rcObj)73 : m_rc(rcObj.getValue())74 {75 }76 77 /**78 * Integer constructor used by RT_SUCCESS_NP.79 *80 * @param rc IPRT style status code.81 */82 RTErrStrictType(int32_t rc)83 : m_rc(rc)84 {85 }86 87 #if 0 /** @todo figure where int32_t is long instead of int. */88 /**89 * Integer constructor used by RT_SUCCESS_NP.90 *91 * @param rc IPRT style status code.92 */93 RTErrStrictType(signed int rc)94 : m_rc(rc)95 {96 }97 #endif98 99 /**100 * Test for success.101 */102 bool success() const103 {104 return m_rc >= 0;105 }106 107 private:108 /** @name Try ban a number of wrong types.109 * @{ */110 RTErrStrictType(uint8_t rc) : m_rc(-999) { NOREF(rc); }111 RTErrStrictType(uint16_t rc) : m_rc(-999) { NOREF(rc); }112 RTErrStrictType(uint32_t rc) : m_rc(-999) { NOREF(rc); }113 RTErrStrictType(uint64_t rc) : m_rc(-999) { NOREF(rc); }114 RTErrStrictType(int8_t rc) : m_rc(-999) { NOREF(rc); }115 RTErrStrictType(int16_t rc) : m_rc(-999) { NOREF(rc); }116 RTErrStrictType(int64_t rc) : m_rc(-999) { NOREF(rc); }117 /** @todo fight long here - clashes with int32_t/int64_t on some platforms. */118 /** @} */119 };120 #endif /* __cplusplus */121 122 123 /** @def RTERR_STRICT_RC124 * Indicates that RT_SUCCESS_NP, RT_SUCCESS, RT_FAILURE_NP and RT_FAILURE should125 * make type enforcing at compile time.126 *127 * @remarks Only define this for C++ code.128 */129 #if defined(__cplusplus) \130 && !defined(RTERR_STRICT_RC) \131 && !defined(RTERR_NO_STRICT_RC) \132 && ( defined(DOXYGEN_RUNNING) \133 || defined(DEBUG) \134 || defined(RT_STRICT) )135 # define RTERR_STRICT_RC 1136 #endif137 138 139 /** @def RT_SUCCESS140 * Check for success. We expect success in normal cases, that is the code path depending on141 * this check is normally taken. To prevent any prediction use RT_SUCCESS_NP instead.142 *143 * @returns true if rc indicates success.144 * @returns false if rc indicates failure.145 *146 * @param rc The iprt status code to test.147 */148 #define RT_SUCCESS(rc) ( RT_LIKELY(RT_SUCCESS_NP(rc)) )149 150 /** @def RT_SUCCESS_NP151 * Check for success. Don't predict the result.152 *153 * @returns true if rc indicates success.154 * @returns false if rc indicates failure.155 *156 * @param rc The iprt status code to test.157 */158 #ifdef RTERR_STRICT_RC159 # define RT_SUCCESS_NP(rc) ( RTErrStrictType(rc).success() )160 #else161 # define RT_SUCCESS_NP(rc) ( (int)(rc) >= VINF_SUCCESS )162 #endif163 164 /** @def RT_FAILURE165 * Check for failure, predicting unlikely.166 *167 * We don't expect in normal cases, that is the code path depending on this168 * check is normally NOT taken. To prevent any prediction use RT_FAILURE_NP169 * instead.170 *171 * @returns true if rc indicates failure.172 * @returns false if rc indicates success.173 *174 * @param rc The iprt status code to test.175 *176 * @remarks Please structure your code to use the RT_SUCCESS() macro instead of177 * RT_FAILURE() where possible, as that gives us a better shot at good178 * code with the windows compilers.179 */180 #define RT_FAILURE(rc) ( RT_UNLIKELY(!RT_SUCCESS_NP(rc)) )181 182 /** @def RT_FAILURE_NP183 * Check for failure, no prediction.184 *185 * @returns true if rc indicates failure.186 * @returns false if rc indicates success.187 *188 * @param rc The iprt status code to test.189 */190 #define RT_FAILURE_NP(rc) ( !RT_SUCCESS_NP(rc) )191 192 RT_C_DECLS_BEGIN193 194 /**195 * Converts a Darwin HRESULT error to an iprt status code.196 *197 * @returns iprt status code.198 * @param iNativeCode HRESULT error code.199 * @remark Darwin ring-3 only.200 */201 RTDECL(int) RTErrConvertFromDarwinCOM(int32_t iNativeCode);202 203 /**204 * Converts a Darwin IOReturn error to an iprt status code.205 *206 * @returns iprt status code.207 * @param iNativeCode IOReturn error code.208 * @remark Darwin only.209 */210 RTDECL(int) RTErrConvertFromDarwinIO(int iNativeCode);211 212 /**213 * Converts a Darwin kern_return_t error to an iprt status code.214 *215 * @returns iprt status code.216 * @param iNativeCode kern_return_t error code.217 * @remark Darwin only.218 */219 RTDECL(int) RTErrConvertFromDarwinKern(int iNativeCode);220 221 /**222 * Converts a Darwin error to an iprt status code.223 *224 * This will consult RTErrConvertFromDarwinKern, RTErrConvertFromDarwinIO225 * and RTErrConvertFromDarwinCOM in this order. The latter is ring-3 only as it226 * doesn't apply elsewhere.227 *228 * @returns iprt status code.229 * @param iNativeCode Darwin error code.230 * @remarks Darwin only.231 * @remarks This is recommended over RTErrConvertFromDarwinKern and RTErrConvertFromDarwinIO232 * since these are really just subsets of the same error space.233 */234 RTDECL(int) RTErrConvertFromDarwin(int iNativeCode);235 236 /**237 * Converts errno to iprt status code.238 *239 * @returns iprt status code.240 * @param uNativeCode errno code.241 */242 RTDECL(int) RTErrConvertFromErrno(unsigned uNativeCode);243 244 /**245 * Converts a L4 errno to a iprt status code.246 *247 * @returns iprt status code.248 * @param uNativeCode l4 errno.249 * @remark L4 only.250 */251 RTDECL(int) RTErrConvertFromL4Errno(unsigned uNativeCode);252 253 /**254 * Converts NT status code to iprt status code.255 *256 * Needless to say, this is only available on NT and winXX targets.257 *258 * @returns iprt status code.259 * @param lNativeCode NT status code.260 * @remark Windows only.261 */262 RTDECL(int) RTErrConvertFromNtStatus(long lNativeCode);263 264 /**265 * Converts OS/2 error code to iprt status code.266 *267 * @returns iprt status code.268 * @param uNativeCode OS/2 error code.269 * @remark OS/2 only.270 */271 RTDECL(int) RTErrConvertFromOS2(unsigned uNativeCode);272 273 /**274 * Converts Win32 error code to iprt status code.275 *276 * @returns iprt status code.277 * @param uNativeCode Win32 error code.278 * @remark Windows only.279 */280 RTDECL(int) RTErrConvertFromWin32(unsigned uNativeCode);281 282 /**283 * Converts an iprt status code to a errno status code.284 *285 * @returns errno status code.286 * @param iErr iprt status code.287 */288 RTDECL(int) RTErrConvertToErrno(int iErr);289 290 #ifdef IN_RING3291 292 /**293 * iprt status code message.294 */295 typedef struct RTSTATUSMSG296 {297 /** Pointer to the short message string. */298 const char *pszMsgShort;299 /** Pointer to the full message string. */300 const char *pszMsgFull;301 /** Pointer to the define string. */302 const char *pszDefine;303 /** Status code number. */304 int iCode;305 } RTSTATUSMSG;306 /** Pointer to iprt status code message. */307 typedef RTSTATUSMSG *PRTSTATUSMSG;308 /** Pointer to const iprt status code message. */309 typedef const RTSTATUSMSG *PCRTSTATUSMSG;310 311 /**312 * Get the message structure corresponding to a given iprt status code.313 *314 * @returns Pointer to read-only message description.315 * @param rc The status code.316 */317 RTDECL(PCRTSTATUSMSG) RTErrGet(int rc);318 319 /**320 * Get the define corresponding to a given iprt status code.321 *322 * @returns Pointer to read-only string with the \#define identifier.323 * @param rc The status code.324 */325 #define RTErrGetDefine(rc) (RTErrGet(rc)->pszDefine)326 327 /**328 * Get the short description corresponding to a given iprt status code.329 *330 * @returns Pointer to read-only string with the description.331 * @param rc The status code.332 */333 #define RTErrGetShort(rc) (RTErrGet(rc)->pszMsgShort)334 335 /**336 * Get the full description corresponding to a given iprt status code.337 *338 * @returns Pointer to read-only string with the description.339 * @param rc The status code.340 */341 #define RTErrGetFull(rc) (RTErrGet(rc)->pszMsgFull)342 343 #ifdef RT_OS_WINDOWS344 /**345 * Windows error code message.346 */347 typedef struct RTWINERRMSG348 {349 /** Pointer to the full message string. */350 const char *pszMsgFull;351 /** Pointer to the define string. */352 const char *pszDefine;353 /** Error code number. */354 long iCode;355 } RTWINERRMSG;356 /** Pointer to Windows error code message. */357 typedef RTWINERRMSG *PRTWINERRMSG;358 /** Pointer to const Windows error code message. */359 typedef const RTWINERRMSG *PCRTWINERRMSG;360 361 /**362 * Get the message structure corresponding to a given Windows error code.363 *364 * @returns Pointer to read-only message description.365 * @param rc The status code.366 */367 RTDECL(PCRTWINERRMSG) RTErrWinGet(long rc);368 369 /** On windows COM errors are part of the Windows error database. */370 typedef RTWINERRMSG RTCOMERRMSG;371 372 #else /* !RT_OS_WINDOWS */373 374 /**375 * COM/XPCOM error code message.376 */377 typedef struct RTCOMERRMSG378 {379 /** Pointer to the full message string. */380 const char *pszMsgFull;381 /** Pointer to the define string. */382 const char *pszDefine;383 /** Error code number. */384 uint32_t iCode;385 } RTCOMERRMSG;386 #endif /* !RT_OS_WINDOWS */387 /** Pointer to a XPCOM/COM error code message. */388 typedef RTCOMERRMSG *PRTCOMERRMSG;389 /** Pointer to const a XPCOM/COM error code message. */390 typedef const RTCOMERRMSG *PCRTCOMERRMSG;391 392 /**393 * Get the message structure corresponding to a given COM/XPCOM error code.394 *395 * @returns Pointer to read-only message description.396 * @param rc The status code.397 */398 RTDECL(PCRTCOMERRMSG) RTErrCOMGet(uint32_t rc);399 400 #endif /* IN_RING3 */401 402 /** @defgroup RTERRINFO_FLAGS_XXX RTERRINFO::fFlags403 * @{ */404 /** Custom structure (the default). */405 #define RTERRINFO_FLAGS_T_CUSTOM UINT32_C(0)406 /** Static structure (RTERRINFOSTATIC). */407 #define RTERRINFO_FLAGS_T_STATIC UINT32_C(1)408 /** Allocated structure (RTErrInfoAlloc). */409 #define RTERRINFO_FLAGS_T_ALLOC UINT32_C(2)410 /** Reserved type. */411 #define RTERRINFO_FLAGS_T_RESERVED UINT32_C(3)412 /** Type mask. */413 #define RTERRINFO_FLAGS_T_MASK UINT32_C(3)414 /** Error info is set. */415 #define RTERRINFO_FLAGS_SET RT_BIT_32(2)416 /** Fixed flags (magic). */417 #define RTERRINFO_FLAGS_MAGIC UINT32_C(0xbabe0000)418 /** The bit mask for the magic value. */419 #define RTERRINFO_FLAGS_MAGIC_MASK UINT32_C(0xffff0000)420 /** @} */421 422 /**423 * Initializes an error info structure.424 *425 * @returns @a pErrInfo.426 * @param pErrInfo The error info structure to init.427 * @param pszMsg The message buffer. Must be at least one byte.428 * @param cbMsg The size of the message buffer.429 */430 DECLINLINE(PRTERRINFO) RTErrInfoInit(PRTERRINFO pErrInfo, char *pszMsg, size_t cbMsg)431 {432 *pszMsg = '\0';433 434 pErrInfo->fFlags = RTERRINFO_FLAGS_T_CUSTOM | RTERRINFO_FLAGS_MAGIC;435 pErrInfo->rc = /*VINF_SUCCESS*/ 0;436 pErrInfo->pszMsg = pszMsg;437 pErrInfo->cbMsg = cbMsg;438 pErrInfo->apvReserved[0] = NULL;439 pErrInfo->apvReserved[1] = NULL;440 441 return pErrInfo;442 }443 444 /**445 * Initialize a static error info structure.446 *447 * @returns Pointer to the core error info structure.448 * @param pStaticErrInfo The static error info structure to init.449 */450 DECLINLINE(PRTERRINFO) RTErrInfoInitStatic(PRTERRINFOSTATIC pStaticErrInfo)451 {452 RTErrInfoInit(&pStaticErrInfo->Core, pStaticErrInfo->szMsg, sizeof(pStaticErrInfo->szMsg));453 pStaticErrInfo->Core.fFlags = RTERRINFO_FLAGS_T_STATIC | RTERRINFO_FLAGS_MAGIC;454 return &pStaticErrInfo->Core;455 }456 457 /**458 * Allocates a error info structure with a buffer at least the given size.459 *460 * @returns Pointer to an error info structure on success, NULL on failure.461 *462 * @param cbMsg The minimum message buffer size. Use 0 to get463 * the default buffer size.464 */465 RTDECL(PRTERRINFO) RTErrInfoAlloc(size_t cbMsg);466 467 /**468 * Same as RTErrInfoAlloc, except that an IPRT status code is returned.469 *470 * @returns IPRT status code.471 *472 * @param cbMsg The minimum message buffer size. Use 0 to get473 * the default buffer size.474 * @param ppErrInfo Where to store the pointer to the allocated475 * error info structure on success. This is476 * always set to NULL.477 */478 RTDECL(int) RTErrInfoAllocEx(size_t cbMsg, PRTERRINFO *ppErrInfo);479 480 /**481 * Frees an error info structure allocated by RTErrInfoAlloc or482 * RTErrInfoAllocEx.483 *484 * @param pErrInfo The error info structure.485 */486 RTDECL(void) RTErrInfoFree(PRTERRINFO pErrInfo);487 488 /**489 * Fills in the error info details.490 *491 * @returns @a rc.492 *493 * @param pErrInfo The error info structure to fill in.494 * @param rc The status code to return.495 * @param pszMsg The error message string.496 */497 RTDECL(int) RTErrInfoSet(PRTERRINFO pErrInfo, int rc, const char *pszMsg);498 499 /**500 * Fills in the error info details, with a sprintf style message.501 *502 * @returns @a rc.503 *504 * @param pErrInfo The error info structure to fill in.505 * @param rc The status code to return.506 * @param pszFormat The format string.507 * @param ... The format arguments.508 */509 RTDECL(int) RTErrInfoSetF(PRTERRINFO pErrInfo, int rc, const char *pszFormat, ...) RT_IPRT_FORMAT_ATTR(3, 4);510 511 /**512 * Fills in the error info details, with a vsprintf style message.513 *514 * @returns @a rc.515 *516 * @param pErrInfo The error info structure to fill in.517 * @param rc The status code to return.518 * @param pszFormat The format string.519 * @param va The format arguments.520 */521 RTDECL(int) RTErrInfoSetV(PRTERRINFO pErrInfo, int rc, const char *pszFormat, va_list va) RT_IPRT_FORMAT_ATTR(3, 0);522 523 /**524 * Adds more error info details.525 *526 * @returns @a rc.527 *528 * @param pErrInfo The error info structure to fill in.529 * @param rc The status code to return.530 * @param pszMsg The error message string to add.531 */532 RTDECL(int) RTErrInfoAdd(PRTERRINFO pErrInfo, int rc, const char *pszMsg);533 534 /**535 * Adds more error info details, with a sprintf style message.536 *537 * @returns @a rc.538 *539 * @param pErrInfo The error info structure to fill in.540 * @param rc The status code to return.541 * @param pszFormat The format string to add.542 * @param ... The format arguments.543 */544 RTDECL(int) RTErrInfoAddF(PRTERRINFO pErrInfo, int rc, const char *pszFormat, ...) RT_IPRT_FORMAT_ATTR(3, 4);545 546 /**547 * Adds more error info details, with a vsprintf style message.548 *549 * @returns @a rc.550 *551 * @param pErrInfo The error info structure to fill in.552 * @param rc The status code to return.553 * @param pszFormat The format string to add.554 * @param va The format arguments.555 */556 RTDECL(int) RTErrInfoAddV(PRTERRINFO pErrInfo, int rc, const char *pszFormat, va_list va) RT_IPRT_FORMAT_ATTR(3, 0);557 558 /** @name RTERRINFO_LOG_F_XXX559 * @{ */560 /** Both debug and release log. */561 #define RTERRINFO_LOG_F_RELEASE RT_BIT_32(0)562 /** @} */563 564 /**565 * Fills in the error info details.566 *567 * @returns @a rc.568 *569 * @param pErrInfo The error info structure to fill in.570 * @param rc The status code to return.571 * @param iLogGroup The logging group.572 * @param fFlags RTERRINFO_LOG_F_XXX.573 * @param pszMsg The error message string.574 */575 RTDECL(int) RTErrInfoLogAndSet(PRTERRINFO pErrInfo, int rc, uint32_t iLogGroup, uint32_t fFlags, const char *pszMsg);576 577 /**578 * Fills in the error info details, with a sprintf style message.579 *580 * @returns @a rc.581 *582 * @param pErrInfo The error info structure to fill in.583 * @param rc The status code to return.584 * @param iLogGroup The logging group.585 * @param fFlags RTERRINFO_LOG_F_XXX.586 * @param pszFormat The format string.587 * @param ... The format arguments.588 */589 RTDECL(int) RTErrInfoLogAndSetF(PRTERRINFO pErrInfo, int rc, uint32_t iLogGroup, uint32_t fFlags, const char *pszFormat, ...) RT_IPRT_FORMAT_ATTR(5, 6);590 591 /**592 * Fills in the error info details, with a vsprintf style message.593 *594 * @returns @a rc.595 *596 * @param pErrInfo The error info structure to fill in.597 * @param rc The status code to return.598 * @param iLogGroup The logging group.599 * @param fFlags RTERRINFO_LOG_F_XXX.600 * @param pszFormat The format string.601 * @param va The format arguments.602 */603 RTDECL(int) RTErrInfoLogAndSetV(PRTERRINFO pErrInfo, int rc, uint32_t iLogGroup, uint32_t fFlags, const char *pszFormat, va_list va) RT_IPRT_FORMAT_ATTR(5, 0);604 605 /**606 * Adds more error info details.607 *608 * @returns @a rc.609 *610 * @param pErrInfo The error info structure to fill in.611 * @param rc The status code to return.612 * @param iLogGroup The logging group.613 * @param fFlags RTERRINFO_LOG_F_XXX.614 * @param pszMsg The error message string to add.615 */616 RTDECL(int) RTErrInfoLogAndAdd(PRTERRINFO pErrInfo, int rc, uint32_t iLogGroup, uint32_t fFlags, const char *pszMsg);617 618 /**619 * Adds more error info details, with a sprintf style message.620 *621 * @returns @a rc.622 *623 * @param pErrInfo The error info structure to fill in.624 * @param rc The status code to return.625 * @param iLogGroup The logging group.626 * @param fFlags RTERRINFO_LOG_F_XXX.627 * @param pszFormat The format string to add.628 * @param ... The format arguments.629 */630 RTDECL(int) RTErrInfoLogAndAddF(PRTERRINFO pErrInfo, int rc, uint32_t iLogGroup, uint32_t fFlags, const char *pszFormat, ...) RT_IPRT_FORMAT_ATTR(5, 6);631 632 /**633 * Adds more error info details, with a vsprintf style message.634 *635 * @returns @a rc.636 *637 * @param pErrInfo The error info structure to fill in.638 * @param rc The status code to return.639 * @param iLogGroup The logging group.640 * @param fFlags RTERRINFO_LOG_F_XXX.641 * @param pszFormat The format string to add.642 * @param va The format arguments.643 */644 RTDECL(int) RTErrInfoLogAndAddV(PRTERRINFO pErrInfo, int rc, uint32_t iLogGroup, uint32_t fFlags, const char *pszFormat, va_list va) RT_IPRT_FORMAT_ATTR(5, 0);645 646 /** @name Macros wrapping the RTErrInfoLog* functions.647 * @{ */648 #ifndef LOG_DISABLED649 # define RTERRINFO_LOG_SET( a_pErrInfo, a_rc, a_pszMsg) RTErrInfoLogAndSet( a_pErrInfo, a_rc, LOG_GROUP, 0, a_pszMsg)650 # define RTERRINFO_LOG_SET_V(a_pErrInfo, a_rc, a_pszMsg, a_va) RTErrInfoLogAndSetV(a_pErrInfo, a_rc, LOG_GROUP, 0, a_pszMsg, a_va)651 # define RTERRINFO_LOG_ADD( a_pErrInfo, a_rc, a_pszMsg) RTErrInfoLogAndAdd( a_pErrInfo, a_rc, LOG_GROUP, 0, a_pszMsg)652 # define RTERRINFO_LOG_ADD_V(a_pErrInfo, a_rc, a_pszMsg, a_va) RTErrInfoLogAndAddV(a_pErrInfo, a_rc, LOG_GROUP, 0, a_pszMsg, a_va)653 # ifdef RT_COMPILER_SUPPORTS_VA_ARGS654 # define RTERRINFO_LOG_ADD_F(a_pErrInfo, a_rc, ...) RTErrInfoLogAndAddF(a_pErrInfo, a_rc, LOG_GROUP, 0, __VA_ARGS__)655 # define RTERRINFO_LOG_SET_F(a_pErrInfo, a_rc, ...) RTErrInfoLogAndSetF(a_pErrInfo, a_rc, LOG_GROUP, 0, __VA_ARGS__)656 # else657 # define RTERRINFO_LOG_ADD_F RTErrInfoSetF658 # define RTERRINFO_LOG_SET_F RTErrInfoAddF659 # endif660 #else661 # define RTERRINFO_LOG_SET( a_pErrInfo, a_rc, a_pszMsg) RTErrInfoSet( a_pErrInfo, a_rc, a_pszMsg)662 # define RTERRINFO_LOG_SET_V(a_pErrInfo, a_rc, a_pszMsg, a_va) RTErrInfoSetV(a_pErrInfo, a_rc, a_pszMsg, a_va)663 # define RTERRINFO_LOG_ADD( a_pErrInfo, a_rc, a_pszMsg) RTErrInfoAdd( a_pErrInfo, a_rc, a_pszMsg)664 # define RTERRINFO_LOG_ADD_V(a_pErrInfo, a_rc, a_pszMsg, a_va) RTErrInfoAddV(a_pErrInfo, a_rc, a_pszMsg, a_va)665 # define RTERRINFO_LOG_ADD_F RTErrInfoSetF666 # define RTERRINFO_LOG_SET_F RTErrInfoAddF667 #endif668 669 #define RTERRINFO_LOG_REL_SET( a_pErrInfo, a_rc, a_pszMsg) RTErrInfoLogAndSet( a_pErrInfo, a_rc, LOG_GROUP, RTERRINFO_LOG_F_RELEASE, a_pszMsg)670 #define RTERRINFO_LOG_REL_SET_V(a_pErrInfo, a_rc, a_pszMsg, a_va) RTErrInfoLogAndSetV(a_pErrInfo, a_rc, LOG_GROUP, RTERRINFO_LOG_F_RELEASE, a_pszMsg, a_va)671 #define RTERRINFO_LOG_REL_ADD( a_pErrInfo, a_rc, a_pszMsg) RTErrInfoLogAndAdd( a_pErrInfo, a_rc, LOG_GROUP, RTERRINFO_LOG_F_RELEASE, a_pszMsg)672 #define RTERRINFO_LOG_REL_ADD_V(a_pErrInfo, a_rc, a_pszMsg, a_va) RTErrInfoLogAndAddV(a_pErrInfo, a_rc, LOG_GROUP, RTERRINFO_LOG_F_RELEASE, a_pszMsg, a_va)673 #ifdef RT_COMPILER_SUPPORTS_VA_ARGS674 # define RTERRINFO_LOG_REL_ADD_F(a_pErrInfo, a_rc, ...) RTErrInfoLogAndAddF(a_pErrInfo, a_rc, LOG_GROUP, RTERRINFO_LOG_F_RELEASE, __VA_ARGS__)675 # define RTERRINFO_LOG_REL_SET_F(a_pErrInfo, a_rc, ...) RTErrInfoLogAndSetF(a_pErrInfo, a_rc, LOG_GROUP, RTERRINFO_LOG_F_RELEASE, __VA_ARGS__)676 #else677 # define RTERRINFO_LOG_REL_ADD_F RTErrInfoSetF678 # define RTERRINFO_LOG_REL_SET_F RTErrInfoAddF679 #endif680 /** @} */681 682 683 /**684 * Checks if the error info is set.685 *686 * @returns true if set, false if not.687 * @param pErrInfo The error info structure. NULL is OK.688 */689 DECLINLINE(bool) RTErrInfoIsSet(PCRTERRINFO pErrInfo)690 {691 if (!pErrInfo)692 return false;693 return (pErrInfo->fFlags & (RTERRINFO_FLAGS_MAGIC_MASK | RTERRINFO_FLAGS_SET))694 == (RTERRINFO_FLAGS_MAGIC | RTERRINFO_FLAGS_SET);695 }696 697 /**698 * Clears the error info structure.699 *700 * @param pErrInfo The error info structure. NULL is OK.701 */702 DECLINLINE(void) RTErrInfoClear(PRTERRINFO pErrInfo)703 {704 if (pErrInfo)705 {706 pErrInfo->fFlags &= ~RTERRINFO_FLAGS_SET;707 pErrInfo->rc = /*VINF_SUCCESS*/0;708 *pErrInfo->pszMsg = '\0';709 }710 }711 712 /**713 * Storage for error variables.714 *715 * @remarks Do NOT touch the members! They are platform specific and what's716 * where may change at any time!717 */718 typedef union RTERRVARS719 {720 int8_t ai8Vars[32];721 int16_t ai16Vars[16];722 int32_t ai32Vars[8];723 int64_t ai64Vars[4];724 } RTERRVARS;725 /** Pointer to an error variable storage union. */726 typedef RTERRVARS *PRTERRVARS;727 /** Pointer to a const error variable storage union. */728 typedef RTERRVARS const *PCRTERRVARS;729 730 /**731 * Saves the error variables.732 *733 * @returns @a pVars.734 * @param pVars The variable storage union.735 */736 RTDECL(PRTERRVARS) RTErrVarsSave(PRTERRVARS pVars);737 738 /**739 * Restores the error variables.740 *741 * @param pVars The variable storage union.742 */743 RTDECL(void) RTErrVarsRestore(PCRTERRVARS pVars);744 745 /**746 * Checks if the first variable set equals the second.747 *748 * @returns true if they are equal, false if not.749 * @param pVars1 The first variable storage union.750 * @param pVars2 The second variable storage union.751 */752 RTDECL(bool) RTErrVarsAreEqual(PCRTERRVARS pVars1, PCRTERRVARS pVars2);753 754 /**755 * Checks if the (live) error variables have changed since we saved them.756 *757 * @returns @c true if they have changed, @c false if not.758 * @param pVars The saved variables to compare the current state759 * against.760 */761 RTDECL(bool) RTErrVarsHaveChanged(PCRTERRVARS pVars);762 763 RT_C_DECLS_END764 765 /** @} */766 42 767 43 /** @name Status Code Ranges -
trunk/include/iprt/errcore.h
r76321 r76326 1 1 /** @file 2 * IPRT - Status Codes .2 * IPRT - Status Codes Core. 3 3 */ 4 4 … … 24 24 */ 25 25 26 #ifndef ___iprt_err _h27 #define ___iprt_err _h26 #ifndef ___iprt_errcore_h 27 #define ___iprt_errcore_h 28 28 29 29 #include <iprt/cdefs.h> … … 32 32 33 33 34 /** @defgroup grp_rt_err RTErr - Status Codes 35 * @ingroup grp_rt 36 * 37 * The IPRT status codes are in two ranges: {0..999} and {22000..32766}. The 38 * IPRT users are free to use the range {1000..21999}. See RTERR_RANGE1_FIRST, 39 * RTERR_RANGE1_LAST, RTERR_RANGE2_FIRST, RTERR_RANGE2_LAST, RTERR_USER_FIRST 40 * and RTERR_USER_LAST. 41 * 42 * @{ 43 */ 44 45 /** @defgroup grp_rt_err_hlp Status Code Helpers 34 /** @defgroup grp_rt_err_core Status Codes Core 35 * @ingroup grp_rt_err 46 36 * @{ 47 37 */ … … 765 755 /** @} */ 766 756 767 /** @name Status Code Ranges768 * @{ */769 /** The first status code in the primary IPRT range. */770 #define RTERR_RANGE1_FIRST 0771 /** The last status code in the primary IPRT range. */772 #define RTERR_RANGE1_LAST 999773 774 /** The first status code in the secondary IPRT range. */775 #define RTERR_RANGE2_FIRST 22000776 /** The last status code in the secondary IPRT range. */777 #define RTERR_RANGE2_LAST 32766778 779 /** The first status code in the user range. */780 #define RTERR_USER_FIRST 1000781 /** The last status code in the user range. */782 #define RTERR_USER_LAST 21999783 /** @} */784 785 786 /* SED-START */787 788 /** @name Misc. Status Codes789 * @{790 */791 /** Success. */792 #define VINF_SUCCESS 0793 794 /** General failure - DON'T USE THIS!!! */795 #define VERR_GENERAL_FAILURE (-1)796 /** Invalid parameter. */797 #define VERR_INVALID_PARAMETER (-2)798 /** Invalid parameter. */799 #define VWRN_INVALID_PARAMETER 2800 /** Invalid magic or cookie. */801 #define VERR_INVALID_MAGIC (-3)802 /** Invalid magic or cookie. */803 #define VWRN_INVALID_MAGIC 3804 /** Invalid loader handle. */805 #define VERR_INVALID_HANDLE (-4)806 /** Invalid loader handle. */807 #define VWRN_INVALID_HANDLE 4808 /** Failed to lock the address range. */809 #define VERR_LOCK_FAILED (-5)810 /** Invalid memory pointer. */811 #define VERR_INVALID_POINTER (-6)812 /** Failed to patch the IDT. */813 #define VERR_IDT_FAILED (-7)814 /** Memory allocation failed. */815 #define VERR_NO_MEMORY (-8)816 /** Already loaded. */817 #define VERR_ALREADY_LOADED (-9)818 /** Permission denied. */819 #define VERR_PERMISSION_DENIED (-10)820 /** Permission denied. */821 #define VINF_PERMISSION_DENIED 10822 /** Version mismatch. */823 #define VERR_VERSION_MISMATCH (-11)824 /** The request function is not implemented. */825 #define VERR_NOT_IMPLEMENTED (-12)826 /** Invalid flags was given. */827 #define VERR_INVALID_FLAGS (-13)828 829 /** Not equal. */830 #define VERR_NOT_EQUAL (-18)831 /** The specified path does not point at a symbolic link. */832 #define VERR_NOT_SYMLINK (-19)833 /** Failed to allocate temporary memory. */834 #define VERR_NO_TMP_MEMORY (-20)835 /** Invalid file mode mask (RTFMODE). */836 #define VERR_INVALID_FMODE (-21)837 /** Incorrect call order. */838 #define VERR_WRONG_ORDER (-22)839 /** There is no TLS (thread local storage) available for storing the current thread. */840 #define VERR_NO_TLS_FOR_SELF (-23)841 /** Failed to set the TLS (thread local storage) entry which points to our thread structure. */842 #define VERR_FAILED_TO_SET_SELF_TLS (-24)843 /** Not able to allocate contiguous memory. */844 #define VERR_NO_CONT_MEMORY (-26)845 /** No memory available for page table or page directory. */846 #define VERR_NO_PAGE_MEMORY (-27)847 /** Already initialized. */848 #define VINF_ALREADY_INITIALIZED 28849 /** The specified thread is dead. */850 #define VERR_THREAD_IS_DEAD (-29)851 /** The specified thread is not waitable. */852 #define VERR_THREAD_NOT_WAITABLE (-30)853 /** Pagetable not present. */854 #define VERR_PAGE_TABLE_NOT_PRESENT (-31)855 /** Invalid context.856 * Typically an API was used by the wrong thread. */857 #define VERR_INVALID_CONTEXT (-32)858 /** The per process timer is busy. */859 #define VERR_TIMER_BUSY (-33)860 /** Address conflict. */861 #define VERR_ADDRESS_CONFLICT (-34)862 /** Unresolved (unknown) host platform error. */863 #define VERR_UNRESOLVED_ERROR (-35)864 /** Invalid function. */865 #define VERR_INVALID_FUNCTION (-36)866 /** Not supported. */867 #define VERR_NOT_SUPPORTED (-37)868 /** Not supported. */869 #define VINF_NOT_SUPPORTED 37870 /** Access denied. */871 #define VERR_ACCESS_DENIED (-38)872 /** Call interrupted. */873 #define VERR_INTERRUPTED (-39)874 /** Call interrupted. */875 #define VINF_INTERRUPTED 39876 /** Timeout. */877 #define VERR_TIMEOUT (-40)878 /** Timeout. */879 #define VINF_TIMEOUT 40880 /** Buffer too small to save result. */881 #define VERR_BUFFER_OVERFLOW (-41)882 /** Buffer too small to save result. */883 #define VINF_BUFFER_OVERFLOW 41884 /** Data size overflow. */885 #define VERR_TOO_MUCH_DATA (-42)886 /** Max threads number reached. */887 #define VERR_MAX_THRDS_REACHED (-43)888 /** Max process number reached. */889 #define VERR_MAX_PROCS_REACHED (-44)890 /** The recipient process has refused the signal. */891 #define VERR_SIGNAL_REFUSED (-45)892 /** A signal is already pending. */893 #define VERR_SIGNAL_PENDING (-46)894 /** The signal being posted is not correct. */895 #define VERR_SIGNAL_INVALID (-47)896 /** The state changed.897 * This is a generic error message and needs a context to make sense. */898 #define VERR_STATE_CHANGED (-48)899 /** Warning, the state changed.900 * This is a generic error message and needs a context to make sense. */901 #define VWRN_STATE_CHANGED 48902 /** Error while parsing UUID string */903 #define VERR_INVALID_UUID_FORMAT (-49)904 /** The specified process was not found. */905 #define VERR_PROCESS_NOT_FOUND (-50)906 /** The process specified to a non-block wait had not exited. */907 #define VERR_PROCESS_RUNNING (-51)908 /** Retry the operation. */909 #define VERR_TRY_AGAIN (-52)910 /** Retry the operation. */911 #define VINF_TRY_AGAIN 52912 /** Generic parse error. */913 #define VERR_PARSE_ERROR (-53)914 /** Value out of range. */915 #define VERR_OUT_OF_RANGE (-54)916 /** A numeric conversion encountered a value which was too big for the target. */917 #define VERR_NUMBER_TOO_BIG (-55)918 /** A numeric conversion encountered a value which was too big for the target. */919 #define VWRN_NUMBER_TOO_BIG 55920 /** The number begin converted (string) contained no digits. */921 #define VERR_NO_DIGITS (-56)922 /** The number begin converted (string) contained no digits. */923 #define VWRN_NO_DIGITS 56924 /** Encountered a '-' during conversion to an unsigned value. */925 #define VERR_NEGATIVE_UNSIGNED (-57)926 /** Encountered a '-' during conversion to an unsigned value. */927 #define VWRN_NEGATIVE_UNSIGNED 57928 /** Error while characters translation (unicode and so). */929 #define VERR_NO_TRANSLATION (-58)930 /** Error while characters translation (unicode and so). */931 #define VWRN_NO_TRANSLATION 58932 /** Encountered unicode code point which is reserved for use as endian indicator (0xffff or 0xfffe). */933 #define VERR_CODE_POINT_ENDIAN_INDICATOR (-59)934 /** Encountered unicode code point in the surrogate range (0xd800 to 0xdfff). */935 #define VERR_CODE_POINT_SURROGATE (-60)936 /** A string claiming to be UTF-8 is incorrectly encoded. */937 #define VERR_INVALID_UTF8_ENCODING (-61)938 /** A string claiming to be in UTF-16 is incorrectly encoded. */939 #define VERR_INVALID_UTF16_ENCODING (-62)940 /** Encountered a unicode code point which cannot be represented as UTF-16. */941 #define VERR_CANT_RECODE_AS_UTF16 (-63)942 /** Got an out of memory condition trying to allocate a string. */943 #define VERR_NO_STR_MEMORY (-64)944 /** Got an out of memory condition trying to allocate a UTF-16 (/UCS-2) string. */945 #define VERR_NO_UTF16_MEMORY (-65)946 /** Get an out of memory condition trying to allocate a code point array. */947 #define VERR_NO_CODE_POINT_MEMORY (-66)948 /** Can't free the memory because it's used in mapping. */949 #define VERR_MEMORY_BUSY (-67)950 /** The timer can't be started because it's already active. */951 #define VERR_TIMER_ACTIVE (-68)952 /** The timer can't be stopped because it's already suspended. */953 #define VERR_TIMER_SUSPENDED (-69)954 /** The operation was cancelled by the user (copy) or another thread (local ipc). */955 #define VERR_CANCELLED (-70)956 /** Failed to initialize a memory object.957 * Exactly what this means is OS specific. */958 #define VERR_MEMOBJ_INIT_FAILED (-71)959 /** Out of memory condition when allocating memory with low physical backing. */960 #define VERR_NO_LOW_MEMORY (-72)961 /** Out of memory condition when allocating physical memory (without mapping). */962 #define VERR_NO_PHYS_MEMORY (-73)963 /** The address (virtual or physical) is too big. */964 #define VERR_ADDRESS_TOO_BIG (-74)965 /** Failed to map a memory object. */966 #define VERR_MAP_FAILED (-75)967 /** Trailing characters. */968 #define VERR_TRAILING_CHARS (-76)969 /** Trailing characters. */970 #define VWRN_TRAILING_CHARS 76971 /** Trailing spaces. */972 #define VERR_TRAILING_SPACES (-77)973 /** Trailing spaces. */974 #define VWRN_TRAILING_SPACES 77975 /** Generic not found error. */976 #define VERR_NOT_FOUND (-78)977 /** Generic not found warning. */978 #define VWRN_NOT_FOUND 78979 /** Generic invalid state error. */980 #define VERR_INVALID_STATE (-79)981 /** Generic invalid state warning. */982 #define VWRN_INVALID_STATE 79983 /** Generic out of resources error. */984 #define VERR_OUT_OF_RESOURCES (-80)985 /** Generic out of resources warning. */986 #define VWRN_OUT_OF_RESOURCES 80987 /** No more handles available, too many open handles. */988 #define VERR_NO_MORE_HANDLES (-81)989 /** Preemption is disabled.990 * The requested operation can only be performed when preemption is enabled. */991 #define VERR_PREEMPT_DISABLED (-82)992 /** End of string. */993 #define VERR_END_OF_STRING (-83)994 /** End of string. */995 #define VINF_END_OF_STRING 83996 /** A page count is out of range. */997 #define VERR_PAGE_COUNT_OUT_OF_RANGE (-84)998 /** Generic object destroyed status. */999 #define VERR_OBJECT_DESTROYED (-85)1000 /** Generic object was destroyed by the call status. */1001 #define VINF_OBJECT_DESTROYED 851002 /** Generic dangling objects status. */1003 #define VERR_DANGLING_OBJECTS (-86)1004 /** Generic dangling objects status. */1005 #define VWRN_DANGLING_OBJECTS 861006 /** Invalid Base64 encoding. */1007 #define VERR_INVALID_BASE64_ENCODING (-87)1008 /** Return instigated by a callback or similar. */1009 #define VERR_CALLBACK_RETURN (-88)1010 /** Return instigated by a callback or similar. */1011 #define VINF_CALLBACK_RETURN 881012 /** Authentication failure. */1013 #define VERR_AUTHENTICATION_FAILURE (-89)1014 /** Not a power of two. */1015 #define VERR_NOT_POWER_OF_TWO (-90)1016 /** Status code, typically given as a parameter, that isn't supposed to be used. */1017 #define VERR_IGNORED (-91)1018 /** Concurrent access to the object is not allowed. */1019 #define VERR_CONCURRENT_ACCESS (-92)1020 /** The caller does not have a reference to the object.1021 * This status is used when two threads is caught sharing the same object1022 * reference. */1023 #define VERR_CALLER_NO_REFERENCE (-93)1024 /** Generic no change error. */1025 #define VERR_NO_CHANGE (-95)1026 /** Generic no change info. */1027 #define VINF_NO_CHANGE 951028 /** Out of memory condition when allocating executable memory. */1029 #define VERR_NO_EXEC_MEMORY (-96)1030 /** The alignment is not supported. */1031 #define VERR_UNSUPPORTED_ALIGNMENT (-97)1032 /** The alignment is not really supported, however we got lucky with this1033 * allocation. */1034 #define VINF_UNSUPPORTED_ALIGNMENT 971035 /** Duplicate something. */1036 #define VERR_DUPLICATE (-98)1037 /** Something is missing. */1038 #define VERR_MISSING (-99)1039 /** An unexpected (/unknown) exception was caught. */1040 #define VERR_UNEXPECTED_EXCEPTION (-22400)1041 /** Buffer underflow. */1042 #define VERR_BUFFER_UNDERFLOW (-22401)1043 /** Buffer underflow. */1044 #define VINF_BUFFER_UNDERFLOW 224011045 /** Uneven input. */1046 #define VERR_UNEVEN_INPUT (-22402)1047 /** Something is not available or not working properly. */1048 #define VERR_NOT_AVAILABLE (-22403)1049 /** The RTPROC_FLAGS_DETACHED flag isn't supported. */1050 #define VERR_PROC_DETACH_NOT_SUPPORTED (-22404)1051 /** An account is restricted in a certain way. */1052 #define VERR_ACCOUNT_RESTRICTED (-22405)1053 /** An account is restricted in a certain way. */1054 #define VINF_ACCOUNT_RESTRICTED 224051055 /** Not able satisfy all the requirements of the request. */1056 #define VERR_UNABLE_TO_SATISFY_REQUIREMENTS (-22406)1057 /** Not able satisfy all the requirements of the request. */1058 #define VWRN_UNABLE_TO_SATISFY_REQUIREMENTS 224061059 /** The requested allocation is too big. */1060 #define VERR_ALLOCATION_TOO_BIG (-22407)1061 /** Mismatch. */1062 #define VERR_MISMATCH (-22408)1063 /** Wrong type. */1064 #define VERR_WRONG_TYPE (-22409)1065 /** Wrong type. */1066 #define VWRN_WRONG_TYPE (22409)1067 /** This indicates that the process does not have sufficient privileges to1068 * perform the operation. */1069 #define VERR_PRIVILEGE_NOT_HELD (-22410)1070 /** Process does not have the trusted code base (TCB) privilege needed for user1071 * authentication or/and process creation as a given user. TCB is also called1072 * 'Act as part of the operating system'. */1073 #define VERR_PROC_TCB_PRIV_NOT_HELD (-22411)1074 /** Process does not have the assign primary token (APT) privilege needed1075 * for creating process as a given user. APT is also called 'Replace a process1076 * level token'. */1077 #define VERR_PROC_APT_PRIV_NOT_HELD (-22412)1078 /** Process does not have the increase quota (IQ) privilege needed for1079 * creating a process as a given user. IQ is also called 'Increase quotas'. */1080 #define VERR_PROC_IQ_PRIV_NOT_HELD (-22413)1081 /** The system has too many CPUs. */1082 #define VERR_MP_TOO_MANY_CPUS (-22414)1083 /** Wrong parameter count. */1084 #define VERR_WRONG_PARAMETER_COUNT (-22415)1085 /** Wrong parameter type. */1086 #define VERR_WRONG_PARAMETER_TYPE (-22416)1087 /** Invalid client ID. */1088 #define VERR_INVALID_CLIENT_ID (-22417)1089 /** Invalid session ID. */1090 #define VERR_INVALID_SESSION_ID (-22418)1091 /** Requires process elevation (UAC). */1092 #define VERR_PROC_ELEVATION_REQUIRED (-22419)1093 /** Incompatible configuration requested. */1094 #define VERR_INCOMPATIBLE_CONFIG (-22420)1095 /** @} */1096 1097 1098 /** @name Common File/Disk/Pipe/etc Status Codes1099 * @{1100 */1101 /** Unresolved (unknown) file i/o error. */1102 #define VERR_FILE_IO_ERROR (-100)1103 /** File/Device open failed. */1104 #define VERR_OPEN_FAILED (-101)1105 /** File not found. */1106 #define VERR_FILE_NOT_FOUND (-102)1107 /** Path not found. */1108 #define VERR_PATH_NOT_FOUND (-103)1109 /** Invalid (malformed) file/path name. */1110 #define VERR_INVALID_NAME (-104)1111 /** The object in question already exists. */1112 #define VERR_ALREADY_EXISTS (-105)1113 /** The object in question already exists. */1114 #define VWRN_ALREADY_EXISTS 1051115 /** Too many open files. */1116 #define VERR_TOO_MANY_OPEN_FILES (-106)1117 /** Seek error. */1118 #define VERR_SEEK (-107)1119 /** Seek below file start. */1120 #define VERR_NEGATIVE_SEEK (-108)1121 /** Trying to seek on device. */1122 #define VERR_SEEK_ON_DEVICE (-109)1123 /** Reached the end of the file. */1124 #define VERR_EOF (-110)1125 /** Reached the end of the file. */1126 #define VINF_EOF 1101127 /** Generic file read error. */1128 #define VERR_READ_ERROR (-111)1129 /** Generic file write error. */1130 #define VERR_WRITE_ERROR (-112)1131 /** Write protect error. */1132 #define VERR_WRITE_PROTECT (-113)1133 /** Sharing violation, file is being used by another process. */1134 #define VERR_SHARING_VIOLATION (-114)1135 /** Unable to lock a region of a file. */1136 #define VERR_FILE_LOCK_FAILED (-115)1137 /** File access error, another process has locked a portion of the file. */1138 #define VERR_FILE_LOCK_VIOLATION (-116)1139 /** File or directory can't be created. */1140 #define VERR_CANT_CREATE (-117)1141 /** Directory can't be deleted. */1142 #define VERR_CANT_DELETE_DIRECTORY (-118)1143 /** Can't move file to another disk. */1144 #define VERR_NOT_SAME_DEVICE (-119)1145 /** The filename or extension is too long. */1146 #define VERR_FILENAME_TOO_LONG (-120)1147 /** Media not present in drive. */1148 #define VERR_MEDIA_NOT_PRESENT (-121)1149 /** The type of media was not recognized. Not formatted? */1150 #define VERR_MEDIA_NOT_RECOGNIZED (-122)1151 /** Can't unlock - region was not locked. */1152 #define VERR_FILE_NOT_LOCKED (-123)1153 /** Unrecoverable error: lock was lost. */1154 #define VERR_FILE_LOCK_LOST (-124)1155 /** Can't delete directory with files. */1156 #define VERR_DIR_NOT_EMPTY (-125)1157 /** A directory operation was attempted on a non-directory object. */1158 #define VERR_NOT_A_DIRECTORY (-126)1159 /** A non-directory operation was attempted on a directory object. */1160 #define VERR_IS_A_DIRECTORY (-127)1161 /** Tried to grow a file beyond the limit imposed by the process or the filesystem. */1162 #define VERR_FILE_TOO_BIG (-128)1163 /** No pending request the aio context has to wait for completion. */1164 #define VERR_FILE_AIO_NO_REQUEST (-129)1165 /** The request could not be canceled or prepared for another transfer1166 * because it is still in progress. */1167 #define VERR_FILE_AIO_IN_PROGRESS (-130)1168 /** The request could not be canceled because it already completed. */1169 #define VERR_FILE_AIO_COMPLETED (-131)1170 /** The I/O context couldn't be destroyed because there are still pending requests. */1171 #define VERR_FILE_AIO_BUSY (-132)1172 /** The requests couldn't be submitted because that would exceed the capacity of the context. */1173 #define VERR_FILE_AIO_LIMIT_EXCEEDED (-133)1174 /** The request was canceled. */1175 #define VERR_FILE_AIO_CANCELED (-134)1176 /** The request wasn't submitted so it can't be canceled. */1177 #define VERR_FILE_AIO_NOT_SUBMITTED (-135)1178 /** A request was not prepared and thus could not be submitted. */1179 #define VERR_FILE_AIO_NOT_PREPARED (-136)1180 /** Not all requests could be submitted due to resource shortage. */1181 #define VERR_FILE_AIO_INSUFFICIENT_RESSOURCES (-137)1182 /** Device or resource is busy. */1183 #define VERR_RESOURCE_BUSY (-138)1184 /** A file operation was attempted on a non-file object. */1185 #define VERR_NOT_A_FILE (-139)1186 /** A non-file operation was attempted on a file object. */1187 #define VERR_IS_A_FILE (-140)1188 /** Unexpected filesystem object type. */1189 #define VERR_UNEXPECTED_FS_OBJ_TYPE (-141)1190 /** A path does not start with a root specification. */1191 #define VERR_PATH_DOES_NOT_START_WITH_ROOT (-142)1192 /** A path is relative, expected an absolute path. */1193 #define VERR_PATH_IS_RELATIVE (-143)1194 /** A path is not relative (start with root), expected an relative path. */1195 #define VERR_PATH_IS_NOT_RELATIVE (-144)1196 /** Zero length path. */1197 #define VERR_PATH_ZERO_LENGTH (-145)1198 /** There are not enough events available on the host to create the I/O context.1199 * This exact meaning is host platform dependent. */1200 #define VERR_FILE_AIO_INSUFFICIENT_EVENTS (-146)1201 /** @} */1202 1203 1204 /** @name Generic Filesystem I/O Status Codes1205 * @{1206 */1207 /** Unresolved (unknown) disk i/o error. */1208 #define VERR_DISK_IO_ERROR (-150)1209 /** Invalid drive number. */1210 #define VERR_INVALID_DRIVE (-151)1211 /** Disk is full. */1212 #define VERR_DISK_FULL (-152)1213 /** Disk was changed. */1214 #define VERR_DISK_CHANGE (-153)1215 /** Drive is locked. */1216 #define VERR_DRIVE_LOCKED (-154)1217 /** The specified disk or diskette cannot be accessed. */1218 #define VERR_DISK_INVALID_FORMAT (-155)1219 /** Too many symbolic links. */1220 #define VERR_TOO_MANY_SYMLINKS (-156)1221 /** The OS does not support setting the time stamps on a symbolic link. */1222 #define VERR_NS_SYMLINK_SET_TIME (-157)1223 /** The OS does not support changing the owner of a symbolic link. */1224 #define VERR_NS_SYMLINK_CHANGE_OWNER (-158)1225 /** Symbolic link not allowed. */1226 #define VERR_SYMLINK_NOT_ALLOWED (-159)1227 /** Is a symbolic link. */1228 #define VERR_IS_A_SYMLINK (-160)1229 /** Is a FIFO. */1230 #define VERR_IS_A_FIFO (-161)1231 /** Is a socket. */1232 #define VERR_IS_A_SOCKET (-162)1233 /** Is a block device. */1234 #define VERR_IS_A_BLOCK_DEVICE (-163)1235 /** Is a character device. */1236 #define VERR_IS_A_CHAR_DEVICE (-164)1237 /** No media in drive. */1238 #define VERR_DRIVE_IS_EMPTY (-165)1239 /** @} */1240 1241 1242 /** @name Generic Directory Enumeration Status Codes1243 * @{1244 */1245 /** Unresolved (unknown) search error. */1246 #define VERR_SEARCH_ERROR (-200)1247 /** No more files found. */1248 #define VERR_NO_MORE_FILES (-201)1249 /** No more search handles available. */1250 #define VERR_NO_MORE_SEARCH_HANDLES (-202)1251 /** RTDirReadEx() failed to retrieve the extra data which was requested. */1252 #define VWRN_NO_DIRENT_INFO 2031253 /** @} */1254 1255 1256 /** @name Internal Processing Errors1257 * @{1258 */1259 /** Internal error - this should never happen. */1260 #define VERR_INTERNAL_ERROR (-225)1261 /** Internal error no. 2. */1262 #define VERR_INTERNAL_ERROR_2 (-226)1263 /** Internal error no. 3. */1264 #define VERR_INTERNAL_ERROR_3 (-227)1265 /** Internal error no. 4. */1266 #define VERR_INTERNAL_ERROR_4 (-228)1267 /** Internal error no. 5. */1268 #define VERR_INTERNAL_ERROR_5 (-229)1269 /** Internal error: Unexpected status code. */1270 #define VERR_IPE_UNEXPECTED_STATUS (-230)1271 /** Internal error: Unexpected status code. */1272 #define VERR_IPE_UNEXPECTED_INFO_STATUS (-231)1273 /** Internal error: Unexpected status code. */1274 #define VERR_IPE_UNEXPECTED_ERROR_STATUS (-232)1275 /** Internal error: Uninitialized status code.1276 * @remarks This is used by value elsewhere. */1277 #define VERR_IPE_UNINITIALIZED_STATUS (-233)1278 /** Internal error: Supposedly unreachable default case in a switch. */1279 #define VERR_IPE_NOT_REACHED_DEFAULT_CASE (-234)1280 /** @} */1281 1282 1283 /** @name Generic Device I/O Status Codes1284 * @{1285 */1286 /** Unresolved (unknown) device i/o error. */1287 #define VERR_DEV_IO_ERROR (-250)1288 /** Device i/o: Bad unit. */1289 #define VERR_IO_BAD_UNIT (-251)1290 /** Device i/o: Not ready. */1291 #define VERR_IO_NOT_READY (-252)1292 /** Device i/o: Bad command. */1293 #define VERR_IO_BAD_COMMAND (-253)1294 /** Device i/o: CRC error. */1295 #define VERR_IO_CRC (-254)1296 /** Device i/o: Bad length. */1297 #define VERR_IO_BAD_LENGTH (-255)1298 /** Device i/o: Sector not found. */1299 #define VERR_IO_SECTOR_NOT_FOUND (-256)1300 /** Device i/o: General failure. */1301 #define VERR_IO_GEN_FAILURE (-257)1302 /** @} */1303 1304 1305 /** @name Generic Pipe I/O Status Codes1306 * @{1307 */1308 /** Unresolved (unknown) pipe i/o error. */1309 #define VERR_PIPE_IO_ERROR (-300)1310 /** Broken pipe. */1311 #define VERR_BROKEN_PIPE (-301)1312 /** Bad pipe. */1313 #define VERR_BAD_PIPE (-302)1314 /** Pipe is busy. */1315 #define VERR_PIPE_BUSY (-303)1316 /** No data in pipe. */1317 #define VERR_NO_DATA (-304)1318 /** Pipe is not connected. */1319 #define VERR_PIPE_NOT_CONNECTED (-305)1320 /** More data available in pipe. */1321 #define VERR_MORE_DATA (-306)1322 /** Expected read pipe, got a write pipe instead. */1323 #define VERR_PIPE_NOT_READ (-307)1324 /** Expected write pipe, got a read pipe instead. */1325 #define VERR_PIPE_NOT_WRITE (-308)1326 /** @} */1327 1328 1329 /** @name Generic Semaphores Status Codes1330 * @{1331 */1332 /** Unresolved (unknown) semaphore error. */1333 #define VERR_SEM_ERROR (-350)1334 /** Too many semaphores. */1335 #define VERR_TOO_MANY_SEMAPHORES (-351)1336 /** Exclusive semaphore is owned by another process. */1337 #define VERR_EXCL_SEM_ALREADY_OWNED (-352)1338 /** The semaphore is set and cannot be closed. */1339 #define VERR_SEM_IS_SET (-353)1340 /** The semaphore cannot be set again. */1341 #define VERR_TOO_MANY_SEM_REQUESTS (-354)1342 /** Attempt to release mutex not owned by caller. */1343 #define VERR_NOT_OWNER (-355)1344 /** The semaphore has been opened too many times. */1345 #define VERR_TOO_MANY_OPENS (-356)1346 /** The maximum posts for the event semaphore has been reached. */1347 #define VERR_TOO_MANY_POSTS (-357)1348 /** The event semaphore has already been posted. */1349 #define VERR_ALREADY_POSTED (-358)1350 /** The event semaphore has already been reset. */1351 #define VERR_ALREADY_RESET (-359)1352 /** The semaphore is in use. */1353 #define VERR_SEM_BUSY (-360)1354 /** The previous ownership of this semaphore has ended. */1355 #define VERR_SEM_OWNER_DIED (-361)1356 /** Failed to open semaphore by name - not found. */1357 #define VERR_SEM_NOT_FOUND (-362)1358 /** Semaphore destroyed while waiting. */1359 #define VERR_SEM_DESTROYED (-363)1360 /** Nested ownership requests are not permitted for this semaphore type. */1361 #define VERR_SEM_NESTED (-364)1362 /** The release call only release a semaphore nesting, i.e. the caller is still1363 * holding the semaphore. */1364 #define VINF_SEM_NESTED (364)1365 /** Deadlock detected. */1366 #define VERR_DEADLOCK (-365)1367 /** Ping-Pong listen or speak out of turn error. */1368 #define VERR_SEM_OUT_OF_TURN (-366)1369 /** Tried to take a semaphore in a bad context. */1370 #define VERR_SEM_BAD_CONTEXT (-367)1371 /** Don't spin for the semaphore, but it is safe to try grab it. */1372 #define VINF_SEM_BAD_CONTEXT (367)1373 /** Wrong locking order detected. */1374 #define VERR_SEM_LV_WRONG_ORDER (-368)1375 /** Wrong release order detected. */1376 #define VERR_SEM_LV_WRONG_RELEASE_ORDER (-369)1377 /** Attempt to recursively enter a non-recursive lock. */1378 #define VERR_SEM_LV_NESTED (-370)1379 /** Invalid parameters passed to the lock validator. */1380 #define VERR_SEM_LV_INVALID_PARAMETER (-371)1381 /** The lock validator detected a deadlock. */1382 #define VERR_SEM_LV_DEADLOCK (-372)1383 /** The lock validator detected an existing deadlock.1384 * The deadlock was not caused by the current operation, but existed already. */1385 #define VERR_SEM_LV_EXISTING_DEADLOCK (-373)1386 /** Not the lock owner according our records. */1387 #define VERR_SEM_LV_NOT_OWNER (-374)1388 /** An illegal lock upgrade was attempted. */1389 #define VERR_SEM_LV_ILLEGAL_UPGRADE (-375)1390 /** The thread is not a valid signaller of the event. */1391 #define VERR_SEM_LV_NOT_SIGNALLER (-376)1392 /** Internal error in the lock validator or related components. */1393 #define VERR_SEM_LV_INTERNAL_ERROR (-377)1394 /** @} */1395 1396 1397 /** @name Generic Network I/O Status Codes1398 * @{1399 */1400 /** Unresolved (unknown) network error. */1401 #define VERR_NET_IO_ERROR (-400)1402 /** The network is busy or is out of resources. */1403 #define VERR_NET_OUT_OF_RESOURCES (-401)1404 /** Net host name not found. */1405 #define VERR_NET_HOST_NOT_FOUND (-402)1406 /** Network path not found. */1407 #define VERR_NET_PATH_NOT_FOUND (-403)1408 /** General network printing error. */1409 #define VERR_NET_PRINT_ERROR (-404)1410 /** The machine is not on the network. */1411 #define VERR_NET_NO_NETWORK (-405)1412 /** Name is not unique on the network. */1413 #define VERR_NET_NOT_UNIQUE_NAME (-406)1414 1415 /* These are BSD networking error codes - numbers correspond, don't mess! */1416 /** Operation in progress. */1417 #define VERR_NET_IN_PROGRESS (-436)1418 /** Operation already in progress. */1419 #define VERR_NET_ALREADY_IN_PROGRESS (-437)1420 /** Attempted socket operation with a non-socket handle.1421 * (This includes closed handles.) */1422 #define VERR_NET_NOT_SOCKET (-438)1423 /** Destination address required. */1424 #define VERR_NET_DEST_ADDRESS_REQUIRED (-439)1425 /** Message too long. */1426 #define VERR_NET_MSG_SIZE (-440)1427 /** Protocol wrong type for socket. */1428 #define VERR_NET_PROTOCOL_TYPE (-441)1429 /** Protocol not available. */1430 #define VERR_NET_PROTOCOL_NOT_AVAILABLE (-442)1431 /** Protocol not supported. */1432 #define VERR_NET_PROTOCOL_NOT_SUPPORTED (-443)1433 /** Socket type not supported. */1434 #define VERR_NET_SOCKET_TYPE_NOT_SUPPORTED (-444)1435 /** Operation not supported. */1436 #define VERR_NET_OPERATION_NOT_SUPPORTED (-445)1437 /** Protocol family not supported. */1438 #define VERR_NET_PROTOCOL_FAMILY_NOT_SUPPORTED (-446)1439 /** Address family not supported by protocol family. */1440 #define VERR_NET_ADDRESS_FAMILY_NOT_SUPPORTED (-447)1441 /** Address already in use. */1442 #define VERR_NET_ADDRESS_IN_USE (-448)1443 /** Can't assign requested address. */1444 #define VERR_NET_ADDRESS_NOT_AVAILABLE (-449)1445 /** Network is down. */1446 #define VERR_NET_DOWN (-450)1447 /** Network is unreachable. */1448 #define VERR_NET_UNREACHABLE (-451)1449 /** Network dropped connection on reset. */1450 #define VERR_NET_CONNECTION_RESET (-452)1451 /** Software caused connection abort. */1452 #define VERR_NET_CONNECTION_ABORTED (-453)1453 /** Connection reset by peer. */1454 #define VERR_NET_CONNECTION_RESET_BY_PEER (-454)1455 /** No buffer space available. */1456 #define VERR_NET_NO_BUFFER_SPACE (-455)1457 /** Socket is already connected. */1458 #define VERR_NET_ALREADY_CONNECTED (-456)1459 /** Socket is not connected. */1460 #define VERR_NET_NOT_CONNECTED (-457)1461 /** Can't send after socket shutdown. */1462 #define VERR_NET_SHUTDOWN (-458)1463 /** Too many references: can't splice. */1464 #define VERR_NET_TOO_MANY_REFERENCES (-459)1465 /** Too many references: can't splice. */1466 #define VERR_NET_CONNECTION_TIMED_OUT (-460)1467 /** Connection refused. */1468 #define VERR_NET_CONNECTION_REFUSED (-461)1469 /* ELOOP is not net. */1470 /* ENAMETOOLONG is not net. */1471 /** Host is down. */1472 #define VERR_NET_HOST_DOWN (-464)1473 /** No route to host. */1474 #define VERR_NET_HOST_UNREACHABLE (-465)1475 /** Protocol error. */1476 #define VERR_NET_PROTOCOL_ERROR (-466)1477 /** Incomplete packet was submitted by guest. */1478 #define VERR_NET_INCOMPLETE_TX_PACKET (-467)1479 /** Winsock init error. */1480 #define VERR_NET_INIT_FAILED (-468)1481 /** Trying to use too new winsock API. */1482 #define VERR_NET_NOT_UNSUPPORTED (-469)1483 /** @} */1484 1485 1486 /** @name TCP Status Codes1487 * @{1488 */1489 /** Stop the TCP server. */1490 #define VERR_TCP_SERVER_STOP (-500)1491 /** The server was stopped. */1492 #define VINF_TCP_SERVER_STOP 5001493 /** The TCP server was shut down using RTTcpServerShutdown. */1494 #define VERR_TCP_SERVER_SHUTDOWN (-501)1495 /** The TCP server was destroyed. */1496 #define VERR_TCP_SERVER_DESTROYED (-502)1497 /** The TCP server has no client associated with it. */1498 #define VINF_TCP_SERVER_NO_CLIENT 5031499 /** @} */1500 1501 1502 /** @name UDP Status Codes1503 * @{1504 */1505 /** Stop the UDP server. */1506 #define VERR_UDP_SERVER_STOP (-520)1507 /** The server was stopped. */1508 #define VINF_UDP_SERVER_STOP 5201509 /** The UDP server was shut down using RTUdpServerShutdown. */1510 #define VERR_UDP_SERVER_SHUTDOWN (-521)1511 /** The UDP server was destroyed. */1512 #define VERR_UDP_SERVER_DESTROYED (-522)1513 /** The UDP server has no client associated with it. */1514 #define VINF_UDP_SERVER_NO_CLIENT 5231515 /** @} */1516 1517 1518 /** @name L4 Specific Status Codes1519 * @{1520 */1521 /** Invalid offset in an L4 dataspace */1522 #define VERR_L4_INVALID_DS_OFFSET (-550)1523 /** IPC error */1524 #define VERR_IPC (-551)1525 /** Item already used */1526 #define VERR_RESOURCE_IN_USE (-552)1527 /** Source/destination not found */1528 #define VERR_IPC_PROCESS_NOT_FOUND (-553)1529 /** Receive timeout */1530 #define VERR_IPC_RECEIVE_TIMEOUT (-554)1531 /** Send timeout */1532 #define VERR_IPC_SEND_TIMEOUT (-555)1533 /** Receive cancelled */1534 #define VERR_IPC_RECEIVE_CANCELLED (-556)1535 /** Send cancelled */1536 #define VERR_IPC_SEND_CANCELLED (-557)1537 /** Receive aborted */1538 #define VERR_IPC_RECEIVE_ABORTED (-558)1539 /** Send aborted */1540 #define VERR_IPC_SEND_ABORTED (-559)1541 /** Couldn't map pages during receive */1542 #define VERR_IPC_RECEIVE_MAP_FAILED (-560)1543 /** Couldn't map pages during send */1544 #define VERR_IPC_SEND_MAP_FAILED (-561)1545 /** Send pagefault timeout in receive */1546 #define VERR_IPC_RECEIVE_SEND_PF_TIMEOUT (-562)1547 /** Send pagefault timeout in send */1548 #define VERR_IPC_SEND_SEND_PF_TIMEOUT (-563)1549 /** (One) receive buffer was too small, or too few buffers */1550 #define VINF_IPC_RECEIVE_MSG_CUT 5641551 /** (One) send buffer was too small, or too few buffers */1552 #define VINF_IPC_SEND_MSG_CUT 5651553 /** Dataspace manager server not found */1554 #define VERR_L4_DS_MANAGER_NOT_FOUND (-566)1555 /** @} */1556 1557 1558 /** @name Loader Status Codes.1559 * @{1560 */1561 /** Invalid executable signature. */1562 #define VERR_INVALID_EXE_SIGNATURE (-600)1563 /** The iprt loader recognized a ELF image, but doesn't support loading it. */1564 #define VERR_ELF_EXE_NOT_SUPPORTED (-601)1565 /** The iprt loader recognized a PE image, but doesn't support loading it. */1566 #define VERR_PE_EXE_NOT_SUPPORTED (-602)1567 /** The iprt loader recognized a LX image, but doesn't support loading it. */1568 #define VERR_LX_EXE_NOT_SUPPORTED (-603)1569 /** The iprt loader recognized a LE image, but doesn't support loading it. */1570 #define VERR_LE_EXE_NOT_SUPPORTED (-604)1571 /** The iprt loader recognized a NE image, but doesn't support loading it. */1572 #define VERR_NE_EXE_NOT_SUPPORTED (-605)1573 /** The iprt loader recognized a MZ image, but doesn't support loading it. */1574 #define VERR_MZ_EXE_NOT_SUPPORTED (-606)1575 /** The iprt loader recognized an a.out image, but doesn't support loading it. */1576 #define VERR_AOUT_EXE_NOT_SUPPORTED (-607)1577 /** Bad executable. */1578 #define VERR_BAD_EXE_FORMAT (-608)1579 /** Symbol (export) not found. */1580 #define VERR_SYMBOL_NOT_FOUND (-609)1581 /** Module not found. */1582 #define VERR_MODULE_NOT_FOUND (-610)1583 /** The loader resolved an external symbol to an address to big for the image format. */1584 #define VERR_SYMBOL_VALUE_TOO_BIG (-611)1585 /** The image is too big. */1586 #define VERR_IMAGE_TOO_BIG (-612)1587 /** The image base address is to high for this image type. */1588 #define VERR_IMAGE_BASE_TOO_HIGH (-614)1589 /** Mismatching architecture. */1590 #define VERR_LDR_ARCH_MISMATCH (-615)1591 /** Mismatch between IPRT and native loader. */1592 #define VERR_LDR_MISMATCH_NATIVE (-616)1593 /** Failed to resolve an imported (external) symbol. */1594 #define VERR_LDR_IMPORTED_SYMBOL_NOT_FOUND (-617)1595 /** Generic loader failure. */1596 #define VERR_LDR_GENERAL_FAILURE (-618)1597 /** Code signing error. */1598 #define VERR_LDR_IMAGE_HASH (-619)1599 /** The PE loader encountered delayed imports, a feature which hasn't been implemented yet. */1600 #define VERR_LDRPE_DELAY_IMPORT (-620)1601 /** The PE loader encountered a malformed certificate. */1602 #define VERR_LDRPE_CERT_MALFORMED (-621)1603 /** The PE loader encountered a certificate with an unsupported type or structure revision. */1604 #define VERR_LDRPE_CERT_UNSUPPORTED (-622)1605 /** The PE loader doesn't know how to deal with the global pointer data directory entry yet. */1606 #define VERR_LDRPE_GLOBALPTR (-623)1607 /** The PE loader doesn't support the TLS data directory yet. */1608 #define VERR_LDRPE_TLS (-624)1609 /** The PE loader doesn't grok the COM descriptor data directory entry. */1610 #define VERR_LDRPE_COM_DESCRIPTOR (-625)1611 /** The PE loader encountered an unknown load config directory/header size. */1612 #define VERR_LDRPE_LOAD_CONFIG_SIZE (-626)1613 /** The PE loader encountered a lock prefix table, a feature which hasn't been implemented yet. */1614 #define VERR_LDRPE_LOCK_PREFIX_TABLE (-627)1615 /** The PE loader encountered some Guard CF stuff in the load config. */1616 #define VERR_LDRPE_GUARD_CF_STUFF (-628)1617 /** The ELF loader doesn't handle foreign endianness. */1618 #define VERR_LDRELF_ODD_ENDIAN (-630)1619 /** The ELF image is 'dynamic', the ELF loader can only deal with 'relocatable' images at present. */1620 #define VERR_LDRELF_DYN (-631)1621 /** The ELF image is 'executable', the ELF loader can only deal with 'relocatable' images at present. */1622 #define VERR_LDRELF_EXEC (-632)1623 /** The ELF image was created for an unsupported target machine type. */1624 #define VERR_LDRELF_MACHINE (-633)1625 /** The ELF version is not supported. */1626 #define VERR_LDRELF_VERSION (-634)1627 /** The ELF loader cannot handle multiple SYMTAB sections. */1628 #define VERR_LDRELF_MULTIPLE_SYMTABS (-635)1629 /** The ELF loader encountered a relocation type which is not implemented. */1630 #define VERR_LDRELF_RELOCATION_NOT_SUPPORTED (-636)1631 /** The ELF loader encountered a bad symbol index. */1632 #define VERR_LDRELF_INVALID_SYMBOL_INDEX (-637)1633 /** The ELF loader encountered an invalid symbol name offset. */1634 #define VERR_LDRELF_INVALID_SYMBOL_NAME_OFFSET (-638)1635 /** The ELF loader encountered an invalid relocation offset. */1636 #define VERR_LDRELF_INVALID_RELOCATION_OFFSET (-639)1637 /** The ELF loader didn't find the symbol/string table for the image. */1638 #define VERR_LDRELF_NO_SYMBOL_OR_NO_STRING_TABS (-640)1639 /** Invalid link address. */1640 #define VERR_LDR_INVALID_LINK_ADDRESS (-647)1641 /** Invalid image relative virtual address. */1642 #define VERR_LDR_INVALID_RVA (-648)1643 /** Invalid segment:offset address. */1644 #define VERR_LDR_INVALID_SEG_OFFSET (-649)1645 /** @}*/1646 1647 /** @name Debug Info Reader Status Codes.1648 * @{1649 */1650 /** The module contains no line number information. */1651 #define VERR_DBG_NO_LINE_NUMBERS (-650)1652 /** The module contains no symbol information. */1653 #define VERR_DBG_NO_SYMBOLS (-651)1654 /** The specified segment:offset address was invalid. Typically an attempt at1655 * addressing outside the segment boundary. */1656 #define VERR_DBG_INVALID_ADDRESS (-652)1657 /** Invalid segment index. */1658 #define VERR_DBG_INVALID_SEGMENT_INDEX (-653)1659 /** Invalid segment offset. */1660 #define VERR_DBG_INVALID_SEGMENT_OFFSET (-654)1661 /** Invalid image relative virtual address. */1662 #define VERR_DBG_INVALID_RVA (-655)1663 /** Invalid image relative virtual address. */1664 #define VERR_DBG_SPECIAL_SEGMENT (-656)1665 /** Address conflict within a module/segment.1666 * Attempted to add a segment, symbol or line number that fully or partially1667 * overlaps with an existing one. */1668 #define VERR_DBG_ADDRESS_CONFLICT (-657)1669 /** Duplicate symbol within the module.1670 * Attempted to add a symbol which name already exists within the module. */1671 #define VERR_DBG_DUPLICATE_SYMBOL (-658)1672 /** The segment index specified when adding a new segment is already in use. */1673 #define VERR_DBG_SEGMENT_INDEX_CONFLICT (-659)1674 /** No line number was found for the specified address/ordinal/whatever. */1675 #define VERR_DBG_LINE_NOT_FOUND (-660)1676 /** The length of the symbol name is out of range.1677 * This means it is an empty string or that it's greater or equal to1678 * RTDBG_SYMBOL_NAME_LENGTH. */1679 #define VERR_DBG_SYMBOL_NAME_OUT_OF_RANGE (-661)1680 /** The length of the file name is out of range.1681 * This means it is an empty string or that it's greater or equal to1682 * RTDBG_FILE_NAME_LENGTH. */1683 #define VERR_DBG_FILE_NAME_OUT_OF_RANGE (-662)1684 /** The length of the segment name is out of range.1685 * This means it is an empty string or that it is greater or equal to1686 * RTDBG_SEGMENT_NAME_LENGTH. */1687 #define VERR_DBG_SEGMENT_NAME_OUT_OF_RANGE (-663)1688 /** The specified address range wraps around. */1689 #define VERR_DBG_ADDRESS_WRAP (-664)1690 /** The file is not a valid NM map file. */1691 #define VERR_DBG_NOT_NM_MAP_FILE (-665)1692 /** The file is not a valid /proc/kallsyms file. */1693 #define VERR_DBG_NOT_LINUX_KALLSYMS (-666)1694 /** No debug module interpreter matching the debug info. */1695 #define VERR_DBG_NO_MATCHING_INTERPRETER (-667)1696 /** Bad DWARF line number header. */1697 #define VERR_DWARF_BAD_LINE_NUMBER_HEADER (-668)1698 /** Unexpected end of DWARF unit. */1699 #define VERR_DWARF_UNEXPECTED_END (-669)1700 /** DWARF LEB value overflows the decoder type. */1701 #define VERR_DWARF_LEB_OVERFLOW (-670)1702 /** Bad DWARF extended line number opcode. */1703 #define VERR_DWARF_BAD_LNE (-671)1704 /** Bad DWARF string. */1705 #define VERR_DWARF_BAD_STRING (-672)1706 /** Bad DWARF position. */1707 #define VERR_DWARF_BAD_POS (-673)1708 /** Bad DWARF info. */1709 #define VERR_DWARF_BAD_INFO (-674)1710 /** Bad DWARF abbreviation data. */1711 #define VERR_DWARF_BAD_ABBREV (-675)1712 /** A DWARF abbreviation was not found. */1713 #define VERR_DWARF_ABBREV_NOT_FOUND (-676)1714 /** Encountered an unknown attribute form. */1715 #define VERR_DWARF_UNKNOWN_FORM (-677)1716 /** Encountered an unexpected attribute form. */1717 #define VERR_DWARF_UNEXPECTED_FORM (-678)1718 /** Unfinished code. */1719 #define VERR_DWARF_TODO (-679)1720 /** Unknown location opcode. */1721 #define VERR_DWARF_UNKNOWN_LOC_OPCODE (-680)1722 /** Expression stack overflow. */1723 #define VERR_DWARF_STACK_OVERFLOW (-681)1724 /** Expression stack underflow. */1725 #define VERR_DWARF_STACK_UNDERFLOW (-682)1726 /** Internal processing error in the DWARF code. */1727 #define VERR_DWARF_IPE (-683)1728 /** Invalid configuration property value. */1729 #define VERR_DBG_CFG_INVALID_VALUE (-684)1730 /** Not an integer property. */1731 #define VERR_DBG_CFG_NOT_UINT_PROP (-685)1732 /** Deferred loading of information failed. */1733 #define VERR_DBG_DEFERRED_LOAD_FAILED (-686)1734 /** Unfinished debug info reader code. */1735 #define VERR_DBG_TODO (-687)1736 /** Found file, but it didn't match the search criteria. */1737 #define VERR_DBG_FILE_MISMATCH (-688)1738 /** Internal processing error in the debug module reader code. */1739 #define VERR_DBG_MOD_IPE (-689)1740 /** The symbol size was adjusted while adding it. */1741 #define VINF_DBG_ADJUSTED_SYM_SIZE 6901742 /** Unable to parse the CodeView debug information. */1743 #define VERR_CV_BAD_FORMAT (-691)1744 /** Unfinished CodeView debug information feature. */1745 #define VERR_CV_TODO (-692)1746 /** Internal processing error the CodeView debug information reader. */1747 #define VERR_CV_IPE (-693)1748 /** No unwind information was found. */1749 #define VERR_DBG_NO_UNWIND_INFO (-694)1750 /** No unwind information for the specified location. */1751 #define VERR_DBG_UNWIND_INFO_NOT_FOUND (-695)1752 /** Malformed unwind information. */1753 #define VERR_DBG_MALFORMED_UNWIND_INFO (-696)1754 /** @} */1755 1756 /** @name Request Packet Status Codes.1757 * @{1758 */1759 /** Invalid RT request type.1760 * For the RTReqAlloc() case, the caller just specified an illegal enmType. For1761 * all the other occurrences it means indicates corruption, broken logic, or stupid1762 * interface user. */1763 #define VERR_RT_REQUEST_INVALID_TYPE (-700)1764 /** Invalid RT request state.1765 * The state of the request packet was not the expected and accepted one(s). Either1766 * the interface user screwed up, or we've got corruption/broken logic. */1767 #define VERR_RT_REQUEST_STATE (-701)1768 /** Invalid RT request packet.1769 * One or more of the RT controlled packet members didn't contain the correct1770 * values. Some thing's broken. */1771 #define VERR_RT_REQUEST_INVALID_PACKAGE (-702)1772 /** The status field has not been updated yet as the request is still1773 * pending completion. Someone queried the iStatus field before the request1774 * has been fully processed. */1775 #define VERR_RT_REQUEST_STATUS_STILL_PENDING (-703)1776 /** The request has been freed, don't read the status now.1777 * Someone is reading the iStatus field of a freed request packet. */1778 #define VERR_RT_REQUEST_STATUS_FREED (-704)1779 /** @} */1780 1781 /** @name Environment Status Code1782 * @{1783 */1784 /** The specified environment variable was not found. (RTEnvGetEx) */1785 #define VERR_ENV_VAR_NOT_FOUND (-750)1786 /** The specified environment variable was not found. (RTEnvUnsetEx) */1787 #define VINF_ENV_VAR_NOT_FOUND (750)1788 /** Unable to translate all the variables in the default environment due to1789 * codeset issues (LANG / LC_ALL / LC_CTYPE). */1790 #define VWRN_ENV_NOT_FULLY_TRANSLATED (751)1791 /** Invalid environment variable name. */1792 #define VERR_ENV_INVALID_VAR_NAME (-752)1793 /** The environment variable is an unset record. */1794 #define VINF_ENV_VAR_UNSET (753)1795 /** The environment variable has been recorded as being unset. */1796 #define VERR_ENV_VAR_UNSET (-753)1797 /** @} */1798 1799 /** @name Multiprocessor Status Codes.1800 * @{1801 */1802 /** The specified cpu is offline. */1803 #define VERR_CPU_OFFLINE (-800)1804 /** The specified cpu was not found. */1805 #define VERR_CPU_NOT_FOUND (-801)1806 /** Not all of the requested CPUs showed up in the PFNRTMPWORKER. */1807 #define VERR_NOT_ALL_CPUS_SHOWED (-802)1808 /** Internal processing error in the RTMp code.*/1809 #define VERR_CPU_IPE_1 (-803)1810 /** @} */1811 1812 /** @name RTGetOpt status codes1813 * @{ */1814 /** RTGetOpt: Command line option not recognized. */1815 #define VERR_GETOPT_UNKNOWN_OPTION (-825)1816 /** RTGetOpt: Command line option needs argument. */1817 #define VERR_GETOPT_REQUIRED_ARGUMENT_MISSING (-826)1818 /** RTGetOpt: Command line option has argument with bad format. */1819 #define VERR_GETOPT_INVALID_ARGUMENT_FORMAT (-827)1820 /** RTGetOpt: Not an option. */1821 #define VINF_GETOPT_NOT_OPTION 8281822 /** RTGetOpt: Command line option needs an index. */1823 #define VERR_GETOPT_INDEX_MISSING (-829)1824 /** @} */1825 1826 /** @name RTCache status codes1827 * @{ */1828 /** RTCache: cache is full. */1829 #define VERR_CACHE_FULL (-850)1830 /** RTCache: cache is empty. */1831 #define VERR_CACHE_EMPTY (-851)1832 /** @} */1833 1834 /** @name RTMemCache status codes1835 * @{ */1836 /** Reached the max cache size. */1837 #define VERR_MEM_CACHE_MAX_SIZE (-855)1838 /** @} */1839 1840 /** @name RTS3 status codes1841 * @{ */1842 /** Access denied error. */1843 #define VERR_S3_ACCESS_DENIED (-875)1844 /** The bucket/key wasn't found. */1845 #define VERR_S3_NOT_FOUND (-876)1846 /** Bucket already exists. */1847 #define VERR_S3_BUCKET_ALREADY_EXISTS (-877)1848 /** Can't delete bucket with keys. */1849 #define VERR_S3_BUCKET_NOT_EMPTY (-878)1850 /** The current operation was canceled. */1851 #define VERR_S3_CANCELED (-879)1852 /** @} */1853 1854 /** @name HTTP status codes1855 * @{ */1856 /** HTTP Internal Server Error. */1857 #define VERR_HTTP_STATUS_SERVER_ERROR (-884)1858 /** HTTP initialization failed. */1859 #define VERR_HTTP_INIT_FAILED (-885)1860 /** The server has not found anything matching the URI given. */1861 #define VERR_HTTP_NOT_FOUND (-886)1862 /** The request is for something forbidden. Authorization will not help. */1863 #define VERR_HTTP_ACCESS_DENIED (-887)1864 /** The server did not understand the request due to bad syntax. */1865 #define VERR_HTTP_BAD_REQUEST (-888)1866 /** Couldn't connect to the server (proxy?). */1867 #define VERR_HTTP_COULDNT_CONNECT (-889)1868 /** SSL connection error. */1869 #define VERR_HTTP_SSL_CONNECT_ERROR (-890)1870 /** CAcert is missing or has the wrong format. */1871 #define VERR_HTTP_CACERT_WRONG_FORMAT (-891)1872 /** Certificate cannot be authenticated with the given CA certificates. */1873 #define VERR_HTTP_CACERT_CANNOT_AUTHENTICATE (-892)1874 /** The current HTTP request was forcefully aborted */1875 #define VERR_HTTP_ABORTED (-893)1876 /** Request was redirected. */1877 #define VERR_HTTP_REDIRECTED (-894)1878 /** Proxy couldn't be resolved. */1879 #define VERR_HTTP_PROXY_NOT_FOUND (-895)1880 /** The remote host couldn't be resolved. */1881 #define VERR_HTTP_HOST_NOT_FOUND (-896)1882 /** Unexpected cURL error configure the proxy. */1883 #define VERR_HTTP_CURL_PROXY_CONFIG (-897)1884 /** Generic CURL error. */1885 #define VERR_HTTP_CURL_ERROR (-899)1886 /** @} */1887 1888 /** @name RTManifest status codes1889 * @{ */1890 /** A digest type used in the manifest file isn't supported. */1891 #define VERR_MANIFEST_UNSUPPORTED_DIGEST_TYPE (-900)1892 /** An entry in the manifest file couldn't be interpreted correctly. */1893 #define VERR_MANIFEST_WRONG_FILE_FORMAT (-901)1894 /** A digest doesn't match the corresponding file. */1895 #define VERR_MANIFEST_DIGEST_MISMATCH (-902)1896 /** The file list doesn't match to the content of the manifest file. */1897 #define VERR_MANIFEST_FILE_MISMATCH (-903)1898 /** The specified attribute (name) was not found in the manifest. */1899 #define VERR_MANIFEST_ATTR_NOT_FOUND (-904)1900 /** The attribute type did not match. */1901 #define VERR_MANIFEST_ATTR_TYPE_MISMATCH (-905)1902 /** No attribute of the specified types was found. */1903 #define VERR_MANIFEST_ATTR_TYPE_NOT_FOUND (-906)1904 /** @} */1905 1906 /** @name RTTar status codes1907 * @{ */1908 /** The checksum of a tar header record doesn't match. */1909 #define VERR_TAR_CHKSUM_MISMATCH (-925)1910 /** The tar end of file record was read. */1911 #define VERR_TAR_END_OF_FILE (-926)1912 /** The tar file ended unexpectedly. */1913 #define VERR_TAR_UNEXPECTED_EOS (-927)1914 /** The tar termination records was encountered without reaching the end of1915 * the input stream. */1916 #define VERR_TAR_EOS_MORE_INPUT (-928)1917 /** A number tar header field was malformed. */1918 #define VERR_TAR_BAD_NUM_FIELD (-929)1919 /** A numeric tar header field was not terminated correctly. */1920 #define VERR_TAR_BAD_NUM_FIELD_TERM (-930)1921 /** A number tar header field was encoded using base-256 which this1922 * tar implementation currently does not support. */1923 #define VERR_TAR_BASE_256_NOT_SUPPORTED (-931)1924 /** A number tar header field yielded a value too large for the internal1925 * variable of the tar interpreter. */1926 #define VERR_TAR_NUM_VALUE_TOO_LARGE (-932)1927 /** The combined minor and major device number type is too small to hold the1928 * value stored in the tar header. */1929 #define VERR_TAR_DEV_VALUE_TOO_LARGE (-933)1930 /** The mode field in a tar header is bad. */1931 #define VERR_TAR_BAD_MODE_FIELD (-934)1932 /** The mode field should not include the type. */1933 #define VERR_TAR_MODE_WITH_TYPE (-935)1934 /** The size field should be zero for links and symlinks. */1935 #define VERR_TAR_SIZE_NOT_ZERO (-936)1936 /** Encountered an unknown type flag. */1937 #define VERR_TAR_UNKNOWN_TYPE_FLAG (-937)1938 /** The tar header is all zeros. */1939 #define VERR_TAR_ZERO_HEADER (-938)1940 /** Not a uniform standard tape v0.0 archive header. */1941 #define VERR_TAR_NOT_USTAR_V00 (-939)1942 /** The name is empty. */1943 #define VERR_TAR_EMPTY_NAME (-940)1944 /** A non-directory entry has a name ending with a slash. */1945 #define VERR_TAR_NON_DIR_ENDS_WITH_SLASH (-941)1946 /** Encountered an unsupported portable archive exchange (pax) header. */1947 #define VERR_TAR_UNSUPPORTED_PAX_TYPE (-942)1948 /** Encountered an unsupported Solaris Tar extension. */1949 #define VERR_TAR_UNSUPPORTED_SOLARIS_HDR_TYPE (-943)1950 /** Encountered an unsupported GNU Tar extension. */1951 #define VERR_TAR_UNSUPPORTED_GNU_HDR_TYPE (-944)1952 /** Malformed checksum field in the tar header. */1953 #define VERR_TAR_BAD_CHKSUM_FIELD (-945)1954 /** Malformed checksum field in the tar header. */1955 #define VERR_TAR_MALFORMED_GNU_LONGXXXX (-946)1956 /** Too long name or link string. */1957 #define VERR_TAR_NAME_TOO_LONG (-947)1958 /** A directory entry in the archive. */1959 #define VINF_TAR_DIR_PATH (948)1960 /** @} */1961 1962 /** @name RTPoll status codes1963 * @{ */1964 /** The handle is not pollable. */1965 #define VERR_POLL_HANDLE_NOT_POLLABLE (-950)1966 /** The handle ID is already present in the poll set. */1967 #define VERR_POLL_HANDLE_ID_EXISTS (-951)1968 /** The handle ID was not found in the set. */1969 #define VERR_POLL_HANDLE_ID_NOT_FOUND (-952)1970 /** The poll set is full. */1971 #define VERR_POLL_SET_IS_FULL (-953)1972 /** @} */1973 1974 /** @name Pkzip status codes1975 * @{ */1976 /** No end of central directory record found. */1977 #define VERR_PKZIP_NO_EOCB (-960)1978 /** Too long name string. */1979 #define VERR_PKZIP_NAME_TOO_LONG (-961)1980 /** Local file header corrupt. */1981 #define VERR_PKZIP_BAD_LF_HEADER (-962)1982 /** Central directory file header corrupt. */1983 #define VERR_PKZIP_BAD_CDF_HEADER (-963)1984 /** Encountered an unknown type flag. */1985 #define VERR_PKZIP_UNKNOWN_TYPE_FLAG (-964)1986 /** Found a ZIP64 Extra Information Field in a ZIP32 file. */1987 #define VERR_PKZIP_ZIP64EX_IN_ZIP32 (-965)1988 1989 1990 /** @name RTZip status codes1991 * @{ */1992 /** Generic zip error. */1993 #define VERR_ZIP_ERROR (-22000)1994 /** The compressed data was corrupted. */1995 #define VERR_ZIP_CORRUPTED (-22001)1996 /** Ran out of memory while compressing or uncompressing. */1997 #define VERR_ZIP_NO_MEMORY (-22002)1998 /** The compression format version is unsupported. */1999 #define VERR_ZIP_UNSUPPORTED_VERSION (-22003)2000 /** The compression method is unsupported. */2001 #define VERR_ZIP_UNSUPPORTED_METHOD (-22004)2002 /** The compressed data started with a bad header. */2003 #define VERR_ZIP_BAD_HEADER (-22005)2004 /** @} */2005 2006 /** @name RTVfs status codes2007 * @{ */2008 /** The VFS chain specification does not have a valid prefix. */2009 #define VERR_VFS_CHAIN_NO_PREFIX (-22100)2010 /** The VFS chain specification is empty. */2011 #define VERR_VFS_CHAIN_EMPTY (-22101)2012 /** Expected an element. */2013 #define VERR_VFS_CHAIN_EXPECTED_ELEMENT (-22102)2014 /** The VFS object type is not known. */2015 #define VERR_VFS_CHAIN_UNKNOWN_TYPE (-22103)2016 /** Expected a left parentheses. */2017 #define VERR_VFS_CHAIN_EXPECTED_LEFT_PARENTHESES (-22104)2018 /** Expected a right parentheses. */2019 #define VERR_VFS_CHAIN_EXPECTED_RIGHT_PARENTHESES (-22105)2020 /** Expected a provider name. */2021 #define VERR_VFS_CHAIN_EXPECTED_PROVIDER_NAME (-22106)2022 /** Expected an element separator (| or :). */2023 #define VERR_VFS_CHAIN_EXPECTED_SEPARATOR (-22107)2024 /** Leading element separator not permitted. */2025 #define VERR_VFS_CHAIN_LEADING_SEPARATOR (-22108)2026 /** Trailing element separator not permitted. */2027 #define VERR_VFS_CHAIN_TRAILING_SEPARATOR (-22109)2028 /** The provider is only allowed as the first element. */2029 #define VERR_VFS_CHAIN_MUST_BE_FIRST_ELEMENT (-22110)2030 /** The provider cannot be the first element. */2031 #define VERR_VFS_CHAIN_CANNOT_BE_FIRST_ELEMENT (-22111)2032 /** VFS object cast failed. */2033 #define VERR_VFS_CHAIN_CAST_FAILED (-22112)2034 /** Internal error in the VFS chain code. */2035 #define VERR_VFS_CHAIN_IPE (-22113)2036 /** VFS chain element provider not found. */2037 #define VERR_VFS_CHAIN_PROVIDER_NOT_FOUND (-22114)2038 /** VFS chain does not terminate with the desired object type. */2039 #define VERR_VFS_CHAIN_FINAL_TYPE_MISMATCH (-22115)2040 /** VFS chain element takes no arguments. */2041 #define VERR_VFS_CHAIN_NO_ARGS (-22116)2042 /** VFS chain element takes exactly one argument. */2043 #define VERR_VFS_CHAIN_ONE_ARG (-22117)2044 /** VFS chain element expected at most one argument. */2045 #define VERR_VFS_CHAIN_AT_MOST_ONE_ARG (-22118)2046 /** VFS chain element expected at least one argument. */2047 #define VERR_VFS_CHAIN_AT_LEAST_ONE_ARG (-22119)2048 /** VFS chain element takes exactly two arguments. */2049 #define VERR_VFS_CHAIN_TWO_ARGS (-22120)2050 /** VFS chain element expected at least two arguments. */2051 #define VERR_VFS_CHAIN_AT_LEAST_TWO_ARGS (-22121)2052 /** VFS chain element expected at most two arguments. */2053 #define VERR_VFS_CHAIN_AT_MOST_TWO_ARGS (-22122)2054 /** VFS chain element takes exactly three arguments. */2055 #define VERR_VFS_CHAIN_THREE_ARGS (-22123)2056 /** VFS chain element expected at least three arguments. */2057 #define VERR_VFS_CHAIN_AT_LEAST_THREE_ARGS (-22124)2058 /** VFS chain element expected at most three arguments. */2059 #define VERR_VFS_CHAIN_AT_MOST_THREE_ARGS (-22125)2060 /** VFS chain element takes exactly four arguments. */2061 #define VERR_VFS_CHAIN_FOUR_ARGS (-22126)2062 /** VFS chain element expected at least four arguments. */2063 #define VERR_VFS_CHAIN_AT_LEAST_FOUR_ARGS (-22127)2064 /** VFS chain element expected at most four arguments. */2065 #define VERR_VFS_CHAIN_AT_MOST_FOUR_ARGS (-22128)2066 /** VFS chain element takes exactly five arguments. */2067 #define VERR_VFS_CHAIN_FIVE_ARGS (-22129)2068 /** VFS chain element expected at least five arguments. */2069 #define VERR_VFS_CHAIN_AT_LEAST_FIVE_ARGS (-22130)2070 /** VFS chain element expected at most five arguments. */2071 #define VERR_VFS_CHAIN_AT_MOST_FIVE_ARGS (-22131)2072 /** VFS chain element takes exactly six arguments. */2073 #define VERR_VFS_CHAIN_SIX_ARGS (-22132)2074 /** VFS chain element expected at least six arguments. */2075 #define VERR_VFS_CHAIN_AT_LEAST_SIX_ARGS (-22133)2076 /** VFS chain element expected at most six arguments. */2077 #define VERR_VFS_CHAIN_AT_MOST_SIX_ARGS (-22134)2078 /** VFS chain element expected at most six arguments. */2079 #define VERR_VFS_CHAIN_TOO_FEW_ARGS (-22135)2080 /** VFS chain element expected at most six arguments. */2081 #define VERR_VFS_CHAIN_TOO_MANY_ARGS (-22136)2082 /** VFS chain element expected non-empty argument. */2083 #define VERR_VFS_CHAIN_EMPTY_ARG (-22137)2084 /** Invalid argument to VFS chain element. */2085 #define VERR_VFS_CHAIN_INVALID_ARGUMENT (-22138)2086 /** VFS chain element only provides file and I/O stream (ios) objects. */2087 #define VERR_VFS_CHAIN_ONLY_FILE_OR_IOS (-22139)2088 /** VFS chain element only provides I/O stream (ios) objects. */2089 #define VERR_VFS_CHAIN_ONLY_IOS (-22140)2090 /** VFS chain element only provides directory (dir) objects. */2091 #define VERR_VFS_CHAIN_ONLY_DIR (-22141)2092 /** VFS chain element only provides file system stream (fss) objects. */2093 #define VERR_VFS_CHAIN_ONLY_FSS (-22142)2094 /** VFS chain element only provides file system (vfs) objects. */2095 #define VERR_VFS_CHAIN_ONLY_VFS (-22143)2096 /** VFS chain element only provides file, I/O stream (ios), or2097 * directory (dir) objects. */2098 #define VERR_VFS_CHAIN_ONLY_FILE_OR_IOS_OR_DIR (-22144)2099 /** VFS chain element only provides file, I/O stream (ios), or2100 * directory (dir) objects. */2101 #define VERR_VFS_CHAIN_ONLY_DIR_OR_VFS (-22145)2102 /** VFS chain element takes a file object as input. */2103 #define VERR_VFS_CHAIN_TAKES_FILE (-22146)2104 /** VFS chain element takes a file or I/O stream (ios) object as input. */2105 #define VERR_VFS_CHAIN_TAKES_FILE_OR_IOS (-22147)2106 /** VFS chain element takes a directory (dir) object as input. */2107 #define VERR_VFS_CHAIN_TAKES_DIR (-22148)2108 /** VFS chain element takes a file system stream (fss) object as input. */2109 #define VERR_VFS_CHAIN_TAKES_FSS (-22149)2110 /** VFS chain element takes a file system (vfs) object as input. */2111 #define VERR_VFS_CHAIN_TAKES_VFS (-22150)2112 /** VFS chain element takes a directory (dir) or file system (vfs)2113 * object as input. */2114 #define VERR_VFS_CHAIN_TAKES_DIR_OR_VFS (-22151)2115 /** VFS chain element takes a directory (dir), file system stream (fss),2116 * or file system (vfs) object as input. */2117 #define VERR_VFS_CHAIN_TAKES_DIR_OR_FSS_OR_VFS (-22152)2118 /** VFS chain element only provides a read-only I/O stream, while the chain2119 * requires write access. */2120 #define VERR_VFS_CHAIN_READ_ONLY_IOS (-22153)2121 /** VFS chain element only provides a read-only I/O stream, while the chain2122 * read access. */2123 #define VERR_VFS_CHAIN_WRITE_ONLY_IOS (-22154)2124 /** VFS chain only has a single element and it is just a path, need to be2125 * treated as a normal file system request. */2126 #define VERR_VFS_CHAIN_PATH_ONLY (-22155)2127 /** VFS chain element preceding the final path needs to be a directory, file2128 * system or file system stream. */2129 #define VERR_VFS_CHAIN_TYPE_MISMATCH_PATH_ONLY (-22156)2130 /** VFS chain doesn't end with a path only element. */2131 #define VERR_VFS_CHAIN_NOT_PATH_ONLY (-22157)2132 /** The path only element at the end of the VFS chain is too short to make out2133 * the parent directory. */2134 #define VERR_VFS_CHAIN_TOO_SHORT_FOR_PARENT (-22158)2135 /** @} */2136 2137 /** @name RTDvm status codes2138 * @{ */2139 /** The volume map doesn't contain any valid volume. */2140 #define VERR_DVM_MAP_EMPTY (-22200)2141 /** There is no volume behind the current one. */2142 #define VERR_DVM_MAP_NO_VOLUME (-22201)2143 /** @} */2144 2145 /** @name Logger status codes2146 * @{ */2147 /** The internal logger revision did not match. */2148 #define VERR_LOG_REVISION_MISMATCH (-22300)2149 /** @} */2150 2151 /* see above, 22400..22499 is used for misc codes! */2152 2153 /** @name Logger status codes2154 * @{ */2155 /** Power off is not supported by the hardware or the OS. */2156 #define VERR_SYS_CANNOT_POWER_OFF (-22500)2157 /** The halt action was requested, but the OS may actually power2158 * off the machine. */2159 #define VINF_SYS_MAY_POWER_OFF (22501)2160 /** Shutdown failed. */2161 #define VERR_SYS_SHUTDOWN_FAILED (-22502)2162 /** @} */2163 2164 /** @name Filesystem status codes2165 * @{ */2166 /** Filesystem can't be opened because it is corrupt. */2167 #define VERR_FILESYSTEM_CORRUPT (-22600)2168 /** @} */2169 2170 /** @name RTZipXar status codes.2171 * @{ */2172 /** Wrong magic value. */2173 #define VERR_XAR_WRONG_MAGIC (-22700)2174 /** Bad header size. */2175 #define VERR_XAR_BAD_HDR_SIZE (-22701)2176 /** Unsupported version. */2177 #define VERR_XAR_UNSUPPORTED_VERSION (-22702)2178 /** Unsupported hashing function. */2179 #define VERR_XAR_UNSUPPORTED_HASH_FUNCTION (-22703)2180 /** The table of content (TOC) is too small and therefore can't be valid. */2181 #define VERR_XAR_TOC_TOO_SMALL (-22704)2182 /** The table of content (TOC) is too big. */2183 #define VERR_XAR_TOC_TOO_BIG (-22705)2184 /** The compressed table of content is too big. */2185 #define VERR_XAR_TOC_TOO_BIG_COMPRESSED (-22706)2186 /** The uncompressed table of content size in the header didn't match what2187 * ZLib returned. */2188 #define VERR_XAR_TOC_UNCOMP_SIZE_MISMATCH (-22707)2189 /** The table of content string length didn't match the size specified in the2190 * header. */2191 #define VERR_XAR_TOC_STRLEN_MISMATCH (-22708)2192 /** The table of content isn't valid UTF-8. */2193 #define VERR_XAR_TOC_UTF8_ENCODING (-22709)2194 /** XML error while parsing the table of content. */2195 #define VERR_XAR_TOC_XML_PARSE_ERROR (-22710)2196 /** The table of content XML document does not have a toc element. */2197 #define VERR_XML_TOC_ELEMENT_MISSING (-22711)2198 /** The table of content XML element (toc) has siblings, we expected it to be2199 * an only child or the root element (xar). */2200 #define VERR_XML_TOC_ELEMENT_HAS_SIBLINGS (-22712)2201 /** The XAR table of content digest doesn't match. */2202 #define VERR_XAR_TOC_DIGEST_MISMATCH (-22713)2203 /** Bad or missing XAR checksum element. */2204 #define VERR_XAR_BAD_CHECKSUM_ELEMENT (-22714)2205 /** The hash function in the header doesn't match the one in the table of2206 * content. */2207 #define VERR_XAR_HASH_FUNCTION_MISMATCH (-22715)2208 /** Bad digest length encountered in the table of content. */2209 #define VERR_XAR_BAD_DIGEST_LENGTH (-22716)2210 /** The order of elements in the XAR file does not lend it self to expansion2211 * from via an I/O stream. */2212 #define VERR_XAR_NOT_STREAMBLE_ELEMENT_ORDER (-22717)2213 /** Missing offset element in table of content sub-element. */2214 #define VERR_XAR_MISSING_OFFSET_ELEMENT (-22718)2215 /** Bad offset element in table of content sub-element. */2216 #define VERR_XAR_BAD_OFFSET_ELEMENT (-22719)2217 /** Missing size element in table of content sub-element. */2218 #define VERR_XAR_MISSING_SIZE_ELEMENT (-22720)2219 /** Bad size element in table of content sub-element. */2220 #define VERR_XAR_BAD_SIZE_ELEMENT (-22721)2221 /** Missing length element in table of content sub-element. */2222 #define VERR_XAR_MISSING_LENGTH_ELEMENT (-22722)2223 /** Bad length element in table of content sub-element. */2224 #define VERR_XAR_BAD_LENGTH_ELEMENT (-22723)2225 /** Bad file element in XAR table of content. */2226 #define VERR_XAR_BAD_FILE_ELEMENT (-22724)2227 /** Missing data element for XAR file. */2228 #define VERR_XAR_MISSING_DATA_ELEMENT (-22725)2229 /** Unknown XAR file type value. */2230 #define VERR_XAR_UNKNOWN_FILE_TYPE (-22726)2231 /** Missing encoding element for XAR data stream. */2232 #define VERR_XAR_NO_ENCODING (-22727)2233 /** Bad timestamp for XAR file. */2234 #define VERR_XAR_BAD_FILE_TIMESTAMP (-22728)2235 /** Bad file mode for XAR file. */2236 #define VERR_XAR_BAD_FILE_MODE (-22729)2237 /** Bad file user id for XAR file. */2238 #define VERR_XAR_BAD_FILE_UID (-22730)2239 /** Bad file group id for XAR file. */2240 #define VERR_XAR_BAD_FILE_GID (-22731)2241 /** Bad file inode device number for XAR file. */2242 #define VERR_XAR_BAD_FILE_DEVICE_NO (-22732)2243 /** Bad file inode number for XAR file. */2244 #define VERR_XAR_BAD_FILE_INODE (-22733)2245 /** Invalid name for XAR file. */2246 #define VERR_XAR_INVALID_FILE_NAME (-22734)2247 /** The message digest of the extracted data does not match the one supplied. */2248 #define VERR_XAR_EXTRACTED_HASH_MISMATCH (-22735)2249 /** The extracted data has exceeded the expected size. */2250 #define VERR_XAR_EXTRACTED_SIZE_EXCEEDED (-22736)2251 /** The message digest of the archived data does not match the one supplied. */2252 #define VERR_XAR_ARCHIVED_HASH_MISMATCH (-22737)2253 /** The decompressor completed without using all the input data. */2254 #define VERR_XAR_UNUSED_ARCHIVED_DATA (-22738)2255 /** Expected the archived and extracted XAR data sizes to be the same for2256 * uncompressed data. */2257 #define VERR_XAR_ARCHIVED_AND_EXTRACTED_SIZES_MISMATCH (-22739)2258 /** @} */2259 2260 /** @name RTX509 status codes2261 * @{ */2262 /** Error reading a certificate in PEM format from BIO. */2263 #define VERR_X509_READING_CERT_FROM_BIO (-23100)2264 /** Error extracting a public key from the certificate. */2265 #define VERR_X509_EXTRACT_PUBKEY_FROM_CERT (-23101)2266 /** Error extracting RSA from the public key. */2267 #define VERR_X509_EXTRACT_RSA_FROM_PUBLIC_KEY (-23102)2268 /** Signature verification failed. */2269 #define VERR_X509_RSA_VERIFICATION_FUILURE (-23103)2270 /** Basic constraints were not found. */2271 #define VERR_X509_NO_BASIC_CONSTARAINTS (-23104)2272 /** Error getting extensions from the certificate. */2273 #define VERR_X509_GETTING_EXTENSION_FROM_CERT (-23105)2274 /** Error getting a data from the extension. */2275 #define VERR_X509_GETTING_DATA_FROM_EXTENSION (-23106)2276 /** Error formatting an extension. */2277 #define VERR_X509_PRINT_EXTENSION_TO_BIO (-23107)2278 /** X509 certificate verification error. */2279 #define VERR_X509_CERTIFICATE_VERIFICATION_FAILURE (-23108)2280 /** X509 certificate isn't self signed. */2281 #define VERR_X509_NOT_SELFSIGNED_CERTIFICATE (-23109)2282 /** Warning X509 certificate isn't self signed. */2283 #define VINF_X509_NOT_SELFSIGNED_CERTIFICATE 231092284 /** @} */2285 2286 /** @name RTAsn1 status codes2287 * @{ */2288 /** Temporary place holder. */2289 #define VERR_ASN1_ERROR (-22800)2290 /** Encountered an ASN.1 string type that is not supported. */2291 #define VERR_ASN1_STRING_TYPE_NOT_IMPLEMENTED (-22801)2292 /** Invalid ASN.1 UTF-8 STRING encoding. */2293 #define VERR_ASN1_INVALID_UTF8_STRING_ENCODING (-22802)2294 /** Invalid ASN.1 NUMERIC STRING encoding. */2295 #define VERR_ASN1_INVALID_NUMERIC_STRING_ENCODING (-22803)2296 /** Invalid ASN.1 PRINTABLE STRING encoding. */2297 #define VERR_ASN1_INVALID_PRINTABLE_STRING_ENCODING (-22804)2298 /** Invalid ASN.1 T61/TELETEX STRING encoding. */2299 #define VERR_ASN1_INVALID_T61_STRING_ENCODING (-22805)2300 /** Invalid ASN.1 VIDEOTEX STRING encoding. */2301 #define VERR_ASN1_INVALID_VIDEOTEX_STRING_ENCODING (-22806)2302 /** Invalid ASN.1 IA5 STRING encoding. */2303 #define VERR_ASN1_INVALID_IA5_STRING_ENCODING (-22807)2304 /** Invalid ASN.1 GRAPHIC STRING encoding. */2305 #define VERR_ASN1_INVALID_GRAPHIC_STRING_ENCODING (-22808)2306 /** Invalid ASN.1 ISO-646/VISIBLE STRING encoding. */2307 #define VERR_ASN1_INVALID_VISIBLE_STRING_ENCODING (-22809)2308 /** Invalid ASN.1 GENERAL STRING encoding. */2309 #define VERR_ASN1_INVALID_GENERAL_STRING_ENCODING (-22810)2310 /** Invalid ASN.1 UNIVERSAL STRING encoding. */2311 #define VERR_ASN1_INVALID_UNIVERSAL_STRING_ENCODING (-22811)2312 /** Invalid ASN.1 BMP STRING encoding. */2313 #define VERR_ASN1_INVALID_BMP_STRING_ENCODING (-22812)2314 /** Invalid ASN.1 OBJECT IDENTIFIER encoding. */2315 #define VERR_ASN1_INVALID_OBJID_ENCODING (-22813)2316 /** A component value of an ASN.1 OBJECT IDENTIFIER is too big for our2317 * internal representation (32-bits). */2318 #define VERR_ASN1_OBJID_COMPONENT_TOO_BIG (-22814)2319 /** Too many components in an ASN.1 OBJECT IDENTIFIER for our internal2320 * representation. */2321 #define VERR_ASN1_OBJID_TOO_MANY_COMPONENTS (-22815)2322 /** The dotted-string representation of an ASN.1 OBJECT IDENTIFIER would be too2323 * long for our internal representation. */2324 #define VERR_ASN1_OBJID_TOO_LONG_STRING_FORM (-22816)2325 /** Invalid dotted string. */2326 #define VERR_ASN1_OBJID_INVALID_DOTTED_STRING (-22817)2327 /** Constructed string type not implemented. */2328 #define VERR_ASN1_CONSTRUCTED_STRING_NOT_IMPL (-22818)2329 /** Expected a different string tag. */2330 #define VERR_ASN1_STRING_TAG_MISMATCH (-22819)2331 /** Expected a different time tag. */2332 #define VERR_ASN1_TIME_TAG_MISMATCH (-22820)2333 /** More unconsumed data available. */2334 #define VINF_ASN1_MORE_DATA (22821)2335 /** RTAsnEncodeWriteHeader return code indicating that nothing was written2336 * and the content should be skipped as well. */2337 #define VINF_ASN1_NOT_ENCODED (22822)2338 /** Unknown escape sequence encountered in TeletexString. */2339 #define VERR_ASN1_TELETEX_UNKNOWN_ESC_SEQ (-22823)2340 /** Unsupported escape sequence encountered in TeletexString. */2341 #define VERR_ASN1_TELETEX_UNSUPPORTED_ESC_SEQ (-22824)2342 /** Unsupported character set. */2343 #define VERR_ASN1_TELETEX_UNSUPPORTED_CHARSET (-22825)2344 /** ASN.1 object has no virtual method table. */2345 #define VERR_ASN1_NO_VTABLE (-22826)2346 /** ASN.1 object has no pfnCheckSanity method. */2347 #define VERR_ASN1_NO_CHECK_SANITY_METHOD (-22827)2348 /** ASN.1 object is not present */2349 #define VERR_ASN1_NOT_PRESENT (-22828)2350 /** There are unconsumed bytes after decoding an ASN.1 object. */2351 #define VERR_ASN1_CURSOR_NOT_AT_END (-22829)2352 /** Long ASN.1 tag form is not implemented. */2353 #define VERR_ASN1_CURSOR_LONG_TAG (-22830)2354 /** Bad ASN.1 object length encoding. */2355 #define VERR_ASN1_CURSOR_BAD_LENGTH_ENCODING (-22831)2356 /** Indefinite length form is against the rules. */2357 #define VERR_ASN1_CURSOR_ILLEGAL_INDEFINITE_LENGTH (-22832)2358 /** Malformed indefinite length encoding. */2359 #define VERR_ASN1_CURSOR_BAD_INDEFINITE_LENGTH (-22833)2360 /** ASN.1 object length goes beyond the end of the byte stream being decoded. */2361 #define VERR_ASN1_CURSOR_BAD_LENGTH (-22834)2362 /** Not more data in ASN.1 byte stream. */2363 #define VERR_ASN1_CURSOR_NO_MORE_DATA (-22835)2364 /** Too little data in ASN.1 byte stream. */2365 #define VERR_ASN1_CURSOR_TOO_LITTLE_DATA_LEFT (-22836)2366 /** Constructed string is not according to the encoding rules. */2367 #define VERR_ASN1_CURSOR_ILLEGAL_CONSTRUCTED_STRING (-22837)2368 /** Unexpected ASN.1 tag encountered while decoding. */2369 #define VERR_ASN1_CURSOR_TAG_MISMATCH (-22838)2370 /** Unexpected ASN.1 tag class/flag encountered while decoding. */2371 #define VERR_ASN1_CURSOR_TAG_FLAG_CLASS_MISMATCH (-22839)2372 /** ASN.1 bit string object is out of bounds. */2373 #define VERR_ASN1_BITSTRING_OUT_OF_BOUNDS (-22840)2374 /** Bad ASN.1 time object. */2375 #define VERR_ASN1_TIME_BAD_NORMALIZE_INPUT (-22841)2376 /** Failed to normalize ASN.1 time object. */2377 #define VERR_ASN1_TIME_NORMALIZE_ERROR (-22842)2378 /** Normalization of ASN.1 time object didn't work out. */2379 #define VERR_ASN1_TIME_NORMALIZE_MISMATCH (-22843)2380 /** Invalid ASN.1 UTC TIME encoding. */2381 #define VERR_ASN1_INVALID_UTC_TIME_ENCODING (-22844)2382 /** Invalid ASN.1 GENERALIZED TIME encoding. */2383 #define VERR_ASN1_INVALID_GENERALIZED_TIME_ENCODING (-22845)2384 /** Invalid ASN.1 BOOLEAN encoding. */2385 #define VERR_ASN1_INVALID_BOOLEAN_ENCODING (-22846)2386 /** Invalid ASN.1 NULL encoding. */2387 #define VERR_ASN1_INVALID_NULL_ENCODING (-22847)2388 /** Invalid ASN.1 BIT STRING encoding. */2389 #define VERR_ASN1_INVALID_BITSTRING_ENCODING (-22848)2390 /** Unimplemented ASN.1 tag reached the RTAsn1DynType code. */2391 #define VERR_ASN1_DYNTYPE_TAG_NOT_IMPL (-22849)2392 /** ASN.1 tag and flags/class mismatch in RTAsn1DynType code. */2393 #define VERR_ASN1_DYNTYPE_BAD_TAG (-22850)2394 /** Unexpected ASN.1 fake/dummy object. */2395 #define VERR_ASN1_DUMMY_OBJECT (-22851)2396 /** ASN.1 object is too long. */2397 #define VERR_ASN1_TOO_LONG (-22852)2398 /** Expected primitive ASN.1 object. */2399 #define VERR_ASN1_EXPECTED_PRIMITIVE (-22853)2400 /** Expected valid data pointer for ASN.1 object. */2401 #define VERR_ASN1_INVALID_DATA_POINTER (-22854)2402 /** The ASN.1 encoding is too deeply nested for the decoder. */2403 #define VERR_ASN1_TOO_DEEPLY_NESTED (-22855)2404 /** Generic unexpected object ID error. */2405 #define VERR_ASN1_UNEXPECTED_OBJ_ID (-22856)2406 /** Invalid ASN.1 INTEGER encoding. */2407 #define VERR_ASN1_INVALID_INTEGER_ENCODING (-22857)2408 2409 /** ANS.1 internal error 1. */2410 #define VERR_ASN1_INTERNAL_ERROR_1 (-22895)2411 /** ANS.1 internal error 2. */2412 #define VERR_ASN1_INTERNAL_ERROR_2 (-22896)2413 /** ANS.1 internal error 3. */2414 #define VERR_ASN1_INTERNAL_ERROR_3 (-22897)2415 /** ANS.1 internal error 4. */2416 #define VERR_ASN1_INTERNAL_ERROR_4 (-22898)2417 /** ANS.1 internal error 5. */2418 #define VERR_ASN1_INTERNAL_ERROR_5 (-22899)2419 /** @} */2420 2421 /** @name More RTLdr status codes.2422 * @{ */2423 /** Image Verification Failure: No Authenticode Signature. */2424 #define VERR_LDRVI_NOT_SIGNED (-22900)2425 /** Image Verification Warning: No Authenticode Signature, but on whitelist. */2426 #define VINF_LDRVI_NOT_SIGNED (22900)2427 /** Image Verification Failure: Error reading image headers. */2428 #define VERR_LDRVI_READ_ERROR_HDR (-22901)2429 /** Image Verification Failure: Error reading section headers. */2430 #define VERR_LDRVI_READ_ERROR_SHDRS (-22902)2431 /** Image Verification Failure: Error reading authenticode signature data. */2432 #define VERR_LDRVI_READ_ERROR_SIGNATURE (-22903)2433 /** Image Verification Failure: Error reading file for hashing. */2434 #define VERR_LDRVI_READ_ERROR_HASH (-22904)2435 /** Image Verification Failure: Error determining the file length. */2436 #define VERR_LDRVI_FILE_LENGTH_ERROR (-22905)2437 /** Image Verification Failure: Error allocating memory for state data. */2438 #define VERR_LDRVI_NO_MEMORY_STATE (-22906)2439 /** Image Verification Failure: Error allocating memory for authenticode2440 * signature data. */2441 #define VERR_LDRVI_NO_MEMORY_SIGNATURE (-22907)2442 /** Image Verification Failure: Error allocating memory for section headers. */2443 #define VERR_LDRVI_NO_MEMORY_SHDRS (-22908)2444 /** Image Verification Failure: Authenticode parsing output. */2445 #define VERR_LDRVI_NO_MEMORY_PARSE_OUTPUT (-22909)2446 /** Image Verification Failure: Invalid security directory entry. */2447 #define VERR_LDRVI_INVALID_SECURITY_DIR_ENTRY (-22910)2448 /** Image Verification Failure: */2449 #define VERR_LDRVI_BAD_CERT_HDR_LENGTH (-22911)2450 /** Image Verification Failure: */2451 #define VERR_LDRVI_BAD_CERT_HDR_REVISION (-22912)2452 /** Image Verification Failure: */2453 #define VERR_LDRVI_BAD_CERT_HDR_TYPE (-22913)2454 /** Image Verification Failure: More than one certificate table entry. */2455 #define VERR_LDRVI_BAD_CERT_MULTIPLE (-22914)2456 2457 /** Image Verification Failure: */2458 #define VERR_LDRVI_BAD_MZ_OFFSET (-22915)2459 /** Image Verification Failure: Invalid section count. */2460 #define VERR_LDRVI_INVALID_SECTION_COUNT (-22916)2461 /** Image Verification Failure: Raw data offsets and sizes are out of range. */2462 #define VERR_LDRVI_SECTION_RAW_DATA_VALUES (-22917)2463 /** Optional header magic and target machine does not match. */2464 #define VERR_LDRVI_MACHINE_OPT_HDR_MAGIC_MISMATCH (-22918)2465 /** Unsupported image target architecture. */2466 #define VERR_LDRVI_UNSUPPORTED_ARCH (-22919)2467 2468 /** Image Verification Failure: Internal error in signature parser. */2469 #define VERR_LDRVI_PARSE_IPE (-22921)2470 /** Generic BER parse error. Will be refined later. */2471 #define VERR_LDRVI_PARSE_BER_ERROR (-22922)2472 2473 /** Expected the signed data content to be the object ID of2474 * SpcIndirectDataContent, found something else instead. */2475 #define VERR_LDRVI_EXPECTED_INDIRECT_DATA_CONTENT_OID (-22923)2476 /** Page hash table size overflow. */2477 #define VERR_LDRVI_PAGE_HASH_TAB_SIZE_OVERFLOW (-22924)2478 /** Page hash table is too long (covers signature data, i.e. itself). */2479 #define VERR_LDRVI_PAGE_HASH_TAB_TOO_LONG (-22925)2480 /** The page hash table is not strictly ordered by offset. */2481 #define VERR_LDRVI_PAGE_HASH_TAB_NOT_STRICTLY_SORTED (-22926)2482 /** The page hash table hashes data outside the defined and implicit sections. */2483 #define VERR_PAGE_HASH_TAB_HASHES_NON_SECTION_DATA (-22927)2484 /** Page hash mismatch. */2485 #define VERR_LDRVI_PAGE_HASH_MISMATCH (-22928)2486 /** Image hash mismatch. */2487 #define VERR_LDRVI_IMAGE_HASH_MISMATCH (-22929)2488 /** Malformed code signing structure. */2489 #define VERR_LDRVI_BAD_CERT_FORMAT (-22930)2490 2491 /** Cannot resolve symbol because it's a forwarder. */2492 #define VERR_LDR_FORWARDER (-22950)2493 /** The symbol is not a forwarder. */2494 #define VERR_LDR_NOT_FORWARDER (-22951)2495 /** Malformed forwarder entry. */2496 #define VERR_LDR_BAD_FORWARDER (-22952)2497 /** Too long forwarder chain or there is a loop. */2498 #define VERR_LDR_FORWARDER_CHAIN_TOO_LONG (-22953)2499 /** Support for forwarders has not been implemented. */2500 #define VERR_LDR_FORWARDERS_NOT_SUPPORTED (-22954)2501 /** Only native endian Mach-O files are supported. */2502 #define VERR_LDRMACHO_OTHER_ENDIAN_NOT_SUPPORTED (-22955)2503 /** The Mach-O header is bad or contains new and unsupported features. */2504 #define VERR_LDRMACHO_BAD_HEADER (-22956)2505 /** The file type isn't supported. */2506 #define VERR_LDRMACHO_UNSUPPORTED_FILE_TYPE (-22957)2507 /** The machine (cputype / cpusubtype combination) isn't supported. */2508 #define VERR_LDRMACHO_UNSUPPORTED_MACHINE (-22958)2509 /** Bad load command(s). */2510 #define VERR_LDRMACHO_BAD_LOAD_COMMAND (-22959)2511 /** Encountered an unknown load command.*/2512 #define VERR_LDRMACHO_UNKNOWN_LOAD_COMMAND (-22960)2513 /** Encountered a load command that's not implemented.*/2514 #define VERR_LDRMACHO_UNSUPPORTED_LOAD_COMMAND (-22961)2515 /** Bad section. */2516 #define VERR_LDRMACHO_BAD_SECTION (-22962)2517 /** Encountered a section type that's not implemented.*/2518 #define VERR_LDRMACHO_UNSUPPORTED_SECTION (-22963)2519 /** Encountered a init function section. */2520 #define VERR_LDRMACHO_UNSUPPORTED_INIT_SECTION (-22964)2521 /** Encountered a term function section. */2522 #define VERR_LDRMACHO_UNSUPPORTED_TERM_SECTION (-22965)2523 /** Encountered a section type that's not known to the loader. (probably invalid) */2524 #define VERR_LDRMACHO_UNKNOWN_SECTION (-22966)2525 /** The sections aren't ordered by segment as expected by the loader. */2526 #define VERR_LDRMACHO_BAD_SECTION_ORDER (-22967)2527 /** The image is 32-bit and contains 64-bit load commands or vise versa. */2528 #define VERR_LDRMACHO_BIT_MIX (-22968)2529 /** Bad MH_OBJECT file. */2530 #define VERR_LDRMACHO_BAD_OBJECT_FILE (-22969)2531 /** Bad symbol table entry. */2532 #define VERR_LDRMACHO_BAD_SYMBOL (-22970)2533 /** Unsupported fixup type. */2534 #define VERR_LDRMACHO_UNSUPPORTED_FIXUP_TYPE (-22971)2535 /** Both debug and non-debug sections in segment. */2536 #define VERR_LDRMACHO_MIXED_DEBUG_SECTION_FLAGS (-22972)2537 /** The segment bits are non-contiguous in the file. */2538 #define VERR_LDRMACHO_NON_CONT_SEG_BITS (-22973)2539 /** Hit a todo in the mach-o loader. */2540 #define VERR_LDRMACHO_TODO (-22974)2541 /** Bad symbol table size in Mach-O image. */2542 #define VERR_LDRMACHO_BAD_SYMTAB_SIZE (-22975)2543 /** Duplicate segment name. */2544 #define VERR_LDR_DUPLICATE_SEGMENT_NAME (-22976)2545 /** No image UUID. */2546 #define VERR_LDR_NO_IMAGE_UUID (-22977)2547 /** Bad image relocation. */2548 #define VERR_LDR_BAD_FIXUP (-22978)2549 /** Address overflow. */2550 #define VERR_LDR_ADDRESS_OVERFLOW (-22979)2551 /** validation of LX header failed. */2552 #define VERR_LDRLX_BAD_HEADER (-22980)2553 /** validation of the loader section (in the LX header) failed. */2554 #define VERR_LDRLX_BAD_LOADER_SECTION (-22981)2555 /** validation of the fixup section (in the LX header) failed. */2556 #define VERR_LDRLX_BAD_FIXUP_SECTION (-22982)2557 /** validation of the LX object table failed. */2558 #define VERR_LDRLX_BAD_OBJECT_TABLE (-22983)2559 /** A bad page map entry was encountered. */2560 #define VERR_LDRLX_BAD_PAGE_MAP (-22984)2561 /** Bad iterdata (EXEPACK) data. */2562 #define VERR_LDRLX_BAD_ITERDATA (-22985)2563 /** Bad iterdata2 (EXEPACK2) data. */2564 #define VERR_LDRLX_BAD_ITERDATA2 (-22986)2565 /** Bad bundle data. */2566 #define VERR_LDRLX_BAD_BUNDLE (-22987)2567 /** No soname. */2568 #define VERR_LDRLX_NO_SONAME (-22988)2569 /** Bad soname. */2570 #define VERR_LDRLX_BAD_SONAME (-22989)2571 /** Bad forwarder entry. */2572 #define VERR_LDRLX_BAD_FORWARDER (-22990)2573 /** internal fixup chain isn't implemented yet. */2574 #define VERR_LDRLX_NRICHAIN_NOT_SUPPORTED (-22991)2575 /** Import module ordinal is out of bounds. */2576 #define VERR_LDRLX_IMPORT_ORDINAL_OUT_OF_BOUNDS (-22992)2577 /** @} */2578 2579 /** @name RTCrX509 status codes.2580 * @{ */2581 /** Generic X.509 error. */2582 #define VERR_CR_X509_GENERIC_ERROR (-23000)2583 /** Internal error in the X.509 code. */2584 #define VERR_CR_X509_INTERNAL_ERROR (-23001)2585 /** Internal error in the X.509 certificate path building and verification2586 * code. */2587 #define VERR_CR_X509_CERTPATHS_INTERNAL_ERROR (-23002)2588 /** Path not verified yet. */2589 #define VERR_CR_X509_NOT_VERIFIED (-23003)2590 /** The certificate path has no trust anchor. */2591 #define VERR_CR_X509_NO_TRUST_ANCHOR (-23004)2592 /** Unknown X.509 certificate signature algorithm. */2593 #define VERR_CR_X509_UNKNOWN_CERT_SIGN_ALGO (-23005)2594 /** Certificate signature algorithm mismatch. */2595 #define VERR_CR_X509_CERT_SIGN_ALGO_MISMATCH (-23006)2596 /** The signature algorithm in the to-be-signed certificate part does not match2597 * the one associated with the signature. */2598 #define VERR_CR_X509_CERT_TBS_SIGN_ALGO_MISMATCH (-23007)2599 /** Certificate extensions requires certificate version 3 or later. */2600 #define VERR_CR_X509_TBSCERT_EXTS_REQ_V3 (-23008)2601 /** Unique issuer and subject IDs require version certificate 2. */2602 #define VERR_CR_X509_TBSCERT_UNIQUE_IDS_REQ_V2 (-23009)2603 /** Certificate serial number length is out of bounds. */2604 #define VERR_CR_X509_TBSCERT_SERIAL_NUMBER_OUT_OF_BOUNDS (-23010)2605 /** Unsupported X.509 certificate version. */2606 #define VERR_CR_X509_TBSCERT_UNSUPPORTED_VERSION (-23011)2607 /** Public key is too small. */2608 #define VERR_CR_X509_PUBLIC_KEY_TOO_SMALL (-23012)2609 /** Invalid string tag for a X.509 name object. */2610 #define VERR_CR_X509_INVALID_NAME_STRING_TAG (-23013)2611 /** Empty string in X.509 name object. */2612 #define VERR_CR_X509_NAME_EMPTY_STRING (-23014)2613 /** Non-string object inside X.509 name object. */2614 #define VERR_CR_X509_NAME_NOT_STRING (-23015)2615 /** Empty set inside X.509 name. */2616 #define VERR_CR_X509_NAME_EMPTY_SET (-23016)2617 /** Empty sub-string set inside X.509 name. */2618 #define VERR_CR_X509_NAME_EMPTY_SUB_SET (-23017)2619 /** The NotBefore and NotAfter values of an X.509 Validity object seems to2620 * have been swapped around. */2621 #define VERR_CR_X509_VALIDITY_SWAPPED (-23018)2622 /** Duplicate certificate extension. */2623 #define VERR_CR_X509_TBSCERT_DUPLICATE_EXTENSION (-23019)2624 /** Missing relative distinguished name map entry. */2625 #define VERR_CR_X509_NAME_MISSING_RDN_MAP_ENTRY (-23020)2626 /** Certificate path validator: No trusted certificate paths. */2627 #define VERR_CR_X509_CPV_NO_TRUSTED_PATHS (-23021)2628 /** Certificate path validator: No valid certificate policy. */2629 #define VERR_CR_X509_CPV_NO_VALID_POLICY (-23022)2630 /** Certificate path validator: Unknown critical certificate extension. */2631 #define VERR_CR_X509_CPV_UNKNOWN_CRITICAL_EXTENSION (-23023)2632 /** Certificate path validator: Intermediate certificate is missing the2633 * KeyCertSign usage flag. */2634 #define VERR_CR_X509_CPV_MISSING_KEY_CERT_SIGN (-23024)2635 /** Certificate path validator: Hit the max certificate path length before2636 * reaching trust anchor. */2637 #define VERR_CR_X509_CPV_MAX_PATH_LENGTH (-23025)2638 /** Certificate path validator: Intermediate certificate is not marked as a2639 * certificate authority (CA). */2640 #define VERR_CR_X509_CPV_NOT_CA_CERT (-23026)2641 /** Certificate path validator: Intermediate certificate is not a version 32642 * certificate. */2643 #define VERR_CR_X509_CPV_NOT_V3_CERT (-23027)2644 /** Certificate path validator: Invalid policy mapping (to/from anyPolicy). */2645 #define VERR_CR_X509_CPV_INVALID_POLICY_MAPPING (-23028)2646 /** Certificate path validator: Name constraints permits no names. */2647 #define VERR_CR_X509_CPV_NO_PERMITTED_NAMES (-23029)2648 /** Certificate path validator: Name constraints does not permits the2649 * certificate name. */2650 #define VERR_CR_X509_CPV_NAME_NOT_PERMITTED (-23030)2651 /** Certificate path validator: Name constraints does not permits the2652 * alternative certificate name. */2653 #define VERR_CR_X509_CPV_ALT_NAME_NOT_PERMITTED (-23031)2654 /** Certificate path validator: Intermediate certificate subject does not2655 * match child issuer property. */2656 #define VERR_CR_X509_CPV_ISSUER_MISMATCH (-23032)2657 /** Certificate path validator: The certificate is not valid at the2658 * specified time. */2659 #define VERR_CR_X509_CPV_NOT_VALID_AT_TIME (-23033)2660 /** Certificate path validator: Unexpected choice found in general subtree2661 * object (name constraints). */2662 #define VERR_CR_X509_CPV_UNEXP_GENERAL_SUBTREE_CHOICE (-23034)2663 /** Certificate path validator: Unexpected minimum value found in general2664 * subtree object (name constraints). */2665 #define VERR_CR_X509_CPV_UNEXP_GENERAL_SUBTREE_MIN (-23035)2666 /** Certificate path validator: Unexpected maximum value found in2667 * general subtree object (name constraints). */2668 #define VERR_CR_X509_CPV_UNEXP_GENERAL_SUBTREE_MAX (-23036)2669 /** Certificate path builder: Encountered bad certificate context. */2670 #define VERR_CR_X509_CPB_BAD_CERT_CTX (-23037)2671 /** OpenSSL d2i_X509 failed. */2672 #define VERR_CR_X509_OSSL_D2I_FAILED (-23090)2673 /** @} */2674 2675 /** @name RTCrPkcs7 status codes.2676 * @{ */2677 /** Generic PKCS \#7 error. */2678 #define VERR_CR_PKCS7_GENERIC_ERROR (-23300)2679 /** Signed data verification failed because there are zero signer infos. */2680 #define VERR_CR_PKCS7_NO_SIGNER_INFOS (-23301)2681 /** Signed data certificate not found. */2682 #define VERR_CR_PKCS7_SIGNED_DATA_CERT_NOT_FOUND (-23302)2683 /** Signed data verification failed due to key usage issues. */2684 #define VERR_CR_PKCS7_KEY_USAGE_MISMATCH (-23303)2685 /** Signed data verification failed because of missing (or duplicate)2686 * authenticated content-type attribute. */2687 #define VERR_CR_PKCS7_MISSING_CONTENT_TYPE_ATTRIB (-23304)2688 /** Signed data verification failed because of the authenticated content-type2689 * attribute did not match. */2690 #define VERR_CR_PKCS7_CONTENT_TYPE_ATTRIB_MISMATCH (-23305)2691 /** Signed data verification failed because of a malformed authenticated2692 * content-type attribute. */2693 #define VERR_CR_PKCS7_BAD_CONTENT_TYPE_ATTRIB (-23306)2694 /** Signed data verification failed because of missing (or duplicate)2695 * authenticated message-digest attribute. */2696 #define VERR_CR_PKCS7_MISSING_MESSAGE_DIGEST_ATTRIB (-23307)2697 /** Signed data verification failed because the authenticated message-digest2698 * attribute did not match. */2699 #define VERR_CR_PKCS7_MESSAGE_DIGEST_ATTRIB_MISMATCH (-23308)2700 /** Signed data verification failed because of a malformed authenticated2701 * message-digest attribute. */2702 #define VERR_CR_PKCS7_BAD_MESSAGE_DIGEST_ATTRIB (-23309)2703 /** Signature verification failed. */2704 #define VERR_CR_PKCS7_SIGNATURE_VERIFICATION_FAILED (-23310)2705 /** Internal PKCS \#7 error. */2706 #define VERR_CR_PKCS7_INTERNAL_ERROR (-22311)2707 /** OpenSSL d2i_PKCS7 failed. */2708 #define VERR_CR_PKCS7_OSSL_D2I_FAILED (-22312)2709 /** OpenSSL PKCS \#7 verification failed. */2710 #define VERR_CR_PKCS7_OSSL_VERIFY_FAILED (-22313)2711 /** Digest algorithm parameters are not supported by the PKCS \#7 code. */2712 #define VERR_CR_PKCS7_DIGEST_PARAMS_NOT_IMPL (-22314)2713 /** The digest algorithm of a signer info entry was not found in the list of2714 * digest algorithms in the signed data. */2715 #define VERR_CR_PKCS7_DIGEST_ALGO_NOT_FOUND_IN_LIST (-22315)2716 /** The PKCS \#7 content is not signed data. */2717 #define VERR_CR_PKCS7_NOT_SIGNED_DATA (-22316)2718 /** No digest algorithms listed in PKCS \#7 signed data. */2719 #define VERR_CR_PKCS7_NO_DIGEST_ALGORITHMS (-22317)2720 /** Too many digest algorithms used by PKCS \#7 signed data. This is an2721 * internal limitation of the code that aims at saving kernel stack space. */2722 #define VERR_CR_PKCS7_TOO_MANY_DIGEST_ALGORITHMS (-22318)2723 /** Error creating digest algorithm calculator. */2724 #define VERR_CR_PKCS7_DIGEST_CREATE_ERROR (-22319)2725 /** Error while calculating a digest for a PKCS \#7 verification operation. */2726 #define VERR_CR_PKCS7_DIGEST_CALC_ERROR (-22320)2727 /** Unsupported PKCS \#7 signed data version. */2728 #define VERR_CR_PKCS7_SIGNED_DATA_VERSION (-22350)2729 /** PKCS \#7 signed data has no digest algorithms listed. */2730 #define VERR_CR_PKCS7_SIGNED_DATA_NO_DIGEST_ALGOS (-22351)2731 /** Unknown digest algorithm used by PKCS \#7 object. */2732 #define VERR_CR_PKCS7_UNKNOWN_DIGEST_ALGORITHM (-22352)2733 /** Expected PKCS \#7 object to ship at least one certificate. */2734 #define VERR_CR_PKCS7_NO_CERTIFICATES (-22353)2735 /** Expected PKCS \#7 object to not contain any CRLs. */2736 #define VERR_CR_PKCS7_EXPECTED_NO_CRLS (-22354)2737 /** Expected PKCS \#7 object to contain exactly on signer info entry. */2738 #define VERR_CR_PKCS7_EXPECTED_ONE_SIGNER_INFO (-22355)2739 /** Unsupported PKCS \#7 signer info version. */2740 #define VERR_CR_PKCS7_SIGNER_INFO_VERSION (-22356)2741 /** PKCS \#7 singer info contains no issuer serial number. */2742 #define VERR_CR_PKCS7_SIGNER_INFO_NO_ISSUER_SERIAL_NO (-22357)2743 /** Expected PKCS \#7 object to ship the signer certificate(s). */2744 #define VERR_CR_PKCS7_SIGNER_CERT_NOT_SHIPPED (-22358)2745 /** The encrypted digest algorithm does not match the one in the certificate. */2746 #define VERR_CR_PKCS7_SIGNER_INFO_DIGEST_ENCRYPT_MISMATCH (-22359)2747 /** The PKCS \#7 content is not data. */2748 #define VERR_CR_PKCS7_NOT_DATA (-22360)2749 /** @} */2750 2751 /** @name RTCrSpc status codes.2752 * @{ */2753 /** Generic SPC error. */2754 #define VERR_CR_SPC_GENERIC_ERROR (-23400)2755 /** SPC requires there to be exactly one SignerInfo entry. */2756 #define VERR_CR_SPC_NOT_EXACTLY_ONE_SIGNER_INFOS (-23401)2757 /** There shall be exactly one digest algorithm to go with the single2758 * SingerInfo entry required by SPC. */2759 #define VERR_CR_SPC_NOT_EXACTLY_ONE_DIGEST_ALGO (-23402)2760 /** The digest algorithm in the SignerInfo does not match the one in the2761 * indirect data. */2762 #define VERR_CR_SPC_SIGNED_IND_DATA_DIGEST_ALGO_MISMATCH (-23403)2763 /** The digest algorithm in the indirect data was not found in the list of2764 * digest algorithms in the signed data structure. */2765 #define VERR_CR_SPC_IND_DATA_DIGEST_ALGO_NOT_IN_DIGEST_ALGOS (-23404)2766 /** The digest algorithm is not known to us. */2767 #define VERR_CR_SPC_UNKNOWN_DIGEST_ALGO (-23405)2768 /** The indirect data digest size does not match the digest algorithm. */2769 #define VERR_CR_SPC_IND_DATA_DIGEST_SIZE_MISMATCH (-23406)2770 /** Expected PE image data inside indirect data object. */2771 #define VERR_CR_SPC_EXPECTED_PE_IMAGE_DATA (-23407)2772 /** Internal SPC error: The PE image data is missing. */2773 #define VERR_CR_SPC_PEIMAGE_DATA_NOT_PRESENT (-23408)2774 /** Bad SPC object moniker UUID field. */2775 #define VERR_CR_SPC_BAD_MONIKER_UUID (-23409)2776 /** Unknown SPC object moniker UUID. */2777 #define VERR_CR_SPC_UNKNOWN_MONIKER_UUID (-23410)2778 /** Internal SPC error: Bad object moniker choice value. */2779 #define VERR_CR_SPC_BAD_MONIKER_CHOICE (-23411)2780 /** Internal SPC error: Bad object moniker data pointer. */2781 #define VERR_CR_SPC_MONIKER_BAD_DATA (-23412)2782 /** Multiple PE image page hash tables. */2783 #define VERR_CR_SPC_PEIMAGE_MULTIPLE_HASH_TABS (-23413)2784 /** Unknown SPC PE image attribute. */2785 #define VERR_CR_SPC_PEIMAGE_UNKNOWN_ATTRIBUTE (-23414)2786 /** URL not expected in SPC PE image data. */2787 #define VERR_CR_SPC_PEIMAGE_URL_UNEXPECTED (-23415)2788 /** PE image data without any valid content was not expected. */2789 #define VERR_CR_SPC_PEIMAGE_NO_CONTENT (-23416)2790 /** @} */2791 2792 /** @name RTCrPkix status codes.2793 * @{ */2794 /** Generic PKCS \#7 error. */2795 #define VERR_CR_PKIX_GENERIC_ERROR (-23500)2796 /** Parameters was presented to a signature schema that does not take any. */2797 #define VERR_CR_PKIX_SIGNATURE_TAKES_NO_PARAMETERS (-23501)2798 /** Unknown hash digest type. */2799 #define VERR_CR_PKIX_UNKNOWN_DIGEST_TYPE (-23502)2800 /** Internal error. */2801 #define VERR_CR_PKIX_INTERNAL_ERROR (-23503)2802 /** The hash is too long for the key used when signing/verifying. */2803 #define VERR_CR_PKIX_HASH_TOO_LONG_FOR_KEY (-23504)2804 /** The signature is too long for the scratch buffer. */2805 #define VERR_CR_PKIX_SIGNATURE_TOO_LONG (-23505)2806 /** The signature is greater than or equal to the key. */2807 #define VERR_CR_PKIX_SIGNATURE_GE_KEY (-23506)2808 /** The signature is negative. */2809 #define VERR_CR_PKIX_SIGNATURE_NEGATIVE (-23507)2810 /** Invalid signature length. */2811 #define VERR_CR_PKIX_INVALID_SIGNATURE_LENGTH (-23508)2812 /** PKIX signature no does not match up to the current data. */2813 #define VERR_CR_PKIX_SIGNATURE_MISMATCH (-23509)2814 /** PKIX cipher algorithm parameters are not implemented. */2815 #define VERR_CR_PKIX_CIPHER_ALGO_PARAMS_NOT_IMPL (-23510)2816 /** Cipher algorithm is not known to us. */2817 #define VERR_CR_PKIX_CIPHER_ALGO_NOT_KNOWN (-23511)2818 /** PKIX cipher algorithm is not known to OpenSSL. */2819 #define VERR_CR_PKIX_OSSL_CIPHER_ALGO_NOT_KNOWN (-23512)2820 /** PKIX cipher algorithm is not known to OpenSSL EVP API. */2821 #define VERR_CR_PKIX_OSSL_CIPHER_ALGO_NOT_KNOWN_EVP (-23513)2822 /** OpenSSL failed to init PKIX cipher algorithm context. */2823 #define VERR_CR_PKIX_OSSL_CIPHER_ALOG_INIT_FAILED (-23514)2824 /** Final OpenSSL PKIX verification failed. */2825 #define VERR_CR_PKIX_OSSL_VERIFY_FINAL_FAILED (-23515)2826 /** OpenSSL failed to decode the public key. */2827 #define VERR_CR_PKIX_OSSL_D2I_PUBLIC_KEY_FAILED (-23516)2828 /** The EVP_PKEY_type API in OpenSSL failed. */2829 #define VERR_CR_PKIX_OSSL_EVP_PKEY_TYPE_ERROR (-23517)2830 /** OpenSSL failed to decode the public key. */2831 #define VERR_CR_PKIX_OSSL_D2I_PRIVATE_KEY_FAILED (-23518)2832 /** The EVP_PKEY_CTX_set_rsa_padding API in OpenSSL failed. */2833 #define VERR_CR_PKIX_OSSL_EVP_PKEY_RSA_PAD_ERROR (-23519)2834 /** Final OpenSSL PKIX signing failed. */2835 #define VERR_CR_PKIX_OSSL_SIGN_FINAL_FAILED (-23520)2836 /** OpenSSL and IPRT disagree on the signature size. */2837 #define VERR_CR_PKIX_OSSL_VS_IPRT_SIGNATURE_SIZE (-23521)2838 /** OpenSSL and IPRT disagree on the signature. */2839 #define VERR_CR_PKIX_OSSL_VS_IPRT_SIGNATURE (-23522)2840 /** Expected RSA private key. */2841 #define VERR_CR_PKIX_NOT_RSA_PRIVATE_KEY (-23523)2842 /** Expected RSA public key. */2843 #define VERR_CR_PKIX_NOT_RSA_PUBLIC_KEY (-23524)2844 /** @} */2845 2846 /** @name RTCrStore status codes.2847 * @{ */2848 /** Generic store error. */2849 #define VERR_CR_STORE_GENERIC_ERROR (-23700)2850 /** @} */2851 2852 /** @name RTCrKey status codes.2853 * @{ */2854 /** Could not recognize the key type. */2855 #define VERR_CR_KEY_UNKNOWN_TYPE (-23800)2856 /** Unsupported key format. */2857 #define VERR_CR_KEY_FORMAT_NOT_SUPPORTED (-23801)2858 /** Key encrypted but no password was given. */2859 #define VERR_CR_KEY_ENCRYPTED (-23802)2860 /** The key was marked as encrypted by no DEK-Info field with the encryption2861 * algortihms was found. */2862 #define VERR_CR_KEY_NO_DEK_INFO (-23803)2863 /** The algorithms part of the DEK-Info field is too long. */2864 #define VERR_CR_KEY_DEK_INFO_TOO_LONG (-23804)2865 /** Key decryption is not supported. */2866 #define VERR_CR_KEY_DECRYPTION_NOT_SUPPORTED (-23805)2867 /** Unsupported key encryption cipher. */2868 #define VERR_CR_KEY_UNSUPPORTED_CIPHER (-23806)2869 /** Found unexpected cipher parameters for encrypted key. */2870 #define VERR_CR_KEY_UNEXPECTED_CIPHER_PARAMS (-23807)2871 /** Missing ciper parameters for encrypted key. */2872 #define VERR_CR_KEY_MISSING_CIPHER_PARAMS (-23808)2873 /** To short initialization vector for encrypted key ciper. */2874 #define VERR_CR_KEY_TOO_SHORT_CIPHER_IV (-23809)2875 /** Malformed initialization vector for encrypted key ciper. */2876 #define VERR_CR_KEY_MALFORMED_CIPHER_IV (-23810)2877 /** Error encoding the password for key decryption. */2878 #define VERR_CR_KEY_PASSWORD_ENCODING (-23811)2879 /** EVP_DecryptInit_ex failed. */2880 #define VERR_CR_KEY_OSSL_DECRYPT_INIT_ERROR (-23812)2881 /** Key decryption failed, perhaps due to an incorrect password. */2882 #define VERR_CR_KEY_DECRYPTION_FAILED (-23813)2883 /** The key was decrypted. */2884 #define VINF_CR_KEY_WAS_DECRYPTED (23814)2885 /** Failed to generate RSA key. */2886 #define VERR_CR_KEY_GEN_FAILED_RSA (-23815)2887 /** @} */2888 2889 /** @name RTCrRsa status codes.2890 * @{ */2891 /** Generic RSA error. */2892 #define VERR_CR_RSA_GENERIC_ERROR (-23900)2893 /** @} */2894 2895 /** @name RTBigNum status codes.2896 * @{ */2897 /** Sensitive input requires the result(s) to be initialized as sensitive. */2898 #define VERR_BIGNUM_SENSITIVE_INPUT (-24000)2899 /** Attempt to divide by zero. */2900 #define VERR_BIGNUM_DIV_BY_ZERO (-24001)2901 /** Negative exponent makes no sense to integer math. */2902 #define VERR_BIGNUM_NEGATIVE_EXPONENT (-24002)2903 2904 /** @} */2905 2906 /** @name RTCrDigest status codes.2907 * @{ */2908 /** OpenSSL failed to initialize the digest algorithm context. */2909 #define VERR_CR_DIGEST_OSSL_DIGEST_INIT_ERROR (-24200)2910 /** OpenSSL failed to clone the digest algorithm context. */2911 #define VERR_CR_DIGEST_OSSL_DIGEST_CTX_COPY_ERROR (-24201)2912 /** Deprecated digest. */2913 #define VINF_CR_DIGEST_DEPRECATED (24202)2914 /** Deprecated digest. */2915 #define VERR_CR_DIGEST_DEPRECATED (-24202)2916 /** Compromised digest. */2917 #define VINF_CR_DIGEST_COMPROMISED (24203)2918 /** Compromised digest. */2919 #define VERR_CR_DIGEST_COMPROMISED (-24203)2920 /** Severely compromised digest. */2921 #define VINF_CR_DIGEST_SEVERELY_COMPROMISED (24204)2922 /** Severely compromised digest. */2923 #define VERR_CR_DIGEST_SEVERELY_COMPROMISED (-24204)2924 /** Specified digest not supported in this context. */2925 #define VERR_CR_DIGEST_NOT_SUPPORTED (-24205)2926 /** @} */2927 2928 /** @name RTCr misc status codes.2929 * @{ */2930 /** Failed to derivate key from password. */2931 #define VERR_CR_PASSWORD_2_KEY_DERIVIATION_FAILED (-24396)2932 /** Failed getting cryptographically strong random bytes. */2933 #define VERR_CR_RANDOM_SETUP_FAILED (-24397)2934 /** Failed getting cryptographically strong random bytes. */2935 #define VERR_CR_RANDOM_FAILED (-24398)2936 /** Malformed or failed to parse PEM formatted data. */2937 #define VERR_CR_MALFORMED_PEM_HEADER (-24399)2938 /** @} */2939 2940 /** @name RTPath status codes.2941 * @{ */2942 /** Unknown glob variable. */2943 #define VERR_PATH_MATCH_UNKNOWN_VARIABLE (-24400)2944 /** The specified glob variable must be first in the pattern. */2945 #define VERR_PATH_MATCH_VARIABLE_MUST_BE_FIRST (-24401)2946 /** Hit unimplemented glob pattern matching feature. */2947 #define VERR_PATH_MATCH_FEATURE_NOT_IMPLEMENTED (-24402)2948 /** Unknown character class in glob pattern. */2949 #define VERR_PATH_GLOB_UNKNOWN_CHAR_CLASS (-24403)2950 /** @} */2951 2952 /** @name RTUri status codes.2953 * @{ */2954 /** The URI is empty */2955 #define VERR_URI_EMPTY (-24600)2956 /** The URI is too short to be a valid URI. */2957 #define VERR_URI_TOO_SHORT (-24601)2958 /** Invalid scheme. */2959 #define VERR_URI_INVALID_SCHEME (-24602)2960 /** Invalid port number. */2961 #define VERR_URI_INVALID_PORT_NUMBER (-24603)2962 /** Invalid escape sequence. */2963 #define VERR_URI_INVALID_ESCAPE_SEQ (-24604)2964 /** Escape URI char decodes as zero (the C string terminator). */2965 #define VERR_URI_ESCAPED_ZERO (-24605)2966 /** Escaped URI characters does not decode to valid UTF-8. */2967 #define VERR_URI_ESCAPED_CHARS_NOT_VALID_UTF8 (-24606)2968 /** Escaped URI character is not a valid UTF-8 lead byte. */2969 #define VERR_URI_INVALID_ESCAPED_UTF8_LEAD_BYTE (-24607)2970 /** Escaped URI character sequence with invalid UTF-8 continutation byte. */2971 #define VERR_URI_INVALID_ESCAPED_UTF8_CONTINUATION_BYTE (-24608)2972 /** Missing UTF-8 continutation in escaped URI character sequence. */2973 #define VERR_URI_MISSING_UTF8_CONTINUATION_BYTE (-24609)2974 /** Expected URI using the 'file:' scheme. */2975 #define VERR_URI_NOT_FILE_SCHEME (-24610)2976 /** @} */2977 2978 /** @name RTJson status codes.2979 * @{ */2980 /** The called method does not work with the value type of the given JSON value. */2981 #define VERR_JSON_VALUE_INVALID_TYPE (-24700)2982 /** The iterator reached the end. */2983 #define VERR_JSON_ITERATOR_END (-24701)2984 /** The JSON document is malformed. */2985 #define VERR_JSON_MALFORMED (-24702)2986 /** Object or array is empty. */2987 #define VERR_JSON_IS_EMPTY (-24703)2988 /** Invalid UTF-16 escape sequence. */2989 #define VERR_JSON_INVALID_UTF16_ESCAPE_SEQUENCE (-24704)2990 /** Missing UTF-16 surrogate pair. */2991 #define VERR_JSON_MISSING_SURROGATE_PAIR (-24705)2992 /** Bad UTF-16 surrogate pair sequence. */2993 #define VERR_JSON_BAD_SURROGATE_PAIR_SEQUENCE (-24706)2994 /** Invalid codepoint. */2995 #define VERR_JSON_INVALID_CODEPOINT (-24707)2996 /** @} */2997 2998 /** @name RTVfs status codes.2999 * @{ */3000 /** Unknown file system format. */3001 #define VERR_VFS_UNKNOWN_FORMAT (-24800)3002 /** Found bogus values in the file system. */3003 #define VERR_VFS_BOGUS_FORMAT (-24801)3004 /** Found bogus offset in the file system. */3005 #define VERR_VFS_BOGUS_OFFSET (-24802)3006 /** Unsupported file system format. */3007 #define VERR_VFS_UNSUPPORTED_FORMAT (-24803)3008 /** Unsupported create type in an RTVfsObjOpen or RTVfsDirOpenObj call. */3009 #define VERR_VFS_UNSUPPORTED_CREATE_TYPE (-24804)3010 /** @} */3011 3012 /** @name RTFsIsoMaker status codes.3013 * @{ */3014 /** No validation entry in the boot catalog. */3015 #define VERR_ISOMK_BOOT_CAT_NO_VALIDATION_ENTRY (-25000)3016 /** No default entry in the boot catalog. */3017 #define VERR_ISOMK_BOOT_CAT_NO_DEFAULT_ENTRY (-25001)3018 /** Expected section header. */3019 #define VERR_ISOMK_BOOT_CAT_EXPECTED_SECTION_HEADER (-25002)3020 /** Entry in a boot catalog section is empty. */3021 #define VERR_ISOMK_BOOT_CAT_EMPTY_ENTRY (-25003)3022 /** Entry in a boot catalog section is another section. */3023 #define VERR_ISOMK_BOOT_CAT_INVALID_SECTION_SIZE (-25004)3024 /** Unsectioned boot catalog entry. */3025 #define VERR_ISOMK_BOOT_CAT_ERRATIC_ENTRY (-25005)3026 /** The file is too big for the current ISO level (4GB+ sized files3027 * requires ISO level 3). */3028 #define VERR_ISOMK_FILE_TOO_BIG_REQ_ISO_LEVEL_3 (-25006)3029 /** Cannot add symbolic link to namespace which isn't configured to support it. */3030 #define VERR_ISOMK_SYMLINK_REQ_ROCK_RIDGE (-25007)3031 /** Cannot add symbolic link to one of the selected namespaces. */3032 #define VINF_ISOMK_SYMLINK_REQ_ROCK_RIDGE (25007)3033 /** Cannot add symbolic link because no namespace is configured to support it. */3034 #define VERR_ISOMK_SYMLINK_SUPPORT_DISABLED (-25008)3035 /** No space for rock ridge 'CE' entry in directory record. */3036 #define VERR_ISOMK_RR_NO_SPACE_FOR_CE (-25009)3037 /** Internal ISO maker error: Rock ridge read problem. */3038 #define VERR_ISOMK_IPE_RR_READ (-25010)3039 /** Internal ISO maker error: Buggy namespace table. */3040 #define VERR_ISOMK_IPE_TABLE (-25011)3041 /** Internal ISO maker error: Namespace problem \#1. */3042 #define VERR_ISOMK_IPE_NAMESPACE_1 (-25012)3043 /** Internal ISO maker error: Namespace problem \#2. */3044 #define VERR_ISOMK_IPE_NAMESPACE_2 (-25013)3045 /** Internal ISO maker error: Namespace problem \#3. */3046 #define VERR_ISOMK_IPE_NAMESPACE_3 (-25014)3047 /** Internal ISO maker error: Namespace problem \#4. */3048 #define VERR_ISOMK_IPE_NAMESPACE_4 (-25015)3049 /** Internal ISO maker error: Namespace problem \#5. */3050 #define VERR_ISOMK_IPE_NAMESPACE_5 (-25016)3051 /** Internal ISO maker error: Namespace problem \#6. */3052 #define VERR_ISOMK_IPE_NAMESPACE_6 (-25017)3053 /** Internal ISO maker error: Empty path. */3054 #define VERR_ISOMK_IPE_EMPTY_PATH (-25018)3055 /** Internal ISO maker error: Unexpected empty component. */3056 #define VERR_ISOMK_IPE_EMPTY_COMPONENT (-25019)3057 /** Internal ISO maker error: Expected path to start with root slash. */3058 #define VERR_ISOMK_IPE_ROOT_SLASH (-25020)3059 /** Internal ISO maker error: Descriptor miscounting. */3060 #define VERR_ISOMK_IPE_DESC_COUNT (-25021)3061 /** Internal ISO maker error: Buffer size. */3062 #define VERR_ISOMK_IPE_BUFFER_SIZE (-25022)3063 /** Internal ISO maker error: Boot catalog file handle problem. */3064 #define VERR_ISOMK_IPE_BOOT_CAT_FILE (-25023)3065 /** Internal ISO maker error: Inconsistency produing trans.tbl file. */3066 #define VERR_ISOMK_IPE_PRODUCE_TRANS_TBL (-25024)3067 /** Internal ISO maker error: Read file data probem \#1. */3068 #define VERR_ISOMK_IPE_READ_FILE_DATA_1 (-25025)3069 /** Internal ISO maker error: Read file data probem \#2. */3070 #define VERR_ISOMK_IPE_READ_FILE_DATA_2 (-25026)3071 /** Internal ISO maker error: Read file data probem \#3. */3072 #define VERR_ISOMK_IPE_READ_FILE_DATA_3 (-25027)3073 /** Internal ISO maker error: Finalization problem \#1. */3074 #define VERR_ISOMK_IPE_FINALIZE_1 (-25028)3075 /** The spill file grew larger than 4GB. */3076 #define VERR_ISOMK_RR_SPILL_FILE_FULL (-25029)3077 3078 /** Requested to import an unknown ISO format. */3079 #define VERR_ISOMK_IMPORT_UNKNOWN_FORMAT (-25100)3080 /** Too many volume descriptors in the import ISO. */3081 #define VERR_ISOMK_IMPORT_TOO_MANY_VOL_DESCS (-25101)3082 /** Import ISO contains a bad volume descriptor header. */3083 #define VERR_ISOMK_IMPORT_INVALID_VOL_DESC_HDR (-25102)3084 /** Import ISO contains more than one primary volume descriptor. */3085 #define VERR_ISOMK_IMPORT_MULTIPLE_PRIMARY_VOL_DESCS (-25103)3086 /** Import ISO contains more than one el torito descriptor. */3087 #define VERR_ISOMK_IMPORT_MULTIPLE_EL_TORITO_DESCS (-25104)3088 /** Import ISO contains more than one joliet volume descriptor. */3089 #define VERR_ISOMK_IMPORT_MULTIPLE_JOLIET_VOL_DESCS (-25105)3090 /** Import ISO starts with supplementary volume descriptor before any3091 * primary ones. */3092 #define VERR_ISOMK_IMPORT_SUPPLEMENTARY_BEFORE_PRIMARY (-25106)3093 /** Import ISO contains an unsupported primary volume descriptor version. */3094 #define VERR_IOSMK_IMPORT_PRIMARY_VOL_DESC_VER (-25107)3095 /** Import ISO contains a bad primary volume descriptor. */3096 #define VERR_ISOMK_IMPORT_BAD_PRIMARY_VOL_DESC (-25108)3097 /** Import ISO contains an unsupported supplementary volume descriptor3098 * version. */3099 #define VERR_IOSMK_IMPORT_SUP_VOL_DESC_VER (-25109)3100 /** Import ISO contains a bad supplementary volume descriptor. */3101 #define VERR_ISOMK_IMPORT_BAD_SUP_VOL_DESC (-25110)3102 /** Import ISO uses a logical block size other than 2KB. */3103 #define VERR_ISOMK_IMPORT_LOGICAL_BLOCK_SIZE_NOT_2KB (-25111)3104 /** Import ISO contains more than volume. */3105 #define VERR_ISOMK_IMPORT_MORE_THAN_ONE_VOLUME_IN_SET (-25112)3106 /** Import ISO uses invalid volume sequence number. */3107 #define VERR_ISOMK_IMPORT_INVALID_VOLUMNE_SEQ_NO (-25113)3108 /** Import ISO has different volume space sizes of primary and supplementary3109 * volume descriptors. */3110 #define VERR_ISOMK_IMPORT_VOLUME_SPACE_SIZE_MISMATCH (-25114)3111 /** Import ISO has different volume set sizes of primary and supplementary3112 * volume descriptors. */3113 #define VERR_ISOMK_IMPORT_VOLUME_IN_SET_MISMATCH (-25115)3114 /** Import ISO contains a bad root directory record. */3115 #define VERR_ISOMK_IMPORT_BAD_ROOT_DIR_REC (-25116)3116 /** Import ISO contains a zero sized root directory. */3117 #define VERR_ISOMK_IMPORT_ZERO_SIZED_ROOT_DIR (-25117)3118 /** Import ISO contains a root directory with a mismatching volume sequence3119 * number. */3120 #define VERR_ISOMK_IMPORT_ROOT_VOLUME_SEQ_NO (-25118)3121 /** Import ISO contains a root directory with an out of bounds data extent. */3122 #define VERR_ISOMK_IMPORT_ROOT_DIR_EXTENT_OUT_OF_BOUNDS (-25119)3123 /** Import ISO contains a root directory with a bad record length. */3124 #define VERR_ISOMK_IMPORT_BAD_ROOT_DIR_REC_LENGTH (-25120)3125 /** Import ISO contains a root directory without the directory flag set. */3126 #define VERR_ISOMK_IMPORT_ROOT_DIR_WITHOUT_DIR_FLAG (-25121)3127 /** Import ISO contains a root directory with multiple extents. */3128 #define VERR_ISOMK_IMPORT_ROOT_DIR_IS_MULTI_EXTENT (-25122)3129 /** Import ISO contains a too deep directory subtree. */3130 #define VERR_ISOMK_IMPORT_TOO_DEEP_DIR_TREE (-25123)3131 /** Import ISO contains a bad directory record. */3132 #define VERR_ISOMK_IMPORT_BAD_DIR_REC (-25124)3133 /** Import ISO contains a directory record with a mismatching volume sequence3134 * number. */3135 #define VERR_ISOMK_IMPORT_DIR_REC_VOLUME_SEQ_NO (-25125)3136 /** Import ISO contains a directory with an extent that is out of bounds. */3137 #define VERR_ISOMK_IMPORT_DIR_REC_EXTENT_OUT_OF_BOUNDS (-25126)3138 /** Import ISO contains a directory with a bad record length. */3139 #define VERR_ISOMK_IMPORT_BAD_DIR_REC_LENGTH (-25127)3140 /** Import ISO contains a '.' or '..' directory record with a bad name3141 * length. */3142 #define VERR_ISOMK_IMPORT_DOT_DIR_REC_BAD_NAME_LENGTH (-25128)3143 /** Import ISO contains a '.' or '..' directory record with a bad name. */3144 #define VERR_ISOMK_IMPORT_DOT_DIR_REC_BAD_NAME (-25129)3145 /** Import ISO contains a directory with a more than one extent, that's3146 * currently not supported. */3147 #define VERR_ISOMK_IMPORT_DIR_WITH_MORE_EXTENTS (-25130)3148 /** Import ISO contains a multi-extent directory record that differs3149 * significantly from first record. */3150 #define VERR_ISOMK_IMPORT_MISMATCHING_MULTI_EXTENT_REC (-25131)3151 /** Import ISO contains a non-final multi-extent directory record with a3152 * size that isn't block aligned. */3153 #define VERR_ISOMK_IMPORT_MISALIGNED_MULTI_EXTENT (-25132)3154 /** Import ISO contains a non-contigiuous multi-extent data, this is3155 * currently not supported. */3156 #define VERR_ISOMK_IMPORT_NON_CONTIGUOUS_MULTI_EXTENT (-25133)3157 3158 /** The boot catalog block in the import ISO is out of bounds. */3159 #define VERR_ISOMK_IMPORT_BOOT_CAT_BAD_OUT_OF_BOUNDS (-25140)3160 /** The boot catalog block in the import ISO has an incorrect validation3161 * header ID. */3162 #define VERR_ISOMK_IMPORT_BOOT_CAT_BAD_VALIDATION_HEADER_ID (-25141)3163 /** The boot catalog validation entry in the import ISO has incorrect keys. */3164 #define VERR_ISOMK_IMPORT_BOOT_CAT_BAD_VALIDATION_KEYS (-25142)3165 /** The boot catalog validation entry in the import ISO has an incorrect checksum. */3166 #define VERR_ISOMK_IMPORT_BOOT_CAT_BAD_VALIDATION_CHECKSUM (-25143)3167 /** A boot catalog entry in the import ISO has an unknown type. */3168 #define VERR_ISOMK_IMPORT_BOOT_CAT_UNKNOWN_HEADER_ID (-25144)3169 /** A boot catalog entry in the import ISO has an invalid boot media type. */3170 #define VERR_ISOMK_IMPORT_BOOT_CAT_INVALID_BOOT_MEDIA_TYPE (-25145)3171 /** The default boot catalog entry in the import ISO has invalid flags set. */3172 #define VERR_ISOMK_IMPORT_BOOT_CAT_DEF_ENTRY_INVALID_FLAGS (-25146)3173 /** A boot catalog entry in the import ISO has reserved flag set. */3174 #define VERR_ISOMK_IMPORT_BOOT_CAT_ENTRY_RESERVED_FLAG (-25147)3175 /** A boot catalog entry in the import ISO is using the unused field. */3176 #define VERR_ISOMK_IMPORT_BOOT_CAT_ENTRY_USES_UNUSED_FIELD (-25148)3177 /** A boot catalog entry in the import ISO points to a block after the end of3178 * the image input file. */3179 #define VERR_ISOMK_IMPORT_BOOT_CAT_ENTRY_IMAGE_OUT_OF_BOUNDS (-25149)3180 /** A boot catalog entry in the import ISO has an image with an3181 * indeterminate size. */3182 #define VERR_ISOMK_IMPORT_BOOT_CAT_ENTRY_UNKNOWN_IMAGE_SIZE (-25150)3183 /** The boot catalog in the import ISO is larger than a sector or it is3184 * missing the final section header entry. */3185 #define VERR_ISOMK_IMPORT_BOOT_CAT_MISSING_FINAL_OR_TOO_BIG (-25151)3186 /** The default boot catalog entry in the import ISO an invalid boot3187 * indicator value. */3188 #define VERR_ISOMK_IMPORT_BOOT_CAT_DEF_ENTRY_INVALID_BOOT_IND (-25152)3189 /** A boot catalog extension entry in the import ISO was either flagged3190 * incorrectly in the previous entry or has an invalid header ID. */3191 #define VERR_ISOMK_IMPORT_BOOT_CAT_EXT_ENTRY_INVALID_ID (-25153)3192 /** A boot catalog extension entry in the import ISO uses undefined flags3193 * which will be lost. */3194 #define VERR_ISOMK_IMPORT_BOOT_CAT_EXT_ENTRY_UNDEFINED_FLAGS (-25154)3195 /** A boot catalog extension entry in the import ISO indicates more entries when3196 * we reached the end of the boot catalog sector. */3197 #define VERR_ISOMK_IMPORT_BOOT_CAT_EXT_ENTRY_END_OF_SECTOR (-25155)3198 /** A boot catalog entry in the import ISO sets the continuation flag when using3199 * NONE as the selection criteria type. */3200 #define VERR_ISOMK_IMPORT_BOOT_CAT_ENTRY_CONTINUATION_WITH_NONE (-25156)3201 /** A boot catalog entry in the import ISO sets the continuation flag when3202 * we reached the ned of the boot catalog secotr. */3203 #define VERR_ISOMK_IMPORT_BOOT_CAT_ENTRY_CONTINUATION_EOS (-25157)3204 3205 /** @} */3206 3207 3208 /** @name RTFsIsoVol status codes3209 * @{ */3210 /** Descriptor tag is all zeros. */3211 #define VERR_ISOFS_TAG_IS_ALL_ZEROS (-25300)3212 /** Unsupported descriptor tag version. */3213 #define VERR_ISOFS_UNSUPPORTED_TAG_VERSION (-25301)3214 /** Bad descriptor tag checksum. */3215 #define VERR_ISOFS_BAD_TAG_CHECKSUM (-25302)3216 /** Descriptor tag sector number mismatch. */3217 #define VERR_ISOFS_TAG_SECTOR_MISMATCH (-25303)3218 /** Descriptor CRC mismatch. */3219 #define VERR_ISOFS_DESC_CRC_MISMATCH (-25304)3220 /** Insufficient data to check descriptor CRC. */3221 #define VERR_ISOFS_INSUFFICIENT_DATA_FOR_DESC_CRC (-25305)3222 /** Unexpected/unknown/bad descriptor in volume descriptor sequence. */3223 #define VERR_ISOFS_UNEXPECTED_VDS_DESC (-25306)3224 /** Too many primary volume descriptors. */3225 #define VERR_ISOFS_TOO_MANY_PVDS (-25307)3226 /** Too many logical volume descriptors. */3227 #define VERR_ISOFS_TOO_MANY_LVDS (-25308)3228 /** Too many partition descriptors. */3229 #define VERR_ISOFS_TOO_MANY_PDS (-25309)3230 /** The logical volume descriptor has a too big partition map. */3231 #define VERR_ISOFS_TOO_BIT_PARTMAP_IN_LVD (-25310)3232 /** No primary volume descriptors found. */3233 #define VERR_ISOFS_NO_PVD (-25311)3234 /** No logical volume descriptors found. */3235 #define VERR_ISOFS_NO_LVD (-25312)3236 /** No partition descriptors found. */3237 #define VERR_ISOFS_NO_PD (-25313)3238 /** Multiple primary volume descriptors found, we can only deal with one. */3239 #define VERR_ISOFS_MULTIPLE_PVDS (-25314)3240 /** Multiple logical volume descriptors found, we can only deal with one. */3241 #define VERR_ISOFS_MULTIPLE_LVDS (-25315)3242 /** Too many partition maps in the logical volume descriptor. */3243 #define VERR_ISOFS_TOO_MANY_PART_MAPS (-25316)3244 /** Malformed partition map table in the logical volume descriptor. */3245 #define VERR_ISOFS_MALFORMED_PART_MAP_TABLE (-25317)3246 /** Unable to find partition descriptor for a partition map table entry. */3247 #define VERR_ISOFS_PARTITION_NOT_FOUND (-25318)3248 /** Partition mapping table is shorted than described. */3249 #define VERR_ISOFS_INCOMPLETE_PART_MAP_TABLE (-25319)3250 /** Unknown partition map entry type. */3251 #define VERR_ISOFS_UNKNOWN_PART_MAP_ENTRY_TYPE (-25320)3252 /** Unkonwn paritition ID found in the partition map table. */3253 #define VERR_ISOFS_UNKNOWN_PART_MAP_TYPE_ID (-25321)3254 /** Support for virtual partitions as not yet been implemented. */3255 #define VERR_ISOFS_VPM_NOT_SUPPORTED (-25322)3256 /** Support for sparable partitions as not yet been implemented. */3257 #define VERR_ISOFS_SPM_NOT_SUPPORTED (-25323)3258 /** Support for metadata partitions as not yet been implemented. */3259 #define VERR_ISOFS_MPM_NOT_SUPPORTED (-25324)3260 /** Invalid or unsupported logical block size. */3261 #define VERR_ISOFS_UNSUPPORTED_LOGICAL_BLOCK_SIZE (-25325)3262 /** Unsupported domain ID in logical volume descriptor. */3263 #define VERR_ISOFS_BAD_LVD_DOMAIN_ID (-25326)3264 /** Malformed or invalid file set descriptor location. */3265 #define VERR_ISOFS_BAD_LVD_FILE_SET_DESC_LOCATION (-25327)3266 /** Non-standard descriptor character set in the logical volume descriptor. */3267 #define VERR_ISOFS_BAD_LVD_DESC_CHAR_SET (-25329)3268 /** Invalid partition index in a location. */3269 #define VERR_ISOFS_INVALID_PARTITION_INDEX (-25330)3270 /** Unsupported file system charset. */3271 #define VERR_ISOFS_FSD_UNSUPPORTED_CHAR_SET (-25331)3272 /** File set descriptor has an zero length or invalid root dir extent. */3273 #define VERR_ISOFS_FSD_ZERO_ROOT_DIR (-25332)3274 /** File set descriptor has a next extent member. */3275 #define VERR_ISOFS_FSD_NEXT_EXTENT (-25333)3276 /** The ICB for is too big. */3277 #define VERR_ISOFS_ICB_TOO_BIG (-25334)3278 /** The ICB for is too small. */3279 #define VERR_ISOFS_ICB_TOO_SMALL (-25335)3280 /** No direct ICB entries found. */3281 #define VERR_ISOFS_NO_DIRECT_ICB_ENTRIES (-25336)3282 /** Too many ICB indirections, possibly a loop. */3283 #define VERR_ISOFS_TOO_MANY_ICB_INDIRECTIONS (-25337)3284 /** Too deep ICB recursion. */3285 #define VERR_ISOFS_TOO_DEEP_ICB_RECURSION (-25338)3286 /** ICB is too small to contain anything useful. */3287 #define VERR_ISOFS_ICB_ENTRY_TOO_SMALL (-25339)3288 /** Unsupported tag encountered in ICB. */3289 #define VERR_ISOFS_UNSUPPORTED_ICB (-25340)3290 /** Bad file entry (ICB). */3291 #define VERR_ISOFS_BAD_FILE_ENTRY (-25341)3292 /** Unknown allocation descriptor type. */3293 #define VERR_ISO_FS_UNKNOWN_AD_TYPE (-25342)3294 /** Malformed extended allocation descriptor. */3295 #define VERR_ISOFS_BAD_EXTAD (-25343)3296 /** Wrong file type. */3297 #define VERR_ISOFS_WRONG_FILE_TYPE (-25344)3298 /** Unknow file type. */3299 #define VERR_ISOFS_UNKNOWN_FILE_TYPE (-25345)3300 3301 /** Not implemented for UDF. */3302 #define VERR_ISOFS_UDF_NOT_IMPLEMENTED (-25390)3303 /** Internal processing error \#1. */3304 #define VERR_ISOFS_IPE_1 (-25391)3305 /** Internal processing error \#2. */3306 #define VERR_ISOFS_IPE_2 (-25392)3307 /** Internal processing error \#3. */3308 #define VERR_ISOFS_IPE_3 (-25393)3309 /** Internal processing error \#4. */3310 #define VERR_ISOFS_IPE_4 (-25394)3311 /** Internal processing error \#5. */3312 #define VERR_ISOFS_IPE_5 (-25395)3313 /** @} */3314 3315 3316 /** @name RTSerialPort status codes3317 * @{ */3318 /** A break was detected until all requested data could be received. */3319 #define VERR_SERIALPORT_BREAK_DETECTED (-25500)3320 /** The chosen baudrate is invalid or not supported by the given serial port. */3321 #define VERR_SERIALPORT_INVALID_BAUDRATE (-25501)3322 /** @} */3323 3324 3325 /** @name RTCRest status codes3326 * @{ */3327 /** Do not know how to handle the content type in the server response. */3328 #define VERR_REST_RESPONSE_CONTENT_TYPE_NOT_SUPPORTED (-25700)3329 /** Invalid UTF-8 encoding in the response. */3330 #define VERR_REST_RESPONSE_INVALID_UTF8_ENCODING (-25701)3331 /** Server response contains embedded zero character(s). */3332 #define VERR_REST_RESPONSE_EMBEDDED_ZERO_CHAR (-25702)3333 /** Server response contains unexpected repetitive header field. */3334 #define VERR_REST_RESPONSE_REPEAT_HEADER_FIELD (-25703)3335 /** Unable to decode date value. */3336 #define VWRN_REST_UNABLE_TO_DECODE_DATE (25704)3337 /** Unable to decode date value. */3338 #define VERR_REST_UNABLE_TO_DECODE_DATE (-25704)3339 /** Wrong JSON type for bool value. */3340 #define VERR_REST_WRONG_JSON_TYPE_FOR_BOOL (-25705)3341 /** Wrong JSON type for integer value. */3342 #define VERR_REST_WRONG_JSON_TYPE_FOR_INTEGER (-25706)3343 /** Wrong JSON type for double value. */3344 #define VERR_REST_WRONG_JSON_TYPE_FOR_DOUBLE (-25707)3345 /** Wrong JSON type for string value. */3346 #define VERR_REST_WRONG_JSON_TYPE_FOR_STRING (-25708)3347 /** Wrong JSON type for date value. */3348 #define VERR_REST_WRONG_JSON_TYPE_FOR_DATE (-25709)3349 /** Unable to parse string as bool. */3350 #define VERR_REST_UNABLE_TO_PARSE_STRING_AS_BOOL (-25710)3351 /** A path parameter was not set. */3352 #define VERR_REST_PATH_PARAMETER_NOT_SET (-25711)3353 /** A required query parameter was not set. */3354 #define VERR_REST_REQUIRED_QUERY_PARAMETER_NOT_SET (-25712)3355 /** A required header parmaeter was not set. */3356 #define VERR_REST_REQUIRED_HEADER_PARAMETER_NOT_SET (-25713)3357 3358 /** Internal error \#1. */3359 #define VERR_REST_INTERNAL_ERROR_1 (-25791)3360 /** Internal error \#2. */3361 #define VERR_REST_INTERNAL_ERROR_2 (-25792)3362 /** Internal error \#3. */3363 #define VERR_REST_INTERNAL_ERROR_3 (-25793)3364 /** Internal error \#4. */3365 #define VERR_REST_INTERNAL_ERROR_4 (-25794)3366 /** Internal error \#5. */3367 #define VERR_REST_INTERNAL_ERROR_5 (-25795)3368 /** Internal error \#6. */3369 #define VERR_REST_INTERNAL_ERROR_6 (-25796)3370 /** Internal error \#7. */3371 #define VERR_REST_INTERNAL_ERROR_7 (-25797)3372 /** Internal error \#8. */3373 #define VERR_REST_INTERNAL_ERROR_8 (-25798)3374 /** Internal error \#9. */3375 #define VERR_REST_INTERNAL_ERROR_9 (-25799)3376 /** @} */3377 3378 3379 /** @name RTCrCipher status codes3380 * @{ */3381 /** Unsupported cipher. */3382 #define VERR_CR_CIPHER_NOT_SUPPORTED (-25800)3383 /** EVP_EncryptInit failed. */3384 #define VERR_CR_CIPHER_OSSL_ENCRYPT_INIT_FAILED (-25801)3385 /** EVP_EncryptUpdate failed. */3386 #define VERR_CR_CIPHER_OSSL_ENCRYPT_UPDATE_FAILED (-25802)3387 /** EVP_EncryptFinal failed. */3388 #define VERR_CR_CIPHER_OSSL_ENCRYPT_FINAL_FAILED (-25803)3389 /** EVP_DecryptInit failed. */3390 #define VERR_CR_CIPHER_OSSL_DECRYPT_INIT_FAILED (-25804)3391 /** EVP_DecryptUpdate failed. */3392 #define VERR_CR_CIPHER_OSSL_DECRYPT_UPDATE_FAILED (-25805)3393 /** EVP_DecryptFinal failed. */3394 #define VERR_CR_CIPHER_OSSL_DECRYPT_FINAL_FAILED (-25806)3395 /** Invalid key length. */3396 #define VERR_CR_CIPHER_INVALID_KEY_LENGTH (-25807)3397 /** Invalid initialization vector length. */3398 #define VERR_CR_CIPHER_INVALID_INITIALIZATION_VECTOR_LENGTH (-25808)3399 /** @} */3400 3401 3402 /** @name RTShMem status codes3403 * @{ */3404 /** Maximum number of mappings reached. */3405 #define VERR_SHMEM_MAXIMUM_MAPPINGS_REACHED (-26000)3406 /** @} */3407 3408 /* SED-END */3409 3410 /** @} */3411 3412 757 #endif 3413 758
Note:
See TracChangeset
for help on using the changeset viewer.