📄 scl.h
字号:
// SCmdDisp.h: interface for the SCmdDisp class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_SCMDDISP_H__C3D59B86_19CC_48BD_85E0_91E095E32A3F__INCLUDED_)
#define AFX_SCMDDISP_H__C3D59B86_19CC_48BD_85E0_91E095E32A3F__INCLUDED_
#include "BOL.h"
typedef enum tagStatus{
GOOD = 0x00
// , CHECK_CONDITION = 0x02
, CHECK_CONDITION = 0x01
, CONDITION_MET = 0x04
, BUSY = 0x08
, INTERMEDIATE = 0x10
, INTERMEDIATE_CONDITION_MET = 0x14
, RESERVATION_CONFLICT = 0x18
, TASK_SET_FULL = 0x28
, ACA_ACTIVE = 0x30
, TASK_ABORTED = 0x40
}MS_STATUS;
typedef MS_STATUS(* CMDCALLBACKPROC)();
typedef struct tagClsCmd
{
BYTE uOptrCode;
CMDCALLBACKPROC pfnChkCmd;
CMDCALLBACKPROC pfnBuildResponse;
VOID *pvPrivateData;
}CLSCMD;
// command funtion
MS_STATUS cmd_iqChkCmd(void);
MS_STATUS cmd_iqBuildResponse(void);
MS_STATUS cmd_readChkCmd(void);
MS_STATUS cmd_readBuildResponse(void);
MS_STATUS cmd_rcChkCmd(void);
MS_STATUS cmd_rcBuildResponse(void);
MS_STATUS cmd_rsChkCmd(void);
MS_STATUS cmd_rsBuildResponse(void);
MS_STATUS cmd_turChkCmd(void);
MS_STATUS cmd_turBuildResponse(void);
MS_STATUS cmd_wriChkCmd(void);
MS_STATUS cmd_wriBuildResponse(void);
MS_STATUS cmd_UnknownChkCmd(void);
MS_STATUS cmd_UnknownBuildResponse(void);
MS_STATUS cmd_ModeSenseChkCmd(void);
MS_STATUS cmd_ModeSenseBuildResponse(void);
MS_STATUS cmd_MediumRemoveChkCmd(void);
MS_STATUS cmd_MediumRemoveBuildResponse(void);
//#define NULL (VOID *)0L
#define BUILDCDB(cd, chk, build, data) {cd, chk, build, data}
extern UINT g_uLen; // SCSI CDB len
extern BYTE *g_pCDB; // CDB pointer
extern UINT g_uDLen; // Data len
extern BYTE *g_pData; // Data pointer
extern UINT g_uSLen; // Sense len
extern BYTE *g_pSense; // Sense pointer
extern UINT g_uStatus; // SCSI Status
extern UINT g_uDirection; // Data transfer direction
extern DWORD g_dwXansfer; // Data transfer
extern DWORD *g_pdwResidue;
//typedef BYTE CDB;
UINT SCSI_Init(void);
UINT SCSI_UnInit(void);
UINT SCSI_SCC(UINT uSLen, BYTE *pSense, UINT uStatus);
// LLP Callback function.
UINT SCSI_OnSCR(UINT uLen, BYTE *pCDB, UINT uDirection, DWORD dwXansfer, DWORD *pdwResidue);
// uDLen: 附加数据的长度
// uDirection = 0: 准备接收来自主机的数据
// != 0: 准备数据传给主机
#endif // !defined(AFX_SCMDDISP_H__C3D59B86_19CC_48BD_85E0_91E095E32A3F__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -