Loading...
Searching...
No Matches
coap_pdu_t Struct Reference
Libcoap Internal API » PDU

structure for CoAP PDUs More...

`#include <coap_pdu_internal.h>`

Collaboration diagram for coap_pdu_t:
[legend]

## Data Fields

coap_pdu_type_t | type
| message type
coap_pdu_code_t | code
| request method (value 1–31) or response code (value 64-255)
coap_mid_t | mid
| message id, if any, in regular host byte order
uint8_t | max_hdr_size
| space reserved for protocol-specific header
uint8_t | hdr_size
| actual size used for protocol-specific header (0 until header is encoded)
uint8_t | crit_opt
| Set if unknown critical option for proxy.
uint16_t | max_opt
| highest option number in PDU
uint32_t | e_token_length
| length of Token space (includes leading extended bytes
coap_bin_const_t | actual_token
| Actual token in pdu.
size_t | alloc_size
| allocated storage for token, options and payload
size_t | used_size
| used bytes of storage for token, options and payload
size_t | max_size
| maximum size for token, options and payload, or zero for variable size pdu
uint8_t * | token
| first byte of token (or extended length bytes prefix), if any, or options
uint8_t * | data
| first byte of payload, if any
const uint8_t * | body_data
| Holds ptr to re-assembled data or NULL.
size_t | body_length
| Holds body data length.
size_t | body_offset
| Holds body data offset.
size_t | body_total
| Holds body data total size.
coap_lg_xmit_t * | lg_xmit
| Holds ptr to lg_xmit if sending a set of blocks.
coap_session_t * | session
| Session responsible for PDU or NULL.

## Detailed Description

structure for CoAP PDUs

Separate COAP_PDU_BUF is allocated with offsets held in coap_pdu_t.

token, if any, follows the fixed size header, then optional options until payload marker (0xff) (if paylooad), then the optional payload.

Memory layout is: <—header--->|<—token---><—options--->0xff<—payload--->

header is addressed with a negative offset to token, its maximum size is max_hdr_size.

allocated buffer always starts max_hdr_size before token.

options starts at token + e_token_length. payload starts at data, its length is used_size - (data - token).

alloc_size, used_size and max_size are the offsets from token.

Definition at line 135 of file coap_pdu_internal.h.

## Field Documentation

## actual_token

coap_bin_const_t coap_pdu_t::actual_token

Actual token in pdu.

Definition at line 148 of file coap_pdu_internal.h.

## alloc_size

size_t coap_pdu_t::alloc_size

allocated storage for token, options and payload

Definition at line 149 of file coap_pdu_internal.h.

## body_data

const uint8_t* coap_pdu_t::body_data

Holds ptr to re-assembled data or NULL.

Definition at line 168 of file coap_pdu_internal.h.

## body_length

size_t coap_pdu_t::body_length

Holds body data length.

Definition at line 169 of file coap_pdu_internal.h.

## body_offset

size_t coap_pdu_t::body_offset

Holds body data offset.

Definition at line 170 of file coap_pdu_internal.h.

## body_total

size_t coap_pdu_t::body_total

Holds body data total size.

Definition at line 171 of file coap_pdu_internal.h.

## code

coap_pdu_code_t coap_pdu_t::code

request method (value 1–31) or response code (value 64-255)

Definition at line 137 of file coap_pdu_internal.h.

## crit_opt

uint8_t coap_pdu_t::crit_opt

Set if unknown critical option for proxy.

Definition at line 144 of file coap_pdu_internal.h.

## data

uint8_t* coap_pdu_t::data

first byte of payload, if any

Definition at line 157 of file coap_pdu_internal.h.

## e_token_length

uint32_t coap_pdu_t::e_token_length

length of Token space (includes leading extended bytes

Definition at line 146 of file coap_pdu_internal.h.

## hdr_size

uint8_t coap_pdu_t::hdr_size

actual size used for protocol-specific header (0 until header is encoded)

Definition at line 142 of file coap_pdu_internal.h.

## lg_xmit

coap_lg_xmit_t* coap_pdu_t::lg_xmit

Holds ptr to lg_xmit if sending a set of blocks.

Definition at line 172 of file coap_pdu_internal.h.

## max_hdr_size

uint8_t coap_pdu_t::max_hdr_size

space reserved for protocol-specific header

Definition at line 141 of file coap_pdu_internal.h.

## max_opt

uint16_t coap_pdu_t::max_opt

highest option number in PDU

Definition at line 145 of file coap_pdu_internal.h.

## max_size

size_t coap_pdu_t::max_size

maximum size for token, options and payload, or zero for variable size pdu

Definition at line 153 of file coap_pdu_internal.h.

## mid

coap_mid_t coap_pdu_t::mid

message id, if any, in regular host byte order

Definition at line 139 of file coap_pdu_internal.h.

## session

coap_session_t* coap_pdu_t::session

Session responsible for PDU or NULL.

Definition at line 174 of file coap_pdu_internal.h.

## token

uint8_t* coap_pdu_t::token

first byte of token (or extended length bytes prefix), if any, or options

Definition at line 155 of file coap_pdu_internal.h.

## type

coap_pdu_type_t coap_pdu_t::type

message type

Definition at line 136 of file coap_pdu_internal.h.

## used_size

size_t coap_pdu_t::used_size

used bytes of storage for token, options and payload

Definition at line 151 of file coap_pdu_internal.h.

The documentation for this struct was generated from the following file:

- coap_pdu_internal.h