2007-03-27 17:47:10 +00:00
|
|
|
/*
|
|
|
|
* CiderPress
|
|
|
|
* Copyright (C) 2007 by faddenSoft, LLC. All Rights Reserved.
|
|
|
|
* See the file LICENSE for distribution terms.
|
|
|
|
*/
|
|
|
|
/*
|
|
|
|
* Declarations for the Win32 SCSI Pass-Through Interface.
|
|
|
|
*/
|
2014-11-18 01:54:34 +00:00
|
|
|
#ifndef DISKIMG_SPTI_H
|
|
|
|
#define DISKIMG_SPTI_H
|
2007-03-27 17:47:10 +00:00
|
|
|
|
|
|
|
#ifdef _WIN32
|
|
|
|
|
|
|
|
namespace DiskImgLib {
|
|
|
|
|
|
|
|
/*
|
|
|
|
* This is currently implemented as a set of static functions. Do not
|
|
|
|
* instantiate the class.
|
|
|
|
*/
|
|
|
|
class DISKIMG_API SPTI {
|
|
|
|
public:
|
2014-11-04 00:26:53 +00:00
|
|
|
// Read blocks from the device.
|
|
|
|
static DIError ReadBlocks(HANDLE handle, long startBlock, short numBlocks,
|
|
|
|
long blockSize, void* buf);
|
2007-03-27 17:47:10 +00:00
|
|
|
|
2014-11-04 00:26:53 +00:00
|
|
|
// Get the capacity, expressed as the highest-available LBA and the device
|
|
|
|
// block size.
|
2014-11-24 20:56:19 +00:00
|
|
|
static DIError GetDeviceCapacity(HANDLE handle, uint32_t* pLastBlock,
|
|
|
|
uint32_t* pBlockSize);
|
2007-03-27 17:47:10 +00:00
|
|
|
|
|
|
|
private:
|
2014-11-04 00:26:53 +00:00
|
|
|
SPTI(void) {}
|
|
|
|
~SPTI(void) {}
|
2007-03-27 17:47:10 +00:00
|
|
|
};
|
|
|
|
|
2014-11-24 20:56:19 +00:00
|
|
|
} // namespace DiskImgLib
|
2007-03-27 17:47:10 +00:00
|
|
|
|
|
|
|
#endif /*_WIN32*/
|
|
|
|
|
2014-11-18 01:54:34 +00:00
|
|
|
#endif /*DISKIMG_SPTI_H*/
|