44 lines
905 B
Rust
44 lines
905 B
Rust
use pyo3::prelude::*;
|
|
|
|
#[derive(Debug, Clone)]
|
|
#[pyclass]
|
|
pub struct Header {
|
|
#[pyo3(get)]
|
|
magic: u32,
|
|
#[pyo3(get)]
|
|
cputype: u32,
|
|
#[pyo3(get)]
|
|
cpusubtype: u32,
|
|
#[pyo3(get)]
|
|
filetype: u32,
|
|
#[pyo3(get)]
|
|
ncmds: usize,
|
|
#[pyo3(get)]
|
|
sizeofcmds: u32,
|
|
#[pyo3(get)]
|
|
flags: u32,
|
|
#[pyo3(get)]
|
|
reserved: u32,
|
|
}
|
|
|
|
impl From<goblin::mach::header::Header> for Header {
|
|
fn from(other: goblin::mach::header::Header) -> Self {
|
|
Header {
|
|
magic: other.magic,
|
|
cputype: other.cputype,
|
|
cpusubtype: other.cpusubtype,
|
|
filetype: other.filetype,
|
|
ncmds: other.ncmds,
|
|
sizeofcmds: other.sizeofcmds,
|
|
flags: other.flags,
|
|
reserved: other.reserved,
|
|
}
|
|
}
|
|
}
|
|
|
|
#[pymethods]
|
|
impl Header {
|
|
fn __repr__(&self) -> String {
|
|
format!("{:?}", self)
|
|
}
|
|
}
|