DYT/Tool/OpenSceneGraph-3.6.5/include/OpenEXR/openexr_errors.h

91 lines
2.3 KiB
C
Raw Permalink Normal View History

2024-12-24 23:49:36 +00:00
/*
** SPDX-License-Identifier: BSD-3-Clause
** Copyright Contributors to the OpenEXR Project.
*/
#ifndef OPENEXR_ERRORS_H
#define OPENEXR_ERRORS_H
#include "openexr_config.h"
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
/** @file */
/**
* @defgroup ErrorCodes Error Handling
* @brief These are a group of definitions related to error handling.
*
* All functions in the C layer will return a result, which will
* correspond to one of these codes. To ensure binary stability, the
* return type is separate from the error code, and is a fixed size.
*
* @{
*/
/** Error codes that may be returned by various functions. */
typedef enum
{
EXR_ERR_SUCCESS = 0,
EXR_ERR_OUT_OF_MEMORY,
EXR_ERR_MISSING_CONTEXT_ARG,
EXR_ERR_INVALID_ARGUMENT,
EXR_ERR_ARGUMENT_OUT_OF_RANGE,
EXR_ERR_FILE_ACCESS,
EXR_ERR_FILE_BAD_HEADER,
EXR_ERR_NOT_OPEN_READ,
EXR_ERR_NOT_OPEN_WRITE,
EXR_ERR_HEADER_NOT_WRITTEN,
EXR_ERR_READ_IO,
EXR_ERR_WRITE_IO,
EXR_ERR_NAME_TOO_LONG,
EXR_ERR_MISSING_REQ_ATTR,
EXR_ERR_INVALID_ATTR,
EXR_ERR_NO_ATTR_BY_NAME,
EXR_ERR_ATTR_TYPE_MISMATCH,
EXR_ERR_ATTR_SIZE_MISMATCH,
EXR_ERR_SCAN_TILE_MIXEDAPI,
EXR_ERR_TILE_SCAN_MIXEDAPI,
EXR_ERR_MODIFY_SIZE_CHANGE,
EXR_ERR_ALREADY_WROTE_ATTRS,
EXR_ERR_BAD_CHUNK_LEADER,
EXR_ERR_CORRUPT_CHUNK,
EXR_ERR_INCOMPLETE_CHUNK_TABLE,
EXR_ERR_INCORRECT_PART,
EXR_ERR_INCORRECT_CHUNK,
EXR_ERR_USE_SCAN_DEEP_WRITE,
EXR_ERR_USE_TILE_DEEP_WRITE,
EXR_ERR_USE_SCAN_NONDEEP_WRITE,
EXR_ERR_USE_TILE_NONDEEP_WRITE,
EXR_ERR_INVALID_SAMPLE_DATA,
EXR_ERR_FEATURE_NOT_IMPLEMENTED,
EXR_ERR_UNKNOWN
} exr_error_code_t;
/** Return type for all functions. */
typedef int32_t exr_result_t;
/** @brief Return a static string corresponding to the specified error code.
*
* The string should not be freed (it is compiled into the binary).
*/
EXR_EXPORT const char* exr_get_default_error_message (exr_result_t code);
/** @brief Return a static string corresponding to the specified error code.
*
* The string should not be freed (it is compiled into the binary).
*/
EXR_EXPORT const char* exr_get_error_code_as_string (exr_result_t code);
/** @} */
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* OPENEXR_ERRORS_H */