1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
use nom::*; /// TGA footer length in bytes pub const FOOTER_LEN: usize = 26; /// TGA footer structure, referenced from <http://tfc.duke.free.fr/coding/tga_specs.pdf> #[derive(Debug, Copy, Clone, PartialEq)] pub struct TgaFooter { /// Extension area byte offset from beginning of file pub extension_area_offset: u32, /// Developer directory area byte offset from beginning of file pub developer_directory_offset: u32, } named!(pub footer<&[u8], TgaFooter>, do_parse!( extension_area_offset: le_u32 >> developer_directory_offset: le_u32 >> tag!("TRUEVISION-XFILE.") >> ({ TgaFooter { extension_area_offset, developer_directory_offset } }) ) );