#ifndef __UNIVERSALDISKIMAGE_H__ #define __UNIVERSALDISKIMAGE_H__ #include #include #include namespace Device { class UniversalDiskImage : public DiskImage { public: static BlockDevicePointer Create(const char *name, size_t blocks); static BlockDevicePointer 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