profuse/Device/DiskCopy42Image.h
ksherlock 629efe6da5 block cache support.
git-svn-id: https://profuse.googlecode.com/svn/branches/v2@220 aa027e90-d47c-11dd-86d7-074df07e0730
2010-05-18 19:59:18 +00:00

38 lines
816 B
C++

#ifndef __DISKCOPY42IMAGE_H__
#define __DISKCOPY42IMAGE_H__
#include <Device/BlockDevice.h>
#include <Device/DiskImage.h>
#include <stdint.h>
namespace Device {
class DiskCopy42Image : public DiskImage {
public:
virtual ~DiskCopy42Image();
static DiskCopy42Image *Create(const char *name, size_t blocks);
static DiskCopy42Image *Create(const char *name, size_t blocks, const char *vname);
static DiskCopy42Image *Open(MappedFile *);
static uint32_t Checksum(void *data, size_t size);
virtual void write(unsigned block, const void *bp);
virtual BlockCache *createBlockCache(unsigned size);
private:
DiskCopy42Image(const char *name, bool readOnly);
DiskCopy42Image(MappedFile *);
static void Validate(MappedFile *);
bool _changed;
};
}
#endif