Testwise implementation of libisofs.0.6.3 features
This commit is contained in:
@ -731,6 +731,9 @@ int isoburn_get_fifo_status(struct burn_drive *d, int *size, int *free_bytes,
|
||||
}
|
||||
|
||||
|
||||
#define Libisoburn_on_libisofs_after_0_6_2 yes
|
||||
|
||||
/* >>> todo: throw out the copies of libdax_msgs entrails */
|
||||
|
||||
/* <<< to be replaced by libburn-0.4.3 API call burn_sev_to_text().
|
||||
This is a copy of libdax_msgs__sev_to_text() which is not exposed
|
||||
@ -752,9 +755,31 @@ int isoburn_get_fifo_status(struct burn_drive *d, int *size, int *free_bytes,
|
||||
#define LIBDAX_MSGS_SEV_ABORT 0x71000000
|
||||
#define LIBDAX_MSGS_SEV_NEVER 0x7fffffff
|
||||
|
||||
/* @param flag bit0= -reserved-
|
||||
bit1= this is a libburn severity
|
||||
*/
|
||||
int isoburn__sev_to_text(int severity, char **severity_name,
|
||||
int flag)
|
||||
{
|
||||
#ifdef Libisoburn_on_libisofs_after_0_6_2
|
||||
int ret;
|
||||
#else
|
||||
#ifdef Libisoburn_on__libburn_after_0_4_2
|
||||
int ret;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef Libisoburn_on_libisofs_after_0_6_2
|
||||
ret= iso_sev_to_text(severity, severity_name, 0);
|
||||
if(ret>0)
|
||||
return(ret);
|
||||
#endif /* Libisoburn_on_libisofs_after_0_6_2 */
|
||||
#ifdef Libisoburn_on__libburn_after_0_4_2
|
||||
ret= burn_sev_to_text(severity, severity_name, 0);
|
||||
if(ret>0)
|
||||
return(ret);
|
||||
#endif
|
||||
|
||||
if(flag&1) {
|
||||
*severity_name= "NEVER\nABORT\nFATAL\nFAILURE\nSORRY\nWARNING\nHINT\nNOTE\nUPDATE\nDEBUG\nERRFILE\nALL";
|
||||
return(1);
|
||||
@ -798,6 +823,17 @@ int isoburn__text_to_sev(char *severity_name, int *severity_number, int flag)
|
||||
{
|
||||
int ret= 1;
|
||||
|
||||
#ifdef Libisoburn_on_libisofs_after_0_6_2
|
||||
ret= iso_text_to_sev(severity_name, severity_number, 0);
|
||||
if(ret>0)
|
||||
return(ret);
|
||||
#endif /* Libisoburn_on_libisofs_after_0_6_2 */
|
||||
#ifdef Libisoburn_on__libburn_after_0_4_2
|
||||
ret= burn_text_to_sev(severity_name, severity_number, 0);
|
||||
if(ret>0)
|
||||
return(ret);
|
||||
#endif
|
||||
|
||||
if(severity_name[0]==0)
|
||||
*severity_number= 0;
|
||||
else if(strcmp(severity_name, "MISHAP")==0)
|
||||
@ -826,6 +862,16 @@ int isoburn_report_iso_error(int iso_error_code, char msg_text[], int os_errno,
|
||||
msg_text_pt= msg_text;
|
||||
iso_sev= iso_error_get_severity(iso_error_code);
|
||||
sev_text_pt= min_severity;
|
||||
|
||||
#ifdef Libisoburn_on_libisofs_after_0_6_2
|
||||
|
||||
isoburn__text_to_sev(min_severity, &min_sev, 0);
|
||||
if(min_sev < iso_sev)
|
||||
isoburn__sev_to_text(iso_sev, &sev_text_pt, 0);
|
||||
ret= iso_msgs_submit(error_code, msg_text_pt, os_errno, sev_text_pt, 0);
|
||||
|
||||
#else
|
||||
|
||||
burn_text_to_sev(min_severity, &min_sev, 0);
|
||||
|
||||
/* <<< Tunnel MISHAP through libburn which knows no MISHAP
|
||||
@ -837,15 +883,12 @@ int isoburn_report_iso_error(int iso_error_code, char msg_text[], int os_errno,
|
||||
iso_sev= LIBDAX_MSGS_SEV_DEBUG;
|
||||
error_code= 0x00051001;
|
||||
}
|
||||
|
||||
if(min_sev < iso_sev) {
|
||||
|
||||
/* >>> with libburn-0.4.4 do: burn_sev_to_text(iso_sev, &sev_text_pt, 0); */
|
||||
if(min_sev < iso_sev)
|
||||
isoburn__sev_to_text(iso_sev, &sev_text_pt, 0);
|
||||
|
||||
}
|
||||
|
||||
ret= burn_msgs_submit(error_code, msg_text_pt, os_errno, sev_text_pt, NULL);
|
||||
|
||||
#endif /* ! Libisoburn_on_libisofs_after_0_6_2 */
|
||||
|
||||
return(ret);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user