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
18class NTFSAddOn : public BDiskSystemAddOn {
19public:
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
41class NTFSPartitionHandle : public BPartitionHandle {
42public:
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