Annotation of Examples/DriverKit/SCSITape/SCSITape_reloc.tproj/SCSITape.h, revision 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.