2021-07-16 18:46:36 +02:00
|
|
|
#ifndef EASYCSV_ERROR_H
|
|
|
|
#define EASYCSV_ERROR_H
|
2021-07-11 16:44:11 +02:00
|
|
|
|
|
|
|
/* Error flags */
|
2021-07-16 18:46:36 +02:00
|
|
|
typedef enum EASYCSV_ERROR {
|
2021-07-11 16:44:11 +02:00
|
|
|
/* Generic errors */
|
|
|
|
EASYCSV_NOERROR, // no error
|
|
|
|
EASYCSV_NULLCSV, // easycsv* is NULL
|
|
|
|
EASYCSV_NULLPTR, // generic pointer is NULL
|
|
|
|
EASYCSV_EMPTYSTRING, // empty string
|
|
|
|
EASYCSV_EMPTYVALUE, // value is empty
|
|
|
|
EASYCSV_OVERMAXROW, // int exceeds row limit
|
|
|
|
EASYCSV_OVERMAXCOL, // int exceeds col limit
|
|
|
|
EASYCSV_ZEROROW,
|
|
|
|
EASYCSV_ZEROCOL,
|
2021-07-17 15:10:31 +02:00
|
|
|
EASYCSV_MEMALLOC, ///< memory allocation failure
|
2021-07-11 16:44:11 +02:00
|
|
|
|
|
|
|
/* File input/output errors */
|
|
|
|
EASYCSV_UNKNOWNIOMODE, // unknown file IO mode
|
|
|
|
EASYCSV_OPENFAIL, // fail to open
|
|
|
|
EASYCSV_REOPENFAIL, // fail to reopen
|
|
|
|
EASYCSV_EMPTYCSV, // csv is empty or does not exist
|
|
|
|
EASYCSV_UNWRITABLE, // csv mode not at EASYCSV_W
|
|
|
|
EASYCSV_UNREADABLE, // csv mode not at EASYCSV_R
|
|
|
|
EASYCSV_UPDATEFAIL, // update file fail = temp -> file
|
|
|
|
EASYCSV_UPDATETEMPFAIL, // update = -> temp
|
|
|
|
EASYCSV_FILEPTRFAIL, // move file pointer fail
|
|
|
|
|
|
|
|
/* Non-existant elements */
|
|
|
|
EASYCSV_ROWNOTEXIST, // row does not exist
|
|
|
|
EASYCSV_COLNOTEXIST, // column does not exist
|
|
|
|
|
|
|
|
/* User-facing failure */
|
|
|
|
EASYCSV_PUSHCOLFAIL, // push column value fail
|
|
|
|
EASYCSV_COLNUMFAIL, // column number retrieval fail
|
|
|
|
EASYCSV_READVALUEFAIL, // read value fail
|
2021-07-16 21:31:31 +02:00
|
|
|
EASYCSV_FINDVALUEFAIL, // find value fail
|
2021-07-11 16:44:11 +02:00
|
|
|
} EASYCSV_ERROR;
|
|
|
|
|
2021-07-16 18:46:36 +02:00
|
|
|
void
|
|
|
|
easycsv_error(EASYCSV_ERROR,
|
|
|
|
const char*);
|
|
|
|
|
2021-07-11 16:44:11 +02:00
|
|
|
#endif
|