Annotation of ntddk/src/scsi/qic117/gettcap.c, revision 1.1.1.1

1.1       root        1: /*++
                      2: 
                      3: Copyright (c) 1993 - Colorado Memory Systems, Inc.
                      4: All Rights Reserved
                      5: 
                      6: Module Name:
                      7: 
                      8:     gettcap.c
                      9: 
                     10: Abstract:
                     11: 
                     12:     Gets the capacity of the tape drive (by querying the low-level
                     13:     driver).
                     14: 
                     15: Revision History:
                     16: 
                     17: 
                     18: 
                     19: --*/
                     20: 
                     21: //
                     22: // include files
                     23: //
                     24: 
                     25: #include <ntddk.h>
                     26: #include <ntddtape.h>
                     27: #include "common.h"
                     28: #include "q117.h"
                     29: #include "protos.h"
                     30: 
                     31: 
                     32: STATUS
                     33: q117GetTapeCapacity(
                     34:     struct S_O_DGetCap *ptr,
                     35:     PQ117_CONTEXT Context
                     36:     )
                     37: 
                     38: /*++
                     39: 
                     40: Routine Description:
                     41: 
                     42:     Get the media's capacity from q117i driver
                     43: 
                     44: Arguments:
                     45: 
                     46:     Ptr -
                     47: 
                     48:     Context -
                     49: 
                     50: 
                     51: Return Value:
                     52: 
                     53: 
                     54: --*/
                     55: 
                     56: {
                     57:     struct S_O_DGetCap capacity;
                     58:     IO_REQUEST req;
                     59:     LONG ret;
                     60: 
                     61:     ret = q117DoCmd((PVOID)&req, DGetCap, (PVOID)&capacity, Context);
                     62:     if (!ret) {
                     63: 
                     64:         if (ptr) {
                     65: 
                     66:             *ptr = capacity;
                     67: 
                     68:         } else {
                     69: 
                     70:             Context->CurrentTape.LastSegment = capacity.FormattableSegments - 1;
                     71:             Context->CurrentTape.TapeFormatCode = capacity.TapeFormatCode;
                     72: 
                     73:             //
                     74:             // If more than what can fit in the bad sector map,  then
                     75:             // we got some real problems.
                     76:             //
                     77:             if ((Context->CurrentTape.LastSegment > MAX_BAD_BLOCKS) &&
                     78:                 (Context->CurrentTape.TapeFormatCode == QIC_FORMAT)) {
                     79: 
                     80:                 ret = FCodeErr;
                     81: 
                     82:             }
                     83: 
                     84:             Context->drive_type = capacity.drive_type;
                     85:         }
                     86:     }
                     87:     return(ret);
                     88: }

unix.superglobalmegacorp.com

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