libparted 3.6
Loading...
Searching...
No Matches
Data Structures | Macros | Typedefs | Functions | Variables
hfs.h File Reference

Go to the source code of this file.

Data Structures

struct  _HfsCPrivateLeafRec
 
struct  _HfsPPrivateExtent
 
struct  _HfsPPrivateFile
 
struct  _HfsPPrivateFSData
 
struct  _HfsPPrivateLinkExtent
 
struct  _HfsPrivateFile
 
struct  _HfsPrivateFSData
 
struct  _HfsPrivateLinkExtent
 

Macros

#define BLOCK_MAX_BUFF   256
 
#define BYTES_MAX_BUFF   8388608
 
#define CLR_BLOC_OCCUPATION(tab, bn)    (((tab)[(bn)/8]) &= ~(1<<(7-((bn)&7))))
 
#define HFS_BAD_BLOCK_ID   0x05
 
#define HFS_BAD_SPARED   9
 
#define HFS_CAT_DIR   0x01
 
#define HFS_CAT_DIR_TH   0x03
 
#define HFS_CAT_FILE   0x02
 
#define HFS_CAT_FILE_TH   0x04
 
#define HFS_CATALOG_ID   0x04
 
#define HFS_DATA_FORK   0x00
 
#define HFS_EXT_NB   3
 
#define HFS_FIRST_REC   0x0E
 
#define HFS_HARD_LOCK   7
 
#define HFS_HDR_NODE   0x01
 
#define HFS_IDX_NODE   0x00
 
#define HFS_LEAF_NODE   0xFF
 
#define HFS_MAP_NODE   0x02
 
#define HFS_MAP_REC   0xF8
 
#define HFS_NSD_HD_REC   0x78
 
#define HFS_RES_FORK   0xFF
 
#define HFS_ROOT_DIR_ID   0x02
 
#define HFS_ROOT_PAR_ID   0x01
 
#define HFS_SIGNATURE   0x4244 /* 'BD' */
 
#define HFS_SOFT_LOCK   15
 
#define HFS_UNMOUNTED   8
 
#define HFS_XTENT_ID   0x03
 
#define HFSJ_ENDIAN_MAGIC   0x12345678
 
#define HFSJ_HEADER_MAGIC   0x4a4e4c78
 
#define HFSJ_JOURN_IN_FS   0x00
 
#define HFSJ_JOURN_NEED_INIT   0x02
 
#define HFSJ_JOURN_OTHER_DEV   0x01
 
#define HFSP_ALLOC_ID   0x06
 
#define HFSP_ATTR_EXTENTS   0x30
 
#define HFSP_ATTR_FORK   0x20
 
#define HFSP_ATTR_INLINE   0x10
 
#define HFSP_ATTRIB_ID   0x08
 
#define HFSP_BOGUS_ID   0x0F
 
#define HFSP_EXT_NB   8
 
#define HFSP_FIRST_AV_ID   0x10
 
#define HFSP_IMPL_GnuP   0x476e7550 /* reserved */
 
#define HFSP_IMPL_PHpx   0x50482b78 /* reserved */
 
#define HFSP_IMPL_Resz   0x5265737a /* reserved */
 
#define HFSP_IMPL_Shnk   0x53686e6b /* in use */
 
#define HFSP_IMPL_traP   0x74726150 /* reserved */
 
#define HFSP_IMPL_Xpnd   0x58706e64 /* reserved */
 
#define HFSP_INCONSISTENT   11
 
#define HFSP_JOURNALED   13
 
#define HFSP_NO_CACHE   10
 
#define HFSP_REUSE_CNID   12
 
#define HFSP_SIGNATURE   0x482B /* 'H+' */
 
#define HFSP_STARTUP_ID   0x07
 
#define HFSP_VERSION   4
 
#define HFSX_BINARY_COMPARE   0xBC /* case sensitive HFSX */
 
#define HFSX_CASE_FOLDING   0xCF /* case insensitive HFSX */
 
#define HFSX_SIGNATURE   0x4858 /* 'HX' */
 
#define HFSX_VERSION   5
 
#define SET_BLOC_OCCUPATION(tab, bn)    (((tab)[(bn)/8]) |= (1<<(7-((bn)&7))))
 
#define TST_BLOC_OCCUPATION(tab, bn)    (((tab)[(bn)/8]) & (1<<(7-((bn)&7))))
 

Typedefs

typedef struct _HfsCatalog HfsCatalog
 
typedef struct _HfsCatalogKey HfsCatalogKey
 
