Annotation of Examples/DriverKit/SCSITape/SCSITape_reloc.tproj/SCSITape.h, revision 1.1.1.1

1.1       root        1: 
                      2: /*     Copyright (c) 1993 NeXT Computer, Inc.  All rights reserved. 
                      3:  *
                      4:  * SCSITape.h - Interface for SCSI Tape device class. 
                      5:  *
                      6:  * HISTORY
                      7:  * 31-Mar-93    Phillip Dibner at NeXT
                      8:  *      Created.
                      9:  */
                     10:  
                     11: #import <driverkit/return.h>
                     12: #import <driverkit/scsiTypes.h>
                     13: #import <driverkit/generalFuncs.h>
                     14: #import <dev/scsireg.h>
                     15: #import <machkit/NXLock.h>
                     16: #import <objc/Protocol.h>
                     17: #import "SCSITapeTypes.h"
                     18: 
                     19: 
                     20: @interface SCSITape: IODevice
                     21: {
                     22: @private
                     23:     /*
                     24:      * Configuration information
                     25:      */
                     26:     id                 _controller;    // the SCSIController object which does
                     27:                                // our SCSI transactions
                     28:     u_char     _target;        // target/lun of this device
                     29:     u_char     _lun;
                     30: 
                     31:     int                _majorDevNum;
                     32: 
                     33:     int                _blockSize;
                     34: 
                     35:     /*
                     36:      * Driver state
                     37:      */
                     38:     esense_reply_t     *_senseDataPtr; // for MTIOCGET 
                     39:     id                 _devLock;       // NXLock for exclusive open
                     40:     BOOL               _isInitialized; // Object has been initialized
                     41:     BOOL               _devAcquired;   // device reserved by some task
                     42:     BOOL               _didWrite;      // last command was a write 
                     43:     BOOL               _suppressIllegalLength; // Suppress IL errors
                     44:     BOOL               _senseDataValid;// *_senseDataPtr from last command OK
                     45:     BOOL               _reservedTargetLun; // Controller has reserved t & l
                     46:     BOOL               _ignoreCheckCondition; // during Test Ready in open()
                     47: };
                     48: 
                     49: 
                     50: /* Class methods */
                     51: 
                     52: + (BOOL)probe: deviceDescription;
                     53: + (IODeviceStyle) deviceStyle;
                     54: + (Protocol **) requiredProtocols;
                     55: 
                     56: - (stInitReturn_t) initSCSITape: (int) stUnit
                     57:     target:            (u_char) stTarget
                     58:     lun:               (u_char) stLun
                     59:     controller:                stController
                     60:     majorDeviceNumber: (int) major;
                     61:                   
                     62: - (int)target;
                     63: - (int)lun;
                     64: - controller;
                     65: - (BOOL) isInitialized;
                     66: - (BOOL) isFixedBlock;
                     67: - (BOOL) senseDataValid;
                     68: - (BOOL) didWrite;
                     69: - forceSenseDataInvalid;
                     70: - (struct esense_reply *) senseDataPtr;
                     71: - (int) blockSize;
                     72: - (BOOL) suppressIllegalLength;
                     73: - setSuppressIllegalLength: (BOOL) condition;
                     74: - setReservedTargetLun: (BOOL) condition;
                     75: - (BOOL) ignoreCheckCondition;
                     76: - setIgnoreCheckCondition: (BOOL) condition;
                     77: - (BOOL) reservedTargetLun;
                     78: - (int) majorDevNum;
                     79: - (IOReturn) acquireDevice;
                     80: - (IOReturn) releaseDevice;
                     81: 
                     82: - (sc_status_t) stInquiry: (inquiry_reply_t *) inquiryReply;
                     83: - (BOOL) stTestReady;
                     84: - (sc_status_t) stCloseFile;
                     85: - (sc_status_t) stRewind;
                     86: - (sc_status_t) requestSense: (esense_reply_t *)senseBuf;
                     87: - (sc_status_t) stModeSelect: (struct modesel_parms *) modeSelectParmsPtr;
                     88: - (sc_status_t) stModeSense: (struct modesel_parms *) modeSenseParmsPtr;
                     89: - (sc_status_t) executeMTOperation: (struct mtop *) mtopp;
                     90: - (IOReturn) setBlockSize: (int) blockSize;
                     91: - (sc_status_t) executeRequest: (IOSCSIRequest *)scsiReq
                     92:     buffer:(void *) buffer
                     93:     client:(vm_task_t) client
                     94:     senseBuf:(esense_reply_t *) senseBuf;
                     95: 
                     96: @end
                     97: 
                     98: 

unix.superglobalmegacorp.com

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