#[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
impl Clone for coap_pkt_t
source§fn clone(&self) -> coap_pkt_t
fn clone(&self) -> coap_pkt_t
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for coap_pkt_t
impl Debug for coap_pkt_t
source§impl Default for coap_pkt_t
impl Default for coap_pkt_t
impl Copy for coap_pkt_t
Auto Trait Implementations§
impl Freeze for coap_pkt_t
impl RefUnwindSafe for coap_pkt_t
impl !Send for coap_pkt_t
impl !Sync for coap_pkt_t
impl Unpin for coap_pkt_t
impl UnwindSafe for coap_pkt_t
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)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