pub fn read_u32_le(buf: &[u8], pos: usize) -> Option { let b = buf.get(pos..pos + 4)?; Some(u32::from_le_bytes([b[0], b[1], b[2], b[3]])) } pub fn write_u32_le(buf: &mut [u8], pos: usize, v: u32) -> Option<()> { let b = buf.get_mut(pos..pos + 4)?; let le = v.to_le_bytes(); b.copy_from_slice(&le); Some(()) }