39 #ifndef ER_COAP_CONSTANTS_H_
40 #define ER_COAP_CONSTANTS_H_
42 #define COAP_DEFAULT_PORT 5683
44 #define COAP_DEFAULT_MAX_AGE 60
45 #define COAP_RESPONSE_TIMEOUT 3
46 #define COAP_RESPONSE_RANDOM_FACTOR 1.5
47 #define COAP_MAX_RETRANSMIT 4
49 #define COAP_HEADER_LEN 4
50 #define COAP_TOKEN_LEN 8
51 #define COAP_ETAG_LEN 8
53 #define COAP_HEADER_VERSION_MASK 0xC0
54 #define COAP_HEADER_VERSION_POSITION 6
55 #define COAP_HEADER_TYPE_MASK 0x30
56 #define COAP_HEADER_TYPE_POSITION 4
57 #define COAP_HEADER_TOKEN_LEN_MASK 0x0F
58 #define COAP_HEADER_TOKEN_LEN_POSITION 0
60 #define COAP_HEADER_OPTION_DELTA_MASK 0xF0
61 #define COAP_HEADER_OPTION_SHORT_LENGTH_MASK 0x0F
69 } coap_message_type_t;
90 BAD_REQUEST_4_00 = 128,
91 UNAUTHORIZED_4_01 = 129,
92 BAD_OPTION_4_02 = 130,
95 METHOD_NOT_ALLOWED_4_05 = 133,
96 NOT_ACCEPTABLE_4_06 = 134,
97 PRECONDITION_FAILED_4_12 = 140,
98 REQUEST_ENTITY_TOO_LARGE_4_13 = 141,
99 UNSUPPORTED_MEDIA_TYPE_4_15 = 143,
101 INTERNAL_SERVER_ERROR_5_00 = 160,
102 NOT_IMPLEMENTED_5_01 = 161,
103 BAD_GATEWAY_5_02 = 162,
104 SERVICE_UNAVAILABLE_5_03 = 163,
105 GATEWAY_TIMEOUT_5_04 = 164,
106 PROXYING_NOT_SUPPORTED_5_05 = 165,
109 MEMORY_ALLOCATION_ERROR = 192,
110 PACKET_SERIALIZATION_ERROR,
119 COAP_OPTION_IF_MATCH = 1,
120 COAP_OPTION_URI_HOST = 3,
121 COAP_OPTION_ETAG = 4,
122 COAP_OPTION_IF_NONE_MATCH = 5,
123 COAP_OPTION_OBSERVE = 6,
124 COAP_OPTION_URI_PORT = 7,
125 COAP_OPTION_LOCATION_PATH = 8,
126 COAP_OPTION_URI_PATH = 11,
127 COAP_OPTION_CONTENT_FORMAT = 12,
128 COAP_OPTION_MAX_AGE = 14,
129 COAP_OPTION_URI_QUERY = 15,
130 COAP_OPTION_ACCEPT = 17,
131 COAP_OPTION_LOCATION_QUERY = 20,
132 COAP_OPTION_BLOCK2 = 23,
133 COAP_OPTION_BLOCK1 = 27,
134 COAP_OPTION_SIZE2 = 28,
135 COAP_OPTION_PROXY_URI = 35,
136 COAP_OPTION_PROXY_SCHEME = 39,
137 COAP_OPTION_SIZE1 = 60,
152 APPLICATION_LINK_FORMAT = 40,
153 APPLICATION_XML = 41,
154 APPLICATION_OCTET_STREAM = 42,
155 APPLICATION_RDF_XML = 43,
156 APPLICATION_SOAP_XML = 44,
157 APPLICATION_ATOM_XML = 45,
158 APPLICATION_XMPP_XML = 46,
159 APPLICATION_EXI = 47,
160 APPLICATION_FASTINFOSET = 48,
161 APPLICATION_SOAP_FASTINFOSET = 49,
162 APPLICATION_JSON = 50,
163 APPLICATION_X_OBIX_BINARY = 51
164 } coap_content_format_t;