riot_sys

Struct coap_pkt_t

source
#[repr(C)]
pub struct coap_pkt_t { pub hdr: *mut coap_hdr_t, pub payload: *mut u8, pub snips: *mut iolist_t, pub payload_len: u16, pub options_len: u16, pub options: [coap_optpos_t; 16], pub opt_crit: [u8; 2], pub observe_value: u32, }
Expand description

@brief CoAP PDU parsing context structure

When this struct is used to assemble the header, @p payload is used as the write pointer and @p payload_len contains the number of free bytes left in then packet buffer pointed to by @ref coap_pkt_t::hdr

When the header was written, @p payload must not be changed, it must remain pointing to the end of the header. @p payload_len must then be set to the size of the payload that was further copied into the packet buffer, after the header.

@ref coap_pkt_t::snips can be used to attach further payload buffers without copying them into the CoAP packet buffer. If there are any, they will be attached in order after the last payload byte (or header byte) in the original CoAP packet buffer.

Fields§

§hdr: *mut coap_hdr_t

< pointer to raw packet

§payload: *mut u8

< pointer to end of the header

§snips: *mut iolist_t

< payload snips (optional)

§payload_len: u16

< length of payload

§options_len: u16

< length of options array

§options: [coap_optpos_t; 16]

< option offset array

§opt_crit: [u8; 2]§observe_value: u32

< observe value

Trait Implementations§

source§

impl Clone for coap_pkt_t

source§

fn clone(&self) -> coap_pkt_t

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for coap_pkt_t

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for coap_pkt_t

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl Copy for coap_pkt_t

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 88 bytes