diff options
author | Douglas Gilbert <dgilbert@interlog.com> | 2022-08-12 02:12:48 +0000 |
---|---|---|
committer | Douglas Gilbert <dgilbert@interlog.com> | 2022-08-12 02:12:48 +0000 |
commit | 048bd1272b7256331117b0e7b1ab5d22cf308067 (patch) | |
tree | 3f86090e36f01551afc2aa8132ce3660d878d57a /src/sg_vpd_common.h | |
parent | 4ea97e60c544ad44ee7396c815064d87f0d25874 (diff) | |
download | sg3_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_common.h')
-rw-r--r-- | src/sg_vpd_common.h | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/src/sg_vpd_common.h b/src/sg_vpd_common.h index bc2bbfac..722da1fd 100644 --- a/src/sg_vpd_common.h +++ b/src/sg_vpd_common.h @@ -66,6 +66,58 @@ extern "C" { #define VPD_CON_POS_RANGE 0xb9 /* sbc5r01 */ #define VPD_NOPE_WANT_STD_INQ -2 /* request for standard inquiry */ +/* vendor/product identifiers */ +#define VPD_VP_SEAGATE 0 +#define VPD_VP_RDAC 1 +#define VPD_VP_EMC 2 +#define VPD_VP_DDS 3 +#define VPD_VP_HP3PAR 4 +#define VPD_VP_IBM_LTO 5 +#define VPD_VP_HP_LTO 6 +#define VPD_VP_WDC_HITACHI 7 +#define VPD_VP_NVME 8 +#define VPD_VP_SG 9 /* this package/library as a vendor */ + + +/* vendor VPD pages */ +#define VPD_V_HIT_PG3 0x3 +#define VPD_V_HP3PAR 0xc0 +#define VPD_V_FIRM_SEA 0xc0 +#define VPD_V_UPR_EMC 0xc0 +#define VPD_V_HVER_RDAC 0xc0 +#define VPD_V_FVER_DDS 0xc0 +#define VPD_V_FVER_LTO 0xc0 +#define VPD_V_DCRL_LTO 0xc0 +#define VPD_V_DATC_SEA 0xc1 +#define VPD_V_FVER_RDAC 0xc1 +#define VPD_V_HVER_LTO 0xc1 +#define VPD_V_DSN_LTO 0xc1 +#define VPD_V_JUMP_SEA 0xc2 +#define VPD_V_SVER_RDAC 0xc2 +#define VPD_V_PCA_LTO 0xc2 +#define VPD_V_DEV_BEH_SEA 0xc3 +#define VPD_V_FEAT_RDAC 0xc3 +#define VPD_V_MECH_LTO 0xc3 +#define VPD_V_SUBS_RDAC 0xc4 +#define VPD_V_HEAD_LTO 0xc4 +#define VPD_V_ACI_LTO 0xc5 +#define VPD_V_DUCD_LTO 0xc7 +#define VPD_V_EDID_RDAC 0xc8 +#define VPD_V_MPDS_LTO 0xc8 +#define VPD_V_VAC_RDAC 0xc9 +#define VPD_V_RVSI_RDAC 0xca +#define VPD_V_SAID_RDAC 0xd0 +#define VPD_V_HIT_PG_D1 0xd1 +#define VPD_V_HIT_PG_D2 0xd2 + +#ifndef SG_NVME_VPD_NICR +#define SG_NVME_VPD_NICR 0xde /* NVME Identify Controller Response */ +#endif + +#define DEF_ALLOC_LEN 252 +#define MX_ALLOC_LEN (0xc000 + 0x80) +#define DEF_PT_TIMEOUT 60 /* 60 seconds */ + enum sg_vpd_invoker_e { SG_VPD_INV_NONE = 0, SG_VPD_INV_SG_INQ, @@ -126,6 +178,12 @@ struct svpd_values_name_t { const char * name; }; +struct svpd_vp_name_t { + int vend_prod_num; /* vendor/product identifier */ + const char * acron; + const char * name; +}; + typedef int (*recurse_vpd_decodep)(struct opts_t *, sgj_opaque_p jop, int off); @@ -202,6 +260,8 @@ extern const char * product_id_hr; extern const char * product_id_js; extern const char * product_rev_lev_hr; extern const char * product_rev_lev_js; +extern struct svpd_vp_name_t vp_arr[]; +extern struct svpd_values_name_t vendor_vpd_pg[]; #ifdef __cplusplus |