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