1e74e90aeSJérôme Duval /* 2e74e90aeSJérôme Duval * Copyright 2011, Haiku Inc. All rights reserved. 3e74e90aeSJérôme Duval * This file may be used under the terms of the MIT License. 4e74e90aeSJérôme Duval * 5e74e90aeSJérôme Duval * Authors: 6e74e90aeSJérôme Duval * Jérôme Duval 7e74e90aeSJérôme Duval */ 8e74e90aeSJérôme Duval #ifndef DATASTREAM_H 9e74e90aeSJérôme Duval #define DATASTREAM_H 10e74e90aeSJérôme Duval 11e74e90aeSJérôme Duval 12e74e90aeSJérôme Duval #include "exfat.h" 13e74e90aeSJérôme Duval #include "Inode.h" 14e74e90aeSJérôme Duval 15e74e90aeSJérôme Duval 16e74e90aeSJérôme Duval class Volume; 17e74e90aeSJérôme Duval 18e74e90aeSJérôme Duval 19e74e90aeSJérôme Duval class DataStream 20e74e90aeSJérôme Duval { 21e74e90aeSJérôme Duval public: 22e74e90aeSJérôme Duval DataStream(Volume* volume, Inode* inode, 23e74e90aeSJérôme Duval off_t size); 24e74e90aeSJérôme Duval ~DataStream(); 25e74e90aeSJérôme Duval 26e74e90aeSJérôme Duval status_t FindBlock(off_t pos, off_t& physical, 27e74e90aeSJérôme Duval off_t *_length = NULL); 28e74e90aeSJérôme Duval private: 29e74e90aeSJérôme Duval const uint32 kBlockSize; 30*e44c7231SJérôme Duval const uint32 kClusterSize; 31e74e90aeSJérôme Duval Volume* fVolume; 32e74e90aeSJérôme Duval Inode* fInode; 33e74e90aeSJérôme Duval off_t fNumBlocks; 34e74e90aeSJérôme Duval off_t fSize; 35e74e90aeSJérôme Duval }; 36e74e90aeSJérôme Duval 37e74e90aeSJérôme Duval #endif // DATASTREAM_H 38e74e90aeSJérôme Duval 39