use crate::prelude::*;
#[derive(Default, Debug)]
pub struct RawElf64SectionHeaderBuilder {
inner: super::RawElf64SectionHeader,
}
impl RawElf64SectionHeaderBuilder {
pub fn name(mut self, sh_name: Elf64Word) -> Self {
self.inner.sh_name = sh_name;
self
}
pub fn section_type(mut self, sh_type: Elf64Word) -> Self {
self.inner.sh_type = sh_type;
self
}
pub fn flags(mut self, sh_flags: Elf64Xword) -> Self {
self.inner.sh_flags = sh_flags;
self
}
pub fn addr(mut self, sh_addr: Elf64Addr) -> Self {
self.inner.sh_addr = sh_addr;
self
}
pub fn offset(mut self, sh_offset: Elf64Off) -> Self {
self.inner.sh_offset = sh_offset;
self
}
pub fn size(mut self, sh_size: Elf64Xword) -> Self {
self.inner.sh_size = sh_size;
self
}
pub fn link(mut self, sh_link: Elf64Word) -> Self {
self.inner.sh_link = sh_link;
self
}
pub fn info(mut self, sh_info: Elf64Word) -> Self {
self.inner.sh_info = sh_info;
self
}
pub fn addralign(mut self, sh_addralign: Elf64Xword) -> Self {
self.inner.sh_addralign = sh_addralign;
self
}
pub fn entsize(mut self, sh_entsize: Elf64Xword) -> Self {
self.inner.sh_entsize = sh_entsize;
self
}
pub fn build(self) -> super::RawElf64SectionHeader {
self.inner
}
}