11 #include "contiki-net.h"
31 NOT_MODIFIED_304 = 124,
32 BAD_REQUEST_400 = 160,
34 METHOD_NOT_ALLOWED_405 = 165,
35 UNSUPPORTED_MADIA_TYPE_415 = 175,
36 INTERNAL_SERVER_ERROR_500 = 200,
37 BAD_GATEWAY_502 = 202,
38 GATEWAY_TIMEOUT_504 = 204
42 Option_Type_Content_Type = 1,
43 Option_Type_Max_Age = 2,
45 Option_Type_Uri_Authority = 5,
46 Option_Type_Location = 6,
47 Option_Type_Uri_Path = 9,
48 Option_Type_Subscription_Lifetime = 10,
49 Option_Type_Token = 11,
50 Option_Type_Block = 13,
51 Option_Type_Uri_Query = 15
65 APPLICATION_LINK_FORMAT = 40,
67 APPLICATION_OCTET_STREAM = 42,
68 APPLICATION_RDF_XML = 43,
69 APPLICATION_SOAP_XML = 44,
70 APPLICATION_ATOM_XML = 45,
71 APPLICATION_XMPP_XML = 46,
73 APPLICATION_X_BXML = 48,
74 APPLICATION_FASTINFOSET = 49,
75 APPLICATION_SOAP_FASTINFOSET = 50,
79 #define COAP_HEADER_VERSION_MASK 0xC0
80 #define COAP_HEADER_TYPE_MASK 0x30
81 #define COAP_HEADER_OPTION_COUNT_MASK 0x0F
82 #define COAP_HEADER_OPTION_DELTA_MASK 0xF0
83 #define COAP_HEADER_OPTION_SHORT_LENGTH_MASK 0x0F
85 #define COAP_HEADER_VERSION_POSITION 6
86 #define COAP_HEADER_TYPE_POSITION 4
87 #define COAP_HEADER_OPTION_DELTA_POSITION 4
89 #define REQUEST_BUFFER_SIZE 200
91 #define DEFAULT_CONTENT_TYPE 0
92 #define DEFAULT_MAX_AGE 60
93 #define DEFAULT_URI_AUTHORITY ""
94 #define DEFAULT_URI_PATH ""
98 struct header_option_t
100 struct header_option_t* next;
105 typedef struct header_option_t header_option_t;
107 struct block_option_t {
112 typedef struct block_option_t block_option_t;
118 uint8_t option_count;
121 header_option_t* options;
126 uint16_t payload_len;
138 MEMORY_BOUNDARY_EXCEEDED
141 int serialize_packet(coap_packet_t* request, uint8_t* buffer);
142 void init_packet(coap_packet_t* packet);