ProsecCoAP 🥂
 
Loading...
Searching...
No Matches
ProsecCoAP.h File Reference
#include "Udp.h"

Go to the source code of this file.

Classes

class  CoapOption
 Represents a CoAP option. More...
 
class  CoapPacket
 
class  CoapUri
 
class  Observer
 
class  Coap
 

Macros

#define COAP_MAX_CALLBACK   10
 
#define COAP_HEADER_SIZE   4u
 
#define COAP_OPTION_HEADER_SIZE   1
 
#define COAP_PAYLOAD_MARKER   0xFF
 
#define COAP_MAX_OPTION_NUM   10
 
#define COAP_BUF_MAX_SIZE   128
 
#define COAP_MAX_OBSERVERS   4
 Maximum number of observers that can be registered at runtime.
 
#define COAP_OBSERVER_LEASE_MS   60000UL
 
#define COAP_MAX_OBSERVE_ENDPOINT_LEN   32
 
#define COAP_DEFAULT_PORT   5683
 
#define RESPONSE_CODE(class, detail)
 
#define COAP_OPTION_DELTA(v, n)
 

Typedefs

typedef void(* CoapCallback) (CoapPacket &, IPAddress, int)
 

Enumerations

enum  COAP_TYPE { COAP_CON = 0 , COAP_NONCON = 1 , COAP_ACK = 2 , COAP_RESET = 3 }
 
enum  COAP_METHOD { COAP_GET = 1 , COAP_POST = 2 , COAP_PUT = 3 , COAP_DELETE = 4 }
 
enum  COAP_RESPONSE_CODE {
  COAP_EMPTY = RESPONSE_CODE(0, 0) , COAP_CREATED = RESPONSE_CODE(2, 1) , COAP_DELETED = RESPONSE_CODE(2, 2) , COAP_VALID = RESPONSE_CODE(2, 3) ,
  COAP_CHANGED = RESPONSE_CODE(2, 4) , COAP_CONTENT = RESPONSE_CODE(2, 5) , COAP_BAD_REQUEST = RESPONSE_CODE(4, 0) , COAP_UNAUTHORIZED = RESPONSE_CODE(4, 1) ,
  COAP_BAD_OPTION = RESPONSE_CODE(4, 2) , COAP_FORBIDDEN = RESPONSE_CODE(4, 3) , COAP_NOT_FOUND = RESPONSE_CODE(4, 4) , COAP_METHOD_NOT_ALLOWED = RESPONSE_CODE(4, 5) ,
  COAP_NOT_ACCEPTABLE = RESPONSE_CODE(4, 6) , COAP_PRECONDITION_FAILED = RESPONSE_CODE(4, 12) , COAP_REQUEST_ENTITY_TOO_LARGE = RESPONSE_CODE(4, 13) , COAP_UNSUPPORTED_CONTENT_FORMAT = RESPONSE_CODE(4, 15) ,
  COAP_INTERNAL_SERVER_ERROR = RESPONSE_CODE(5, 0) , COAP_NOT_IMPLEMENTED = RESPONSE_CODE(5, 1) , COAP_BAD_GATEWAY = RESPONSE_CODE(5, 2) , COAP_SERVICE_UNAVAILABLE = RESPONSE_CODE(5, 3) ,
  COAP_GATEWAY_TIMEOUT = RESPONSE_CODE(5, 4) , COAP_PROXYING_NOT_SUPPORTED = RESPONSE_CODE(5, 5)
}
 
enum  COAP_OPTION_NUMBER {
  COAP_IF_MATCH = 1 , COAP_URI_HOST = 3 , COAP_E_TAG = 4 , COAP_IF_NONE_MATCH = 5 ,
  COAP_OBSERVE = 6 , COAP_URI_PORT = 7 , COAP_LOCATION_PATH = 8 , COAP_URI_PATH = 11 ,
  COAP_CONTENT_FORMAT = 12 , COAP_MAX_AGE = 14 , COAP_URI_QUERY = 15 , COAP_ACCEPT = 17 ,
  COAP_LOCATION_QUERY = 20 , COAP_PROXY_URI = 35 , COAP_PROXY_SCHEME = 39 , COAP_SIZE1 = 60
}
 
enum  COAP_OBSERVE_VALUE { COAP_OBSERVE_VALUE_REGISTER = 0 , COAP_OBSERVE_VALUE_DEREGISTER = 1 }
 