typedef struct _HfsCPrivateLeafRec HfsCPrivateLeafRec
 
typedef struct _HfsDir HfsDir
 
typedef struct _HfsDirTh HfsDirTh
 
typedef HfsExtDescriptor HfsExtDataRec[HFS_EXT_NB]
 
typedef struct _HfsExtDescriptor HfsExtDescriptor
 
typedef struct _HfsExtentKey HfsExtentKey
 
typedef struct _HfsFile HfsFile
 
typedef struct _HfsDirTh HfsFileTh
 
typedef struct _HfsHeaderRecord HfsHeaderRecord
 
typedef struct _HfsJBlockInfo HfsJBlockInfo
 
typedef struct _HfsJBlockListHeader HfsJBlockListHeader
 
typedef struct _HfsJJournalHeader HfsJJournalHeader
 
typedef struct _HfsJJournalInfoBlock HfsJJournalInfoBlock
 
typedef struct _HfsMasterDirectoryBlock HfsMasterDirectoryBlock
 
typedef struct _HfsNodeDescriptor HfsNodeDescriptor
 
typedef struct _HfsPCatalog HfsPCatalog
 
typedef struct _HfsPCatalogKey HfsPCatalogKey
 
typedef struct _HfsPDir HfsPDir
 
typedef struct _HfsPThread HfsPDirTh
 
typedef HfsPExtDescriptor HfsPExtDataRec[HFSP_EXT_NB]
 
typedef struct _HfsPExtDescriptor HfsPExtDescriptor
 
typedef struct _HfsPExtentKey HfsPExtentKey
 
typedef struct _HfsPFile HfsPFile
 
typedef struct _HfsPThread HfsPFileTh
 
typedef struct _HfsPForkData HfsPForkData
 
typedef struct _HfsPForkDataAttr HfsPForkDataAttr
 
typedef struct _HfsPHeaderRecord HfsPHeaderRecord
 
typedef struct _HfsPNodeDescriptor HfsPNodeDescriptor
 
typedef uint32_t HfsPNodeID
 
typedef struct _HfsPPerms HfsPPerms
 
typedef struct _HfsPPrivateExtent HfsPPrivateExtent
 
typedef struct _HfsPPrivateFile HfsPPrivateFile
 
typedef struct _HfsPPrivateFSData HfsPPrivateFSData
 
typedef struct _HfsPPrivateGenericKey HfsPPrivateGenericKey
 
typedef struct _HfsPPrivateLinkExtent HfsPPrivateLinkExtent
 
typedef struct _HfsPrivateFile HfsPrivateFile
 
typedef struct _HfsPrivateFSData HfsPrivateFSData
 
typedef struct _HfsPrivateGenericKey HfsPrivateGenericKey
 
typedef struct _HfsPrivateLinkExtent HfsPrivateLinkExtent
 
typedef struct _HfsPUniStr255 HfsPUniStr255
 
typedef struct _HfsPVolumeHeader HfsPVolumeHeader
 
typedef uint16_t unichar
 

Functions

struct __attribute__ ((packed)) _HfsExtDescriptor
 

Variables

uint8_t * hfs_block
 
unsigned hfs_block_count
 
uint8_t * hfsp_block
 
unsigned hfsp_block_count
 

Macro Definition Documentation

◆ BLOCK_MAX_BUFF

#define BLOCK_MAX_BUFF   256

◆ BYTES_MAX_BUFF

#define BYTES_MAX_BUFF   8388608

◆ CLR_BLOC_OCCUPATION

#define CLR_BLOC_OCCUPATION (   tab,
  bn 
)     (((tab)[(bn)/8]) &= ~(1<<(7-((bn)&7))))

◆ HFS_BAD_BLOCK_ID

#define HFS_BAD_BLOCK_ID   0x05

◆ HFS_BAD_SPARED

#define HFS_BAD_SPARED   9

◆ HFS_CAT_DIR

#define HFS_CAT_DIR   0x01

◆ HFS_CAT_DIR_TH

#define HFS_CAT_DIR_TH   0x03

◆ HFS_CAT_FILE

#define HFS_CAT_FILE   0x02

◆ HFS_CAT_FILE_TH

#define HFS_CAT_FILE_TH   0x04

◆ HFS_CATALOG_ID

#define HFS_CATALOG_ID   0x04

◆ HFS_DATA_FORK

#define HFS_DATA_FORK   0x00

◆ HFS_EXT_NB

#define HFS_EXT_NB   3

◆ HFS_FIRST_REC

#define HFS_FIRST_REC   0x0E

◆ HFS_HARD_LOCK

#define HFS_HARD_LOCK   7

◆ HFS_HDR_NODE

#define HFS_HDR_NODE   0x01

◆ HFS_IDX_NODE

#define HFS_IDX_NODE   0x00

◆ HFS_LEAF_NODE

#define HFS_LEAF_NODE   0xFF

◆ HFS_MAP_NODE

#define HFS_MAP_NODE   0x02

◆ HFS_MAP_REC

#define HFS_MAP_REC   0xF8

◆ HFS_NSD_HD_REC

#define HFS_NSD_HD_REC   0x78

◆ HFS_RES_FORK

#define HFS_RES_FORK   0xFF

◆ HFS_ROOT_DIR_ID

#define HFS_ROOT_DIR_ID   0x02

◆ HFS_ROOT_PAR_ID

#define HFS_ROOT_PAR_ID   0x01

◆ HFS_SIGNATURE

#define HFS_SIGNATURE   0x4244 /* 'BD' */

◆ HFS_SOFT_LOCK

#define HFS_SOFT_LOCK   15

◆ HFS_UNMOUNTED

#define HFS_UNMOUNTED   8

◆ HFS_XTENT_ID

#define HFS_XTENT_ID   0x03

◆ HFSJ_ENDIAN_MAGIC

#define HFSJ_ENDIAN_MAGIC   0x12345678

◆ HFSJ_HEADER_MAGIC

#define HFSJ_HEADER_MAGIC   0x4a4e4c78

◆ HFSJ_JOURN_IN_FS

#define HFSJ_JOURN_IN_FS   0x00

◆ HFSJ_JOURN_NEED_INIT

#define HFSJ_JOURN_NEED_INIT   0x02

◆ HFSJ_JOURN_OTHER_DEV

#define HFSJ_JOURN_OTHER_DEV   0x01

◆ HFSP_ALLOC_ID

#define HFSP_ALLOC_ID   0x06

◆ HFSP_ATTR_EXTENTS

#define HFSP_ATTR_EXTENTS   0x30

◆ HFSP_ATTR_FORK

#define HFSP_ATTR_FORK   0x20

◆ HFSP_ATTR_INLINE

#define HFSP_ATTR_INLINE   0x10

◆ HFSP_ATTRIB_ID

#define HFSP_ATTRIB_ID   0x08

◆ HFSP_BOGUS_ID

#define HFSP_BOGUS_ID   0x0F

◆ HFSP_EXT_NB

#define HFSP_EXT_NB   8

◆ HFSP_FIRST_AV_ID

#define HFSP_FIRST_AV_ID   0x10

◆ HFSP_IMPL_GnuP

#define HFSP_IMPL_GnuP   0x476e7550 /* reserved */

◆ HFSP_IMPL_PHpx

#define HFSP_IMPL_PHpx   0x50482b78 /* reserved */

◆ HFSP_IMPL_Resz

#define HFSP_IMPL_Resz   0x5265737a /* reserved */

◆ HFSP_IMPL_Shnk

#define HFSP_IMPL_Shnk   0x53686e6b /* in use */

◆ HFSP_IMPL_traP

#define HFSP_IMPL_traP   0x74726150 /* reserved */

◆ HFSP_IMPL_Xpnd

#define HFSP_IMPL_Xpnd   0x58706e64 /* reserved */

◆ HFSP_INCONSISTENT

#define HFSP_INCONSISTENT   11

◆ HFSP_JOURNALED

#define HFSP_JOURNALED   13

◆ HFSP_NO_CACHE

#define HFSP_NO_CACHE   10

◆ HFSP_REUSE_CNID

#define HFSP_REUSE_CNID   12

◆ HFSP_SIGNATURE

#define HFSP_SIGNATURE   0x482B /* 'H+' */

◆ HFSP_STARTUP_ID

#define HFSP_STARTUP_ID   0x07

◆ HFSP_VERSION

#define HFSP_VERSION   4

◆ HFSX_BINARY_COMPARE

#define HFSX_BINARY_COMPARE   0xBC /* case sensitive HFSX */

◆ HFSX_CASE_FOLDING

#define HFSX_CASE_FOLDING   0xCF /* case insensitive HFSX */

◆ HFSX_SIGNATURE

#define HFSX_SIGNATURE   0x4858 /* 'HX' */

◆ HFSX_VERSION

#define HFSX_VERSION   5

◆ SET_BLOC_OCCUPATION

#define SET_BLOC_OCCUPATION (   tab,
  bn 
)     (((tab)[(bn)/8]) |= (1<<(7-((bn)&7))))

◆ TST_BLOC_OCCUPATION

#define TST_BLOC_OCCUPATION (   tab,
  bn 
)     (((tab)[(bn)/8]) & (1<<(7-((bn)&7))))

Typedef Documentation

◆ HfsCatalog

typedef struct _HfsCatalog HfsCatalog

◆ HfsCatalogKey

typedef struct _HfsCatalogKey HfsCatalogKey

◆ HfsCPrivateLeafRec

◆ HfsDir

typedef struct _HfsDir HfsDir

◆ HfsDirTh

typedef struct _HfsDirTh HfsDirTh

◆ HfsExtDataRec

typedef HfsExtDescriptor HfsExtDataRec[HFS_EXT_NB]

◆ HfsExtDescriptor

typedef struct _HfsExtDescriptor HfsExtDescriptor

◆ HfsExtentKey

typedef struct _HfsExtentKey HfsExtentKey

◆ HfsFile

typedef struct _HfsFile HfsFile

◆ HfsFileTh

typedef struct _HfsDirTh HfsFileTh

◆ HfsHeaderRecord

typedef struct _HfsHeaderRecord HfsHeaderRecord

◆ HfsJBlockInfo

typedef struct _HfsJBlockInfo HfsJBlockInfo

◆ HfsJBlockListHeader

typedef struct _HfsJBlockListHeader HfsJBlockListHeader

◆ HfsJJournalHeader

typedef struct _HfsJJournalHeader HfsJJournalHeader

◆ HfsJJournalInfoBlock

typedef struct _HfsJJournalInfoBlock HfsJJournalInfoBlock

◆ HfsMasterDirectoryBlock

typedef struct _HfsMasterDirectoryBlock HfsMasterDirectoryBlock

◆ HfsNodeDescriptor

typedef struct _HfsNodeDescriptor HfsNodeDescriptor

◆ HfsPCatalog

typedef struct _HfsPCatalog HfsPCatalog

◆ HfsPCatalogKey

typedef struct _HfsPCatalogKey HfsPCatalogKey

◆ HfsPDir

typedef struct _HfsPDir HfsPDir

◆ HfsPDirTh

typedef struct _HfsPThread HfsPDirTh

◆ HfsPExtDataRec

typedef HfsPExtDescriptor HfsPExtDataRec[HFSP_EXT_NB]

◆ HfsPExtDescriptor

typedef struct _HfsPExtDescriptor HfsPExtDescriptor

◆ HfsPExtentKey

typedef struct _HfsPExtentKey HfsPExtentKey

◆ HfsPFile

typedef struct _HfsPFile HfsPFile

◆ HfsPFileTh

typedef struct _HfsPThread HfsPFileTh

◆ HfsPForkData

typedef struct _HfsPForkData HfsPForkData

◆ HfsPForkDataAttr

typedef struct _HfsPForkDataAttr HfsPForkDataAttr

◆ HfsPHeaderRecord

typedef struct _HfsPHeaderRecord HfsPHeaderRecord

◆ HfsPNodeDescriptor

typedef struct _HfsPNodeDescriptor HfsPNodeDescriptor

◆ HfsPNodeID

typedef uint32_t HfsPNodeID

◆ HfsPPerms

typedef struct _HfsPPerms HfsPPerms

◆ HfsPPrivateExtent

◆ HfsPPrivateFile

◆ HfsPPrivateFSData

◆ HfsPPrivateGenericKey

typedef struct _HfsPPrivateGenericKey HfsPPrivateGenericKey

◆ HfsPPrivateLinkExtent

◆ HfsPrivateFile

◆ HfsPrivateFSData

◆ HfsPrivateGenericKey

typedef struct _HfsPrivateGenericKey HfsPrivateGenericKey

◆ HfsPrivateLinkExtent

◆ HfsPUniStr255

typedef struct _HfsPUniStr255 HfsPUniStr255

◆ HfsPVolumeHeader

typedef struct _HfsPVolumeHeader HfsPVolumeHeader

◆ unichar

typedef uint16_t unichar

Function Documentation

◆ __attribute__()

struct __attribute__ ( (packed)  )

Variable Documentation

◆ hfs_block

uint8_t* hfs_block
extern

◆ hfs_block_count

unsigned hfs_block_count
extern

◆ hfsp_block

uint8_t* hfsp_block
extern

◆ hfsp_block_count

unsigned hfsp_block_count
extern