1 /******************************************************************
3 * Copyright 2014 Samsung Electronics All Rights Reserved.
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
19 ******************************************************************/
20 #ifndef __CA_PROTOCOL_MESSAGE_H_
21 #define __CA_PROTOCOL_MESSAGE_H_
32 typedef uint32_t code_t;
35 * function for generating
37 coap_pdu_t* CAGeneratePdu(const char* uri, const uint32_t code, const CAInfo_t info);
40 * function for generating
42 uint32_t CAGetRequestInfoFromPdu(const coap_pdu_t *pdu, CARequestInfo_t* outReqInfo, char* outUri);
44 uint32_t CAGetResponseInfoFromPdu(const coap_pdu_t *pdu, CAResponseInfo_t* outResInfo,
47 coap_pdu_t* CACreatePDUforRequest(const code_t code, coap_list_t *options);
49 coap_pdu_t* CACreatePDUforRequestWithPayload(const code_t code, coap_list_t *optlist,
55 void CAParseURI(const char* uriInfo, coap_list_t **options);
60 void CAParseHeadOption(const uint32_t code, const CAInfo_t info, coap_list_t **optlist);
62 coap_list_t* CACreateNewOptionNode(const uint16_t key, const uint32_t length, const uint8_t *data);
64 int32_t CAOrderOpts(void *a, void *b);
66 uint32_t getOptionCount(coap_opt_iterator_t opt_iter);
69 * funtion for get PDU information
71 void CAGetRequestPDUInfo(const coap_pdu_t *pdu, uint32_t* outCode, CAInfo_t* outInfo, char* outUri);
76 coap_pdu_t* CAParsePDU(const char* data, uint32_t* outCode);
81 CAResult_t CAGenerateTokenInternal(CAToken_t* token);
83 void CADestroyTokenInternal(CAToken_t token);
88 void CADeinitialize(CAInfo_t* info);
94 #endif //#ifndef __CA_PROTOCOL_MESSAGE_H_