xref: /haiku/src/add-ons/kernel/file_systems/exfat/DataStream.h (revision e44c7231931688c589e503bc03a0bef5750829ea)
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