Skip to main content

macho_assembler/helpers/
macho_reader.rs

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