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_
33 typedef uint32_t code_t;
36 * function for generating
38 coap_pdu_t *CAGeneratePdu(const char *uri, const uint32_t code, const CAInfo_t info);
41 * function for generating
43 uint32_t CAGetRequestInfoFromPdu(const coap_pdu_t *pdu, CARequestInfo_t *outReqInfo, char *outUri);
45 uint32_t CAGetResponseInfoFromPdu(const coap_pdu_t *pdu, CAResponseInfo_t *outResInfo,
48 coap_pdu_t* CACreatePDUforRequest(const code_t code, coap_list_t *options, const CAInfo_t info);
50 coap_pdu_t *CACreatePDUforRequestWithPayload(const code_t code, coap_list_t *optlist,
51 const char* payload, const CAInfo_t info);
56 void CAParseURI(const char *uriInfo, coap_list_t **options);
61 void CAParseHeadOption(const uint32_t code, const CAInfo_t info, coap_list_t **optlist);
63 coap_list_t *CACreateNewOptionNode(const uint16_t key, const uint32_t length, const uint8_t *data);
65 int CAOrderOpts(void *a, void *b);
67 uint32_t CAGetOptionCount(coap_opt_iterator_t opt_iter);
69 uint32_t CAGetOptionData(const uint8_t *data, uint32_t len, uint8_t *result, uint32_t buflen,
70 uint32_t encode_always);
73 * funtion for get PDU information
75 void CAGetRequestPDUInfo(const coap_pdu_t *pdu, uint32_t *outCode, CAInfo_t *outInfo, char *outUri);
80 coap_pdu_t *CAParsePDU(const char *data, uint32_t length, uint32_t *outCode);
85 CAResult_t CAGenerateTokenInternal(CAToken_t *token);
87 void CADestroyTokenInternal(CAToken_t token);
92 void CADeinitialize(CAInfo_t *info);
98 #endif //#ifndef __CA_PROTOCOL_MESSAGE_H_