// (C) Copyright COMPAQ Computer Corporation 1994, All rights reserved. //*************************************************************************** // // Module : SCSIREG.H // // Version: 1.0 // // Author : David Green // //*************************************************************************** // // Change Log: // // 06/30/94 DRG - Split SCSI Registry info from CPQNTREG.H // //**************************************************************************** #ifndef _SCSIREG_H #define _SCSIREG_H #pragma pack(1) // *************************************************************************** // // COMPAQ SCSI SUPPORT MIB // // *************************************************************************** /* SCSI device types */ #ifndef CPQ_REG_OTHER #define CPQ_REG_OTHER 1 #endif #define SCSI_DEV_TYPE_DISK 2 #define SCSI_DEV_TYPE_TAPE 3 #define SCSI_DEV_TYPE_PRINTER 4 #define SCSI_DEV_TYPE_PROCESSOR 5 #define SCSI_DEV_TYPE_WORMDRIVE 6 #define SCSI_DEV_TYPE_CDROM 7 #define SCSI_DEV_TYPE_SCANNER 8 #define SCSI_DEV_TYPE_OPTICAL 9 #define SCSI_DEV_TYPE_JUKEBOX 10 #define SCSI_DEV_TYPE_COMMDEV 11 /* SCSI data bus width for both the controller & devices */ // CPQ_REG_OTHER 1 #define SCSI_WIDTH_NARROW 2 #define SCSI_WIDTH_WIDE16 3 /* SCSI device locations */ // CPQ_REG_OTHER 1 #define SCSI_DEV_LOC_PROLIANT 2 // COMPAQ\SCSI\COMPONENT\DEVICE[xx] typedef struct _CPQ_SCSI_DEVICE { BYTE devCntlrIndex; BYTE devBusIndex; BYTE devScsiIdIndex; BYTE devType; BYTE devLocation; CHAR devModel[17]; CHAR devFWRev[5]; CHAR devVendor[9]; ULONG devParityErrs; ULONG devPhasErrs; ULONG devSelectTimeouts; ULONG devMsgRejects; ULONG devNegPeriod; // New fields ULONG devNegSpeed; ULONG devPhysWidth; ULONG devNegWidth; BYTE bReserved[16]; // Not in MIB } CPQ_SCSI_DEVICE, * pCPQ_SCSI_DEVICE; /* SCSI controller models */ // CPQ_REG_OTHER 1 #define SCSI_CNTLR_MODEL_710 2 // c710 EISA #define SCSI_CNTLR_MODEL_94 3 // c94 EISA #define SCSI_CNTLR_MODEL_810 4 // c810 PCI #define SCSI_CNTLR_MODEL_825e 5 // c825 EISA #define SCSI_CNTLR_MODEL_825p 6 // c825 PCI #define SCSI_CNTLR_MODEL_974p 7 // AM53c974 PCI /* SCSI controller status */ // CPQ_REG_OTHER 1 #define SCSI_CNTLR_STATUS_OK 2 #define SCSI_CNTLR_STATUS_FAILED 3 // COMPAQ\SCSI\COMPONENT\SCSICNTLR[XX] typedef struct _CPQ_SCSI_CNTLR { BYTE cntlrIndex; BYTE cntlrBusIndex; BYTE cntlrModel; BYTE cntlrSlot; BYTE cntlrStatus; BYTE cntlrCondition; CHAR cntlrFWVers[5]; CHAR cntlrSWVers[5]; ULONG cntlrHardResets; ULONG cntlrSoftResets; ULONG cntlrTimeouts; ULONG cntlrBaseIOAddr; BYTE cntlrSerialNumber[16]; ULONG cntlrBoardId; ULONG cntlrBoardRevision; ULONG cntlrBoardWidth; BYTE bReserved[16]; // Not in MIB } CPQ_SCSI_CNTLR, * pCPQ_SCSI_CNTLR; // This is deprecated, but some code still references it /* SCSI logical drive fault tolerance values (defined with IDA) */ // CPQ_REG_OTHER 1 // FAULT_TOL_NONE 2 // FAULT_TOL_MIRRORING 3 // FAULT_TOL_RAID4 4 // FAULT_TOL_RAID5 5 /* SCSI logical drive status values (defined with IDA) */ // CPQ_REG_OTHER 1 // LOG_DRV_OK 2 // LOG_DRV_FAILED 3 // LOG_DRV_UNCONFIGURED 4 // LOG_DRV_RECOVERING 5 // LOG_DRV_READY_REBUILD 6 // LOG_DRV_REBUILDING 7 // LOG_DRV_WRONG_DRIVE 8 // LOG_DRV_BAD_CONNECT 9 // COMPAQ\SCSI\COMPONENT\LOGDRV[XX] typedef struct _CPQ_SCSI_LOGICAL { BYTE logDrvCntlrIndex; BYTE logDrvBusIndex; BYTE logDrvIndex; BYTE logDrvFaultTol; BYTE logDrvStatus; BYTE logDrvCondition; ULONG logDrvSize; BYTE logDrvPhyDrvIDs[33]; } CPQ_SCSI_LOGICAL, * pCPQ_SCSI_LOGICAL; /* SCSI physical drive status */ // CPQ_REG_OTHER 1 #define SCSI_PHYS_STATUS_OK 2 #define SCSI_PHYS_STATUS_FAILED 3 #define SCSI_PHYS_STATUS_NOT_CONFIGURED 4 #define SCSI_PHYS_STATUS_BAD_CABLE 5 #define SCSI_PHYS_STATUS_MISSING_WAS_OK 6 #define SCSI_PHYS_STATUS_MISSING_WAS_FAILED 7 /* SCSI physical drive statistics preservation */ // CPQ_REG_OTHER 1 #define SCSI_PHYS_PRES_NVRAM 2 #define SCSI_PHYS_PRES_DISK 3 #define SCSI_PHYS_PRES_NO_CPU 4 #define SCSI_PHYS_PRES_NO_NVRAM 5 #define SCSI_PHYS_PRES_NO_DRV 6 #define SCSI_PHYS_PRES_NO_SW 7 /* Physical drive placement values */ // CPQ_REG_OTHER 1 // PHYS_DRV_PLACE_INTERNAL 2 // PHYS_DRV_PLACE_EXTERNAL 3 /* Physical drive hot plug values */ // CPQ_REG_OTHER 1 // PHYS_DRV_HOT_PLUG 2 // PHYS_DRV_NOT_HOT_PLUG 3 // COMPAQ\SCSI\COMPONENT\PHYDRV[XX] typedef struct _CPQ_SCSI_PHYSICAL { BYTE phyDrvCntlrIndex; BYTE phyDrvBusIndex; BYTE phyDrvIndex; CHAR phyDrvModel[17]; CHAR phyDrvFWRev[5]; CHAR phyDrvVendor[9]; ULONG phyDrvSize; BYTE phyDrvScsiId; BYTE phyDrvStatus; ULONG phyDrvServiceHours; ULONG phyDrvReads; ULONG phyDrvHReads; ULONG phyDrvWrites; ULONG phyDrvHWrites; ULONG phyDrvHardReadErrs; ULONG phyDrvHardWriteErrs; ULONG phyDrvEccCorrReads; ULONG phyDrvRecvReadErrs; ULONG phyDrvRecvWriteErrs; ULONG phyDrvSeekErrs; ULONG phyDrvSpinupTime; ULONG phyDrvUsedRealloc; ULONG phyDrvTimeouts; ULONG phyDrvPostErrs; ULONG phyDrvPostCode; BYTE phyDrvCondition; BYTE phyDrvFuncTest1; BYTE phyDrvFuncTest2; BYTE phyDrvStatsPreserved; CHAR phyDrvSerialNum[13]; BYTE phyDrvPlacement; BYTE phyDrvParent; ULONG phyDrvSectorSize; BYTE phyDrvHotPlug; BYTE phyDrvReserved[17]; // Reserved for alignment } CPQ_SCSI_PHYSICAL, * pCPQ_SCSI_PHYSICAL; #pragma pack() #endif