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