00001
00023 #ifndef _LIBCOMPREX_TYPES_H_
00024 #define _LIBCOMPREX_TYPES_H_
00025
00026 #ifdef __cplusplus
00027 extern "C" {
00028 #endif
00029
00033 typedef enum
00034 {
00035 CX_SUCCESS,
00036 CX_NOT_SUPPORTED,
00037 CX_INVALID_FORMAT,
00038 CX_ERROR,
00039 CX_FILE_NOT_FOUND,
00040 CX_READ_ONLY,
00041 CX_INVALID_VERSION,
00042 CX_EOF,
00043 CX_CORRUPT
00045 } CxStatus;
00046
00050 typedef enum
00051 {
00053 CX_MODE_RAW = 0x01,
00054
00056 CX_MODE_READ_WRITE = 0x02,
00057
00059 CX_MODE_READ_ONLY = 0x04,
00060
00062 CX_MODE_ERROR = 0xFF
00063
00064 } CxAccessMode;
00065
00069 typedef enum
00070 {
00071 CX_ARCHIVE_SINGLE,
00072 CX_ARCHIVE_MULTI,
00073 CX_ARCHIVE_UNKNOWN
00075 } CxArchiveType;
00076
00081 #define CX_IS_MODE_RAW(mode) \
00082 (((mode) & CX_MODE_RAW) == CX_MODE_RAW)
00083
00084 #define CX_IS_MODE_READ_WRITE(mode) \
00085 (((mode) & CX_MODE_READ_WRITE) == CX_MODE_READ_WRITE)
00086
00087 #define CX_IS_MODE_READ_ONLY(mode) \
00088 (((mode) & CX_MODE_READ_ONLY) == CX_MODE_READ_ONLY)
00089
00092 #ifdef __cplusplus
00093 }
00094 #endif
00095
00096 #endif
00097