DumpDVD/DumpDVD/Scsi/IoCtl.hpp

31 lines
668 B
C++
Raw Normal View History

2023-03-14 13:36:58 +00:00
#ifndef _LI_CDROM_H
#define _LI_CDROM_H 1
#include <iostream>
#include <vector>
#include <string>
#include <dvdcss.h>
2023-03-27 15:57:30 +00:00
#include "../DumpDVD/Gui/DvdSpin/CdType.hpp"
2023-03-14 13:36:58 +00:00
namespace Li::Scsi {
2023-03-15 06:59:59 +00:00
class IoCtl {
2023-03-14 13:36:58 +00:00
private:
dvdcss_t dvdCssHandle;
int osFileHandle;
public:
2023-03-15 06:59:59 +00:00
IoCtl(std::string drive);
~IoCtl();
2023-03-14 13:36:58 +00:00
2023-03-15 06:59:59 +00:00
dvdcss_t GetDvdCssHandle();
2023-03-27 15:57:30 +00:00
uint32_t GetTotalSectors();
2023-03-15 06:59:59 +00:00
bool SetDriveSpeed(int readSpeed, int writeSpeed);
2023-03-14 13:36:58 +00:00
bool AllowReadingPastDisc();
2023-03-27 15:57:30 +00:00
Li::Gui::DvdSpin::CdType GetMediaType();
2023-03-21 10:12:28 +00:00
/*bool ExclusiveLockDrive();
2023-03-16 08:35:31 +00:00
bool ExclusiveUnlockDrive();
bool UnmountVolume();
2023-03-21 10:12:28 +00:00
bool MountVolume();*/
2023-03-15 06:59:59 +00:00
std::vector<uint32_t>* GetSupportedReadSpeeds();
2023-03-14 13:36:58 +00:00
};
}
#endif