X-Git-Url: https://git.distorted.org.uk/u/mdw/catacomb/blobdiff_plain/7675ae6bdd4a8372b734ebcb90ee9b6fe13cc14a..e4a509b8174c8b2cfc0a084b78c9c7b7d08b624b:/key-error.h diff --git a/key-error.h b/key-error.h index 94b53c2..0323c2f 100644 --- a/key-error.h +++ b/key-error.h @@ -36,24 +36,29 @@ /*----- Error codes -------------------------------------------------------*/ +#define KEY_ERRORS(_) \ + _(OK, 0, "No error") \ + _(BADTAG, -1, "Bad tag string") \ + _(BADTYPE, -2, "Bad type string") \ + _(BADCOMMENT, -3, "Bad comment string") \ + _(DUPID, -4, "Key id already exists") \ + _(DUPTAG, -5, "Key tag already exists") \ + _(READONLY, -6, "Key file is read-only") \ + _(WILLEXPIRE, -7, "Key will eventually expire") \ + _(EXPIRED, -8, "Key has expired") \ + _(BADFLAGS, -9, "Bad key flags string") \ + _(BADPASS, -10, "Failed to unlock key") \ + _(WRONGTYPE, -11, "Unexpected key encoding type") \ + _(NOTFOUND, -12, "Key not found") \ + _(BADATTR, -13, "Bad attribute name") \ + _(MALFORMED, -14, "Malformed key data") \ + _(IO, -15, "I/O error") \ + enum { - KERR_OK = 0, /* No error */ - KERR_BADTAG = -1, /* Malformed tag string */ - KERR_BADTYPE = -2, /* Malformed type string */ - KERR_BADCOMMENT = -3, /* Malformed comment string */ - KERR_DUPID = -4, /* Duplicate keyid */ - KERR_DUPTAG = -5, /* Duplicate key tag string */ - KERR_READONLY = -6, /* Key file is read-only */ - KERR_WILLEXPIRE = -7, /* Key will eventually expire */ - KERR_EXPIRED = -8, /* Key has already expired */ - KERR_BADFLAGS = -9, /* Error in flags string */ - KERR_BADPASS = -10, /* Error decrypting locked key */ - KERR_WRONGTYPE = -11, /* Key has incorrect type */ - KERR_NOTFOUND = -12, /* Key couldn't be found */ - KERR_BADATTR = -13, /* Malformed attribute name */ - KERR_MALFORMED = -14, /* Key data is malformed */ - KERR_IO = -15, /* I/O error of some kind */ - KERR_MAX = -16 /* Not useful */ +#define ENTRY(tag, num, str) KERR_##tag = num, + KEY_ERRORS(ENTRY) +#undef ENTRY + KERR__dummy }; /*----- Functions provided ------------------------------------------------*/