⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 flashpoint.c

📁 Linux内核源代码 为压缩文件 是<<Linux内核>>一书中的源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
                                       add dx, offset;      \                                       db 66h;              \                                       mov ax,word ptr data;\                                       db 66h;              \                                       out dx,ax;           \                                       db 66h;              \                                       pop ax}#endif	/* DOS */#if defined(NETWARE) || defined(OTHER_32) ||  defined(OTHER_16)	#define RD_HARPOON(ioport)     OS_InPortByte((unsigned long)ioport)	#define RDW_HARPOON(ioport)    OS_InPortWord((unsigned long)ioport)	#define RD_HARP32(ioport,offset,data) (data = OS_InPortLong(ioport + offset))	#define WR_HARPOON(ioport,val) OS_OutPortByte((ULONG)ioport,(UCHAR) val)	#define WRW_HARPOON(ioport,val)  OS_OutPortWord((ULONG)ioport,(USHORT)val)	#define WR_HARP32(ioport,offset,data)  OS_OutPortLong((ioport + offset), data)#endif	/* NETWARE || OTHER_32 || OTHER_16 */#if defined(NT) || defined(WIN95_32) || defined(WIN95_16)	#define RD_HARPOON(ioport)          OS_InPortByte((ULONG)ioport)	#define RDW_HARPOON(ioport)         OS_InPortWord((ULONG)ioport)	#define RD_HARP32(ioport,offset,data) (data = OS_InPortLong((ULONG)(ioport + offset)))	#define WR_HARPOON(ioport,val)      OS_OutPortByte((ULONG)ioport,(UCHAR) val)	#define WRW_HARPOON(ioport,val)     OS_OutPortWord((ULONG)ioport,(USHORT)val)	#define WR_HARP32(ioport,offset,data)  OS_OutPortLong((ULONG)(ioport + offset), data)#endif /* NT || WIN95_32 || WIN95_16 */#if defined (UNIX)	#define RD_HARPOON(ioport)          OS_InPortByte((u32bits)ioport)	#define RDW_HARPOON(ioport)         OS_InPortWord((u32bits)ioport)	#define RD_HARP32(ioport,offset,data) (data = OS_InPortLong((u32bits)(ioport + offset)))	#define WR_HARPOON(ioport,val)      OS_OutPortByte((u32bits)ioport,(u08bits) val)	#define WRW_HARPOON(ioport,val)       OS_OutPortWord((u32bits)ioport,(u16bits)val)	#define WR_HARP32(ioport,offset,data)  OS_OutPortLong((u32bits)(ioport + offset), data)#endif /* UNIX */#if defined(OS2)	#define RD_HARPOON(ioport)          OS_InPortByte((unsigned long)ioport)	#define RDW_HARPOON(ioport)         OS_InPortWord((unsigned long)ioport)	#define RD_HARP32(ioport,offset,data) (data = OS_InPortLong((ULONG)(ioport + offset)))	#define WR_HARPOON(ioport,val)      OS_OutPortByte((ULONG)ioport,(UCHAR) val)	#define WRW_HARPOON(ioport,val)       OS_OutPortWord((ULONG)ioport,(USHORT)val)	#define WR_HARP32(ioport,offset,data)  OS_OutPortLong(((ULONG)(ioport + offset)), data)#endif /* OS2 */#if defined(SOLARIS_REAL_MODE)	#define RD_HARPOON(ioport)          OS_InPortByte((unsigned long)ioport)	#define RDW_HARPOON(ioport)         OS_InPortWord((unsigned long)ioport)	#define RD_HARP32(ioport,offset,data) (data = OS_InPortLong((ULONG)(ioport + offset)))	#define WR_HARPOON(ioport,val)      OS_OutPortByte((ULONG)ioport,(UCHAR) val)	#define WRW_HARPOON(ioport,val)       OS_OutPortWord((ULONG)ioport,(USHORT)val)	#define WR_HARP32(ioport,offset,data)  OS_OutPortLong((ULONG)(ioport + offset), (ULONG)data)#endif  /* SOLARIS_REAL_MODE */#endif  /* __BLX30_H__ *//*---------------------------------------------------------------------- *  * *   Copyright 1995-1996 by Mylex Corporation.  All Rights Reserved * *   This file is available under both the GNU General Public License *   and a BSD-style copyright; see LICENSE.FlashPoint for details. * *   $Workfile:   target.h  $ * *   Description:  Definitions for Target related structures * *   $Date: 1996/12/11 22:06:20 $ * *   $Revision: 1.9 $ * *----------------------------------------------------------------------*/#ifndef __TARGET__#define __TARGET__/*#include <globals.h>*//*#include <blx30.h>*/#define  TAR_SYNC_MASK     (BIT(7)+BIT(6))#define  SYNC_UNKNOWN      0x00#define  SYNC_TRYING               BIT(6)#define  SYNC_SUPPORTED    (BIT(7)+BIT(6))#define  TAR_WIDE_MASK     (BIT(5)+BIT(4))#define  WIDE_DISABLED     0x00#define  WIDE_ENABLED              BIT(4)#define  WIDE_NEGOCIATED   BIT(5)#define  TAR_TAG_Q_MASK    (BIT(3)+BIT(2))#define  TAG_Q_UNKNOWN     0x00#define  TAG_Q_TRYING              BIT(2)#define  TAG_Q_REJECT      BIT(3)#define  TAG_Q_SUPPORTED   (BIT(3)+BIT(2))#define  TAR_ALLOW_DISC    BIT(0)#define  EE_SYNC_MASK      (BIT(0)+BIT(1))#define  EE_SYNC_ASYNC     0x00#define  EE_SYNC_5MB       BIT(0)#define  EE_SYNC_10MB      BIT(1)#define  EE_SYNC_20MB      (BIT(0)+BIT(1))#define  EE_ALLOW_DISC     BIT(6)#define  EE_WIDE_SCSI      BIT(7)#if defined(DOS)   typedef struct SCCBMgr_tar_info near *PSCCBMgr_tar_info;#elif defined(OS2)   typedef struct SCCBMgr_tar_info far *PSCCBMgr_tar_info;#else   typedef struct SCCBMgr_tar_info *PSCCBMgr_tar_info;#endiftypedef struct SCCBMgr_tar_info {   PSCCB    TarSelQ_Head;   PSCCB    TarSelQ_Tail;   UCHAR    TarLUN_CA;        /*Contingent Allgiance */   UCHAR    TarTagQ_Cnt;   UCHAR    TarSelQ_Cnt;   UCHAR    TarStatus;   UCHAR    TarEEValue;   UCHAR 	TarSyncCtrl;   UCHAR 	TarReserved[2];			/* for alignment */    UCHAR 	LunDiscQ_Idx[MAX_LUN];   UCHAR    TarLUNBusy[MAX_LUN];} SCCBMGR_TAR_INFO;typedef struct NVRAMInfo {	UCHAR		niModel;								/* Model No. of card */	UCHAR		niCardNo;							/* Card no. */#if defined(DOS)	USHORT	niBaseAddr;							/* Port Address of card */#else	ULONG		niBaseAddr;							/* Port Address of card */#endif	UCHAR		niSysConf;							/* Adapter Configuration byte - Byte 16 of eeprom map */	UCHAR		niScsiConf;							/* SCSI Configuration byte - Byte 17 of eeprom map */	UCHAR		niScamConf;							/* SCAM Configuration byte - Byte 20 of eeprom map */	UCHAR		niAdapId;							/* Host Adapter ID - Byte 24 of eerpom map */	UCHAR		niSyncTbl[MAX_SCSI_TAR / 2];	/* Sync/Wide byte of targets */	UCHAR		niScamTbl[MAX_SCSI_TAR][4];	/* Compressed Scam name string of Targets */}NVRAMINFO;#if defined(DOS)typedef NVRAMINFO near *PNVRamInfo;#elif defined (OS2)typedef NVRAMINFO far *PNVRamInfo;#elsetypedef NVRAMINFO *PNVRamInfo;#endif#define	MODEL_LT		1#define	MODEL_DL		2#define	MODEL_LW		3#define	MODEL_DW		4typedef struct SCCBcard {   PSCCB currentSCCB;#if (FW_TYPE==_SCCB_MGR_)   PSCCBMGR_INFO cardInfo;#else   PADAPTER_INFO cardInfo;#endif#if defined(DOS)   USHORT ioPort;#else   ULONG ioPort;#endif   USHORT cmdCounter;   UCHAR  discQCount;   UCHAR  tagQ_Lst;    UCHAR cardIndex;   UCHAR scanIndex;   UCHAR globalFlags;   UCHAR ourId;   PNVRamInfo pNvRamInfo;   PSCCB discQ_Tbl[QUEUE_DEPTH];       }SCCBCARD;#if defined(DOS)typedef struct SCCBcard near *PSCCBcard;#elif defined (OS2)typedef struct SCCBcard far *PSCCBcard;#elsetypedef struct SCCBcard *PSCCBcard;#endif#define F_TAG_STARTED		0x01#define F_CONLUN_IO			0x02#define F_DO_RENEGO			0x04#define F_NO_FILTER			0x08#define F_GREEN_PC			0x10#define F_HOST_XFER_ACT		0x20#define F_NEW_SCCB_CMD		0x40#define F_UPDATE_EEPROM		0x80#define  ID_STRING_LENGTH  32#define  TYPE_CODE0        0x63           /*Level2 Mstr (bits 7-6),  */#define  TYPE_CODE1        00             /*No ID yet */#define  SLV_TYPE_CODE0    0xA3           /*Priority Bit set (bits 7-6),  */#define  ASSIGN_ID   0x00#define  SET_P_FLAG  0x01#define  CFG_CMPLT   0x03#define  DOM_MSTR    0x0F#define  SYNC_PTRN   0x1F#define  ID_0_7      0x18#define  ID_8_F      0x11#define  ID_10_17    0x12#define  ID_18_1F    0x0B#define  MISC_CODE   0x14#define  CLR_P_FLAG  0x18#define  LOCATE_ON   0x12#define  LOCATE_OFF  0x0B#define  LVL_1_MST   0x00#define  LVL_2_MST   0x40#define  DOM_LVL_2   0xC0#define  INIT_SELTD  0x01#define  LEVEL2_TAR  0x02enum scam_id_st { ID0,ID1,ID2,ID3,ID4,ID5,ID6,ID7,ID8,ID9,ID10,ID11,ID12,                  ID13,ID14,ID15,ID_UNUSED,ID_UNASSIGNED,ID_ASSIGNED,LEGACY,                  CLR_PRIORITY,NO_ID_AVAIL };typedef struct SCCBscam_info {   UCHAR    id_string[ID_STRING_LENGTH];   enum scam_id_st state;    } SCCBSCAM_INFO, *PSCCBSCAM_INFO;#endif/*---------------------------------------------------------------------- * * *   Copyright 1995-1996 by Mylex Corporation.  All Rights Reserved * *   This file is available under both the GNU General Public License *   and a BSD-style copyright; see LICENSE.FlashPoint for details. * *   $Workfile:   scsi2.h  $ * *   Description:  Register definitions for HARPOON ASIC. * *   $Date: 1996/11/13 18:32:57 $ * *   $Revision: 1.4 $ * *----------------------------------------------------------------------*/#ifndef __SCSI_H__#define __SCSI_H__#define  SCSI_TEST_UNIT_READY    0x00#define  SCSI_REZERO_UNIT        0x01#define  SCSI_REQUEST_SENSE      0x03#define  SCSI_FORMAT_UNIT        0x04#define  SCSI_REASSIGN           0x07#define  SCSI_READ               0x08#define  SCSI_WRITE              0x0A#define  SCSI_SEEK               0x0B#define  SCSI_INQUIRY            0x12#define  SCSI_MODE_SELECT        0x15#define  SCSI_RESERVE_UNIT       0x16#define  SCSI_RELEASE_UNIT       0x17#define  SCSI_MODE_SENSE         0x1A#define  SCSI_START_STOP_UNIT    0x1B#define  SCSI_SEND_DIAGNOSTIC    0x1D#define  SCSI_READ_CAPACITY      0x25#define  SCSI_READ_EXTENDED      0x28#define  SCSI_WRITE_EXTENDED     0x2A#define  SCSI_SEEK_EXTENDED      0x2B#define  SCSI_WRITE_AND_VERIFY   0x2E#define  SCSI_VERIFY             0x2F#define  SCSI_READ_DEFECT_DATA   0x37#define  SCSI_WRITE_BUFFER       0x3B#define  SCSI_READ_BUFFER        0x3C#define  SCSI_RECV_DIAGNOSTIC    0x1C#define  SCSI_READ_LONG          0x3E#define  SCSI_WRITE_LONG         0x3F#define  SCSI_LAST_SCSI_CMND     SCSI_WRITE_LONG#define  SCSI_INVALID_CMND       0xFF#define  SSGOOD                  0x00#define  SSCHECK                 0x02#define  SSCOND_MET              0x04#define  SSBUSY                  0x08#define  SSRESERVATION_CONFLICT  0x18#define  SSCMD_TERM              0x22#define  SSQ_FULL                0x28#define  SKNO_SEN                0x00#define  SKRECOV_ERR             0x01#define  SKNOT_RDY               0x02#define  SKMED_ERR               0x03#define  SKHW_ERR                0x04#define  SKILL_REQ               0x05#define  SKUNIT_ATTN             0x06#define  SKDATA_PROTECT          0x07#define  SKBLNK_CHK              0x08#define  SKCPY_ABORT             0x0A#define  SKABORT_CMD             0x0B#define  SKEQUAL                 0x0C#define  SKVOL_OVF               0x0D#define  SKMIS_CMP               0x0E#define  SMCMD_COMP              0x00#define  SMEXT                   0x01#define  SMSAVE_DATA_PTR         0x02#define  SMREST_DATA_PTR         0x03#define  SMDISC                  0x04#define  SMINIT_DETEC_ERR        0x05#define  SMABORT                 0x06#define  SMREJECT                0x07#define  SMNO_OP                 0x08#define  SMPARITY                0x09#define  SMDEV_RESET             0x0C#define	SMABORT_TAG					0x0D#define	SMINIT_RECOVERY			0x0F#define	SMREL_RECOVERY				0x10#define  SMIDENT                 0x80#define  DISC_PRIV               0x40#define  SMSYNC                  0x01#define  SM10MBS                 0x19     /* 100ns           */#define  SM5MBS                  0x32     /* 200ns           */#define  SMOFFSET                0x0F     /* Maxoffset value */#define  SMWDTR                  0x03#define  SM8BIT                  0x00#define  SM16BIT                 0x01#define  SM32BIT                 0x02#define  SMIGNORWR               0x23     /* Ignore Wide Residue */#define  ARBITRATION_DELAY       0x01     /* 2.4us using a 40Mhz clock */#define  BUS_SETTLE_DELAY        0x01     /* 400ns */#define  BUS_CLEAR_DELAY         0x01     /* 800ns */#define  SPHASE_TO               0x0A  /* 10 second timeout waiting for */#define  SCMD_TO                 0x0F  /* Overall command timeout */#define  SIX_BYTE_CMD            0x06#define  TEN_BYTE_CMD            0x0A#define  TWELVE_BYTE_CMD         0x0C#define  ASYNC                   0x00#define  PERI25NS                0x06  /* 25/4ns to next clock for xbow. */#define  SYNC10MBS               0x19#define  SYNC5MBS                0x32#define  MAX_OFFSET              0x0F  /* Maxbyteoffset for Sync Xfers */#endif/*---------------------------------------------------------------------- *   * *   Copyright 1995-1996 by Mylex Corporation.  All Rights Reserved * *   This file is available under both the GNU General Public License *   and a BSD-style copyright; see LICENSE.FlashPoint for details. * *   $Workfile:   eeprom.h  $ * *   Description:  Definitions for EEPROM related structures * *   $Date: 1996/11/13 18:28:39 $ *

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -