xref: /onnv-gate/usr/src/lib/libparted/common/libparted/fs/hfs/advfs.h (revision 9663:ace9a2ac3683)
1 /*
2     libparted - a library for manipulating disk partitions
3     Copyright (C) 2004, 2007 Free Software Foundation, Inc.
4 
5     This program is free software; you can redistribute it and/or modify
6     it under the terms of the GNU General Public License as published by
7     the Free Software Foundation; either version 3 of the License, or
8     (at your option) any later version.
9 
10     This program is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13     GNU General Public License for more details.
14 
15     You should have received a copy of the GNU General Public License
16     along with this program.  If not, see <http://www.gnu.org/licenses/>.
17 */
18 
19 #ifndef _ADVFS_H
20 #define _ADVFS_H
21 
22 #include <parted/parted.h>
23 #include <parted/endian.h>
24 #include <parted/debug.h>
25 
26 #include "hfs.h"
27 
28 int
29 hfs_btree_search (HfsPrivateFile* b_tree_file, HfsPrivateGenericKey* key,
30 		  void *record_out, unsigned int record_size,
31 		  HfsCPrivateLeafRec* record_ref);
32 
33 void
34 hfs_free_bad_blocks_list(HfsPrivateLinkExtent* first);
35 
36 int
37 hfs_read_bad_blocks (const PedFileSystem *fs);
38 
39 int
40 hfs_is_bad_block (const PedFileSystem *fs, unsigned int fblock);
41 
42 PedSector
43 hfs_get_empty_end (const PedFileSystem *fs);
44 
45 unsigned int
46 hfs_find_start_pack (const PedFileSystem *fs, unsigned int fblock);
47 
48 #endif /* _ADVFS_H */
49