libcoap 4.3.1
coap_pdu_t Struct Reference

structure for CoAP PDUs More...

#include <coap_pdu_internal.h>

+ Collaboration diagram for coap_pdu_t:

Data Fields

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

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 + 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 106 of file coap_pdu_internal.h.

Field Documentation

◆ alloc_size

size_t coap_pdu_t::alloc_size

allocated storage for token, options and payload

Definition at line 118 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 136 of file coap_pdu_internal.h.

◆ body_length

size_t coap_pdu_t::body_length

Holds body data length.

Definition at line 137 of file coap_pdu_internal.h.

◆ body_offset

size_t coap_pdu_t::body_offset

Holds body data offset.

Definition at line 138 of file coap_pdu_internal.h.

◆ body_total

size_t coap_pdu_t::body_total

Holds body data total size.

Definition at line 139 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 108 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 116 of file coap_pdu_internal.h.

◆ data

uint8_t* coap_pdu_t::data

first byte of payload, if any

Definition at line 125 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 113 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 140 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 112 of file coap_pdu_internal.h.

◆ max_opt

uint16_t coap_pdu_t::max_opt

highest option number in PDU

Definition at line 117 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 122 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 110 of file coap_pdu_internal.h.

◆ token

uint8_t* coap_pdu_t::token

first byte of token, if any, or options

Definition at line 124 of file coap_pdu_internal.h.

◆ token_length

uint8_t coap_pdu_t::token_length

length of Token

Definition at line 115 of file coap_pdu_internal.h.

◆ type

coap_pdu_type_t coap_pdu_t::type

message type

Definition at line 107 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 120 of file coap_pdu_internal.h.


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