#ifndef __UNIVERSALDISKIMAGE_H__ #define __UNIVERSALDISKIMAGE_H__ #include #include #include namespace Device { class UniversalDiskImage : public DiskImage { public: static UniversalDiskImage *Create(const char *name, size_t blocks); static UniversalDiskImage *Open(MappedFile *); virtual bool readOnly(); virtual BlockCachePointer createBlockCache(); private: UniversalDiskImage(); UniversalDiskImage(MappedFile *); static void Validate(MappedFile *); uint32_t _format; uint32_t _flags; uint32_t _blocks; uint32_t _dataOffset; uint32_t _dataLength; }; } #endif