| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- #ifndef __COAP_UTIL_H
- #define __COAP_UTIL_H
- #include <stdint.h>
- uint16_t CoAP_Get_Length(void);
- void CoAP_Init(uint8_t * coap_message);
- // 报文类型,00CON,01NON,10ACK,11Rest
- void CoAP_Set_T(uint8_t t);
- // 请求类型
- void CoAP_Set_Code(uint8_t code);
- // messageID
- void CoAP_Set_MessageID(uint16_t messageID);
- // token len不能大于8
- void CoAP_Set_Token(uint8_t * token, uint8_t len);
- // 设置option
- void CoAP_Set_Option(uint16_t number, uint16_t length, uint8_t * value);
- // 设置字符串类型的option
- void CoAP_Set_Option_Str(uint16_t number, char * message);
- // 设置short类型的option
- void CoAP_Set_Option_Short(uint16_t number, uint16_t num);
- // 设置payload
- void CoAP_Set_Payload(uint8_t * payload, uint16_t length);
- void CoAP_Set_Payload_Str(char * payload);
- // 报文解析
- // 获取版本号
- uint8_t CoAP_Get_Ver(uint8_t * coap_message);
- // 获取报文类型
- uint8_t CoAP_Get_T(uint8_t * coap_message);
- // 获取tkl
- uint8_t CoAP_Get_Tkl(uint8_t * coap_message);
- // 获取请求方式
- uint8_t CoAP_Get_Code(uint8_t * coap_message);
- // 获取messageID
- uint16_t CoAP_Get_MessageID(uint8_t * coap_message);
- // 获取token
- uint8_t * CoAP_Get_Token(uint8_t * coap_message, uint8_t * token);
- // 获取option长度
- uint16_t CoAP_Get_Option_Length(uint8_t * coap_message, uint16_t coap_length, uint16_t number);
- // 获取option value
- uint8_t * CoAP_Get_Option_Value(uint8_t * coap_message, uint16_t coap_length, uint16_t number, uint8_t * value);
- // 获取payload长度
- uint16_t CoAP_Get_Payload_Length(uint8_t * coap_message, uint16_t coap_length);
- // 获取payload值
- uint16_t CoAP_Get_Payload(uint8_t * coap_message, uint16_t coap_length, uint8_t * payload);
- #endif
|