Annotation of ntddk/src/scsi/qic117/getstat.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:     getstat.c
                      9: 
                     10: Abstract:
                     11: 
                     12:     Gets the status of the tape drive (low-level function)
                     13: 
                     14: Revision History:
                     15: 
                     16: 
                     17: 
                     18: 
                     19: --*/
                     20: 
                     21: //
                     22: // include files
                     23: //
                     24: 
                     25: #include <ntddk.h>                        // various NT definitions
                     26: #include <ntdddisk.h>                    // disk device driver I/O control codes
                     27: #include <ntiologc.h>
                     28: #include "common.h"
                     29: #include "drvtask.h"                     // this driver's data declarations
                     30: #include "mt1defs.h"                     // this driver's data declarations
                     31: #include "mt1strc.h"                     // this driver's data declarations
                     32: #include "q117data.h"                    // this driver's data declarations
                     33: 
                     34: 
                     35: STATUS
                     36: Q117iGetStatus(
                     37:     IN PTAPE_EXTENSION TapeExtension,
                     38:     OUT UCHAR *StatusRegister3
                     39:     )
                     40: 
                     41: /*++
                     42: 
                     43: Routine Description:
                     44: 
                     45:     Get status byte from NEC floppy controller chip.
                     46: 
                     47:         Send the Sense Drive Status command to the floppy controller
                     48: 
                     49:         Read the response from the floppy controller which should be satus
                     50:         register 3.
                     51: 
                     52: Arguments:
                     53: 
                     54:     TapeExtension -
                     55: 
                     56:     StatusRegister3 -
                     57: 
                     58: Return Value:
                     59: 
                     60: --*/
                     61: 
                     62: {
                     63:     STATUS retval;
                     64:     SHORT statLength;
                     65:     struct sns_stat_cmd sendSt;
                     66:     FDC_STATUS status;
                     67: 
                     68:     sendSt.command = 0x04;
                     69:     sendSt.drive = (UCHAR)TapeExtension->DriveParms.DriveSelect;
                     70: 
                     71:     if((retval = Q117iProgramFDC(TapeExtension,
                     72:                                 (CHAR *)&sendSt,
                     73:                                 sizeof(sendSt),
                     74:                                 FALSE)) != NoErr) {
                     75: 
                     76:         return(retval);
                     77: 
                     78:     }
                     79: 
                     80:     if((retval = Q117iReadFDC(TapeExtension,
                     81:                             (CHAR *)&status,
                     82:                             (SHORT *)&statLength)) != NoErr) {
                     83: 
                     84:         return(retval);
                     85: 
                     86:     }
                     87: 
                     88:     if(statLength != 1) {
                     89: 
                     90:         return(NECFlt);
                     91: 
                     92:     }
                     93: 
                     94:     *StatusRegister3 = status.ST0;
                     95:     return(retval);
                     96: }
                     97: 

unix.superglobalmegacorp.com

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