?? wnaspi32.h
字號(hào):
* %%% Commands for all Device Types %%% ****************************************************************************/#define SCSI_CHANGE_DEF 0x40 /* Change Definition (Optional) */#define SCSI_COMPARE 0x39 /* Compare (O) */#define SCSI_COPY 0x18 /* Copy (O) */#define SCSI_COP_VERIFY 0x3A /* Copy and Verify (O) */#define SCSI_INQUIRY 0x12 /* Inquiry (MANDATORY) */#define SCSI_LOG_SELECT 0x4C /* Log Select (O) */#define SCSI_LOG_SENSE 0x4D /* Log Sense (O) */#define SCSI_MODE_SEL6 0x15 /* Mode Select 6-byte (Device Specific) */#define SCSI_MODE_SEL10 0x55 /* Mode Select 10-byte (Device Specific) */#define SCSI_MODE_SEN6 0x1A /* Mode Sense 6-byte (Device Specific) */#define SCSI_MODE_SEN10 0x5A /* Mode Sense 10-byte (Device Specific) */#define SCSI_READ_BUFF 0x3C /* Read Buffer (O) */#define SCSI_REQ_SENSE 0x03 /* Request Sense (MANDATORY) */#define SCSI_SEND_DIAG 0x1D /* Send Diagnostic (O) */#define SCSI_TST_U_RDY 0x00 /* Test Unit Ready (MANDATORY) */#define SCSI_WRITE_BUFF 0x3B /* Write Buffer (O) */ /**************************************************************************** * %%% Commands Unique to Direct Access Devices %%% ****************************************************************************/#define SCSI_COMPARE 0x39 /* Compare (O) */#define SCSI_FORMAT 0x04 /* Format Unit (MANDATORY) */#define SCSI_LCK_UN_CAC 0x36 /* Lock Unlock Cache (O) */#define SCSI_PREFETCH 0x34 /* Prefetch (O) */#define SCSI_MED_REMOVL 0x1E /* Prevent/Allow medium Removal (O) */#define SCSI_READ6 0x08 /* Read 6-byte (MANDATORY) */#define SCSI_READ10 0x28 /* Read 10-byte (MANDATORY) */#define SCSI_RD_CAPAC 0x25 /* Read Capacity (MANDATORY) */#define SCSI_RD_DEFECT 0x37 /* Read Defect Data (O) */#define SCSI_READ_LONG 0x3E /* Read Long (O) */#define SCSI_REASS_BLK 0x07 /* Reassign Blocks (O) */#define SCSI_RCV_DIAG 0x1C /* Receive Diagnostic Results (O) */#define SCSI_RELEASE 0x17 /* Release Unit (MANDATORY) */#define SCSI_REZERO 0x01 /* Rezero Unit (O) */#define SCSI_SRCH_DAT_E 0x31 /* Search Data Equal (O) */#define SCSI_SRCH_DAT_H 0x30 /* Search Data High (O) */#define SCSI_SRCH_DAT_L 0x32 /* Search Data Low (O) */#define SCSI_SEEK6 0x0B /* Seek 6-Byte (O) */#define SCSI_SEEK10 0x2B /* Seek 10-Byte (O) */#define SCSI_SEND_DIAG 0x1D /* Send Diagnostics (MANDATORY) */#define SCSI_SET_LIMIT 0x33 /* Set Limits (O) */#define SCSI_START_STP 0x1B /* Start/Stop Unit (O) */#define SCSI_SYNC_CACHE 0x35 /* Synchronize Cache (O) */#define SCSI_VERIFY 0x2F /* Verify (O) */#define SCSI_WRITE6 0x0A /* Write 6-Byte (MANDATORY) */#define SCSI_WRITE10 0x2A /* Write 10-Byte (MANDATORY) */#define SCSI_WRT_VERIFY 0x2E /* Write and Verify (O) */#define SCSI_WRITE_LONG 0x3F /* Write Long (O) */#define SCSI_WRITE_SAME 0x41 /* Write Same (O) */ /****************************************************************************** * %%% SRB - ABORT AN SRB - SC_ABORT_SRB (3) %%% ******************************************************************************/ typedef struct /* Offset */ { /* HX/DEC */ BYTE SRB_Cmd; /* 00/000 ASPI command code = SC_ABORT_SRB */ BYTE SRB_Status; /* 01/001 ASPI command status byte */ BYTE SRB_HaId; /* 02/002 ASPI host adapter number */ BYTE SRB_Flags; /* 03/003 Reserved */ DWORD SRB_Hdr_Rsvd; /* 04/004 Reserved */ VOID FAR *SRB_ToAbort; /* 08/008 Pointer to SRB to abort */ } PACK SRB_Abort, *PSRB_Abort, FAR *LPSRB_Abort; /****************************************************************************** * %%% SRB - BUS DEVICE RESET - SC_RESET_DEV (4) %%% ******************************************************************************/ typedef struct /* Offset */ { /* HX/DEC */ BYTE SRB_Cmd; /* 00/000 ASPI command code = SC_RESET_DEV */ BYTE SRB_Status; /* 01/001 ASPI command status byte */ BYTE SRB_HaId; /* 02/002 ASPI host adapter number */ BYTE SRB_Flags; /* 03/003 ASPI request flags */ DWORD SRB_Hdr_Rsvd; /* 04/004 Reserved */ BYTE SRB_Target; /* 08/008 Target's SCSI ID */ BYTE SRB_Lun; /* 09/009 Target's LUN number */ BYTE SRB_Rsvd1[12]; /* 0A/010 Reserved for Alignment */ BYTE SRB_HaStat; /* 16/022 Host Adapter Status */ BYTE SRB_TargStat; /* 17/023 Target Status */ VOID FAR *SRB_PostProc; /* 18/024 Post routine */ BYTE SRB_Rsvd2[36]; /* 1C/028 Reserved, MUST = 0 */ } PACK SRB_BusDeviceReset, *PSRB_BusDeviceReset, FAR *LPSRB_BusDeviceReset; /****************************************************************************** * %%% SRB - GET DISK INFORMATION - SC_GET_DISK_INFO %%% ******************************************************************************/ typedef struct /* Offset */ { /* HX/DEC */ BYTE SRB_Cmd; /* 00/000 ASPI command code = SC_GET_DISK_INFO */ BYTE SRB_Status; /* 01/001 ASPI command status byte */ BYTE SRB_HaId; /* 02/002 ASPI host adapter number */ BYTE SRB_Flags; /* 03/003 Reserved, MUST = 0 */ DWORD SRB_Hdr_Rsvd; /* 04/004 Reserved, MUST = 0 */ BYTE SRB_Target; /* 08/008 Target's SCSI ID */ BYTE SRB_Lun; /* 09/009 Target's LUN number */ BYTE SRB_DriveFlags; /* 0A/010 Driver flags */ BYTE SRB_Int13HDriveInfo; /* 0B/011 Host Adapter Status */ BYTE SRB_Heads; /* 0C/012 Preferred number of heads translation */ BYTE SRB_Sectors; /* 0D/013 Preferred numb of sectors translation */ BYTE SRB_Rsvd1[10]; /* 0E/014 Reserved, MUST = 0 */ } PACK SRB_GetDiskInfo, *PSRB_GetDiskInfo, FAR *LPSRB_GetDiskInfo; /****************************************************************************** * %%% SRB - RESCAN SCSI BUS(ES) ON SCSIPORT %%% ******************************************************************************/ typedef struct /* Offset */ { /* HX/DEC */ BYTE SRB_Cmd; /* 00/000 ASPI command code = SC_RESCAN_SCSI_BUS */ BYTE SRB_Status; /* 01/001 ASPI command status byte */ BYTE SRB_HaId; /* 02/002 ASPI host adapter number */ BYTE SRB_Flags; /* 03/003 Reserved, MUST = 0 */ DWORD SRB_Hdr_Rsvd; /* 04/004 Reserved, MUST = 0 */ } PACK SRB_RescanPort, *PSRB_RescanPort, FAR *LPSRB_RescanPort; /****************************************************************************** * %%% SRB - GET/SET TARGET TIMEOUTS %%% ******************************************************************************/ typedef struct /* Offset */ { /* HX/DEC */ BYTE SRB_Cmd; /* 00/000 ASPI command code = SC_GETSET_TIMEOUTS */ BYTE SRB_Status; /* 01/001 ASPI command status byte */ BYTE SRB_HaId; /* 02/002 ASPI host adapter number */ BYTE SRB_Flags; /* 03/003 ASPI request flags */ DWORD SRB_Hdr_Rsvd; /* 04/004 Reserved, MUST = 0 */ BYTE SRB_Target; /* 08/008 Target's SCSI ID */ BYTE SRB_Lun; /* 09/009 Target's LUN number */ DWORD SRB_Timeout; /* 0A/010 Timeout in half seconds */ } PACK SRB_GetSetTimeouts, *PSRB_GetSetTimeouts, FAR *LPSRB_GetSetTimeouts; /****************************************************************************** * %%% ASPIBUFF - Structure For Controllng I/O Buffers %%% ******************************************************************************/ typedef struct tag_ASPI32BUFF /* Offset */ { /* HX/DEC */ PBYTE AB_BufPointer; /* 00/000 Pointer to the ASPI allocated buffer */ DWORD AB_BufLen; /* 04/004 Length in bytes of the buffer */ DWORD AB_ZeroFill; /* 08/008 Flag set to 1 if buff should be zeroed */ DWORD AB_Reserved; /* 0C/012 Reserved */ } PACK ASPI32BUFF, *PASPI32BUFF, FAR *LPASPI32BUFF; /****************************************************************************** * %%% PROTOTYPES - User Callable ASPI for Win32 Functions %%% ******************************************************************************/ typedef void *LPSRB;#if defined (__BORLANDC__) DWORD _import GetASPI32SupportInfo (void); DWORD _import SendASPI32Command (LPSRB); BOOL _import GetASPI32Buffer (PASPI32BUFF); BOOL _import FreeASPI32Buffer (PASPI32BUFF); BOOL _import TranslateASPI32Address (PDWORD, PDWORD);#elif defined (_MSC_VER)__declspec(dllimport) DWORD GetASPI32SupportInfo (void);__declspec(dllimport) DWORD SendASPI32Command (LPSRB);__declspec(dllimport) BOOL GetASPI32Buffer (PASPI32BUFF);__declspec(dllimport) BOOL FreeASPI32Buffer (PASPI32BUFF);__declspec(dllimport) BOOL TranslateASPI32Address (PDWORD, PDWORD);#elseextern DWORD GetASPI32SupportInfo (void);extern DWORD GetASPI32Command (LPSRB);extern BOOL GetASPI32Buffer (PASPI32BUFF);extern BOOL FreeASPI32Buffer (PASPI32BUFF);extern BOOL TranslateASPI32Address (PDWORD, PDWORD);#endif/* * Restore compiler default packing and close off the C declarations. */#ifdef __BORLANDC__#pragma option -a.#endif#ifdef _MSC_VER#pragma pack()#endif#ifdef __cplusplus}#endif#endif /* __WNASPI32_H__ */
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -