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

📄 scsidev.hpp

📁 使用ASPI包装成的一些通用类
💻 HPP
字号:
////////////////////////////////////////////////////////////
//
// Module SCSIDEV.HPP
//
// ASPI class library
// SCSI device class
//
// Project: A Programmer's Guide to SCSI
//
// Copyright (C) 1997, Brian Sawert
// Portions copyright (C) 1995, Larry Martin
// All rights reserved
//
////////////////////////////////////////////////////////////


#ifndef SCSIDEV_HPP_INCLUDED
#define SCSIDEV_HPP_INCLUDED


#ifndef SCB_HPP_INCLUDED
#include "scb.hpp"
#endif


class ScsiDevice
   {
   public:

   int Adapter;
   int Unit;
   int Lun;
   int Type;
   char *RealName;
   char *Name;
   char *Revision;
   unsigned int AnsiVersion;
   unsigned int bRemovable;
   unsigned int bWide32;
   unsigned int bWide16;
   unsigned int bSync;
   unsigned int bLinked;
   unsigned int bQueue;
   unsigned int bSoftReset;
   long RetryOnScsiBusy;            // milliseconds to wait
   long RetryOnScsiError;           // milliseconds to wait
   long RetryOnUnitAttention;       // milliseconds to wait
   long RetryOnTargetBusy;          // milliseconds to wait
   long RetryOnTargetNotReady;      // milliseconds to wait
   long RetryOnTargetBecomingReady; // milliseconds to wait

   ScsiDevice();
   ~ScsiDevice();

   char *GetName()      { return Name; };
   char *GetRealName()  { return RealName; };
   char *GetRevision()  { return Revision; };
   int GetAdapter()  { return Adapter; };
   int GetUnit()     { return Unit; };
   int GetLun()      { return Lun; };
   int GetType()     { return Type; };
   unsigned int GetAnsiVersion() { return AnsiVersion; };
   unsigned int IsRemovable()    { return bRemovable; };
   unsigned int IsWide32()       { return bWide32; };
   unsigned int IsWide16()       { return bWide16; };
   unsigned int IsSync()         { return bSync; };
   unsigned int IsLinked()       { return bLinked; };
   unsigned int IsQueue()        { return bQueue; };
   unsigned int IsSoftReset()    { return bSoftReset; };
   int SetName(char *name);

   ScbError Init(unsigned adapter, unsigned unit, unsigned lun );

   ScbError ExecuteScb( ScsiCmdBlock &scb, long timeout );
   };


#endif

⌨️ 快捷键说明

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