#ifndef _LI_CDROM_H
#define _LI_CDROM_H 1
#include <iostream>
#include <vector>
#include <string>
#include <dvdcss.h>

namespace Li::Scsi {
	class IoCtl {
	private:
		dvdcss_t dvdCssHandle;
		int osFileHandle;
	public:
		IoCtl(std::string drive);
		~IoCtl();

		dvdcss_t GetDvdCssHandle();
		uint64_t GetTotalSectors();
		bool SetDriveSpeed(int readSpeed, int writeSpeed);
		bool AllowReadingPastDisc();
		bool ExclusiveLockDrive();
		bool ExclusiveUnlockDrive();
		bool UnmountVolume();
		bool MountVolume();
		std::vector<uint32_t>* GetSupportedReadSpeeds();
		
	};
}
#endif