1/* 2 * Copyright 2011, Haiku Inc. All rights reserved. 3 * This file may be used under the terms of the MIT License. 4 * 5 * Authors: 6 * J��r��me Duval 7 * Ch��� V�� Gia Hy 8 */ 9#ifndef CHUNK_H 10#define CHUNK_H 11 12 13#include "btrfs.h" 14 15 16//! Used to translate logical addresses to physical addresses 17class Chunk { 18public: 19 Chunk(btrfs_chunk* chunk, 20 fsblock_t offset); 21 ~Chunk(); 22 //! \return Value of current physical size 23 uint32 Size() const; 24 //! Used to convert logical addresses into physical addresses 25 status_t FindBlock(off_t logical, off_t& physical); 26 fsblock_t Offset() const { return fChunkOffset; } 27 fsblock_t End() const 28 { return fChunkOffset + fChunk->Length(); } 29private: 30 btrfs_chunk* fChunk; 31 fsblock_t fChunkOffset; 32 status_t fInitStatus; 33}; 34 35#endif // CHUNK_H 36