New less obtrusive implementation of sg_is_enumerable_adr for Solaris
This commit is contained in:
parent
aa75610bf9
commit
c2effb58dd
@ -1 +1 @@
|
|||||||
#define Cdrskin_timestamP "2010.06.11.104830"
|
#define Cdrskin_timestamP "2010.06.13.190707"
|
||||||
|
@ -717,6 +717,27 @@ int sg_obtain_scsi_adr(char *path, int *bus_no, int *host_no, int *channel_no,
|
|||||||
/** Tells wether a text is a persistent address as listed by the enumeration
|
/** Tells wether a text is a persistent address as listed by the enumeration
|
||||||
functions.
|
functions.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifndef NIX
|
||||||
|
|
||||||
|
int sg_is_enumerable_adr(char* path)
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
|
int bus_no, target_no, lun_no;
|
||||||
|
struct stat stbuf;
|
||||||
|
|
||||||
|
if (strncmp("/dev/rdsk/", path, 10) != 0)
|
||||||
|
return 0;
|
||||||
|
ret = decode_btl_solaris(path + 10, &bus_no, &target_no, &lun_no, 0);
|
||||||
|
if (ret <= 0)
|
||||||
|
return 0;
|
||||||
|
if (stat(path, &stbuf) == -1)
|
||||||
|
return 0;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
#else /* ! NIX */
|
||||||
|
|
||||||
int sg_is_enumerable_adr(char* adr)
|
int sg_is_enumerable_adr(char* adr)
|
||||||
{
|
{
|
||||||
burn_drive_enumerator_t idx;
|
burn_drive_enumerator_t idx;
|
||||||
@ -736,6 +757,8 @@ int sg_is_enumerable_adr(char* adr)
|
|||||||
sg_give_next_adr(&idx, buf, sizeof(buf), -1);
|
sg_give_next_adr(&idx, buf, sizeof(buf), -1);
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
#endif /* NIX */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user