enum  COAP_CONTENT_TYPE {
  COAP_NONE = -1 , COAP_TEXT_PLAIN = 0 , COAP_APPLICATION_LINK_FORMAT = 40 , COAP_APPLICATION_XML = 41 ,
  COAP_APPLICATION_OCTET_STREAM = 42 , COAP_APPLICATION_EXI = 47 , COAP_APPLICATION_JSON = 50 , COAP_APPLICATION_CBOR = 60
}
 

Macro Definition Documentation

◆ COAP_BUF_MAX_SIZE

#define COAP_BUF_MAX_SIZE   128

◆ COAP_DEFAULT_PORT

#define COAP_DEFAULT_PORT   5683

◆ COAP_HEADER_SIZE

#define COAP_HEADER_SIZE   4u

◆ COAP_MAX_CALLBACK

#define COAP_MAX_CALLBACK   10

◆ COAP_MAX_OBSERVE_ENDPOINT_LEN

#define COAP_MAX_OBSERVE_ENDPOINT_LEN   32

◆ COAP_MAX_OBSERVERS

#define COAP_MAX_OBSERVERS   4

Maximum number of observers that can be registered at runtime.

◆ COAP_MAX_OPTION_NUM

#define COAP_MAX_OPTION_NUM   10

◆ COAP_OBSERVER_LEASE_MS

#define COAP_OBSERVER_LEASE_MS   60000UL

◆ COAP_OPTION_DELTA

#define COAP_OPTION_DELTA ( v,
n )
Value:
(v < 13 ? (*n = (0xFF & v)) : (v <= 0xFF + 13 ? (*n = 13) : (*n = 14)))

◆ COAP_OPTION_HEADER_SIZE

#define COAP_OPTION_HEADER_SIZE   1

◆ COAP_PAYLOAD_MARKER

#define COAP_PAYLOAD_MARKER   0xFF

◆ RESPONSE_CODE

#define RESPONSE_CODE ( class,
detail )
Value:
((class << 5) | (detail))

Typedef Documentation

◆ CoapCallback

typedef void(* CoapCallback) (CoapPacket &, IPAddress, int)

Enumeration Type Documentation

◆ COAP_CONTENT_TYPE

Enumerator
COAP_NONE 
COAP_TEXT_PLAIN 
COAP_APPLICATION_LINK_FORMAT 
COAP_APPLICATION_XML 
COAP_APPLICATION_OCTET_STREAM 
COAP_APPLICATION_EXI 
COAP_APPLICATION_JSON 
COAP_APPLICATION_CBOR 

◆ COAP_METHOD

Enumerator
COAP_GET 
COAP_POST 
COAP_PUT 
COAP_DELETE 

◆ COAP_OBSERVE_VALUE

Enumerator
COAP_OBSERVE_VALUE_REGISTER 
COAP_OBSERVE_VALUE_DEREGISTER 

◆ COAP_OPTION_NUMBER

CoAP Option Numbers Registry

https://datatracker.ietf.org/doc/html/rfc7252#section-12.2

Enumerator
COAP_IF_MATCH 
COAP_URI_HOST 
COAP_E_TAG 
COAP_IF_NONE_MATCH 
COAP_OBSERVE 
COAP_URI_PORT 
COAP_LOCATION_PATH 
COAP_URI_PATH 
COAP_CONTENT_FORMAT 
COAP_MAX_AGE 
COAP_URI_QUERY 
COAP_ACCEPT 
COAP_LOCATION_QUERY 
COAP_PROXY_URI 
COAP_PROXY_SCHEME 
COAP_SIZE1 

◆ COAP_RESPONSE_CODE

Enumerator
COAP_EMPTY 
COAP_CREATED 
COAP_DELETED 
COAP_VALID 
COAP_CHANGED 
COAP_CONTENT 
COAP_BAD_REQUEST 
COAP_UNAUTHORIZED 
COAP_BAD_OPTION 
COAP_FORBIDDEN 
COAP_NOT_FOUND 
COAP_METHOD_NOT_ALLOWED 
COAP_NOT_ACCEPTABLE 
COAP_PRECONDITION_FAILED 
COAP_REQUEST_ENTITY_TOO_LARGE 
COAP_UNSUPPORTED_CONTENT_FORMAT 
COAP_INTERNAL_SERVER_ERROR 
COAP_NOT_IMPLEMENTED 
COAP_BAD_GATEWAY 
COAP_SERVICE_UNAVAILABLE 
COAP_GATEWAY_TIMEOUT 
COAP_PROXYING_NOT_SUPPORTED 

◆ COAP_TYPE

enum COAP_TYPE
Enumerator
COAP_CON 
COAP_NONCON 
COAP_ACK 
COAP_RESET