xref: /haiku/src/add-ons/disk_systems/ntfs/NTFSAddOn.h (revision 04171cfc5c10c98b9ba3c7233a271f6165cdd36f)
1 /*
2  * Copyright 2007, Ingo Weinhold, ingo_weinhold@gmx.de.
3  * Copyright 2008-2012, Axel Dörfler, axeld@pinc-software.de.
4  * Copyright 2012, Gerasim Troeglazov (3dEyes**), 3dEyes@gmail.com
5  *
6  * Distributed under the terms of the MIT License.
7  */
8 
9 #ifndef _NTFS_ADD_ON_H
10 #define _NTFS_ADD_ON_H
11 
12 #include <DiskSystemAddOn.h>
13 
14 #ifndef MAX_PATH
15 #define MAX_PATH 1024
16 #endif
17 
18 class NTFSAddOn : public BDiskSystemAddOn {
19 public:
20 								NTFSAddOn();
21 	virtual						~NTFSAddOn();
22 
23 	virtual	status_t			CreatePartitionHandle(
24 									BMutablePartition* partition,
25 									BPartitionHandle** handle);
26 	virtual	status_t			GetParameterEditor(
27 									B_PARAMETER_EDITOR_TYPE type,
28 									BPartitionParameterEditor** editor);
29 
30 	virtual	bool				CanInitialize(
31 									const BMutablePartition* partition);
32 	virtual	status_t			ValidateInitialize(
33 									const BMutablePartition* partition,
34 									BString* name, const char* parameters);
35 	virtual	status_t			Initialize(BMutablePartition* partition,
36 									const char* name, const char* parameters,
37 									BPartitionHandle** handle);
38 };
39 
40 
41 class NTFSPartitionHandle : public BPartitionHandle {
42 public:
43 								NTFSPartitionHandle(
44 									BMutablePartition* partition);
45 								~NTFSPartitionHandle();
46 
47 			status_t			Init();
48 
49 	virtual	uint32				SupportedOperations(uint32 mask);
50 };
51 
52 
53 #endif	// _NTFS_ADD_ON_H
54