+ int i;
+ static struct {
+ char * vendor;
+ char * product;
+ int (*getuid) (int fd, char * wwid);
+ } wlist[] = {
+ {"COMPAQ ", "HSV110 (C)COMPAQ", &get_evpd_wwid},
+ {"COMPAQ ", "MSA1000 ", &get_evpd_wwid},
+ {"COMPAQ ", "MSA1000 VOLUME ", &get_evpd_wwid},
+ {"DEC ", "HSG80 ", &get_evpd_wwid},
+ {"HP ", "HSV100 ", &get_evpd_wwid},
+ {"HP ", "A6189A ", &get_evpd_wwid},
+ {"HP ", "OPEN- ", &get_evpd_wwid},
+ {"DDN ", "SAN DataDirector", &get_evpd_wwid},
+ {"FSC ", "CentricStor ", &get_evpd_wwid},
+ {"HITACHI ", "DF400 ", &get_evpd_wwid},
+ {"HITACHI ", "DF500 ", &get_evpd_wwid},
+ {"HITACHI ", "DF600 ", &get_evpd_wwid},
+ {"IBM ", "ProFibre 4000R ", &get_evpd_wwid},
+ {"SGI ", "TP9100 ", &get_evpd_wwid},
+ {"SGI ", "TP9300 ", &get_evpd_wwid},
+ {"SGI ", "TP9400 ", &get_evpd_wwid},
+ {"SGI ", "TP9500 ", &get_evpd_wwid},
+ {NULL, NULL, NULL},
+ };
+
+ for (i = 0; wlist[i].vendor; i++) {
+ if (strncmp(mypath->vendor_id, wlist[i].vendor, 8) == 0 &&
+ strncmp(mypath->product_id, wlist[i].product, 16) == 0) {
+ wlist[i].getuid(fd, mypath->wwid);
+ return 0;
+ }