1/* 2 * Copyright (c) 2008-2009 Apple Inc. All rights reserved. 3 * 4 * @APPLE_LICENSE_HEADER_START@ 5 * 6 * This file contains Original Code and/or Modifications of Original Code 7 * as defined in and that are subject to the Apple Public Source License 8 * Version 2.0 (the 'License'). You may not use this file except in 9 * compliance with the License. Please obtain a copy of the License at 10 * http://www.opensource.apple.com/apsl/ and read it before using this 11 * file. 12 * 13 * The Original Code and all software distributed under the License are 14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 18 * Please see the License for the specific language governing rights and 19 * limitations under the License. 20 * 21 * @APPLE_LICENSE_HEADER_END@ 22 */ 23 24#ifndef __FSCK_HFS_MSGNUMS_H 25#define __FSCK_HFS_MSGNUMS_H 26 27/* 28 * HFS-specific status messages. These indicate the current 29 * state of fsck_hfs run. 30 */ 31enum { 32 hfsUnknown = 200, 33 34 hfsExtBTCheck = 201, /* Checking Extents Overflow file */ 35 hfsCatBTCheck = 202, /* Checking Catalog file */ 36 hfsCatHierCheck = 203, /* Checking Catalog hierarchy */ 37 hfsExtAttrBTCheck = 204, /* Checking Extended Attributes file */ 38 hfsVolBitmapCheck = 205, /* Checking volume bitmap */ 39 hfsVolInfoCheck = 206, /* Checking volume information */ 40 hfsHardLinkCheck = 207, /* Checking multi-linked files */ 41 hfsRebuildExtentBTree = 208, /* Rebuilding Extents Overflow B-tree */ 42 hfsRebuildCatalogBTree = 209, /* Rebuilding Catalog B-tree */ 43 hfsRebuildAttrBTree = 210, /* Rebuilding Extended Attributes B-tree */ 44 45 hfsCaseSensitive = 211, /* Detected a case-sensitive catalog */ 46 hfsMultiLinkDirCheck = 212, /* Checking multi-linked directories */ 47 hfsJournalVolCheck = 213, /* Checking Journaled HFS Plus volume */ 48 hfsLiveVerifyCheck = 214, /* Performing live verification */ 49 hfsVerifyVolWithWrite = 215, /* Verifying volume when it is mounted with write access */ 50 hfsCheckHFS = 216, /* Checking HFS volume */ 51 hfsCheckNoJnl = 217, /* Checking Non-journaled HFS Plus volume */ 52}; 53 54/* 55 * Scavenger errors. They are mostly corruptions detected 56 * during scavenging process. 57 * If negative, they are unrecoverable (scavenging terminates). 58 * If positive, they are recoverable (scavenging continues). 59 */ 60enum { 61 E_FirstError = 500, 62 63 E_PEOF = 500, /* Invalid PEOF */ 64 E_LEOF = 501, /* Invalid LEOF */ 65 E_DirVal = 502, /* Invalid directory valence */ 66 E_CName = 503, /* Invalid CName */ 67 E_NHeight = 504, /* Invalid node height */ 68 E_NoFile = 505, /* Missing file record for file thread */ 69 E_ABlkSz = -506, /* Invalid allocation block size */ 70 E_NABlks = -507, /* Invalid number of allocation blocks */ 71 E_VBMSt = -508, /* Invalid VBM start block */ 72 E_ABlkSt = -509, /* Invalid allocation block start */ 73 74 E_ExtEnt = -510, /* Invalid extent entry */ 75 E_OvlExt = 511, /* Overlapped extent allocation (id, path) */ 76 E_LenBTH = -512, /* Invalid BTH length */ 77 E_ShortBTM = -513, /* BT map too short to repair */ 78 E_BTRoot = -514, /* Invalid root node number */ 79 E_NType = -515, /* Invalid node type */ 80 E_NRecs = -516, /* Invalid record count */ 81 E_IKey = -517, /* Invalid index key */ 82 E_IndxLk = -518, /* Invalid index link */ 83 E_SibLk = -519, /* Invalid sibling link */ 84 85 E_BadNode = -520, /* Invalid node structure */ 86 E_OvlNode = -521, /* overlapped node allocation */ 87 E_MapLk = -522, /* Invalid map node linkage */ 88 E_KeyLen = -523, /* Invalid key length */ 89 E_KeyOrd = -524, /* Keys out of order */ 90 E_BadMapN = -525, /* Invalid map node */ 91 E_BadHdrN = -526, /* Invalid header node */ 92 E_BTDepth = -527, /* exceeded maximum BTree depth */ 93 E_CatRec = -528, /* Invalid catalog record type */ 94 E_LenDir = -529, /* Invalid directory record length */ 95 96 E_LenThd = -530, /* Invalid thread record length */ 97 E_LenFil = -531, /* Invalid file record length */ 98 E_NoRtThd = -532, /* Missing thread record for root directory */ 99 E_NoThd = -533, /* Missing thread record */ 100 E_NoDir = 534, /* Missing directory record */ 101 E_ThdKey = -535, /* Invalid key for thread record */ 102 E_ThdCN = -536, /* Invalid parent CName in thread record */ 103 E_LenCDR = -537, /* Invalid catalog record length */ 104 E_DirLoop = -538, /* Loop in directory hierarchy */ 105 E_RtDirCnt = 539, /* Invalid root directory count */ 106 107 E_RtFilCnt = 540, /* Invalid root file count */ 108 E_DirCnt = 541, /* Invalid volume directory count */ 109 E_FilCnt = 542, /* Invalid volume file count */ 110 E_CatPEOF = -543, /* Invalid catalog PEOF */ 111 E_ExtPEOF = -544, /* Invalid extent file PEOF */ 112 E_CatDepth = 545, /* Nesting of folders has exceeded the recommended limit of 100 */ 113 E_NoFThdFlg = -546, /* File thread flag not set in file record */ 114 E_CatalogFlagsNotZero = 547, /* Reserved fields in the catalog record have incorrect data */ 115 E_BadFileName = -548, /* Invalid file/folder name problem */ 116 E_InvalidClumpSize = 549, /* Invalid file clump size */ 117 118 E_InvalidBTreeHeader = 550, /* Invalid B-tree header */ 119 E_LockedDirName = 551, /* Inappropriate locked folder name */ 120 E_EntryNotFound = -552, /* volume catalog entry not found */ 121 E_FreeBlocks = 553, /* Invalid volume free block count */ 122 E_MDBDamaged = 554, /* Master Directory Block needs minor repair */ 123 E_VolumeHeaderDamaged = 555, /* Volume Header needs minor repair */ 124 E_VBMDamaged = 556, /* Volume Bit Map needs minor repair */ 125 E_InvalidNodeSize = -557, /* Invalid B-tree node size */ 126 E_LeafCnt = 558, /* Invalid leaf record count */ 127 E_BadValue = 559, /* (It should be %s instead of %s) */ 128 129 E_InvalidID = 560, /* Invalid file or directory ID found */ 130 E_VolumeHeaderTooNew = 561, /* I can't understand this version of HFS Plus */ 131 E_DiskFull = -562, /* Disk full error */ 132 E_InternalFileOverlap = -563, /* Internal files overlap (file %d) */ 133 E_InvalidVolumeHeader = -564, /* Invalid volume header */ 134 E_InvalidMDBdrAlBlSt = 565, /* HFS wrapper volume needs repair */ 135 E_InvalidWrapperExtents = 566, /* Wrapper catalog file location needs repair */ 136 E_InvalidLinkCount = 567, /* Indirect node %s needs link count adjustment */ 137 E_UnlinkedFile = 568, /* Unlinked file needs to be deleted */ 138 E_InvalidPermissions = 569, /* Invalid BSD file type */ 139 140 E_InvalidUID_Unused = 570, /* Invalid UID/GID in BSD info - Unused (4538396) */ 141 E_IllegalName = 571, /* Illegal name */ 142 E_IncorrectNumThdRcd = 572, /* Incorrect number of thread records */ 143 E_SymlinkCreate = 573, /* Cannot create links to all corrupt files */ 144 E_BadJournal = 574, /* Invalid content in Journal */ 145 E_IncorrectAttrCount = 575, /* Incorrect number of attributes in attr btree when compared with attr bits set in catalog btree */ 146 E_IncorrectSecurityCount= 576, /* Incorrect number of security attributes in attr btree when compared with security bits set in catalog btree */ 147 E_PEOAttr = 577, /* Incorrect physical end of extended attribute data */ 148 E_LEOAttr = 578, /* Incorrect logical end of extended attribute data */ 149 E_AttrRec = 579, /* Invalid attribute record (overflow extent without original extent, unknown type) */ 150 151 E_FldCount = 580, /* Incorrect folder count in a directory */ 152 E_HsFldCount = 581, /* HasFolderCount flag needs to be set */ 153 E_BadPermPrivDir = 582, /* Incorrect permissions for private directory for directory hard links */ 154 E_DirInodeBadFlags = 583, /* Incorrect flags for directory inode */ 155 E_DirInodeBadParent = -584, /* Invalid parent for directory inode */ 156 E_DirInodeBadName = -585, /* Invalid name for directory inode */ 157 E_DirHardLinkChain = 586, /* Incorrect number of directory hard link count */ 158 E_DirHardLinkOwnerFlags = 587, /* Incorrect owner flags for directory hard link */ 159 E_DirHardLinkFinderInfo = 588, /* Invalid finder info for directory hard link */ 160 E_DirLinkAncestorFlags = 589, /* Invalid flags for directory hard link parent ancestor */ 161 162 E_BadParentHierarchy = -590, /* Bad parent hierarchy, could not lookup parent directory record */ 163 E_DirHardLinkNesting = -591, /* Maximum nesting of folders and directory hard links reached */ 164 E_MissingPrivDir = -592, /* Missing private directory for directory hard links */ 165 E_InvalidLinkChainPrev = 593, /* Previous ID in a hard lnk chain is incorrect */ 166 E_InvalidLinkChainNext = 594, /* Next ID in a hard link chain is incorrect */ 167 E_FileInodeBadFlags = 595, /* Incorrecgt flags for file inode */ 168 E_FileInodeBadParent = -596, /* Invalid parent for file inode */ 169 E_FileInodeBadName = -597, /* Invalid name for file inode */ 170 E_FileHardLinkChain = 598, /* Incorrect number of file hard link count */ 171 E_FileHardLinkFinderInfo= 599, /* Invalid finder info for file hard link */ 172 173 E_InvalidLinkChainFirst = 600, /* Invalid first link in hard link chain */ 174 E_FileLinkBadFlags = 601, /* Incorrect flags for file hard link */ 175 E_DirLinkBadFlags = 602, /* Incorrect flags for directory hard link */ 176 E_OrphanFileLink = 603, /* Orphan file hard link */ 177 E_OrphanDirLink = 604, /* Orphan directory hard link */ 178 E_OrphanFileInode = 605, /* Orphan file inode, no file hard links pointing to this inode */ 179 E_OrphanDirInode = 606, /* Orphan directory inode, no directory hard links pointing to this inode */ 180 E_OvlExtID = 607, /* Overlapped extent allocation (id) */ 181 E_UnusedNodeNotZeroed = 608, /* An unused B-tree node is not full of zeroes */ 182 E_VBMDamagedOverAlloc = 609, /* Volume bitmap has has orphaned block allocation */ 183 184 E_BadHardLinkDate = 610, /* Bad hard link creation date */ 185 E_DirtyJournal = 611, /* Journal need to be replayed but volume is read-only */ 186 E_LinkChainNonLink = 612, /* File record has hard link chain flag */ 187 E_LinkHasData = -613, /* Hard link record has data extents */ 188 E_FileLinkCountError = 614, /* File has incorrect link count */ 189 E_BTreeSplitNode = 615, /* B-tree node is split across extents */ 190 E_BadSymLink = 616, /* Bad information for symlink */ 191 E_BadSymLinkLength = 617, /* Symlink has bad length */ 192 E_BadSymLinkName = 618, /* Bad symbolic link name */ 193 E_LastError = 618 194}; 195 196#endif 197