--- old/usr/src/lib/libparted/common/libparted/fs/hfs/hfs.h	2014-07-17 16:13:51.326516447 +0200
+++ /dev/null	2014-07-17 16:13:51.000000000 +0200
@@ -1,830 +0,0 @@
-/*
-    libparted - a library for manipulating disk partitions
-    Copyright (C) 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef _HFS_H
-#define _HFS_H
-
-/* WARNING : bn is used 2 times in theses macro */
-/* so _never_ use side effect operators when using them */
-#define TST_BLOC_OCCUPATION(tab,bn) \
-	(((tab)[(bn)/8])  &  (1<<(7-((bn)&7))))
-#define SET_BLOC_OCCUPATION(tab,bn) \
-	(((tab)[(bn)/8]) |=  (1<<(7-((bn)&7))))
-#define CLR_BLOC_OCCUPATION(tab,bn) \
-	(((tab)[(bn)/8]) &= ~(1<<(7-((bn)&7))))
-
-/* Maximum number of blocks for the copy buffers */
-#define BLOCK_MAX_BUFF	256
-/* Maximum size of the copy buffers, in bytes */
-#define BYTES_MAX_BUFF	8388608
-
-/* Apple Creator Codes follow */
-#define HFSP_IMPL_Shnk	0x53686e6b	/* in use */
-#define HFSP_IMPL_Xpnd	0x58706e64	/* reserved */
-#define HFSP_IMPL_Resz	0x5265737a	/* reserved */
-#define HFSP_IMPL_PHpx	0x50482b78	/* reserved */
-#define HFSP_IMPL_traP  0x74726150	/* reserved */
-#define HFSP_IMPL_GnuP  0x476e7550	/* reserved */
-
-#define HFS_SIGNATURE	0x4244		/* 'BD' */
-#define HFSP_SIGNATURE	0x482B		/* 'H+' */
-#define HFSX_SIGNATURE  0x4858		/* 'HX' */
-
-#define HFSP_VERSION	 4
-#define HFSX_VERSION	 5
-
-#define HFS_HARD_LOCK	 7
-#define HFS_UNMOUNTED	 8
-#define HFS_BAD_SPARED	 9
-#define HFS_SOFT_LOCK	15
-#define HFSP_NO_CACHE	10
-#define HFSP_INCONSISTENT 11
-#define HFSP_REUSE_CNID	12
-#define HFSP_JOURNALED	13
-
-#define HFS_IDX_NODE	0x00
-#define HFS_HDR_NODE	0x01
-#define HFS_MAP_NODE	0x02
-#define HFS_LEAF_NODE	0xFF
-
-#define HFS_FIRST_REC	0x0E
-#define HFS_NSD_HD_REC	0x78
-#define HFS_MAP_REC	0xF8
-
-#define HFS_DATA_FORK	0x00
-#define HFS_RES_FORK	0xFF
-
-#define HFS_CAT_DIR	0x01
-#define HFS_CAT_FILE	0x02
-#define HFS_CAT_DIR_TH	0x03
-#define HFS_CAT_FILE_TH	0x04
-
-#define HFSP_ATTR_INLINE	0x10
-#define HFSP_ATTR_FORK		0x20
-#define HFSP_ATTR_EXTENTS	0x30
-
-#define HFS_ROOT_PAR_ID		0x01
-#define HFS_ROOT_DIR_ID		0x02
-#define HFS_XTENT_ID		0x03
-#define HFS_CATALOG_ID		0x04
-#define HFS_BAD_BLOCK_ID	0x05
-#define HFSP_ALLOC_ID		0x06
-#define HFSP_STARTUP_ID		0x07
-#define HFSP_ATTRIB_ID		0x08
-#define HFSP_BOGUS_ID		0x0F
-#define HFSP_FIRST_AV_ID	0x10
-
-#define HFSJ_JOURN_IN_FS	0x00
-#define HFSJ_JOURN_OTHER_DEV	0x01
-#define HFSJ_JOURN_NEED_INIT	0x02
-
-#define HFSJ_HEADER_MAGIC	0x4a4e4c78
-#define HFSJ_ENDIAN_MAGIC	0x12345678
-
-#define HFSX_CASE_FOLDING	0xCF	/* case insensitive HFSX */
-#define HFSX_BINARY_COMPARE	0xBC	/* case sensitive   HFSX */
-
-#define HFS_EXT_NB	3
-#define HFSP_EXT_NB	8
-
-/* Define the filenames used by the FS extractor */
-#ifdef HFS_EXTRACT_FS
-
-#define HFS_MDB_FILENAME	"mdb.hfs"
-#define HFS_CATALOG_FILENAME	"catalog.hfs"
-#define HFS_EXTENTS_FILENAME	"extents.hfs"
-#define HFS_BITMAP_FILENAME	"bitmap.hfs"
-
-#define HFSP_VH_FILENAME	"vh.hfsplus"
-#define HFSP_CATALOG_FILENAME	"catalog.hfsplus"
-#define HFSP_EXTENTS_FILENAME	"extents.hfsplus"
-#define HFSP_BITMAP_FILENAME	"bitmap.hfsplus"
-#define HFSP_ATTRIB_FILENAME	"attributes.hfsplus"
-#define HFSP_STARTUP_FILENAME	"startup.hfsplus"
-
-#endif /* HFS_EXTRACT_FS */
-
-
-
-/* ----------------------------------- */
-/* --      HFS DATA STRUCTURES      -- */
-/* ----------------------------------- */
-
-#ifdef __sun
-#define __attribute__(X)	/*nothing*/
-#endif /* __sun */
-
-/* Extent descriptor */
-#ifdef __sun
-#pragma pack(1)
-#endif
-struct __attribute__ ((packed)) _HfsExtDescriptor {
-        uint16_t	start_block;
-        uint16_t	block_count;
-};
-#ifdef __sun
-#pragma pack()
-#endif
-typedef struct _HfsExtDescriptor HfsExtDescriptor;
-typedef HfsExtDescriptor HfsExtDataRec[HFS_EXT_NB];
-
-/* Volume header */
-#ifdef __sun
-#pragma pack(1)
-#endif
-struct __attribute__ ((packed)) _HfsMasterDirectoryBlock {
-        uint16_t         signature;
-        uint32_t         create_date;
-        uint32_t         modify_date;
-        uint16_t         volume_attributes;
-        uint16_t         files_in_root;
-        uint16_t         volume_bitmap_block;       /* in sectors */
-        uint16_t         next_allocation;
-        uint16_t         total_blocks;
-        uint32_t         block_size;                /* in bytes */
-        uint32_t         def_clump_size;            /* in bytes */
-        uint16_t         start_block;               /* in sectors */
-        uint32_t         next_free_node;
-        uint16_t         free_blocks;
-        uint8_t          name_length;
-        char             name[27];
-        uint32_t         backup_date;
-        uint16_t         backup_number;
-        uint32_t         write_count;
-        uint32_t         extents_clump;
-        uint32_t         catalog_clump;
-        uint16_t         dirs_in_root;
-        uint32_t         file_count;
-        uint32_t         dir_count;
-        uint32_t         finder_info[8];
-        union __attribute__ ((packed)) {
-                struct __attribute__ ((packed)) {
-                        uint16_t    volume_cache_size;    /* in blocks */
-                        uint16_t    bitmap_cache_size;    /* in blocks */
-                        uint16_t    common_cache_size;    /* in blocks */
-                } legacy;
-                struct __attribute__ ((packed)) {
-                        uint16_t            signature;
-                        HfsExtDescriptor    location;
-                } embedded;
-        } old_new;
-        uint32_t         extents_file_size;  /* in bytes, block size multiple */
-        HfsExtDataRec    extents_file_rec;
-        uint32_t         catalog_file_size;  /* in bytes, block size multiple */
-        HfsExtDataRec    catalog_file_rec;
-};
-#ifdef __sun
-#pragma pack()
-#endif
-typedef struct _HfsMasterDirectoryBlock HfsMasterDirectoryBlock;
-
-/* B*-Tree Node Descriptor */
-#ifdef __sun
-#pragma pack(1)
-#endif
-struct __attribute__ ((packed)) _HfsNodeDescriptor {
-        uint32_t        next;
-        uint32_t        previous;
-        int8_t          type;
-        uint8_t         height;
-        uint16_t        rec_nb;
-        uint16_t        reserved;
-};
-#ifdef __sun
-#pragma pack()
-#endif
-typedef struct _HfsNodeDescriptor HfsNodeDescriptor;
-
-/* Header record of a whole B*-Tree */
-#ifdef __sun
-#pragma pack(1)
-#endif
-struct __attribute__ ((packed)) _HfsHeaderRecord {
-        uint16_t        depth;
-        uint32_t        root_node;
-        uint32_t        leaf_records;
-        uint32_t        first_leaf_node;
-        uint32_t        last_leaf_node;
-        uint16_t        node_size;
-        uint16_t        max_key_len;
-        uint32_t        total_nodes;
-        uint32_t        free_nodes;
-        int8_t          reserved[76];
-};
-#ifdef __sun
-#pragma pack()
-#endif
-typedef struct _HfsHeaderRecord HfsHeaderRecord;
-
-/* Catalog key for B*-Tree lookup in the catalog file */
-#ifdef __sun
-#pragma pack(1)
-#endif
-struct __attribute__ ((packed)) _HfsCatalogKey {
-        uint8_t         key_length; /* length of the key without key_length */
-        uint8_t         reserved;
-        uint32_t        parent_ID;
-        uint8_t         name_length;
-        char            name[31];   /* in fact physicaly 1 upto 31 */
-};
-#ifdef __sun
-#pragma pack()
-#endif
-typedef struct _HfsCatalogKey HfsCatalogKey;
-
-/* Extents overflow key for B*-Tree lookup */
-#ifdef __sun
-#pragma pack(1)
-#endif
-struct __attribute__ ((packed)) _HfsExtentKey {
-        uint8_t         key_length; /* length of the key without key_length */
-        uint8_t         type;       /* data or ressource fork */
-        uint32_t        file_ID;
-        uint16_t        start;
-};
-#ifdef __sun
-#pragma pack()
-#endif
-typedef struct _HfsExtentKey HfsExtentKey;
-
-/* Catalog subdata case directory */
-#ifdef __sun
-#pragma pack(1)
-#endif
-struct __attribute__ ((packed)) _HfsDir {
-        uint16_t        flags;
-        uint16_t        valence;        /* number of files in this directory */
-        uint32_t        dir_ID;
-        uint32_t        create_date;
-        uint32_t        modify_date;
-        uint32_t        backup_date;
-        int8_t          DInfo[16];      /* used by Finder, handle as reserved */
-        int8_t          DXInfo[16];     /* used by Finder, handle as reserved */
-        uint32_t        reserved[4];
-};
-#ifdef __sun
-#pragma pack()
-#endif
-typedef struct _HfsDir HfsDir;
-
-/* Catalog subdata case file */
-#ifdef __sun
-#pragma pack(1)
-#endif
-struct __attribute__ ((packed)) _HfsFile {
-        int8_t          flags;
-        int8_t          type;           /* should be 0 */
-        int8_t          FInfo[16];      /* used by Finder, handle as reserved */
-        uint32_t        file_ID;
-        uint16_t        data_start_block;
-        uint32_t        data_sz_byte;
-        uint32_t        data_sz_block;
-        uint16_t        res_start_block;
-        uint32_t        res_sz_byte;
-        uint32_t        res_sz_block;
-        uint32_t        create_date;
-        uint32_t        modify_date;
-        uint32_t        backup_date;
-        int8_t          FXInfo[16];     /* used by Finder, handle as reserved */
-        uint16_t        clump_size;
-        HfsExtDataRec   extents_data;
-        HfsExtDataRec   extents_res;
-        uint32_t        reserved;
-};
-#ifdef __sun
-#pragma pack()
-#endif
-typedef struct _HfsFile HfsFile;
-
-/* Catalog subdata case directory thread */
-#ifdef __sun
-#pragma pack(1)
-#endif
-struct __attribute__ ((packed)) _HfsDirTh {
-        uint32_t        reserved[2];
-        uint32_t        parent_ID;
-        int8_t          name_length;
-        char            name[31];
-};
-#ifdef __sun
-#pragma pack()
-#endif
-typedef struct _HfsDirTh HfsDirTh;
-
-/* Catalog subdata case file thread */
-typedef struct _HfsDirTh HfsFileTh;        /* same as directory thread */
-
-/* Catalog data */
-#ifdef __sun
-#pragma pack(1)
-#endif
-struct __attribute__ ((packed)) _HfsCatalog {
-        int8_t          type;
-        int8_t          reserved;
-        union {
-                HfsDir       dir;
-                HfsFile      file;
-                HfsDirTh     dir_th;
-                HfsFileTh    file_th;
-        } sel;
-};
-#ifdef __sun
-#pragma pack()
-#endif
-typedef struct _HfsCatalog HfsCatalog;
-
-
-
-/* ------------------------------------ */
-/* --      HFS+ DATA STRUCTURES      -- */
-/* ------------------------------------ */
-
-/* documented since 2004 in tn1150 */
-#ifdef __sun
-#pragma pack(1)
-#endif
-struct __attribute__ ((packed)) _HfsPPerms {
-        uint32_t        owner_ID;
-        uint32_t        group_ID;
-        uint32_t        permissions;
-        uint32_t        special_devices;
-};
-#ifdef __sun
-#pragma pack()
-#endif
-typedef struct _HfsPPerms HfsPPerms;
-
-/* HFS+ extent descriptor*/
-#ifdef __sun
-#pragma pack(1)
-#endif
-struct __attribute__ ((packed)) _HfsPExtDescriptor {
-        uint32_t        start_block;
-        uint32_t        block_count;
-};
-#ifdef __sun
-#pragma pack()
-#endif
-typedef struct _HfsPExtDescriptor HfsPExtDescriptor;
-typedef HfsPExtDescriptor HfsPExtDataRec[HFSP_EXT_NB];
-
-/* HFS+ fork data structure */
-#ifdef __sun
-#pragma pack(1)
-#endif
-struct __attribute__ ((packed)) _HfsPForkData {
-        uint64_t        logical_size;
-        uint32_t        clump_size;
-        uint32_t        total_blocks;
-        HfsPExtDataRec  extents;
-};
-#ifdef __sun
-#pragma pack()
-#endif
-typedef struct _HfsPForkData HfsPForkData;
-
-/* HFS+ catalog node ID */
-typedef uint32_t HfsPNodeID;
-
-/* HFS+ file names */
-typedef uint16_t unichar;
-#ifdef __sun
-#pragma pack(1)
-#endif
-struct __attribute__ ((packed)) _HfsPUniStr255 {
-        uint16_t        length;
-        unichar         unicode[255];        /* 1 upto 255 */
-};
-#ifdef __sun
-#pragma pack()
-#endif
-typedef struct _HfsPUniStr255 HfsPUniStr255;
-
-/* HFS+ volume header */
-#ifdef __sun
-#pragma pack(1)
-#endif
-struct __attribute__ ((packed)) _HfsPVolumeHeader {
-        uint16_t        signature;
-        uint16_t        version;
-        uint32_t        attributes;
-        uint32_t        last_mounted_version;
-        uint32_t        journal_info_block;
-        
-        uint32_t        create_date;
-        uint32_t        modify_date;
-        uint32_t        backup_date;
-        uint32_t        checked_date;
-        
-        uint32_t        file_count;
-        uint32_t        dir_count;
-        
-        uint32_t        block_size;
-        uint32_t        total_blocks;
-        uint32_t        free_blocks;
-        
-        uint32_t        next_allocation;
-        uint32_t        res_clump_size;
-        uint32_t        data_clump_size;
-        HfsPNodeID      next_catalog_ID;
-        
-        uint32_t        write_count;
-        uint64_t        encodings_bitmap;
-        
-        uint8_t         finder_info[32];
-        
-        HfsPForkData    allocation_file;
-        HfsPForkData    extents_file;
-        HfsPForkData    catalog_file;
-        HfsPForkData    attributes_file;
-        HfsPForkData    startup_file;
-};
-#ifdef __sun
-#pragma pack()
-#endif
-typedef struct _HfsPVolumeHeader HfsPVolumeHeader;
-
-/* HFS+ B-Tree Node Descriptor. Same as HFS btree. */
-#ifdef __sun
-#pragma pack(1)
-#endif
-struct __attribute__ ((packed)) _HfsPNodeDescriptor {
-        uint32_t        next;
-        uint32_t        previous;
-        int8_t          type;
-        uint8_t         height;
-        uint16_t        rec_nb;
-        uint16_t        reserved;
-};
-#ifdef __sun
-#pragma pack()
-#endif
-typedef struct _HfsPNodeDescriptor HfsPNodeDescriptor;
-
-/* Header record of a whole HFS+ B-Tree. */
-#ifdef __sun
-#pragma pack(1)
-#endif
-struct __attribute__ ((packed)) _HfsPHeaderRecord {
-        uint16_t        depth;
-        uint32_t        root_node;
-        uint32_t        leaf_records;
-        uint32_t        first_leaf_node;
-        uint32_t        last_leaf_node;
-        uint16_t        node_size;
-        uint16_t        max_key_len;
-        uint32_t        total_nodes;
-        uint32_t        free_nodes;        /* same as hfs btree until here */
-        uint16_t        reserved1;
-        
-        uint32_t        clump_size;
-        uint8_t         btree_type;        /* must be 0 for HFS+ B-Tree */
-        uint8_t         key_compare_type; /* hfsx => 0xCF = case folding */
-                                          /*         0xBC = binary compare */
-                                          /* otherwise, reserved */
-        uint32_t        attributes;
-        uint32_t        reserved3[16];
-};
-#ifdef __sun
-#pragma pack()
-#endif
-typedef struct _HfsPHeaderRecord HfsPHeaderRecord;
-
-/* Catalog key for B-Tree lookup in the HFS+ catalog file */
-#ifdef __sun
-#pragma pack(1)
-#endif
-struct __attribute__ ((packed)) _HfsPCatalogKey {
-        uint16_t        key_length;
-        HfsPNodeID      parent_ID;
-        HfsPUniStr255   node_name;
-};
-#ifdef __sun
-#pragma pack()
-#endif
-typedef struct _HfsPCatalogKey HfsPCatalogKey;
-
-/* HFS+ catalog subdata case dir */
-#ifdef __sun
-#pragma pack(1)
-#endif
-struct __attribute__ ((packed)) _HfsPDir {
-        uint16_t        flags;
-        uint32_t        valence;
-        HfsPNodeID      dir_ID;
-        uint32_t        create_date;
-        uint32_t        modify_date;
-        uint32_t        attrib_mod_date;
-        uint32_t        access_date;
-        uint32_t        backup_date;
-        HfsPPerms       permissions;
-        int8_t          DInfo[16];        /* used by Finder, handle as reserved */
-        int8_t          DXInfo[16];       /* used by Finder, handle as reserved */
-        uint32_t        text_encoding;
-        uint32_t        reserved;
-};
-#ifdef __sun
-#pragma pack()
-#endif
-typedef struct _HfsPDir HfsPDir;
-
-/* HFS+ catalog subdata case file */
-#ifdef __sun
-#pragma pack(1)
-#endif
-struct __attribute__ ((packed)) _HfsPFile {
-        uint16_t        flags;
-        uint32_t        reserved1;
-        HfsPNodeID      file_ID;
-        uint32_t        create_date;
-        uint32_t        modify_date;
-        uint32_t        attrib_mod_date;
-        uint32_t        access_date;
-        uint32_t        backup_date;
-        HfsPPerms       permissions;
-        int8_t          FInfo[16];        /* used by Finder, handle as reserved */
-        int8_t          FXInfo[16];       /* used by Finder, handle as reserved */
-        uint32_t        text_encoding;
-        uint32_t        reserved2;
-        
-        HfsPForkData    data_fork;
-        HfsPForkData    res_fork;
-};
-#ifdef __sun
-#pragma pack()
-#endif
-typedef struct _HfsPFile HfsPFile;
-
-/* HFS+ catalog subdata case thread */
-#ifdef __sun
-#pragma pack(1)
-#endif
-struct __attribute__ ((packed)) _HfsPThread {
-        int16_t         reserved;
-        HfsPNodeID      parent_ID;
-        HfsPUniStr255   node_name;
-};
-#ifdef __sun
-#pragma pack()
-#endif
-typedef struct _HfsPThread HfsPDirTh;
-typedef struct _HfsPThread HfsPFileTh;
-
-/* HFS+ Catalog leaf data */
-#ifdef __sun
-#pragma pack(1)
-#endif
-struct __attribute__ ((packed)) _HfsPCatalog {
-        int16_t         type;
-        union {
-                HfsPDir         dir;
-                HfsPFile        file;
-                HfsPDirTh       dir_th;
-                HfsPFileTh      file_th;
-        } sel;
-};
-#ifdef __sun
-#pragma pack()
-#endif
-typedef struct _HfsPCatalog HfsPCatalog;
-
-/* HFS+ extents file key */
-#ifdef __sun
-#pragma pack(1)
-#endif
-struct __attribute__ ((packed)) _HfsPExtentKey {
-        uint16_t        key_length;
-        uint8_t         type;
-        uint8_t         pad;
-        HfsPNodeID      file_ID;
-        uint32_t        start;
-};
-#ifdef __sun
-#pragma pack()
-#endif
-typedef struct _HfsPExtentKey HfsPExtentKey;
-
-/* extent file data is HfsPExtDataRec */
-
-/* Fork data attribute file */
-#ifdef __sun
-#pragma pack(1)
-#endif
-struct __attribute__ ((packed)) _HfsPForkDataAttr {
-        uint32_t        record_type;
-        uint32_t        reserved;
-        union __attribute__ ((packed)) {
-                HfsPForkData        fork;
-                HfsPExtDataRec      extents;
-        } fork_res;
-};
-#ifdef __sun
-#pragma pack()
-#endif
-typedef struct _HfsPForkDataAttr HfsPForkDataAttr;
-
-
-/* ----------- Journal data structures ----------- */
-
-/* Info block : stored in a block # defined in the VH */
-#ifdef __sun
-#pragma pack(1)
-#endif
-struct __attribute__ ((packed)) _HfsJJournalInfoBlock {
-        uint32_t        flags;
-        uint32_t        device_signature[8];
-        uint64_t        offset;
-        uint64_t        size;
-        uint32_t        reserved[32];
-};
-#ifdef __sun
-#pragma pack()
-#endif
-typedef struct _HfsJJournalInfoBlock HfsJJournalInfoBlock;
-
-#ifdef __sun
-#pragma pack(1)
-#endif
-struct __attribute__ ((packed)) _HfsJJournalHeader {
-        uint32_t        magic;
-        uint32_t        endian;
-        uint64_t        start;
-        uint64_t        end;
-        uint64_t        size;
-        uint32_t        blhdr_size;
-        uint32_t        checksum;
-        uint32_t        jhdr_size;
-};
-#ifdef __sun
-#pragma pack()
-#endif
-typedef struct _HfsJJournalHeader HfsJJournalHeader;
-
-#ifdef __sun
-#pragma pack(1)
-#endif
-struct __attribute__ ((packed)) _HfsJBlockInfo {
-        uint64_t        bnum;          /* sector number */
-        uint32_t        bsize;         /* size in bytes */
-        uint32_t        next;
-};
-#ifdef __sun
-#pragma pack()
-#endif
-typedef struct _HfsJBlockInfo HfsJBlockInfo;
-
-#ifdef __sun
-#pragma pack(1)
-#endif
-struct __attribute__ ((packed)) _HfsJBlockListHeader {
-        uint16_t        max_blocks;    /* reserved */
-        uint16_t        num_blocks;
-        uint32_t        bytes_used;
-        uint32_t        checksum;
-        uint32_t        pad;
-        HfsJBlockInfo   binfo[1];
-};
-#ifdef __sun
-#pragma pack()
-#endif
-typedef struct _HfsJBlockListHeader HfsJBlockListHeader;
-
-
-/* ---------------------------------------- */
-/* --      INTERNAL DATA STRUCTURES      -- */
-/* ---------------------------------------- */
-
-/* Data of an opened HFS file */
-struct _HfsPrivateFile {
-        PedSector       sect_nb;
-        PedFileSystem*  fs;
-        uint32_t        CNID;          /* disk order (BE) */
-        HfsExtDataRec   first;         /* disk order (BE) */
-        HfsExtDataRec   cache;         /* disk order (BE) */
-        uint16_t        start_cache;   /* CPU order */
-};
-typedef struct _HfsPrivateFile HfsPrivateFile;
-
-/* To store bad block list */
-struct _HfsPrivateLinkExtent {
-        HfsExtDescriptor                 extent;
-        struct _HfsPrivateLinkExtent*    next;
-};
-typedef struct _HfsPrivateLinkExtent HfsPrivateLinkExtent;
-
-/* HFS Filesystem specific data */
-struct _HfsPrivateFSData {
-        uint8_t                     alloc_map[(1<<16) / 8];
-        HfsMasterDirectoryBlock*    mdb;
-        HfsPrivateFile*             extent_file;
-        HfsPrivateFile*             catalog_file;
-        HfsPrivateLinkExtent*       bad_blocks_xtent_list;
-        unsigned int                bad_blocks_xtent_nb;
-        char                        bad_blocks_loaded;
-};
-typedef struct _HfsPrivateFSData HfsPrivateFSData;
-
-/* Generic btree key */
-#ifdef __sun
-#pragma pack(1)
-#endif
-struct __attribute__ ((packed)) _HfsPrivateGenericKey {
-        uint8_t         key_length;
-        uint8_t         key_content[1];                /* we use 1 as a minimum size */
-};
-#ifdef __sun
-#pragma pack()
-#endif
-typedef struct _HfsPrivateGenericKey HfsPrivateGenericKey;
-
-/* ----- HFS+ ----- */
-
-/* Data of an opened HFS file */
-struct _HfsPPrivateFile {
-        PedSector       sect_nb;
-        PedFileSystem*  fs;
-        HfsPNodeID      CNID;          /* disk order (BE) */
-        HfsPExtDataRec  first;         /* disk order (BE) */
-        HfsPExtDataRec  cache;         /* disk order (BE) */
-        uint32_t        start_cache;   /* CPU order */
-};
-typedef struct _HfsPPrivateFile HfsPPrivateFile;
-
-struct _HfsPPrivateExtent {
-        PedSector       start_sector;
-        PedSector       sector_count;
-};
-typedef struct _HfsPPrivateExtent HfsPPrivateExtent;
-
-/* To store bad block list */
-struct _HfsPPrivateLinkExtent {
-        HfsPExtDescriptor                 extent;
-        struct _HfsPPrivateLinkExtent*    next;
-};
-typedef struct _HfsPPrivateLinkExtent HfsPPrivateLinkExtent;
-
-/* HFS+ file system specific data */
-struct _HfsPPrivateFSData {
-        PedFileSystem*          wrapper;      /* NULL if hfs+ is not embedded */
-        PedGeometry*            plus_geom;    /* Geometry of HFS+ _volume_ */
-        uint8_t*                alloc_map;
-        uint8_t*                dirty_alloc_map;
-        HfsPVolumeHeader*       vh;
-        HfsPPrivateFile*        extents_file;
-        HfsPPrivateFile*        catalog_file;
-        HfsPPrivateFile*        attributes_file;
-        HfsPPrivateFile*        allocation_file;
-        HfsPPrivateLinkExtent*  bad_blocks_xtent_list;
-        uint32_t                jib_start_block;
-        uint32_t                jl_start_block;
-        unsigned int            bad_blocks_xtent_nb;
-        char                    bad_blocks_loaded;
-        char                    free_geom;    /* 1 = plus_geom must be freed */
-};
-typedef struct _HfsPPrivateFSData HfsPPrivateFSData;
-
-/* Generic + btree key */
-#ifdef __sun
-#pragma pack(1)
-#endif
-struct __attribute__ ((packed)) _HfsPPrivateGenericKey {
-        uint16_t        key_length;
-        uint8_t         key_content[1];       /* we use 1 as a minimum size */
-};
-#ifdef __sun
-#pragma pack()
-#endif
-typedef struct _HfsPPrivateGenericKey HfsPPrivateGenericKey;
-
-/* ---- common ---- */
-
-/* node and lead record reference for a BTree search */
-struct _HfsCPrivateLeafRec {
-        unsigned int    node_size;     /* in sectors */
-        unsigned int    node_number;
-        unsigned int    record_pos;
-        unsigned int    record_number;
-};
-typedef struct _HfsCPrivateLeafRec HfsCPrivateLeafRec;
-
-extern uint8_t*    hfs_block;
-extern uint8_t*    hfsp_block;
-extern unsigned    hfs_block_count;
-extern unsigned    hfsp_block_count;
-
-#endif /* _HFS_H */
