fsck_hfs_strings.c [plain text]
#include "fsck_messages.h"
#include "fsck_hfs_msgnums.h"
fsck_message_t
hfs_messages[] = {
{ hfsExtBTCheck, "Checking extents overflow file.", fsckMsgVerify, fsckLevel0, 0, },
{ hfsCatBTCheck, "Checking catalog file.", fsckMsgVerify, fsckLevel0, 0, },
{ hfsCatHierCheck, "Checking catalog hierarchy.", fsckMsgVerify, fsckLevel0, 0, },
{ hfsExtAttrBTCheck, "Checking extended attributes file.", fsckMsgVerify, fsckLevel0, 0, },
{ hfsVolBitmapCheck, "Checking volume bitmap.", fsckMsgVerify, fsckLevel0, 0, },
{ hfsVolInfoCheck, "Checking volume information.", fsckMsgVerify, fsckLevel0, 0, },
{ hfsHardLinkCheck, "Checking multi-linked files.", fsckMsgVerify, fsckLevel0, 0, },
{ hfsRebuildExtentBTree, "Rebuilding extents overflow B-tree.", fsckMsgVerify, fsckLevel0, 0, },
{ hfsRebuildCatalogBTree, "Rebuilding catalog B-tree.", fsckMsgVerify, fsckLevel0, 0, },
{ hfsRebuildAttrBTree, "Rebuilding extended attributes B-tree.", fsckMsgVerify, fsckLevel0, 0, },
{ hfsCaseSensitive, "Detected a case-sensitive volume.", fsckMsgVerify, fsckLevel0, 0, },
{ hfsMultiLinkDirCheck, "Checking multi-linked directories.", fsckMsgVerify, fsckLevel0, 0, },
{ hfsJournalVolCheck, "Checking Journaled HFS Plus volume.", fsckMsgVerify, fsckLevel0, 0, },
{ hfsLiveVerifyCheck, "Performing live verification.", fsckMsgVerify, fsckLevel0, 0, },
{ hfsVerifyVolWithWrite, "Verifying volume when it is mounted with write access.", fsckMsgVerify, fsckLevel0, 0, },
{ hfsCheckHFS, "Checking HFS volume.", fsckMsgVerify, fsckLevel0, 0, },
{ hfsCheckNoJnl, "Checking non-journaled HFS Plus Volume.", fsckMsgVerify, fsckLevel0, 0, },
{ 0, },
};
fsck_message_t
hfs_errors[] = {
{ E_PEOF, "Incorrect block count for file %s", fsckMsgError, fsckLevel1, 1, (const int[]){ fsckTypeFile } },
{ E_LEOF, "Incorrect size for file %s", fsckMsgError, fsckLevel1, 1, (const int[]){ fsckTypeFile } },
{ E_DirVal, "Invalid directory item count", fsckMsgError, fsckLevel1, 0, } ,
{ E_CName, "Invalid length for file name", fsckMsgError, fsckLevel1, 0, } ,
{ E_NHeight, "Invalid node height", fsckMsgError, fsckLevel1, 0, } ,
{ E_NoFile, "Missing file record for file thread", fsckMsgError, fsckLevel1, 0, } ,
{ E_ABlkSz, "Invalid allocation block size", fsckMsgError, fsckLevel1, 0, } ,
{ E_NABlks, "Invalid number of allocation blocks", fsckMsgError, fsckLevel1, 0, },
{ E_VBMSt, "Invalid VBM start block", fsckMsgError, fsckLevel1, 0, },
{ E_ABlkSt, "Invalid allocation block start", fsckMsgError, fsckLevel1, 0, },
{ E_ExtEnt, "Invalid extent entry", fsckMsgError, fsckLevel1, 0, },
{ E_OvlExt, "Overlapped extent allocation (id = %u, %s)", fsckMsgError, fsckLevel1, 2, (const int[]){ fsckTypeInt, fsckTypePath } },
{ E_LenBTH, "Invalid BTH length", fsckMsgError, fsckLevel1, 0, } ,
{ E_ShortBTM, "BT map too short during repair", fsckMsgError, fsckLevel1, 0, } ,
{ E_BTRoot, "Invalid root node number", fsckMsgError, fsckLevel1, 0, },
{ E_NType, "Invalid node type", fsckMsgError, fsckLevel1, 0, },
{ E_NRecs, "Invalid record count", fsckMsgError, fsckLevel1, 0, },
{ E_IKey, "Invalid index key", fsckMsgError, fsckLevel1, 0, },
{ E_IndxLk, "Invalid index link", fsckMsgError, fsckLevel1, 0, },
{ E_SibLk, "Invalid sibling link", fsckMsgError, fsckLevel1, 0, },
{ E_BadNode, "Invalid node structure", fsckMsgError, fsckLevel1, 0, },
{ E_OvlNode, "Overlapped node allocation", fsckMsgError, fsckLevel1, 0, },
{ E_MapLk, "Invalid map node linkage", fsckMsgError, fsckLevel1, 0, },
{ E_KeyLen, "Invalid key length", fsckMsgError, fsckLevel1, 0, },
{ E_KeyOrd, "Keys out of order", fsckMsgError, fsckLevel1, 0, },
{ E_BadMapN, "Invalid map node", fsckMsgError, fsckLevel1, 0, },
{ E_BadHdrN, "Invalid header node", fsckMsgError, fsckLevel1, 0, },
{ E_BTDepth, "Exceeded maximum B-tree depth", fsckMsgError, fsckLevel1, 0, },
{ E_CatRec, "Invalid catalog record type", fsckMsgError, fsckLevel1, 0, },
{ E_LenDir, "Invalid directory record length", fsckMsgError, fsckLevel1, 0, },
{ E_LenThd, "Invalid thread record length", fsckMsgError, fsckLevel1, 0, },
{ E_LenFil, "Invalid file record length", fsckMsgError, fsckLevel1, 0, },
{ E_NoRtThd, "Missing thread record for root dir", fsckMsgError, fsckLevel1, 0, },
{ E_NoThd, "Missing thread record (id = %u)", fsckMsgError, fsckLevel1, 1, (const int[]){ fsckTypeInt } },
{ E_NoDir, "Missing directory record (id = %u)", fsckMsgError, fsckLevel1, 1, (const int[]){ fsckTypeInt } },
{ E_ThdKey, "Invalid key for thread record", fsckMsgError, fsckLevel1, 0, },
{ E_ThdCN, "Invalid parent CName in thread record", fsckMsgError, fsckLevel1, 0, },
{ E_LenCDR, "Invalid catalog record length", fsckMsgError, fsckLevel1, 0, },
{ E_DirLoop, "Loop in directory hierarchy", fsckMsgError, fsckLevel1, 0, },
{ E_RtDirCnt, "Invalid root directory count", fsckMsgError, fsckLevel1, 0, },
{ E_RtFilCnt, "Invalid root file count", fsckMsgError, fsckLevel1, 0, },
{ E_DirCnt, "Invalid volume directory count", fsckMsgError, fsckLevel1, 0, },
{ E_FilCnt, "Invalid volume file count", fsckMsgError, fsckLevel1, 0, },
{ E_CatPEOF, "Invalid catalog PEOF", fsckMsgError, fsckLevel1, 0, },
{ E_ExtPEOF, "Invalid extent file PEOF", fsckMsgError, fsckLevel1, 0, },
{ E_CatDepth, "Nesting of folders has exceeded %d folders", fsckMsgError, fsckLevel1, 1, (const int[]){ fsckTypeInt } },
{ E_NoFThdFlg, "File thread flag not set in file record", fsckMsgError, fsckLevel1, 0, },
{ E_CatalogFlagsNotZero, "Reserved fields in the catalog record have incorrect data", fsckMsgError, fsckLevel1, 0, },
{ E_BadFileName, "Invalid file name", fsckMsgError, fsckLevel1, 0, },
{ E_InvalidClumpSize, "Invalid file clump size", fsckMsgError, fsckLevel1, 0, },
{ E_InvalidBTreeHeader, "Invalid B-tree header", fsckMsgError, fsckLevel1, 0, },
{ E_LockedDirName, "Directory name locked", fsckMsgError, fsckLevel1, 0, },
{ E_EntryNotFound, "Catalog file entry not found for extent", fsckMsgError, fsckLevel1, 0, },
{ E_FreeBlocks, "Invalid volume free block count", fsckMsgError, fsckLevel1, 0, },
{ E_MDBDamaged, "Master Directory Block needs minor repair", fsckMsgError, fsckLevel1, 0, },
{ E_VolumeHeaderDamaged, "Volume header needs minor repair", fsckMsgError, fsckLevel1, 0, },
{ E_VBMDamaged, "Volume bitmap needs minor repair for under-allocation", fsckMsgError, fsckLevel1, 0, },
{ E_InvalidNodeSize, "Invalid B-tree node size", fsckMsgError, fsckLevel1, 0, },
{ E_LeafCnt, "Invalid leaf record count", fsckMsgError, fsckLevel1, 0, },
{ E_BadValue, "(It should be %s instead of %s)", fsckMsgDamageInfo,fsckLevel1, 2, (const int[]){ fsckTypeString, fsckTypeString } },
{ E_InvalidID, "Invalid file or directory ID found", fsckMsgError, fsckLevel1, 0, },
{ E_VolumeHeaderTooNew, "I can't understand this version of HFS Plus", fsckMsgError, fsckLevel1, 0, },
{ E_DiskFull, "Disk full error", fsckMsgError, fsckLevel1, 0, },
{ E_InternalFileOverlap, "Internal files overlap (file %u)", fsckMsgError, fsckLevel1, 1, (const int[]){ fsckTypeInt } },
{ E_InvalidVolumeHeader, "Invalid volume header", fsckMsgError, fsckLevel1, 0, },
{ E_InvalidMDBdrAlBlSt, "HFS wrapper volume needs repair", fsckMsgError, fsckLevel1, 0, },
{ E_InvalidWrapperExtents, "Wrapper catalog file location needs repair", fsckMsgError, fsckLevel1, 0, },
{ E_InvalidLinkCount, "Indirect node %d needs link count adjustment", fsckMsgError, fsckLevel1, 1, (const int[]){ fsckTypeInt } },
{ E_UnlinkedFile, "Orphaned open unlinked file %s", fsckMsgError, fsckLevel1, 1, (const int[]){ fsckTypeFile } },
{ E_InvalidPermissions, "Invalid BSD file type", fsckMsgError, fsckLevel1, 0, },
{ E_InvalidUID_Unused, "Invalid BSD User ID", fsckMsgError, fsckLevel1, 0, },
{ E_IllegalName, "Illegal name", fsckMsgError, fsckLevel1, 0, },
{ E_IncorrectNumThdRcd, "Incorrect number of thread records", fsckMsgError, fsckLevel1, 0, },
{ E_SymlinkCreate, "Cannot create links to all corrupt files", fsckMsgError, fsckLevel1, 0, },
{ E_BadJournal, "Invalid content in journal", fsckMsgError, fsckLevel1, 0, },
{ E_IncorrectAttrCount, "Incorrect number of extended attributes", fsckMsgError, fsckLevel1, 0, },
{ E_IncorrectSecurityCount, "Incorrect number of Access Control Lists", fsckMsgError, fsckLevel1, 0, },
{ E_PEOAttr, "Incorrect block count for attribute %s of file %s", fsckMsgError, fsckLevel1, 2, (const int[]){ fsckTypeString, fsckTypeFile } },
{ E_LEOAttr, "Incorrect size for attribute %s of file %s", fsckMsgError, fsckLevel1, 2, (const int[]){ fsckTypeString, fsckTypeFile } },
{ E_AttrRec, "Invalid attribute record", fsckMsgError, fsckLevel1, 0, },
{ E_FldCount, "Incorrect folder count in a directory (id = %u)", fsckMsgError, fsckLevel1, 1, (const int[]){ fsckTypeInt } },
{ E_HsFldCount, "HasFolderCount flag needs to be set (id = %u)", fsckMsgError, fsckLevel1, 1, (const int[]){ fsckTypeInt } },
{ E_BadPermPrivDir, "Incorrect permissions for private directory", fsckMsgError, fsckLevel1, 0, },
{ E_DirInodeBadFlags, "Incorrect flags for directory inode (id = %u)", fsckMsgError, fsckLevel1, 1, (const int[]){ fsckTypeInt, } },
{ E_DirInodeBadParent, "Invalid parent for directory inode (id = %u)", fsckMsgError, fsckLevel1, 1, (const int[]){ fsckTypeInt, } },
{ E_DirInodeBadName, "Invalid name for directory inode (id = %u)", fsckMsgError, fsckLevel1, 1, (const int[]){ fsckTypeInt, } },
{ E_DirHardLinkChain, "Incorrect number of directory hard links", fsckMsgError, fsckLevel1, 0, },
{ E_DirHardLinkOwnerFlags, "Incorrect owner flags for directory hard link (id = %u)", fsckMsgError, fsckLevel1, 1, (const int[]){ fsckTypeInt } },
{ E_DirHardLinkFinderInfo, "Invalid finder info for directory hard link (id = %u)", fsckMsgError, fsckLevel1, 1, (const int[]){ fsckTypeInt } },
{ E_DirLinkAncestorFlags, "Incorrect flags for directory hard link ancestor (id = %u)", fsckMsgError, fsckLevel1, 1, (const int[]){ fsckTypeInt } },
{ E_BadParentHierarchy, "Bad parent directory hierarchy (id = %u)", fsckMsgError, fsckLevel1, 1, (const int[]){ fsckTypeInt } },
{ E_DirHardLinkNesting, "Maximum nesting of folders and directory hard links reached", fsckMsgError, fsckLevel1, 0, },
{ E_MissingPrivDir, "Missing private directory for directory hard links", fsckMsgError, fsckLevel1, 0, },
{ E_InvalidLinkChainPrev, "Previous ID in a hard link chain is incorrect (id = %u)", fsckMsgError, fsckLevel1, 1, (const int[]){ fsckTypeInt, } },
{ E_InvalidLinkChainNext, "Next ID in a hard link chain is incorrect (id = %u)", fsckMsgError, fsckLevel1, 1, (const int[]){ fsckTypeInt, } },
{ E_FileInodeBadFlags, "Incorrect flags for file inode (id = %u)", fsckMsgError, fsckLevel1, 1, (const int[]){ fsckTypeInt, } },
{ E_FileInodeBadParent, "Invalid parent for file inode (id = %u)", fsckMsgError, fsckLevel1, 1, (const int[]){ fsckTypeInt, } },
{ E_FileInodeBadName, "Invalid name for file inode (id = %u)", fsckMsgError, fsckLevel1, 1, (const int[]){ fsckTypeInt, } },
{ E_FileHardLinkChain, "Incorrect number of file hard links", fsckMsgError, fsckLevel1, 0, },
{ E_FileHardLinkFinderInfo, "Invalid finder info for file hard link (id = %u)", fsckMsgError, fsckLevel1, 1, (const int[]){ fsckTypeInt, } },
{ E_InvalidLinkChainFirst, "Invalid first link in hard link chain (id = %u)", fsckMsgError, fsckLevel1, 1, (const int[]){ fsckTypeInt, } },
{ E_FileLinkBadFlags, "Incorrect flags for file hard link (id = %u)", fsckMsgError, fsckLevel1, 1, (const int[]){ fsckTypeInt, } },
{ E_DirLinkBadFlags, "Incorrect flags for directory hard link (id = %u)", fsckMsgError, fsckLevel1, 1, (const int[]){ fsckTypeInt, } },
{ E_OrphanFileLink, "Orphaned file hard link (id = %u)", fsckMsgError, fsckLevel1, 1, (const int[]){ fsckTypeInt, } },
{ E_OrphanDirLink, "Orphaned directory hard link (id = %u)", fsckMsgError, fsckLevel1, 1, (const int[]){ fsckTypeInt, } },
{ E_OrphanFileInode, "Orphaned file inode (id = %u)", fsckMsgError, fsckLevel1, 1, (const int[]){ fsckTypeInt, } },
{ E_OrphanDirInode, "Orphaned directory inode (id = %u)", fsckMsgError, fsckLevel1, 1, (const int[]){ fsckTypeInt, } },
{ E_OvlExtID, "Overlapped extent allocation (id = %d)", fsckMsgError, fsckLevel1, 1, (const int[]){ fsckTypeInt, } },
{ E_UnusedNodeNotZeroed, "Unused node is not erased (node = %u)", fsckMsgError, fsckLevel1, 1, (const int[]){ fsckTypeInt, } },
{ E_VBMDamagedOverAlloc, "Volume bitmap needs minor repair for orphaned blocks", fsckMsgError, fsckLevel1, 0, },
{ E_BadHardLinkDate, "Bad hard link creation date", fsckMsgError, fsckLevel1, 0, },
{ E_DirtyJournal, "Journal need to be replayed but volume is read-only", fsckMsgError, fsckLevel1, 0, },
{ E_LinkChainNonLink, "File record has hard link chain flag (id = %u)", fsckMsgError, fsckLevel1, 1, (const int[]){ fsckTypeInt, } },
{ E_LinkHasData, "Hard link record has data extents (id = %u)", fsckMsgError, fsckLevel1, 1, (const int[]){ fsckTypeInt, } },
{ E_FileLinkCountError, "File has incorrect number of links (id = %u)", fsckMsgError, fsckLevel1, 1, (const int[]){ fsckTypeInt, } },
{ E_BTreeSplitNode, "B-tree node is split across extents (file id %u)", fsckMsgError, fsckLevel1, 1, (const int[]){ fsckTypeInt, } },
{ 0, },
};