Initial commit

This commit is contained in:
2025-11-06 10:49:44 +08:00
commit 2d16528ac4
20 changed files with 4653 additions and 0 deletions

27
include/utils.h Normal file
View File

@@ -0,0 +1,27 @@
#pragma once
#include <vector>
#include <string>
#include <cstdint>
#include "simplefs.h"
// 位图操作
void set_bitmap_bit(std::vector<uint8_t>& bitmap_data, uint32_t bit_index);
void clear_bitmap_bit(std::vector<uint8_t>& bitmap_data, uint32_t bit_index);
bool is_bitmap_bit_set(const std::vector<uint8_t>& bitmap_data, uint32_t bit_index);
// 路径解析
void parse_path(const std::string& path, std::string& dirname, std::string& basename);
// 目录项长度计算
inline uint16_t calculate_dir_entry_len(uint8_t name_len) {
uint16_t len = 8 + name_len;
return (len + 3) & ~3U;
}
// 设备类型检查
bool is_block_device(int fd);
// 块组备份检查
bool is_backup_group(uint32_t group_index);