EasyCSV/src/easycsv_error.h

43 lines
1.3 KiB
C

#ifndef EASYCSV_ERROR_H
#define EASYCSV_ERROR_H
/* Error flags */
typedef enum EASYCSV_ERROR {
/* 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,
/* 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
} EASYCSV_ERROR;
void
easycsv_error(EASYCSV_ERROR,
const char*);
#endif