X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=extras%2Fscsi_id%2Fscsi_id.h;h=4536cfd4f2596f260aa277296837d68c5f6fa21d;hb=4e9fdfccbdd16f0cfdb5c8fa8484a8ba0f2e69d3;hp=d7f675fa0b4d7814b1726749e1318748747dd2c2;hpb=11678eff6a40b05d192be65146a66d5e1e8252ec;p=elogind.git diff --git a/extras/scsi_id/scsi_id.h b/extras/scsi_id/scsi_id.h index d7f675fa0..4536cfd4f 100644 --- a/extras/scsi_id/scsi_id.h +++ b/extras/scsi_id/scsi_id.h @@ -30,11 +30,29 @@ */ #define MAX_BUFFER_LEN 256 -extern int scsi_get_serial (struct sysfs_device *dev_scsi, const char *devname, - int page_code, char *serial, char *serial_short, int len); +struct scsi_id_device { + char vendor[9]; + char model[17]; + char revision[5]; + char type[33]; + char kernel[64]; + char serial[MAX_SERIAL_LEN]; + char serial_short[MAX_SERIAL_LEN]; + int use_sg; + + /* Always from page 0x80 e.g. 'B3G1P8500RWT' - may not be unique */ + char unit_serial_number[MAX_SERIAL_LEN]; + + /* NULs if not set - otherwise hex encoding using lower-case e.g. '50014ee0016eb572' */ + char wwn[17]; +}; + +extern int scsi_std_inquiry(struct udev *udev, struct scsi_id_device *dev_scsi, const char *devname); +extern int scsi_get_serial (struct udev *udev, struct scsi_id_device *dev_scsi, const char *devname, + int page_code, int len); /* - * Page code values. + * Page code values. */ enum page_code { PAGE_83_PRE_SPC3 = -0x83, @@ -42,3 +60,4 @@ enum page_code { PAGE_80 = 0x80, PAGE_83 = 0x83, }; +