Files
obitools3/src/obierrno.h

129 lines
5.6 KiB
C
Raw Normal View History

/****************************************************************************
* Header file for obi errnos *
****************************************************************************/
/**
* @file obierrno.h
* @author Eric Coissac (eric.coissac@metabarcoding.org)
* @date 23 May 2015
* @brief Header file for obi errnos.
*/
#ifndef OBIERRNO_H_
#define OBIERRNO_H_
/**
* @brief The declaration of the external variable `obi_errno`.
*
2015-06-10 15:19:02 +02:00
* `obi_errno` is an equivalent of `errno` for the system level error,
* but for errors generated by the C layer of the OBITools3 framework.
*
* @TODO We have to look into defining this variable as thread specific.
*/
extern int obi_errno;
2015-06-10 15:19:02 +02:00
/**
2015-06-10 15:19:02 +02:00
* @brief Sets the global `obi_errno` variable with
* the specified `err` code
*
* This function is defined as a macro to reduce the risk
* of increasing the problem by generating another error by calling
* another function.
*
2015-06-10 15:19:02 +02:00
* @param err The error code as an integer value.
*
* @since May 2015
* @author Eric Coissac (eric.coissac@metabarcoding.org)
*/
#define obi_set_errno(err) (obi_errno = (err))
2015-06-10 15:19:02 +02:00
/**
* @defgroup OBIDMSErrors OBIDMS related error codes
*
* Error codes set in errno following an error related
* to the manipulation of an OBIDMS.
*
* @TODO
*
2015-06-10 15:19:02 +02:00
* @{
*/
2015-06-23 17:56:21 +02:00
#define OBIDMS_EXIST_ERROR (1) /**< Trying to create an OBIDMS with a name
* that corresponds to an existing one
*/
#define OBIDMS_NOT_EXIST_ERROR (2) /**< Trying to open a non-existing OBIDMS
*/
#define OBIDMS_LONG_NAME_ERROR (3) /**< The specified OBIDMS name is too long
*/
#define OBIDMS_MEMORY_ERROR (4) /**< A memory error occurred during allocation while handling
* an OBIDMS
*/
#define OBIDMS_UNKNOWN_ERROR (5) /**< Undetermined error while handling an OBIDMS
*/
#define OBIDMS_ACCESS_ERROR (6) /**< Permission error trying to access the database
*/
#define OBIDMS_BAD_ENDIAN_ERROR (7) /**< The opened database does not correspond
* to the endianness of the platform.
*/
2015-06-23 17:56:21 +02:00
#define OBICOLDIR_EXIST_ERROR (8) /**< Trying to create an OBIDMS column directory with a name
2015-06-23 17:56:21 +02:00
* that corresponds to an existing one
*/
#define OBICOLDIR_NOT_EXIST_ERROR (9) /**< Trying to open a non-existing OBIDMS column directory
2015-06-23 17:56:21 +02:00
*/
#define OBICOLDIR_LONG_NAME_ERROR (10) /**< The specified OBIDMS column directory name is too long
2015-06-23 17:56:21 +02:00
*/
#define OBICOLDIR_MEMORY_ERROR (11) /**< A memory error occurred during allocation while handling
2015-06-23 17:56:21 +02:00
* an OBIDMS column directory
*/
#define OBICOLDIR_UNKNOWN_ERROR (12) /**< Undetermined error while handling an OBIDMS column directory
2015-06-23 17:56:21 +02:00
*/
#define OBICOLDIR_ACCESS_ERROR (13) /**< Permission error trying to access an OBIDSM column directory
2015-06-23 17:56:21 +02:00
*/
#define OBICOL_EXIST_ERROR (14) /**< Trying to create an OBIDMS column with a name
* that corresponds to an existing one
*/
#define OBICOL_NOT_EXIST_ERROR (15) /**< Trying to open a non-existing OBIDMS column directory
*/
#define OBICOL_LONG_NAME_ERROR (16) /**< The specified OBIDMS column directory name is too long
*/
#define OBICOL_MEMORY_ERROR (17) /**< A memory error occurred during allocation while handling
* an OBIDMS column directory
*/
#define OBICOL_UNKNOWN_ERROR (18) /**< Undetermined error while handling an OBIDMS column directory
*/
#define OBICOL_ACCESS_ERROR (19) /**< Permission error trying to access an OBIDSM column directory
*/
2016-04-12 14:53:33 +02:00
#define OBI_AVL_ERROR (20) /** Error while handling an AVL tree // TODO delete and just keep OBI_INDEXER_ERROR?
*/
2016-02-18 10:38:51 +01:00
#define OBIVIEW_ERROR (21) /** Error while handling an OBIView
*/
#define OBI_TAXONOMY_ERROR (22) /** Error while handling binary taxonomy files
*/
#define OBI_MALLOC_ERROR (23) /** Error while allocating memory
*/
#define OBI_ENCODE_ERROR (24) /** Error while encoding a value
*/
#define OBI_DECODE_ERROR (25) /** Error while decoding a value
*/
#define OBI_UTILS_ERROR (26) /** Error in a utils function
*/
2016-04-12 14:53:33 +02:00
#define OBI_INDEXER_ERROR (27) /** Error handling a blob indexer
*/
2016-09-05 12:31:06 +02:00
#define OBI_READ_ONLY_INDEXER_ERROR (28) /** Error trying to modify a read-only blob indexer
*/
#define OBI_ALIGN_ERROR (29) /** Error while aligning sequences
*/
#define OBI_LINE_IDX_ERROR (30) /** Error setting or getting a value at a forbidden line index (greater than the line count of the view or the column)
*/
#define OBI_ELT_IDX_ERROR (31) /** Error setting or getting a value at a non-existent element index or with a non-existent element name
*/
2015-06-10 15:19:02 +02:00
/**@}*/
#endif /* OBIERRNO_H_ */