coap.h File Reference

Generic CoAP values as defined by RFC7252. More...

Detailed Description

Generic CoAP values as defined by RFC7252.

Author
Hauke Petersen hauke.nosp@m..pet.nosp@m.ersen.nosp@m.@fu-.nosp@m.berli.nosp@m.n.de

Definition in file coap.h.

+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define COAP_PORT   (5683)
 Default CoAP port.
 

CoAP option numbers

#define COAP_OPT_URI_HOST   (3)
 
#define COAP_OPT_OBSERVE   (6)
 
#define COAP_OPT_LOCATION_PATH   (8)
 
#define COAP_OPT_URI_PATH   (11)
 
#define COAP_OPT_CONTENT_FORMAT   (12)
 
#define COAP_OPT_URI_QUERY   (15)
 
#define COAP_OPT_ACCEPT   (17)
 
#define COAP_OPT_LOCATION_QUERY   (20)
 
#define COAP_OPT_BLOCK2   (23)
 
#define COAP_OPT_BLOCK1   (27)
 
#define COAP_OPT_PROXY_URI   (35)
 
#define COAP_OPT_PROXY_SCHEME   (39)
 

Message types – confirmable, non-confirmable, etc.

#define COAP_TYPE_CON   (0)
 
#define COAP_TYPE_NON   (1)
 
#define COAP_TYPE_ACK   (2)
 
#define COAP_TYPE_RST   (3)
 

CoAP method codes used in header

#define COAP_CLASS_REQ   (0)
 
#define COAP_METHOD_GET   (1)
 
#define COAP_METHOD_POST   (2)
 
#define COAP_METHOD_PUT   (3)
 
#define COAP_METHOD_DELETE   (4)
 
#define COAP_METHOD_FETCH   (5)
 
#define COAP_METHOD_PATCH   (6)
 
#define COAP_METHOD_IPATCH   (7)
 

Empty CoAP message code

#define COAP_CODE_EMPTY   (0)
 

Response message codes: success

#define COAP_CLASS_SUCCESS   (2)
 
#define COAP_CODE_CREATED   ((2 << 5) | 1)
 
#define COAP_CODE_DELETED   ((2 << 5) | 2)
 
#define COAP_CODE_VALID   ((2 << 5) | 3)
 
#define COAP_CODE_CHANGED   ((2 << 5) | 4)
 
#define COAP_CODE_204   ((2 << 5) | 4)
 
#define COAP_CODE_CONTENT   ((2 << 5) | 5)
 
#define COAP_CODE_205   ((2 << 5) | 5)
 
#define COAP_CODE_CONTINUE   ((2 << 5) | 31)
 
#define COAP_CODE_231   ((2 << 5) | 31)
 

Response message codes: client error

#define COAP_CLASS_CLIENT_FAILURE   (4)
 
#define COAP_CODE_BAD_REQUEST   ((4 << 5) | 0)
 
#define COAP_CODE_UNAUTHORIZED   ((4 << 5) | 1)
 
#define COAP_CODE_BAD_OPTION   ((4 << 5) | 2)
 
#define COAP_CODE_FORBIDDEN   ((4 << 5) | 3)
 
#define COAP_CODE_PATH_NOT_FOUND   ((4 << 5) | 4)
 
#define COAP_CODE_404   ((4 << 5) | 4)
 
#define COAP_CODE_METHOD_NOT_ALLOWED   ((4 << 5) | 5)
 
#define COAP_CODE_NOT_ACCEPTABLE   ((4 << 5) | 6)
 
#define COAP_CODE_REQUEST_ENTITY_INCOMPLETE   ((4 << 5) | 8)
 
#define COAP_CODE_CONFLICT   ((4 << 5) | 9)
 
#define COAP_CODE_PRECONDITION_FAILED   ((4 << 5) | 12)
 
#define COAP_CODE_REQUEST_ENTITY_TOO_LARGE   ((4 << 5) | 13)
 
#define COAP_CODE_UNSUPPORTED_CONTENT_FORMAT   ((4 << 5) | 15)
 
#define COAP_CODE_UNPROCESSABLE_ENTITY   ((4 << 5) | 22)
 

Response message codes: server error

#define COAP_CLASS_SERVER_FAILURE   (5)
 
#define COAP_CODE_INTERNAL_SERVER_ERROR   ((5 << 5) | 0)
 
#define COAP_CODE_NOT_IMPLEMENTED   ((5 << 5) | 1)
 
#define COAP_CODE_BAD_GATEWAY   ((5 << 5) | 2)
 
#define COAP_CODE_SERVICE_UNAVAILABLE   ((5 << 5) | 3)
 
#define COAP_CODE_GATEWAY_TIMEOUT   ((5 << 5) | 4)
 
#define COAP_CODE_PROXYING_NOT_SUPPORTED   ((5 << 5) | 5)
 

Content-Format option codes

#define COAP_FORMAT_TEXT   (0)
 
#define COAP_FORMAT_LINK   (40)
 
#define COAP_FORMAT_XML   (41)
 
#define COAP_FORMAT_OCTET   (42)
 
#define COAP_FORMAT_EXI   (47)
 
#define COAP_FORMAT_JSON   (50)
 
#define COAP_FORMAT_JSON_PATCH_JSON   (51)
 
#define COAP_FORMAT_MERGE_PATCH_JSON   (52)
 
#define COAP_FORMAT_CBOR   (60)
 
#define COAP_FORMAT_SENML_JSON   (110)
 
#define COAP_FORMAT_SENSML_JSON   (111)
 
#define COAP_FORMAT_SENML_CBOR   (112)
 
#define COAP_FORMAT_SENSML_CBOR   (113)
 
#define COAP_FORMAT_SENML_EXI   (114)
 
#define COAP_FORMAT_SENSML_EXI   (115)
 
#define COAP_FORMAT_SENML_XML   (310)
 
#define COAP_FORMAT_SENSML_XML   (311)
 

Observe (RFC 7641) constants

#define COAP_OBS_REGISTER   (0)
 
#define COAP_OBS_DEREGISTER   (1)
 

CoAP message format constants

#define COAP_TOKEN_LENGTH_MAX   (8)
 

Timing parameters

These parameters are defined as configurable in RFC 7252, section 4.8.1.

#define CONFIG_COAP_ACK_TIMEOUT   (2U)
 Timeout in seconds for a response to a confirmable request. More...
 
#define CONFIG_COAP_RANDOM_FACTOR_1000   (1500)
 Used to calculate upper bound for timeout. More...
 
#define CONFIG_COAP_MAX_RETRANSMIT   (4)
 Maximum number of retransmissions for a confirmable request.
 

Fixed timing parameters

#define COAP_NSTART   (1)
 
#define COAP_DEFAULT_LEISURE   (5)
 

Blockwise transfer (RFC7959)

#define COAP_BLOCKWISE_NUM_OFF   (4)
 
#define COAP_BLOCKWISE_MORE_OFF   (3)
 
#define COAP_BLOCKWISE_SZX_MASK   (0x07)
 
#define COAP_BLOCKWISE_SZX_MAX   (7)