xref: /haiku/src/add-ons/kernel/file_systems/btrfs/AttributeIterator.h (revision 99768086b1493648abee3f076683cc9fefa5923e)
1956f541dSJérôme Duval /*
2*99768086Shyche  * Copyright 2017, Chế Vũ Gia Hy, cvghy116@gmail.com.
3956f541dSJérôme Duval  * Copyright 2011, Jérôme Duval, korli@users.berlios.de.
4956f541dSJérôme Duval  * This file may be used under the terms of the MIT License.
5956f541dSJérôme Duval  */
6956f541dSJérôme Duval #ifndef ATTRIBUTEITERATOR_H
7956f541dSJérôme Duval #define ATTRIBUTEITERATOR_H
8956f541dSJérôme Duval 
9956f541dSJérôme Duval 
10299aba38Shyche #include "BTree.h"
11956f541dSJérôme Duval #include "Inode.h"
12956f541dSJérôme Duval 
13956f541dSJérôme Duval 
14956f541dSJérôme Duval class AttributeIterator {
15956f541dSJérôme Duval public:
16956f541dSJérôme Duval 								AttributeIterator(Inode* inode);
17956f541dSJérôme Duval 								~AttributeIterator();
18956f541dSJérôme Duval 
19956f541dSJérôme Duval 			status_t			InitCheck();
20956f541dSJérôme Duval 
21956f541dSJérôme Duval 			status_t			GetNext(char* name, size_t* _nameLength);
22956f541dSJérôme Duval 			status_t			Rewind();
23956f541dSJérôme Duval private:
24956f541dSJérôme Duval 			uint64				fOffset;
25956f541dSJérôme Duval 			Inode* 				fInode;
26956f541dSJérôme Duval 			TreeIterator*		fIterator;
27956f541dSJérôme Duval };
28956f541dSJérôme Duval 
29956f541dSJérôme Duval 
30956f541dSJérôme Duval #endif	// ATTRIBUTEITERATOR_H
31