Annotation of Examples/DriverKit/AMDPCSCSIDriver/AMDPCSCSIDriver_reloc.tproj/AMD_Chip.h, revision 1.1

1.1     ! root        1: /*     Copyright (c) 1994 NeXT Computer, Inc.  All rights reserved. 
        !             2:  *
        !             3:  * AMD_Chip.h - chip (53C974/79C974) specific methods for AMD SCSI driver
        !             4:  *
        !             5:  * HISTORY
        !             6:  * 21 Oct 94    Doug Mitchell at NeXT
        !             7:  *      Created. 
        !             8:  */
        !             9:  
        !            10: #import "AMD_SCSI.h"
        !            11: #import "AMD_Types.h"
        !            12: 
        !            13: @interface AMD_SCSI(Chip)
        !            14: 
        !            15: /*
        !            16:  * Public methods called by other categories of AMD_SCSI.
        !            17:  */
        !            18:  
        !            19: /*
        !            20:  * One-time-only init and probe. Returns YES if a functioning chip is 
        !            21:  * found, else returns NO. -hwReset must be called subsequent to this 
        !            22:  * to enable operation of the chip.
        !            23:  */ 
        !            24: - (BOOL)probeChip;
        !            25: 
        !            26: /*
        !            27:  * Reusable 53C974 init function. This includes a SCSI reset.
        !            28:  * Handling of ioComplete of active and disconnected commands must be done
        !            29:  * elsewhere. Returns non-zero on error. 
        !            30:  */
        !            31: - (int)hwReset : (const char *)reason;
        !            32: 
        !            33: /*
        !            34:  * reset SCSI bus.
        !            35:  */
        !            36: - (void)scsiReset;
        !            37: 
        !            38: /*
        !            39:  * Return values from -hwStart.
        !            40:  */
        !            41: typedef enum {
        !            42:        HWS_OK,                 // command started successfully
        !            43:        HWS_REJECT,             // command rejected, try another
        !            44:        HWS_BUSY,               // hardware not ready for command
        !            45: } hwStartReturn;
        !            46: 
        !            47: /*
        !            48:  * Start a SCSI transaction for the command in activeCmd. ActiveCmd must be 
        !            49:  * NULL. A return of HWS_REJECT indicates that caller may try again
        !            50:  * with another command; HWS_BUSY indicates a condition other than
        !            51:  * (activeCmd != NULL) which prevents the processing of the command. The
        !            52:  * command will have been enqueued on pendingQ in the latter case. The
        !            53:  * command will have been ioComplete'd in the HWS_REJECT case.
        !            54:  */
        !            55: - (hwStartReturn)hwStart : (commandBuf *)cmdBuf;
        !            56: 
        !            57: /*
        !            58:  * SCSI device interrupt handler.
        !            59:  */
        !            60: - (void)hwInterrupt;
        !            61: 
        !            62: - (void)logRegs;
        !            63: 
        !            64: @end
        !            65: 
        !            66: /* end of AMD_Chip.h */
        !            67: 
        !            68: extern IONamedValue scsiMsgValues[];
        !            69: 
        !            70: #ifdef DDM_DEBUG
        !            71: extern IONamedValue scsiPhaseValues[];
        !            72: #endif DDM_DEBUG
        !            73: 
        !            74: #ifdef DEBUG
        !            75: extern IONamedValue scStateValues[];
        !            76: #endif DEBUG
        !            77: 

unix.superglobalmegacorp.com

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