14 using namespace llvm::msf;
20 "MSF magic header doesn't match");
23 return make_error<MSFError>(msf_error_code::invalid_format,
24 "Unsupported block size.");
28 return make_error<MSFError>(msf_error_code::invalid_format,
29 "Directory size is not multiple of 4.");
33 uint64_t NumDirectoryBlocks =
41 "Too many directory blocks.");
45 "Block 0 is reserved");
49 "Block map address is invalid.");
52 return make_error<MSFError>(
54 "The free block map isn't at block 1 or block 2.");
char MagicBytes[sizeof(Magic)]
Error validateSuperBlock(const SuperBlock &SB)
support::ulittle32_t BlockSize
support::ulittle32_t BlockMapAddr
INITIALIZE_PASS(HexagonEarlyIfConversion,"hexagon-eif","Hexagon early if conversion", false, false) bool HexagonEarlyIfConversion MachineBasicBlock * SB
static const char Magic[]
static ErrorSuccess success()
Create a success value.
uint64_t bytesToBlocks(uint64_t NumBytes, uint64_t BlockSize)
support::ulittle32_t FreeBlockMapBlock
Lightweight error class with error context and mandatory checking.
bool isValidBlockSize(uint32_t Size)
support::ulittle32_t NumDirectoryBytes
support::ulittle32_t NumBlocks