Browse Source

Add MISHAP message severity.

release-1.5.4.branch
Vreixo Formoso 14 years ago
parent
commit
397fc48664
  1. 8
      libisofs/libiso_msgs.c
  2. 88
      libisofs/libiso_msgs.h
  3. 53
      libisofs/libisofs.h
  4. 1
      libisofs/messages.c

8
libisofs/libiso_msgs.c

@ -1,5 +1,5 @@
/* libiso_msgs (generated from libdax_msgs : Xov Xan 24 11:24:13 CET 2008)
/* libiso_msgs (generated from libdax_msgs : Qua Fev 13 14:58:12 CET 2008)
Message handling facility of libisofs.
Copyright (C) 2006 - 2008 Thomas Schmitt <scdbackup@gmx.net>,
provided under GPL version 2
@ -254,6 +254,8 @@ int libiso_msgs__text_to_sev(char *severity_name, int *severity,
*severity= LIBISO_MSGS_SEV_FATAL;
else if(strncmp(severity_name,"FAILURE",7)==0)
*severity= LIBISO_MSGS_SEV_FAILURE;
else if(strncmp(severity_name,"MISHAP",6)==0)
*severity= LIBISO_MSGS_SEV_MISHAP;
else if(strncmp(severity_name,"SORRY",5)==0)
*severity= LIBISO_MSGS_SEV_SORRY;
else if(strncmp(severity_name,"WARNING",7)==0)
@ -280,7 +282,7 @@ int libiso_msgs__sev_to_text(int severity, char **severity_name,
int flag)
{
if(flag&1) {
*severity_name= "NEVER\nABORT\nFATAL\nFAILURE\nSORRY\nWARNING\nHINT\nNOTE\nUPDATE\nDEBUG\nALL";
*severity_name= "NEVER\nABORT\nFATAL\nFAILURE\nMISHAP\nSORRY\nWARNING\nHINT\nNOTE\nUPDATE\nDEBUG\nALL";
return(1);
}
*severity_name= "";
@ -292,6 +294,8 @@ int libiso_msgs__sev_to_text(int severity, char **severity_name,
*severity_name= "FATAL";
else if(severity>=LIBISO_MSGS_SEV_FAILURE)
*severity_name= "FAILURE";
else if(severity>=LIBISO_MSGS_SEV_MISHAP)
*severity_name= "MISHAP";
else if(severity>=LIBISO_MSGS_SEV_SORRY)
*severity_name= "SORRY";
else if(severity>=LIBISO_MSGS_SEV_WARNING)

88
libisofs/libiso_msgs.h

@ -1,5 +1,5 @@
/* libiso_msgs (generated from libdax_msgs : Xov Xan 24 11:24:13 CET 2008)
/* libiso_msgs (generated from libdax_msgs : Qua Fev 13 14:58:12 CET 2008)
Message handling facility of libisofs.
Copyright (C) 2006-2008 Thomas Schmitt <scdbackup@gmx.net>,
provided under GPL version 2
@ -141,12 +141,19 @@ struct libiso_msgs_item;
#define LIBISO_MSGS_SEV_WARNING 0x50000000
/** Non-fatal error messages indicating that important parts of an action
failed but processing may go on if one accepts deviations from the
desired result.
/** Non-fatal error messages indicating that parts of an action failed but
processing may go on if one accepts deviations from the desired result.
E.g.: One of several libisofs input files cannot be found.
SORRY may also be the severity for incidents which are severe enough
for FAILURE but happen within already started irrevocable actions,
like ISO image generation. A precondition for such a severity ease is
that the action can be continued after the incident.
See below MISHAP for what xorriso would need instead of this kind of SORRY
an generates for itself in case of libisofs image generation.
E.g.: A pattern yields no result.
A speed setting cannot be made.
A libisofs input file is inaccessible during image generation.
After SORRY a function should try to go on if that makes any sense
and if no threshold prescribes abort on SORRY. The function should
@ -156,15 +163,31 @@ struct libiso_msgs_item;
#define LIBISO_MSGS_SEV_SORRY 0x60000000
/** Non-fatal error indicating that a complete action failed and that
only a thorough new setup of preconditions will give hope for success.
/** A FAILURE (see below) which can be tolerated during long lasting
operations just because they cannot simply be stopped or revoked.
xorriso converts libisofs SORRY messages issued during image generation
into MISHAP messages in order to allow its evaluators to distinguish
image generation problems from minor image composition problems.
E.g.:
A libisofs input file is inaccessible during image generation.
After a MISHAP a function should behave like after SORRY.
*/
#define LIBISO_MSGS_SEV_MISHAP 0x64000000
/** Non-fatal error indicating that an important part of an action failed and
that only a new setup of preconditions will give hope for sufficient
success.
E.g.: No media is inserted in the output drive.
No write mode can be found for inserted media.
All libisofs input files are inaccessible.
A libisofs input file is inaccessible during grafting.
After FAILURE a function should end very soon with a return value
indicating failure.
After FAILURE a function should end with a return value indicating failure.
It is at the discretion of the function whether it ends immediately in any
case or whether it tries to go on if the eventual threshold allows.
*/
#define LIBISO_MSGS_SEV_FAILURE 0x68000000
@ -527,9 +550,9 @@ Range "vreixo" : 0x00030000 to 0x0003ffff
0x0003ff78 (FAILURE,HIGH) = Not dir used where a dir is expected
0x0003ff77 (FAILURE,HIGH) = Not symlink used where a symlink is expected
0x0003ff76 (FAILURE,HIGH) = Cannot seek to specified location
0x0003ff75 (HINT,MEDIUM) = File not supported in ECMA-119 tree and ignored
0x0003ff75 (HINT,MEDIUM) = File not supported in ECMA-119 tree and ignored
0x0003ff74 (HINT,MEDIUM) = File bigger than supported by used standard
0x0003ff73 (SORRY,HIGH) = File read error during image creation
0x0003ff73 (MISHAP,HIGH) = File read error during image creation
0x0003ff72 (HINT,MEDIUM) = Cannot convert filename to requested charset
0x0003ff71 (SORRY,HIGH) = File cannot be added to the tree
0x0003ff70 (HINT,MEDIUM) = File path breaks specification constraints
@ -549,9 +572,32 @@ Range "vreixo" : 0x00030000 to 0x0003ffff
0x0003feb5 (WARNING,HIGH) = Multiple ER SUSP entries found
0x0003feb4 (HINT,MEDIUM) = Unsupported volume descriptor found
0x0003feb3 (WARNING,HIGH) = El-Torito related warning
0x0003feb2 (SORRY,HIGH) = Image write cancelled
0x0003feb2 (MISHAP,HIGH) = Image write cancelled
0x0003feb1 (WARNING,HIGH) = El-Torito image is hidden
Outdated codes which may not be re-used for other purposes than
re-instating them, if ever:
X 0x00031001 (SORRY,HIGH) = Cannot read file (ignored)
X 0x00031002 (FATAL,HIGH) = Cannot read file (operation canceled)
X 0x00031000 (FATAL,HIGH) = Unsupported ISO-9660 image
X 0x00031001 (HINT,MEDIUM) = Unsupported Vol Desc that will be ignored
X 0x00031002 (FATAL,HIGH) = Damaged ISO-9660 image
X 0x00031003 (SORRY,HIGH) = Cannot read previous image file
X 0x00030101 (HINT,MEDIUM) = Unsupported SUSP entry that will be ignored
X 0x00030102 (SORRY,HIGH) = Wrong/damaged SUSP entry
X 0x00030103 (WARNING,MEDIUM)= Multiple SUSP ER entries where found
X 0x00030111 (SORRY,HIGH) = Unsupported RR feature
X 0x00030112 (SORRY,HIGH) = Error in a Rock Ridge entry
X 0x00030201 (HINT,MEDIUM) = Unsupported Boot Vol Desc that will be ignored
X 0x00030202 (SORRY,HIGH) = Wrong El-Torito catalog
X 0x00030203 (HINT,MEDIUM) = Unsupported El-Torito feature
X 0x00030204 (SORRY,HIGH) = Invalid file to be an El-Torito image
X 0x00030205 (WARNING,MEDIUM)= Cannot properly patch isolinux image
X 0x00030206 (WARNING,MEDIUM)= Copying El-Torito from a previous image without
X enought info about it
X 0x00030301 (NOTE,MEDIUM) = Unsupported file type for Joliet tree
------------------------------------------------------------------------------
Range "application" : 0x00040000 to 0x0004ffff
@ -566,6 +612,22 @@ Range "application" : 0x00040000 to 0x0004ffff
0x00040007 (DEBUG,HIGH) : Application supplied message
------------------------------------------------------------------------------
Range "libisofs-xorriso" : 0x00050000 to 0x0005ffff
This is an alternative representation of libisofs.so.6 error codes in xorriso.
If values returned by iso_error_get_code() do not fit into 0x30000 to 0x3ffff
then they get truncated to 16 bit and mapped into this range.
(This should never need to happen, of course.)
------------------------------------------------------------------------------
Range "libisoburn" : 0x00060000 to 0x00006ffff
0x00060000 (*,*) : Message which shall be attributed to libisoburn
>>> the messages of libisoburn need to be registered individually
------------------------------------------------------------------------------
#endif /* LIDBAX_MSGS_________________ */

