diff options
Diffstat (limited to 'src/fuse/cow.h')
-rw-r--r-- | src/fuse/cow.h | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/src/fuse/cow.h b/src/fuse/cow.h index 298ce4e..7f2c6bb 100644 --- a/src/fuse/cow.h +++ b/src/fuse/cow.h @@ -2,7 +2,7 @@ * cow.h * * Created on: 22.08.2018 - * Author: michael + * Author: Michael Scherle */ #ifndef COW_H_ @@ -22,20 +22,29 @@ typedef struct cow_request{ struct cow_request *dependencies[6]; struct cow_request *myDependencies[6]; dnbd3_signal_t* signal; -}cow_request; +} cow_request; -bool create_cow_file(char *cow_path, char *image_Name,uint64_t imageSize); +typedef struct { + uint32_t version; + uint64_t imageSize; + uint32_t nameLenght; + uint32_t pageSize; +} cow_metadata; + + +bool cow_createFile(char *cow_path, char *image_Name,uint64_t imageSize); bool createBigBlock(unsigned long id); +int cow_read(char *buf, size_t size, off_t offset); +uint64_t cow_loadFile( char *cow_path, uint64_t imageSize ); + +int readBigBlock(long bigBlockId ,char *buf,size_t size, off_t offset); void onClose(); cow_request getAccess(off_t offset,size_t size); void closeAcccess(cow_request *request); int write_cow(const char *data, size_t size, off_t offset); - int writeToBigBlock(unsigned long bigBlockId,const char *data, off_t offset,size_t size); int getSmallBlockId(off_t offset); -int cow_read(char *buf, size_t size, off_t offset); -int readBigBlock(long bigBlockId ,char *buf,size_t size, off_t offset); -void test(); +void test(); #endif /* COW_H_ */ |