diff --git a/Cargo.toml b/Cargo.toml index 8cdc4a5..74c9678 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -15,3 +15,7 @@ anyhow = "1.0.31" byteorder = "1.3.2" paste = "1.0" thiserror = "1" +serde = { version = "1", features = ["derive"], optional = true } + +[features] +serde = ["dep:serde"] \ No newline at end of file diff --git a/src/nla.rs b/src/nla.rs index 96f7d79..439d32b 100644 --- a/src/nla.rs +++ b/src/nla.rs @@ -4,6 +4,8 @@ use core::ops::Range; use anyhow::Context; use byteorder::{ByteOrder, NativeEndian}; +#[cfg(feature = "serde")] +use serde::{Serialize, Deserialize}; use crate::{ traits::{Emitable, Parseable}, @@ -178,6 +180,8 @@ impl<'buffer, T: AsRef<[u8]> + AsMut<[u8]> + ?Sized> NlaBuffer<&'buffer mut T> { } #[derive(Debug, PartialEq, Eq, Clone)] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] + pub struct DefaultNla { kind: u16, value: Vec,