53
libisofs/libisofs.h

@ -381,7 +381,7 @@ struct iso_filesystem
* ISO_FILE_ACCESS_DENIED
* ISO_FILE_BAD_PATH
* ISO_FILE_DOESNT_EXIST
* ISO_MEM_ERROR
* ISO_OUT_OF_MEM
* ISO_FILE_ERROR
* ISO_NULL_POINTER
*/
@ -472,7 +472,7 @@ struct IsoFileSource_Iface
* ISO_FILE_ACCESS_DENIED
* ISO_FILE_BAD_PATH
* ISO_FILE_DOESNT_EXIST
* ISO_MEM_ERROR
* ISO_OUT_OF_MEM
* ISO_FILE_ERROR
* ISO_NULL_POINTER
*/
@ -488,7 +488,7 @@ struct IsoFileSource_Iface
* ISO_FILE_ACCESS_DENIED
* ISO_FILE_BAD_PATH
* ISO_FILE_DOESNT_EXIST
* ISO_MEM_ERROR
* ISO_OUT_OF_MEM
* ISO_FILE_ERROR
* ISO_NULL_POINTER
*/
@ -508,7 +508,7 @@ struct IsoFileSource_Iface
* ISO_FILE_ACCESS_DENIED
* ISO_FILE_BAD_PATH
* ISO_FILE_DOESNT_EXIST
* ISO_MEM_ERROR
* ISO_OUT_OF_MEM
* ISO_FILE_ERROR
* ISO_NULL_POINTER
*/
@ -522,7 +522,7 @@ struct IsoFileSource_Iface
* ISO_FILE_ACCESS_DENIED
* ISO_FILE_BAD_PATH
* ISO_FILE_DOESNT_EXIST
* ISO_MEM_ERROR
* ISO_OUT_OF_MEM
* ISO_FILE_ERROR
* ISO_NULL_POINTER
*/
@ -554,7 +554,7 @@ struct IsoFileSource_Iface
* ISO_FILE_NOT_OPENNED
* ISO_WRONG_ARG_VALUE -> if count == 0
* ISO_FILE_IS_DIR
* ISO_MEM_ERROR
* ISO_OUT_OF_MEM
* ISO_INTERRUPTED
*/
int (*read)(IsoFileSource *src, void *buf, size_t count);
@ -579,7 +579,7 @@ struct IsoFileSource_Iface
* ISO_NULL_POINTER
* ISO_FILE_NOT_OPENNED
* ISO_FILE_IS_NOT_DIR
* ISO_MEM_ERROR
* ISO_OUT_OF_MEM
*/
int (*readdir)(IsoFileSource *src, IsoFileSource **child);
@ -600,7 +600,7 @@ struct IsoFileSource_Iface
* ISO_NULL_POINTER
* ISO_WRONG_ARG_VALUE -> if bufsiz <= 0
* ISO_FILE_IS_NOT_SYMLINK
* ISO_MEM_ERROR
* ISO_OUT_OF_MEM
* ISO_FILE_BAD_PATH
* ISO_FILE_DOESNT_EXIST
*
@ -2117,7 +2117,7 @@ off_t iso_file_get_size(IsoFile *file);
* Possible errors:
* ISO_NULL_POINTER, if parent or name are NULL
* ISO_NODE_NAME_NOT_UNIQUE, a node with same name already exists
* ISO_MEM_ERROR
* ISO_OUT_OF_MEM
*
* @since 0.6.2
*/
@ -2150,7 +2150,7 @@ int iso_tree_add_new_dir(IsoDir *parent, const char *name, IsoDir **dir);
* Possible errors:
* ISO_NULL_POINTER, if parent, name or dest are NULL
* ISO_NODE_NAME_NOT_UNIQUE, a node with same name already exists
* ISO_MEM_ERROR
* ISO_OUT_OF_MEM
*
* @since 0.6.2
*/
@ -2193,7 +2193,7 @@ int iso_tree_add_new_symlink(IsoDir *parent, const char *name,
* ISO_NULL_POINTER, if parent, name or dest are NULL
* ISO_NODE_NAME_NOT_UNIQUE, a node with same name already exists
* ISO_WRONG_ARG_VALUE if you select a incorrect mode
* ISO_MEM_ERROR
* ISO_OUT_OF_MEM
*
* @since 0.6.2
*/
@ -2378,7 +2378,7 @@ void iso_tree_set_report_callback(IsoImage *image,
* Possible errors:
* ISO_NULL_POINTER, if image, parent or path are NULL
* ISO_NODE_NAME_NOT_UNIQUE, a node with same name already exists
* ISO_MEM_ERROR
* ISO_OUT_OF_MEM
*
* @since 0.6.2
*/
@ -2550,6 +2550,7 @@ const char *iso_error_to_msg(int errcode);
* 0x40000000 -> HINT
* 0x50000000 -> WARNING
* 0x60000000 -> SORRY
* 0x64000000 -> MISHAP
* 0x68000000 -> FAILURE
* 0x70000000 -> FATAL
* 0x71000000 -> ABORT
@ -2580,9 +2581,9 @@ int iso_error_get_code(int e);
* be aborted as soon as possible.
*
* @param severity
* one of "FAILURE", "SORRY", "WARNING", "HINT", "NOTE". Severities
* greater than SORRY always cause program to abort. Severities under
* NOTE won't never cause function abort.
* one of "FAILURE", "MISHAP", "SORRY", "WARNING", "HINT", "NOTE".
* Severities greater or equal than FAILURE always cause program to abort.
* Severities under NOTE won't never cause function abort.
* @return
* Previous abort priority on success, < 0 on error.
*
@ -2651,7 +2652,7 @@ char* iso_file_source_get_name(IsoFileSource *src);
* ISO_FILE_ACCESS_DENIED
* ISO_FILE_BAD_PATH
* ISO_FILE_DOESNT_EXIST
* ISO_MEM_ERROR
* ISO_OUT_OF_MEM
* ISO_FILE_ERROR
* ISO_NULL_POINTER
*
@ -2673,7 +2674,7 @@ int iso_file_source_lstat(IsoFileSource *src, struct stat *info);
* ISO_FILE_ACCESS_DENIED
* ISO_FILE_BAD_PATH
* ISO_FILE_DOESNT_EXIST
* ISO_MEM_ERROR
* ISO_OUT_OF_MEM
* ISO_FILE_ERROR
* ISO_NULL_POINTER
*
@ -2691,7 +2692,7 @@ int iso_file_source_access(IsoFileSource *src);
* ISO_FILE_ACCESS_DENIED
* ISO_FILE_BAD_PATH
* ISO_FILE_DOESNT_EXIST
* ISO_MEM_ERROR
* ISO_OUT_OF_MEM
* ISO_FILE_ERROR
* ISO_NULL_POINTER
*
@ -2707,7 +2708,7 @@ int iso_file_source_stat(IsoFileSource *src, struct stat *info);
* ISO_FILE_ACCESS_DENIED
* ISO_FILE_BAD_PATH
* ISO_FILE_DOESNT_EXIST
* ISO_MEM_ERROR
* ISO_OUT_OF_MEM
* ISO_FILE_ERROR
* ISO_NULL_POINTER
*
@ -2750,7 +2751,7 @@ int iso_file_source_close(IsoFileSource *src);
* ISO_FILE_NOT_OPENNED
* ISO_WRONG_ARG_VALUE -> if count == 0
* ISO_FILE_IS_DIR
* ISO_MEM_ERROR
* ISO_OUT_OF_MEM
* ISO_INTERRUPTED
*
* @since 0.6.2
@ -2777,7 +2778,7 @@ int iso_file_source_read(IsoFileSource *src, void *buf, size_t count);
* ISO_NULL_POINTER
* ISO_FILE_NOT_OPENNED
* ISO_FILE_IS_NOT_DIR
* ISO_MEM_ERROR
* ISO_OUT_OF_MEM
*
* @since 0.6.2
*/
@ -2802,7 +2803,7 @@ int iso_file_source_readdir(IsoFileSource *src, IsoFileSource **child);
* ISO_NULL_POINTER
* ISO_WRONG_ARG_VALUE -> if bufsiz <= 0
* ISO_FILE_IS_NOT_SYMLINK
* ISO_MEM_ERROR
* ISO_OUT_OF_MEM
* ISO_FILE_BAD_PATH
* ISO_FILE_DOESNT_EXIST
*
@ -3039,8 +3040,8 @@ const char *iso_image_fs_get_biblio_file_id(IsoImageFilesystem *fs);
/* A file is bigger than supported by used standard (HINT,MEDIUM, -140) */
#define ISO_FILE_TOO_BIG 0xC020FF74
/* File read error during image creation (SORRY,HIGH, -141) */
#define ISO_FILE_CANT_WRITE 0xE030FF73
/* File read error during image creation (MISHAP,HIGH, -141) */
#define ISO_FILE_CANT_WRITE 0xE430FF73
/* Can't convert filename to requested charset (HINT,MEDIUM, -142) */
#define ISO_FILENAME_WRONG_CHARSET 0xC020FF72
@ -3110,8 +3111,8 @@ const char *iso_image_fs_get_biblio_file_id(IsoImageFilesystem *fs);
/** El-Torito related warning (WARNING,HIGH, -333) */
#define ISO_EL_TORITO_WARN 0xD030FEB3
/** Image write cancelled (SORRY,HIGH, -334) */
#define ISO_IMAGE_WRITE_CANCELED 0xE030FEB2
/** Image write cancelled (MISHAP,HIGH, -334) */
#define ISO_IMAGE_WRITE_CANCELED 0xE430FEB2
/** El-Torito image is hidden (WARNING,HIGH, -335) */
#define ISO_EL_TORITO_HIDDEN 0xD030FEB1

1
libisofs/messages.c

@ -26,6 +26,7 @@
* = 0x40 -> HINT
* = 0x50 -> WARNING
* = 0x60 -> SORRY
* = 0x64 -> MISHAP
* = 0x68 -> FAILURE
* = 0x70 -> FATAL
* = 0x71 -> ABORT

Loading…
Cancel
Save