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