44 #ifndef COAP_CONSTANTS_H_ 45 #define COAP_CONSTANTS_H_ 47 #define COAP_DEFAULT_PORT 5683 48 #define COAP_DEFAULT_SECURE_PORT 5684 50 #define COAP_DEFAULT_MAX_AGE 60 51 #define COAP_RESPONSE_TIMEOUT 3 52 #define COAP_RESPONSE_RANDOM_FACTOR 1.5 53 #define COAP_MAX_RETRANSMIT 4 55 #define COAP_HEADER_LEN 4 56 #define COAP_TOKEN_LEN 8 57 #define COAP_ETAG_LEN 8 59 #define COAP_HEADER_VERSION_MASK 0xC0 60 #define COAP_HEADER_VERSION_POSITION 6 61 #define COAP_HEADER_TYPE_MASK 0x30 62 #define COAP_HEADER_TYPE_POSITION 4 63 #define COAP_HEADER_TOKEN_LEN_MASK 0x0F 64 #define COAP_HEADER_TOKEN_LEN_POSITION 0 66 #define COAP_HEADER_OPTION_DELTA_MASK 0xF0 67 #define COAP_HEADER_OPTION_SHORT_LENGTH_MASK 0x0F 75 } coap_message_type_t;
96 BAD_REQUEST_4_00 = 128,
97 UNAUTHORIZED_4_01 = 129,
98 BAD_OPTION_4_02 = 130,
100 NOT_FOUND_4_04 = 132,
101 METHOD_NOT_ALLOWED_4_05 = 133,
102 NOT_ACCEPTABLE_4_06 = 134,
103 PRECONDITION_FAILED_4_12 = 140,
104 REQUEST_ENTITY_TOO_LARGE_4_13 = 141,
105 UNSUPPORTED_MEDIA_TYPE_4_15 = 143,
107 INTERNAL_SERVER_ERROR_5_00 = 160,
108 NOT_IMPLEMENTED_5_01 = 161,
109 BAD_GATEWAY_5_02 = 162,
110 SERVICE_UNAVAILABLE_5_03 = 163,
111 GATEWAY_TIMEOUT_5_04 = 164,
112 PROXYING_NOT_SUPPORTED_5_05 = 165,
115 MEMORY_ALLOCATION_ERROR = 192,
116 PACKET_SERIALIZATION_ERROR,
125 COAP_OPTION_IF_MATCH = 1,
126 COAP_OPTION_URI_HOST = 3,
127 COAP_OPTION_ETAG = 4,
128 COAP_OPTION_IF_NONE_MATCH = 5,
129 COAP_OPTION_OBSERVE = 6,
130 COAP_OPTION_URI_PORT = 7,
131 COAP_OPTION_LOCATION_PATH = 8,
132 COAP_OPTION_URI_PATH = 11,
133 COAP_OPTION_CONTENT_FORMAT = 12,
134 COAP_OPTION_MAX_AGE = 14,
135 COAP_OPTION_URI_QUERY = 15,
136 COAP_OPTION_ACCEPT = 17,
137 COAP_OPTION_LOCATION_QUERY = 20,
138 COAP_OPTION_BLOCK2 = 23,
139 COAP_OPTION_BLOCK1 = 27,
140 COAP_OPTION_SIZE2 = 28,
141 COAP_OPTION_PROXY_URI = 35,
142 COAP_OPTION_PROXY_SCHEME = 39,
143 COAP_OPTION_SIZE1 = 60,
158 APPLICATION_LINK_FORMAT = 40,
159 APPLICATION_XML = 41,
160 APPLICATION_OCTET_STREAM = 42,
161 APPLICATION_RDF_XML = 43,
162 APPLICATION_SOAP_XML = 44,
163 APPLICATION_ATOM_XML = 45,
164 APPLICATION_XMPP_XML = 46,
165 APPLICATION_EXI = 47,
166 APPLICATION_FASTINFOSET = 48,
167 APPLICATION_SOAP_FASTINFOSET = 49,
168 APPLICATION_JSON = 50,
169 APPLICATION_X_OBIX_BINARY = 51
170 } coap_content_format_t;
179 METHOD_GET = (1 << 0),
180 METHOD_POST = (1 << 1),
181 METHOD_PUT = (1 << 2),
182 METHOD_DELETE = (1 << 3),
185 HAS_SUB_RESOURCES = (1 << 4),
186 IS_SEPARATE = (1 << 5),
187 IS_OBSERVABLE = (1 << 6),
188 IS_PERIODIC = (1 << 7)
coap_resource_flags_t
Resource flags for allowed methods and special functionalities.