Annotation of ntddk/src/scsi/scsitape/4mmdat/4mmdat.h, revision 1.1.1.1

1.1       root        1: /*++
                      2: 
                      3: Copyright (c) 1992  Microsoft Corporation
                      4: 
                      5: Module Name:
                      6: 
                      7:     4mmdat.h
                      8: 
                      9: Abstract:
                     10: 
                     11:     This file contains structures and defines that are used
                     12:     specifically for the tape drivers.
                     13: 
                     14: Author:
                     15: 
                     16:     Lori Brown       (Maynard)
                     17: 
                     18: Revision History:
                     19: 
                     20: --*/
                     21: 
                     22: //
                     23: // Defines for Log Sense Pages
                     24: //
                     25: 
                     26: #define LOGSENSEPAGE0                        0x00
                     27: #define LOGSENSEPAGE2                        0x02
                     28: #define LOGSENSEPAGE3                        0x03
                     29: #define LOGSENSEPAGE30                       0x30
                     30: #define LOGSENSEPAGE31                       0x31
                     31: 
                     32: //
                     33: // Defined Log Sense Page Header
                     34: //
                     35: 
                     36: typedef struct _LOG_SENSE_PAGE_HEADER {
                     37: 
                     38:    UCHAR PageCode : 6;
                     39:    UCHAR Reserved1 : 2;
                     40:    UCHAR Reserved2;
                     41:    UCHAR Length[2];           // [0]=MSB ... [1]=LSB
                     42: 
                     43: } LOG_SENSE_PAGE_HEADER, *PLOG_SENSE_PAGE_HEADER;
                     44: 
                     45: 
                     46: //
                     47: // Defined Log Sense Parameter Header
                     48: //
                     49: 
                     50: typedef struct _LOG_SENSE_PARAMETER_HEADER {
                     51: 
                     52:    UCHAR ParameterCode[2];    // [0]=MSB ... [1]=LSB
                     53:    UCHAR LPBit     : 1;
                     54:    UCHAR Reserved1 : 1;
                     55:    UCHAR TMCBit    : 2;
                     56:    UCHAR ETCBit    : 1;
                     57:    UCHAR TSDBit    : 1;
                     58:    UCHAR DSBit     : 1;
                     59:    UCHAR DUBit     : 1;
                     60:    UCHAR ParameterLength;
                     61: 
                     62: } LOG_SENSE_PARAMETER_HEADER, *PLOG_SENSE_PARAMETER_HEADER;
                     63: 
                     64: 
                     65: //
                     66: // Defined Log Page Information - statistical values, accounts
                     67: // for maximum parameter values that is returned for each page
                     68: //
                     69: 
                     70: typedef struct _LOG_SENSE_PAGE_INFORMATION {
                     71: 
                     72:    union {
                     73: 
                     74:        struct {
                     75:           UCHAR Page0;
                     76:           UCHAR Page2;
                     77:           UCHAR Page3;
                     78:           UCHAR Page30;
                     79:           UCHAR Page31;
                     80:        } PageData ;
                     81: 
                     82:        struct {
                     83:           LOG_SENSE_PARAMETER_HEADER Parm1;
                     84:           UCHAR TotalRewrites[2];
                     85:           LOG_SENSE_PARAMETER_HEADER Parm2;
                     86:           UCHAR TotalErrorCorrected[3];
                     87:           LOG_SENSE_PARAMETER_HEADER Parm3;
                     88:           UCHAR NotApplicable[2];    // Always 0
                     89:           LOG_SENSE_PARAMETER_HEADER Parm4;
                     90:           UCHAR TotalBytesProcessed[4];
                     91:           LOG_SENSE_PARAMETER_HEADER Parm5;
                     92:           UCHAR TotalUnrecoverableErrors[2];
                     93:           LOG_SENSE_PARAMETER_HEADER Parm6;
                     94:           UCHAR RewritesLastReadOp[2];
                     95:        } Page2 ;
                     96: 
                     97:        struct {
                     98:           LOG_SENSE_PARAMETER_HEADER Parm1;
                     99:           UCHAR TotalRereads[2];
                    100:           LOG_SENSE_PARAMETER_HEADER Parm2;
                    101:           UCHAR TotalErrorCorrected[3];
                    102:           LOG_SENSE_PARAMETER_HEADER Parm3;
                    103:           UCHAR TotalCorrectableECCC3[2];
                    104:           LOG_SENSE_PARAMETER_HEADER Parm4;
                    105:           UCHAR TotalBytesProcessed[4];
                    106:           LOG_SENSE_PARAMETER_HEADER Parm5;
                    107:           UCHAR TotalUnrecoverableErrors[2];
                    108:           LOG_SENSE_PARAMETER_HEADER Parm6;
                    109:           UCHAR RereadsLastWriteOp[2];
                    110:        } Page3 ;
                    111: 
                    112:        struct {
                    113:           LOG_SENSE_PARAMETER_HEADER Parm1;
                    114:           UCHAR CurrentGroupsWritten[3];
                    115:           LOG_SENSE_PARAMETER_HEADER Parm2;
                    116:           UCHAR CurrentRewrittenFrames[2];
                    117:           LOG_SENSE_PARAMETER_HEADER Parm3;
                    118:           UCHAR CurrentGroupsRead[3];
                    119:           LOG_SENSE_PARAMETER_HEADER Parm4;
                    120:           UCHAR CurrentECCC3Corrections[2];
                    121:           LOG_SENSE_PARAMETER_HEADER Parm5;
                    122:           UCHAR PreviousGroupsWritten[3];
                    123:           LOG_SENSE_PARAMETER_HEADER Parm6;
                    124:           UCHAR PreviousRewrittenFrames[2];
                    125:           LOG_SENSE_PARAMETER_HEADER Parm7;
                    126:           UCHAR PreviousGroupsRead[3];
                    127:           LOG_SENSE_PARAMETER_HEADER Parm8;
                    128:           UCHAR PreviousECCC3Corrections[2];
                    129:           LOG_SENSE_PARAMETER_HEADER Parm9;
                    130:           UCHAR TotalGroupsWritten[4];
                    131:           LOG_SENSE_PARAMETER_HEADER Parm10;
                    132:           UCHAR TotalRewritteFrames[3];
                    133:           LOG_SENSE_PARAMETER_HEADER Parm11;
                    134:           UCHAR TotalGroupsRead[4];
                    135:           LOG_SENSE_PARAMETER_HEADER Parm12;
                    136:           UCHAR TotalECCC3Corrections[3];
                    137:           LOG_SENSE_PARAMETER_HEADER Parm13;
                    138:           UCHAR LoadCount[2];
                    139:        } Page30 ;
                    140: 
                    141:        struct {
                    142:           LOG_SENSE_PARAMETER_HEADER Parm1;
                    143:           UCHAR RemainingCapacityPart0[4];
                    144:           LOG_SENSE_PARAMETER_HEADER Parm2;
                    145:           UCHAR RemainingCapacityPart1[4];
                    146:           LOG_SENSE_PARAMETER_HEADER Parm3;
                    147:           UCHAR MaximumCapacityPart0[4];
                    148:           LOG_SENSE_PARAMETER_HEADER Parm4;
                    149:           UCHAR MaximumCapacityPart1[4];
                    150:        } Page31 ;
                    151: 
                    152:    } LogSensePage;
                    153: 
                    154: 
                    155: } LOG_SENSE_PAGE_INFORMATION, *PLOG_SENSE_PAGE_INFORMATION;
                    156: 
                    157: 
                    158: 
                    159: //
                    160: // Defined Log Sense Parameter Format - statistical values, accounts
                    161: // for maximum parameter values that is returned
                    162: //
                    163: 
                    164: typedef struct _LOG_SENSE_PARAMETER_FORMAT {
                    165: 
                    166:    LOG_SENSE_PAGE_HEADER       LogSenseHeader;
                    167:    LOG_SENSE_PAGE_INFORMATION  LogSensePageInfo;
                    168: 
                    169: } LOG_SENSE_PARAMETER_FORMAT, *PLOG_SENSE_PARAMETER_FORMAT;
                    170: 
                    171: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.