pub mod certs;
pub mod api;
pub mod crypto;
pub mod error;
pub mod session;
mod util;
pub use util::cached_chain;
use std::io::Write;
use serde::{Deserialize, Serialize};
#[repr(C)]
#[derive(Copy, Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize)]
pub struct Version {
pub major: u8,
pub minor: u8,
}
impl std::fmt::Display for Version {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
write!(f, "{}.{}", self.major, self.minor)
}
}
impl From<u16> for Version {
fn from(v: u16) -> Self {
Self {
major: ((v & 0xF0) >> 4) as u8,
minor: (v & 0x0F) as u8,
}
}
}
#[repr(C)]
#[derive(Copy, Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize)]
pub struct Build {
pub version: Version,
pub build: u8,
}
pub struct Body;