1pub use xdrs::{ReadXDROwned, WriteResult, WriteXDR, read_xdr, write_xdr};
3
4#[cfg(feature = "alloc")]
5pub fn encode_xdr<T>(x: &T) -> WriteResult<alloc::vec::Vec<u8>>
6where
7 T: WriteXDR + ?Sized,
8{
9 xdrs::cxs::encode(x)
10}
11
12pub fn encode_xdr_into<T>(x: &T, buf: &mut [u8]) -> WriteResult<usize>
13where
14 T: WriteXDR + ?Sized,
15{
16 let buf_mu = unsafe {
18 core::slice::from_raw_parts_mut(
19 buf.as_mut_ptr().cast::<core::mem::MaybeUninit<u8>>(),
20 buf.len(),
21 )
22 };
23 xdrs::cxs::encode_into(x, buf_mu)
24}