Skip to main content

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}