aboutsummaryrefslogtreecommitdiff
path: root/src/sg_vpd_vendor.c
diff options
context:
space:
mode:
authorDouglas Gilbert <dgilbert@interlog.com>2022-08-12 02:12:48 +0000
committerDouglas Gilbert <dgilbert@interlog.com>2022-08-12 02:12:48 +0000
commit048bd1272b7256331117b0e7b1ab5d22cf308067 (patch)
tree3f86090e36f01551afc2aa8132ce3660d878d57a /src/sg_vpd_vendor.c
parent4ea97e60c544ad44ee7396c815064d87f0d25874 (diff)
downloadsg3_utils-048bd1272b7256331117b0e7b1ab5d22cf308067.tar.gz
sg_inq+sg_vpd: more JSON work (add SG_C_CPP_ZERO_INIT)
git-svn-id: https://svn.bingwo.ca/repos/sg3_utils/trunk@966 6180dd3e-e324-4e3e-922d-17de1ae2f315
Diffstat (limited to 'src/sg_vpd_vendor.c')
-rw-r--r--src/sg_vpd_vendor.c133
1 files changed, 0 insertions, 133 deletions
diff --git a/src/sg_vpd_vendor.c b/src/sg_vpd_vendor.c
index 2f9dc10f..23df1442 100644
--- a/src/sg_vpd_vendor.c
+++ b/src/sg_vpd_vendor.c
@@ -100,86 +100,6 @@
#define DEF_ALLOC_LEN 252
#define MX_ALLOC_LEN (0xc000 + 0x80)
-
-struct svpd_vp_name_t {
- int vend_prod_num; /* vendor/product identifier */
- const char * acron;
- const char * name;
-};
-
-
-/* Supported vendor specific VPD pages */
-/* Arrange in alphabetical order by acronym */
-static struct svpd_vp_name_t vp_arr[] = {
- {VPD_VP_DDS, "dds", "DDS tape family from IBM"},
- {VPD_VP_EMC, "emc", "EMC (company)"},
- {VPD_VP_WDC_HITACHI, "hit", "WDC/Hitachi disk"},
- {VPD_VP_HP3PAR, "hp3par", "3PAR array (HP was Left Hand)"},
- {VPD_VP_HP_LTO, "hp_lto", "HP LTO tape/systems"},
- {VPD_VP_IBM_LTO, "ibm_lto", "IBM LTO tape/systems"},
- {VPD_VP_NVME, "nvme", "NVMe related"},
- {VPD_VP_RDAC, "rdac", "RDAC array (NetApp E-Series)"},
- {VPD_VP_SEAGATE, "sea", "Seagate disk"},
- {VPD_VP_SG, "sg", "sg3_utils extensions"},
- {VPD_VP_WDC_HITACHI, "wdc", "WDC/Hitachi disk"},
- {0, NULL, NULL},
-};
-
-/* Supported vendor specific VPD pages */
-/* 'subvalue' holds vendor/product number to disambiguate */
-/* Arrange in alphabetical order by acronym */
-static struct svpd_values_name_t vendor_vpd_pg[] = {
- {VPD_V_ACI_LTO, VPD_VP_HP_LTO, 1, "aci", "ACI revision level (HP LTO)"},
- {VPD_V_DATC_SEA, VPD_VP_SEAGATE, 0, "datc", "Date code (Seagate)"},
- {VPD_V_DCRL_LTO, VPD_VP_IBM_LTO, 1, "dcrl", "Drive component revision "
- "levels (IBM LTO)"},
- {VPD_V_FVER_DDS, VPD_VP_DDS, 1, "ddsver", "Firmware revision (DDS)"},
- {VPD_V_DEV_BEH_SEA, VPD_VP_SEAGATE, 0, "devb", "Device behavior "
- "(Seagate)"},
- {VPD_V_DSN_LTO, VPD_VP_IBM_LTO, 1, "dsn", "Drive serial numbers (IBM "
- "LTO)"},
- {VPD_V_DUCD_LTO, VPD_VP_IBM_LTO, 1, "ducd", "Device unique "
- "configuration data (IBM LTO)"},
- {VPD_V_EDID_RDAC, VPD_VP_RDAC, 0, "edid", "Extended device "
- "identification (RDAC)"},
- {VPD_V_FIRM_SEA, VPD_VP_SEAGATE, 0, "firm", "Firmware numbers "
- "(Seagate)"},
- {VPD_V_FVER_LTO, VPD_VP_HP_LTO, 0, "frl", "Firmware revision level "
- "(HP LTO)"},
- {VPD_V_FVER_RDAC, VPD_VP_RDAC, 0, "fwr4", "Firmware version (RDAC)"},
- {VPD_V_HEAD_LTO, VPD_VP_HP_LTO, 1, "head", "Head Assy revision level "
- "(HP LTO)"},
- {VPD_V_HP3PAR, VPD_VP_HP3PAR, 0, "hp3par", "Volume information "
- "(HP/3PAR)"},
- {VPD_V_HVER_LTO, VPD_VP_HP_LTO, 1, "hrl", "Hardware revision level "
- "(HP LTO)"},
- {VPD_V_HVER_RDAC, VPD_VP_RDAC, 0, "hwr4", "Hardware version (RDAC)"},
- {VPD_V_JUMP_SEA, VPD_VP_SEAGATE, 0, "jump", "Jump setting (Seagate)"},
- {VPD_V_MECH_LTO, VPD_VP_HP_LTO, 1, "mech", "Mechanism revision level "
- "(HP LTO)"},
- {VPD_V_MPDS_LTO, VPD_VP_IBM_LTO, 1, "mpds", "Mode parameter default "
- "settings (IBM LTO)"},
- {SG_NVME_VPD_NICR, VPD_VP_SG, 0, "nicr",
- "NVMe Identify Controller Response (sg3_utils)"},
- {VPD_V_PCA_LTO, VPD_VP_HP_LTO, 1, "pca", "PCA revision level (HP LTO)"},
- {VPD_V_FEAT_RDAC, VPD_VP_RDAC, 0, "prm4", "Feature Parameters (RDAC)"},
- {VPD_V_RVSI_RDAC, VPD_VP_RDAC, 0, "rvsi", "Replicated volume source "
- "identifier (RDAC)"},
- {VPD_V_SAID_RDAC, VPD_VP_RDAC, 0, "said", "Storage array world wide "
- "name (RDAC)"},
- {VPD_V_SUBS_RDAC, VPD_VP_RDAC, 0, "subs", "Subsystem identifier (RDAC)"},
- {VPD_V_SVER_RDAC, VPD_VP_RDAC, 0, "swr4", "Software version (RDAC)"},
- {VPD_V_UPR_EMC, VPD_VP_EMC, 0, "upr", "Unit path report (EMC)"},
- {VPD_V_VAC_RDAC, VPD_VP_RDAC, 0, "vac1", "Volume access control (RDAC)"},
- {VPD_V_HIT_PG3, VPD_VP_WDC_HITACHI, 0, "wp3", "Page 0x3 (WDC/Hitachi)"},
- {VPD_V_HIT_PG_D1, VPD_VP_WDC_HITACHI, 0, "wpd1",
- "Page 0xd1 (WDC/Hitachi)"},
- {VPD_V_HIT_PG_D2, VPD_VP_WDC_HITACHI, 0, "wpd2",
- "Page 0xd2 (WDC/Hitachi)"},
- {0, 0, 0, NULL, NULL},
-};
-
-
void
dup_sanity_chk(int sz_opts_t, int sz_values_name_t)
{
@@ -260,22 +180,6 @@ svpd_find_vendor_by_num(int page_num, int vend_prod_num)
return NULL;
}
-
-int
-svpd_find_vp_num_by_acron(const char * vp_ap)
-{
- size_t len;
- const struct svpd_vp_name_t * vpp;
-
- for (vpp = vp_arr; vpp->acron; ++vpp) {
- len = strlen(vpp->acron);
- if (0 == strncmp(vpp->acron, vp_ap, len))
- return vpp->vend_prod_num;
- }
- return -1;
-}
-
-
const struct svpd_values_name_t *
svpd_find_vendor_by_acron(const char * ap)
{
@@ -288,43 +192,6 @@ svpd_find_vendor_by_acron(const char * ap)
return NULL;
}
-/* if vend_prod_num < -1 then list vendor_product ids + vendor pages, =-1
- * list only vendor_product ids, else list pages for that vend_prod_num */
-void
-svpd_enumerate_vendor(int vend_prod_num)
-{
- bool seen;
- const struct svpd_vp_name_t * vpp;
- const struct svpd_values_name_t * vnp;
-
- if (vend_prod_num < 0) {
- for (seen = false, vpp = vp_arr; vpp->acron; ++vpp) {
- if (vpp->name) {
- if (! seen) {
- printf("\nVendor/product identifiers:\n");
- seen = true;
- }
- printf(" %-10s %d %s\n", vpp->acron,
- vpp->vend_prod_num, vpp->name);
- }
- }
- }
- if (-1 == vend_prod_num)
- return;
- for (seen = false, vnp = vendor_vpd_pg; vnp->acron; ++vnp) {
- if ((vend_prod_num >= 0) && (vend_prod_num != vnp->subvalue))
- continue;
- if (vnp->name) {
- if (! seen) {
- printf("\nVendor specific VPD pages:\n");
- seen = true;
- }
- printf(" %-10s 0x%02x,%d %s\n", vnp->acron,
- vnp->value, vnp->subvalue, vnp->name);
- }
- }
-}
-
int
svpd_count_vendor_vpds(int vpd_pn, int vend_prod_num)
{