40 lines
1.2 KiB
C
40 lines
1.2 KiB
C
|
#ifndef EASYCSV_ERROR
|
||
|
#define EASYCSV_ERROR
|
||
|
|
||
|
/* Error flags */
|
||
|
typedef enum {
|
||
|
|
||
|
/* 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;
|
||
|
|
||
|
#endif
|