xref: /haiku/src/system/boot/loader/file_systems/hfs_plus/hfs_plus.cpp (revision b8ded2f89783a220c7b3019d48266a682cc79158)
15af32e75SAxel Dörfler /*
2*4b723e3fSAxel Dörfler  * Copyright 2005-2013, Axel Dörfler, axeld@pinc-software.de.
35af32e75SAxel Dörfler  * Distributed under the terms of the MIT License.
45af32e75SAxel Dörfler  */
55af32e75SAxel Dörfler 
65af32e75SAxel Dörfler 
75af32e75SAxel Dörfler #include "hfs_plus.h"
85af32e75SAxel Dörfler 
95af32e75SAxel Dörfler #include <boot/partitions.h>
105af32e75SAxel Dörfler #include <boot/platform.h>
115af32e75SAxel Dörfler 
125af32e75SAxel Dörfler #include <string.h>
135af32e75SAxel Dörfler #include <unistd.h>
145af32e75SAxel Dörfler #include <fcntl.h>
155af32e75SAxel Dörfler #include <stdio.h>
165af32e75SAxel Dörfler #include <stdlib.h>
175af32e75SAxel Dörfler 
185af32e75SAxel Dörfler 
195af32e75SAxel Dörfler using namespace HFSPlus;
205af32e75SAxel Dörfler 
215af32e75SAxel Dörfler #if 0
225af32e75SAxel Dörfler status_t
235af32e75SAxel Dörfler HFSPlus::get_root_block(int fDevice, char *buffer, int32 blockSize, off_t partitionSize)
245af32e75SAxel Dörfler {
255af32e75SAxel Dörfler 	hfs_volume_header header;
265af32e75SAxel Dörfler 	if (read_pos(fDevice, 1024, &header, sizeof(header)) < B_OK)
275af32e75SAxel Dörfler 		return B_ERROR;
285af32e75SAxel Dörfler 
295af32e75SAxel Dörfler 
305af32e75SAxel Dörfler 	return B_OK;
315af32e75SAxel Dörfler }
325af32e75SAxel Dörfler #endif
335af32e75SAxel Dörfler 
345af32e75SAxel Dörfler //	#pragma mark -
355af32e75SAxel Dörfler 
365af32e75SAxel Dörfler 
375af32e75SAxel Dörfler static status_t
hfs_plus_get_file_system(boot::Partition * partition,::Directory ** _root)385af32e75SAxel Dörfler hfs_plus_get_file_system(boot::Partition *partition, ::Directory **_root)
395af32e75SAxel Dörfler {
4082029bdaSMarcus Overhagen /*	Volume *volume = new(nothrow) Volume(partition);
415af32e75SAxel Dörfler 	if (volume == NULL)
425af32e75SAxel Dörfler 		return B_NO_MEMORY;
435af32e75SAxel Dörfler 
445af32e75SAxel Dörfler 	if (volume->InitCheck() < B_OK) {
455af32e75SAxel Dörfler 		delete volume;
465af32e75SAxel Dörfler 		return B_ERROR;
475af32e75SAxel Dörfler 	}
485af32e75SAxel Dörfler 
495af32e75SAxel Dörfler 	*_root = volume->Root();
505af32e75SAxel Dörfler */	return B_OK;
515af32e75SAxel Dörfler }
525af32e75SAxel Dörfler 
535af32e75SAxel Dörfler 
545af32e75SAxel Dörfler file_system_module_info gAmigaFFSFileSystemModule = {
555af32e75SAxel Dörfler 	"file_systems/hfs_plus/v1",
565af32e75SAxel Dörfler 	kPartitionTypeHFSPlus,
5767486592SIngo Weinhold 	NULL,
585af32e75SAxel Dörfler 	hfs_plus_get_file_system
595af32e75SAxel Dörfler };
605af32e75SAxel Dörfler 
61