Annotation of Examples/DriverKit/AMDPCSCSIDriver/AMDPCSCSIDriver_reloc.tproj/AMD_Chip.h, revision 1.1.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.