[][src]Struct esp_idf_bindgen::pbuf

#[repr(C)]pub struct pbuf {
    pub next: *mut pbuf,
    pub payload: *mut c_void,
    pub tot_len: u16_t,
    pub len: u16_t,
    pub type_internal: u8_t,
    pub flags: u8_t,
    pub ref_: u8_t,
    pub if_idx: u8_t,
    pub l2_owner: *mut netif,
    pub l2_buf: *mut c_void,
}

Main packet buffer struct

Fields

next: *mut pbuf

next pbuf in singly linked pbuf chain

payload: *mut c_void

pointer to the actual data in the buffer

tot_len: u16_t

total length of this buffer and all next buffers in chain belonging to the same packet.

For non-queue packet chains this is the invariant: p->tot_len == p->len + (p->next? p->next->tot_len: 0)

len: u16_t

length of this buffer

type_internal: u8_t

a bit field indicating pbuf type and allocation sources (see PBUF_TYPE_FLAG_, PBUF_ALLOC_FLAG_ and PBUF_TYPE_ALLOC_SRC_MASK)

flags: u8_t

misc flags

ref_: u8_t

the reference count always equals the number of pointers that refer to this pbuf. This can be pointers from an application, the stack itself, or pbuf->next pointers from a chain.

if_idx: u8_t

For incoming packets, this contains the input netif's index

l2_owner: *mut netifl2_buf: *mut c_void

Trait Implementations

impl Clone for pbuf[src]

impl Copy for pbuf[src]

impl Debug for pbuf[src]

Auto Trait Implementations

impl !Send for pbuf

impl !Sync for pbuf

impl Unpin for pbuf

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.