X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=extras%2Fscsi_id%2Fscsi_id.h;h=3b8b236368e50c9461681c73e5ed1529e3af3e98;hb=7f4954d04026f28b0ebe65a514f06fefad8efaca;hp=0e2b297d28838567fd50f444bd6183b73496a3f5;hpb=87cf9f5aacf65d0bc186e5e525026cc760290379;p=elogind.git diff --git a/extras/scsi_id/scsi_id.h b/extras/scsi_id/scsi_id.h index 0e2b297d2..3b8b23636 100644 --- a/extras/scsi_id/scsi_id.h +++ b/extras/scsi_id/scsi_id.h @@ -1,4 +1,5 @@ -/* +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * * scsi_id.h * * General defines and such for scsi_id @@ -30,13 +31,32 @@ */ #define MAX_BUFFER_LEN 256 -extern int scsi_std_inquiry(struct sysfs_device *dev_scsi, const char *devname, - char *vendor, char *model, char *rev, char *type); -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]; + + /* NULs if not set - otherwise hex encoding using lower-case e.g. '0xe00000d80000' */ + char wwn_vendor_extension[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, @@ -44,3 +64,4 @@ enum page_code { PAGE_80 = 0x80, PAGE_83 = 0x83, }; +