diff options
Diffstat (limited to 'ziperr.h')
-rw-r--r-- | ziperr.h | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/ziperr.h b/ziperr.h new file mode 100644 index 0000000..19c7655 --- /dev/null +++ b/ziperr.h @@ -0,0 +1,115 @@ +/* + ziperr.h - Zip 3 + + Copyright (c) 1990-2007 Info-ZIP. All rights reserved. + + See the accompanying file LICENSE, version 2007-Mar-4 or later + (the contents of which are also included in zip.h) for terms of use. + If, for some reason, all these files are missing, the Info-ZIP license + also may be found at: ftp://ftp.info-zip.org/pub/infozip/license.html +*/ +/* + * ziperr.h by Mark Adler + */ + + +/* + * VMS message file ident string. (The "-xxx" suffix should be + * incremented when messages are changed for a particular program + * version.) Used only when generating the VMS message source file, but + * that can be done on a non-VMS system. + */ +#define VMS_MSG_IDENT "V3.0-000" + +/* VMS-compatible "severity" values (bits 2:0): */ +#define ZE_S_WARNING 0x00 +#define ZE_S_SUCCESS 0x01 +#define ZE_S_ERROR 0x02 +#define ZE_S_INFO 0x03 +#define ZE_S_SEVERE 0x04 +#define ZE_S_UNUSED 0x07 + +/* Flags: */ +#define ZE_S_PERR 0x10 + + + /* Error return values. The values 0..4 and 12..18 follow the conventions + of PKZIP. The values 4..10 are all assigned to "insufficient memory" + by PKZIP, so the codes 5..10 are used here for other purposes. */ +#define ZE_MISS -1 /* used by procname(), zipbare() */ +#define ZE_OK 0 /* success */ +#define ZE_EOF 2 /* unexpected end of zip file */ +#define ZE_FORM 3 /* zip file structure error */ +#define ZE_MEM 4 /* out of memory */ +#define ZE_LOGIC 5 /* internal logic error */ +#define ZE_BIG 6 /* entry too large to split, read, or write */ +#define ZE_NOTE 7 /* invalid comment format */ +#define ZE_TEST 8 /* zip test (-T) failed or out of memory */ +#define ZE_ABORT 9 /* user interrupt or termination */ +#define ZE_TEMP 10 /* error using a temp file */ +#define ZE_READ 11 /* read or seek error */ +#define ZE_NONE 12 /* nothing to do */ +#define ZE_NAME 13 /* missing or empty zip file */ +#define ZE_WRITE 14 /* error writing to a file */ +#define ZE_CREAT 15 /* couldn't open to write */ +#define ZE_PARMS 16 /* bad command line */ +#define ZE_OPEN 18 /* could not open a specified file to read */ +#define ZE_COMPERR 19 /* error in compilation options */ +#define ZE_ZIP64 20 /* Zip64 not supported */ + +#define ZE_MAXERR 20 /* the highest error number */ + + +/* Error messages for the ziperr() function in the zip programs. */ + +#ifdef GLOBALS +struct +{ + char *name; + char *string; + int severity; +} ziperrors[ZE_MAXERR + 1] = { +/* 0 */ { "OK", "Normal successful completion", ZE_S_SUCCESS }, +/* 1 */ { "", "", ZE_S_UNUSED }, +/* 2 */ { "EOF", "Unexpected end of zip file", ZE_S_SEVERE }, +/* 3 */ { "FORM", "Zip file structure invalid", ZE_S_ERROR }, +/* 4 */ { "MEM", "Out of memory", ZE_S_SEVERE }, +/* 5 */ { "LOGIC", "Internal logic error", ZE_S_SEVERE }, +/* 6 */ { "BIG", "Entry too big to split, read, or write", + ZE_S_ERROR }, +/* 7 */ { "NOTE", "Invalid comment format", ZE_S_ERROR }, +/* 8 */ { "TEST", "Zip file invalid, could not spawn unzip, or wrong unzip", + ZE_S_SEVERE }, +/* 9 */ { "ABORT", "Interrupted", ZE_S_ERROR }, +/* 10 */ { "TEMP", "Temporary file failure", ZE_S_SEVERE | ZE_S_PERR }, +/* 11 */ { "READ", "Input file read failure", ZE_S_SEVERE | ZE_S_PERR }, +/* 12 */ { "NONE", "Nothing to do!", ZE_S_WARNING }, +/* 13 */ { "NAME", "Missing or empty zip file", ZE_S_ERROR }, +/* 14 */ { "WRITE", "Output file write failure", ZE_S_SEVERE | ZE_S_PERR }, +/* 15 */ { "CREAT", "Could not create output file", ZE_S_SEVERE | ZE_S_PERR }, +/* 16 */ { "PARMS", "Invalid command arguments", ZE_S_ERROR }, +/* 17 */ { "", "", ZE_S_UNUSED }, +/* 18 */ { "OPEN", "File not found or no read permission", + ZE_S_ERROR | ZE_S_PERR }, +/* 19 */ { "COMPERR", "Not supported", ZE_S_SEVERE }, +/* 20 */ { "ZIP64", "Attempt to read unsupported Zip64 archive", + ZE_S_SEVERE } +# ifdef AZTEC_C + , /* extremely lame compiler bug workaround */ +# endif +}; +#else /* !GLOBALS */ +/* Error messages for ziperr() */ +extern struct +{ + char *name; + char *string; + int severity; +} ziperrors[ZE_MAXERR + 1]; +#endif /* ?GLOBALS */ + +/* Macro to determine whether to call perror() or not. */ +#define PERR(e) (ziperrors[e].severity & ZE_S_PERR) + +/* Macro for easy access to the message string. */ +#define ZIPERRORS(e) ziperrors[e].string |