Skip to content
API Documentation
BastionGuard™
hfs_btree.hpp File Reference

Go to the source code of this file.

Classes

struct  hfs::NodeDescriptor
struct  hfs::HeaderRec
struct  hfs::CatalogKey

Namespaces

namespace  hfs

Typedefs

using hfs::NodeReader
using hfs::LeafRecordCallback

Functions

bool hfs::parse_node_descriptor (const unsigned char *buf, NodeDescriptor &out)
bool hfs::parse_header_rec (const unsigned char *buf, HeaderRec &out)
uint16_t hfs::node_record_offset (const unsigned char *node_buf, uint16_t nodeSize, uint16_t numRecords, uint16_t i)
uint16_t hfs::node_record_length (const unsigned char *node_buf, uint16_t nodeSize, uint16_t numRecords, uint16_t i)
bool hfs::parse_catalog_key (const unsigned char *key_buf, uint32_t max_bytes, CatalogKey &out)
uint32_t hfs::catalog_record_body_offset (const unsigned char *record_buf, uint32_t record_len)
bool hfs::walk_btree (const HeaderRec &header, const NodeReader &read_node, const LeafRecordCallback &on_leaf, std::vector< std::string > &logs, std::string &error)

Variables

constexpr int8_t hfs::kBTLeafNode = -1
constexpr int8_t hfs::kBTIndexNode = 0
constexpr int8_t hfs::kBTHeaderNode = 1
constexpr int8_t hfs::kBTMapNode = 2
constexpr uint8_t hfs::kHFSCaseFolding = 0xCF
constexpr uint8_t hfs::kHFSBinaryCompare = 0xBC
constexpr uint8_t hfs::kHFSBTreeType = 0xFF
constexpr uint8_t hfs::kUserBTreeType = 0x80
constexpr uint8_t hfs::kReservedBTreeType = 0x00
constexpr int16_t hfs::kHFSPlusFolderRecord = 0x0001
constexpr int16_t hfs::kHFSPlusFileRecord = 0x0002
constexpr int16_t hfs::kHFSPlusFolderThreadRecord = 0x0003
constexpr int16_t hfs::kHFSPlusFileThreadRecord = 0x0004