Enabled unused SCSI part of struct burn_drive. Switched persistent address to burn_drive.devname
This commit is contained in:
parent
8e73ee88e9
commit
e388a6396f
@ -744,6 +744,36 @@ fprintf(stderr,"libburn experimental: burn_drive_find_devno( 0x%lX ) found %s\n"
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ts A60923 */
|
||||||
|
/** Try to obtain host,channel,target,lun from path.
|
||||||
|
@return 1 = success , 0 = failure , -1 = severe error
|
||||||
|
*/
|
||||||
|
int burn_drive_obtain_scsi_adr(char *path, int *host_no, int *channel_no,
|
||||||
|
int *target_no, int *lun_no)
|
||||||
|
{
|
||||||
|
int ret, i;
|
||||||
|
char adr[BURN_DRIVE_ADR_LEN];
|
||||||
|
|
||||||
|
/* open drives cannot be inquired by sg_obtain_scsi_adr() */
|
||||||
|
for (i = 0; i < drivetop + 1; i++) {
|
||||||
|
if (drive_array[i].global_index < 0)
|
||||||
|
continue;
|
||||||
|
ret = burn_drive_raw_get_adr(&(drive_array[i]),adr);
|
||||||
|
if (ret <= 0)
|
||||||
|
continue;
|
||||||
|
if (strcmp(adr, path) == 0) {
|
||||||
|
*host_no = drive_array[i].host;
|
||||||
|
*channel_no = drive_array[i].channel;
|
||||||
|
*target_no = drive_array[i].id;
|
||||||
|
*lun_no = drive_array[i].lun;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = sg_obtain_scsi_adr(path, host_no, channel_no, target_no, lun_no);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
/* ts A60923 */
|
/* ts A60923 */
|
||||||
int burn_drive_convert_scsi_adr(int host_no, int channel_no, int target_no,
|
int burn_drive_convert_scsi_adr(int host_no, int channel_no, int target_no,
|
||||||
int lun_no, char adr[])
|
int lun_no, char adr[])
|
||||||
@ -760,8 +790,8 @@ fprintf(stderr,"libburn experimental: burn_drive_convert_scsi_adr( %d,%d,%d,%d )
|
|||||||
if(ret <= 0)
|
if(ret <= 0)
|
||||||
break;
|
break;
|
||||||
first = 0;
|
first = 0;
|
||||||
ret = sg_obtain_scsi_adr(fname, &i_host_no, &i_channel_no,
|
ret = burn_drive_obtain_scsi_adr(fname, &i_host_no,
|
||||||
&i_target_no, &i_lun_no);
|
&i_channel_no, &i_target_no, &i_lun_no);
|
||||||
if(ret <= 0)
|
if(ret <= 0)
|
||||||
continue;
|
continue;
|
||||||
if(host_no >=0 && i_host_no != host_no)
|
if(host_no >=0 && i_host_no != host_no)
|
||||||
@ -791,11 +821,11 @@ int burn_drive_find_scsi_equiv(char *path, char adr[])
|
|||||||
int ret = 0;
|
int ret = 0;
|
||||||
int host_no, channel_no, target_no, lun_no;
|
int host_no, channel_no, target_no, lun_no;
|
||||||
|
|
||||||
ret = sg_obtain_scsi_adr(path, &host_no, &channel_no, &target_no,
|
ret = burn_drive_obtain_scsi_adr(path, &host_no, &channel_no,
|
||||||
&lun_no);
|
&target_no, &lun_no);
|
||||||
if(ret <= 0) {
|
if(ret <= 0) {
|
||||||
|
|
||||||
fprintf(stderr,"libburn experimental: sg_obtain_scsi_adr( %s ) returns %d\n", path, ret);
|
fprintf(stderr,"libburn experimental: burn_drive_obtain_scsi_adr( %s ) returns %d\n", path, ret);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -854,33 +884,3 @@ fprintf(stderr,"libburn experimental: Nothing found for %s \n",path);
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ts A60923 */
|
|
||||||
/** Try to obtain host,channel,target,lun from path.
|
|
||||||
@return 1 = success , 0 = failure , -1 = severe error
|
|
||||||
*/
|
|
||||||
int burn_drive_obtain_scsi_adr(char *path, int *host_no, int *channel_no,
|
|
||||||
int *target_no, int *lun_no)
|
|
||||||
{
|
|
||||||
int ret, i;
|
|
||||||
char adr[BURN_DRIVE_ADR_LEN];
|
|
||||||
|
|
||||||
/* open drives cannot be inquired by sg_obtain_scsi_adr() */
|
|
||||||
for (i = 0; i < drivetop + 1; i++) {
|
|
||||||
if (drive_array[i].global_index < 0)
|
|
||||||
continue;
|
|
||||||
ret = burn_drive_raw_get_adr(&(drive_array[i]),adr);
|
|
||||||
if (ret <= 0)
|
|
||||||
continue;
|
|
||||||
if (strcmp(adr, path) == 0) {
|
|
||||||
*host_no = drive_array[i].host;
|
|
||||||
*channel_no = drive_array[i].channel;
|
|
||||||
*target_no = drive_array[i].id;
|
|
||||||
*lun_no = drive_array[i].lun;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = sg_obtain_scsi_adr(path, host_no, channel_no, target_no, lun_no);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user