macho_assembler/helpers/macho_reader.rs
1use crate::types::{MachoProgram, MachoReadConfig};
2use gaia_types::{BinaryReader, GaiaError};
3use std::io::{Read, Seek};
4
5/// Mach-O 读取器 trait
6///
7/// 定义了读取 Mach-O 文件的通用接口。
8pub trait MachoReader<R: Read + Seek> {
9 /// 读取 Mach-O 程序
10 fn read_program(&mut self) -> Result<MachoProgram, GaiaError>;
11
12 /// 获取内部读取器的引用
13 fn reader(&mut self) -> &mut BinaryReader<R, byteorder::LittleEndian>;
14
15 /// 获取配置
16 fn config(&self) -> &MachoReadConfig;
17}