150 lines
6.0 KiB
C
150 lines
6.0 KiB
C
#ifndef H_RPMERR
|
|
#define H_RPMERR
|
|
|
|
/** \ingroup rpmio
|
|
* \file rpmio/rpmerr.h
|
|
* @todo Eliminate from API.
|
|
*/
|
|
|
|
#include "rpmlog.h"
|
|
|
|
#define _em(_e) \
|
|
(((_e) << 16) | RPMLOG_MAKEPRI(RPMLOG_ERRMSG, RPMLOG_ERR))
|
|
#define _wm(_e) \
|
|
(((_e) << 16) | RPMLOG_MAKEPRI(RPMLOG_ERRMSG, RPMLOG_WARNING))
|
|
#define _nm(_e) \
|
|
(((_e) << 16) | RPMLOG_MAKEPRI(RPMLOG_ERRMSG, RPMLOG_NOTICE))
|
|
#define _im(_e) \
|
|
(((_e) << 16) | RPMLOG_MAKEPRI(RPMLOG_ERRMSG, RPMLOG_INFO))
|
|
#define _dm(_e) \
|
|
(((_e) << 16) | RPMLOG_MAKEPRI(RPMLOG_ERRMSG, RPMLOG_DEBUG))
|
|
|
|
/**
|
|
* Tokens used by rpmError().
|
|
*/
|
|
/*@-typeuse @*/
|
|
typedef enum rpmerrCode_e {
|
|
/*@-enummemuse@*/
|
|
RPMERR_GDBMOPEN = _em(2), /*!< gdbm open failed */
|
|
RPMERR_GDBMREAD = _em(3), /*!< gdbm read failed */
|
|
RPMERR_GDBMWRITE = _em(4), /*!< gdbm write failed */
|
|
/*@=enummemuse@*/
|
|
RPMERR_INTERNAL = _em(5), /*!< internal RPM error */
|
|
RPMERR_DBCORRUPT = _em(6), /*!< rpm database is corrupt */
|
|
/*@-enummemuse@*/
|
|
RPMERR_OLDDBCORRUPT = _em(7), /*!< old style rpm database is corrupt */
|
|
RPMERR_OLDDBMISSING = _em(8), /*!< old style rpm database is missing */
|
|
RPMERR_NOCREATEDB = _em(9), /*!< cannot create new database */
|
|
/*@=enummemuse@*/
|
|
RPMERR_DBOPEN = _em(10), /*!< database open failed */
|
|
RPMERR_DBGETINDEX = _em(11), /*!< database get from index failed */
|
|
RPMERR_DBPUTINDEX = _em(12), /*!< database get from index failed */
|
|
RPMERR_NEWPACKAGE = _em(13), /*!< package is too new to handle */
|
|
RPMERR_BADMAGIC = _em(14), /*!< bad magic for an RPM */
|
|
RPMERR_RENAME = _em(15), /*!< rename(2) failed */
|
|
RPMERR_UNLINK = _em(16), /*!< unlink(2) failed */
|
|
RPMERR_RMDIR = _em(17), /*!< rmdir(2) failed */
|
|
/*@-enummemuse@*/
|
|
RPMERR_PKGINSTALLED = _em(18), /*!< package already installed */
|
|
RPMERR_CHOWN = _em(19), /*!< chown() call failed */
|
|
RPMERR_NOUSER = _em(20), /*!< user does not exist */
|
|
RPMERR_NOGROUP = _em(21), /*!< group does not exist */
|
|
/*@=enummemuse@*/
|
|
RPMERR_MKDIR = _em(22), /*!< mkdir() call failed */
|
|
/*@-enummemuse@*/
|
|
RPMERR_FILECONFLICT = _em(23), /*!< file being installed exists */
|
|
/*@=enummemuse@*/
|
|
RPMERR_RPMRC = _em(24), /*!< bad line in rpmrc */
|
|
RPMERR_NOSPEC = _em(25), /*!< .spec file is missing */
|
|
RPMERR_NOTSRPM = _em(26), /*!< a source rpm was expected */
|
|
RPMERR_FLOCK = _em(27), /*!< locking the database failed */
|
|
/*@-enummemuse@*/
|
|
RPMERR_OLDPACKAGE = _em(28), /*!< trying upgrading to old version */
|
|
/* RPMERR_BADARCH = _em(29), bad architecture or arch mismatch */
|
|
/*@=enummemuse@*/
|
|
RPMERR_CREATE = _em(30), /*!< failed to create a file */
|
|
RPMERR_NOSPACE = _em(31), /*!< out of disk space */
|
|
/*@-enummemuse@*/
|
|
RPMERR_NORELOCATE = _em(32), /*!< tried to do improper relocatation */
|
|
/* RPMERR_BADOS = _em(33), bad architecture or arch mismatch */
|
|
RPMMESS_BACKUP = _em(34), /*!< backup made during [un]install */
|
|
/*@=enummemuse@*/
|
|
RPMERR_MTAB = _em(35), /*!< failed to read mount table */
|
|
RPMERR_STAT = _em(36), /*!< failed to stat something */
|
|
RPMERR_BADDEV = _em(37), /*!< file on device not listed in mtab */
|
|
/*@-enummemuse@*/
|
|
RPMMESS_ALTNAME = _em(38), /*!< file written as .rpmnew */
|
|
RPMMESS_PREREQLOOP = _em(39), /*!< loop in prerequisites */
|
|
RPMERR_BADRELOCATE = _em(40), /*!< bad relocation was specified */
|
|
/*@=enummemuse@*/
|
|
RPMERR_OLDDB = _em(41), /*!< old format database */
|
|
|
|
RPMERR_UNMATCHEDIF = _em(107), /*!< unclosed %ifarch or %ifos */
|
|
RPMERR_RELOAD = _em(108), /*!< */
|
|
RPMERR_BADARG = _em(109), /*!< */
|
|
RPMERR_SCRIPT = _em(110), /*!< errors related to script exec */
|
|
RPMERR_READ = _em(111), /*!< */
|
|
/*@-enummemuse@*/
|
|
RPMERR_UNKNOWNOS = _em(112), /*!< */
|
|
RPMERR_UNKNOWNARCH = _em(113), /*!< */
|
|
/*@=enummemuse@*/
|
|
RPMERR_EXEC = _em(114), /*!< */
|
|
RPMERR_FORK = _em(115), /*!< */
|
|
RPMERR_CPIO = _em(116), /*!< */
|
|
/*@-enummemuse@*/
|
|
RPMERR_GZIP = _em(117), /*!< */
|
|
/*@=enummemuse@*/
|
|
RPMERR_BADSPEC = _em(118), /*!< */
|
|
/*@-enummemuse@*/
|
|
RPMERR_LDD = _em(119), /*!< couldn't understand ldd output */
|
|
/*@=enummemuse@*/
|
|
RPMERR_BADFILENAME = _em(120), /*!< */
|
|
RPMERR_OPEN = _em(121), /*!< */
|
|
RPMERR_POPEN = _em(122), /*!< */
|
|
RPMERR_NOTREG = _em(123), /*!< File %s is not a regular file */
|
|
RPMERR_QUERY = _em(124), /*!< */
|
|
RPMERR_QFMT = _em(125), /*!< */
|
|
RPMERR_DBCONFIG = _em(126), /*!< */
|
|
RPMERR_DBERR = _em(127), /*!< */
|
|
/*@-enummemuse@*/
|
|
RPMERR_BADPACKAGE = _em(128), /*!< getNextHeader: %s */
|
|
/*@=enummemuse@*/
|
|
RPMERR_FREELIST = _em(129), /*!< free list corrupt (%u)- please ... */
|
|
RPMERR_DATATYPE = _em(130), /*!< Data type %d not supported */
|
|
RPMERR_BUILDROOT = _em(131), /*!< */
|
|
RPMERR_MAKETEMP = _em(132), /*!< makeTempFile failed */
|
|
RPMERR_FWRITE = _em(133), /*!< %s: Fwrite failed: %s */
|
|
RPMERR_FREAD = _em(134), /*!< %s: Fread failed: %s */
|
|
RPMERR_READLEAD = _em(135), /*!< %s: readLead failed */
|
|
RPMERR_WRITELEAD = _em(136), /*!< %s: writeLead failed: %s */
|
|
RPMERR_QUERYINFO = _wm(137), /*!< */
|
|
RPMERR_MANIFEST = _nm(138), /*!< %s: read manifest failed: %s */
|
|
RPMERR_BADHEADER = _em(139), /*!< */
|
|
RPMERR_FSEEK = _em(140), /*!< %s: Fseek failed: %s */
|
|
RPMERR_REGCOMP = _em(141), /*!< %s: regcomp failed: %s */
|
|
RPMERR_REGEXEC = _em(142), /*!< %s: regexec failed: %s */
|
|
|
|
RPMERR_BADSIGTYPE = _em(200), /*!< Unknown signature type */
|
|
RPMERR_SIGGEN = _em(201), /*!< Error generating signature */
|
|
RPMERR_SIGVFY = _nm(202), /*!< */
|
|
|
|
RPMDEBUG_UNLINK = _dm(512u+16), /*!< unlink(2) failed */
|
|
RPMDEBUG_RMDIR = _dm(512u+17), /*!< rmdir(2) failed */
|
|
RPMWARN_FLOCK = _wm(512u+27) /*!< locking the database failed */
|
|
} rpmerrCode;
|
|
/*@=typeuse @*/
|
|
|
|
/**
|
|
* Retrofit rpmError() onto rpmlog sub-system.
|
|
*/
|
|
#define rpmError rpmlog
|
|
#define rpmErrorCode() rpmlogCode()
|
|
#define rpmErrorString() rpmlogMessage()
|
|
#define rpmErrorSetCallback(_cb) rpmlogSetCallback(_cb)
|
|
/*@-typeuse@*/
|
|
typedef rpmlogCallback rpmErrorCallBackType;
|
|
/*@=typeuse@*/
|
|
|
|
|
|
#endif /* H_RPMERR */
|