+/**
+ * Construct CoAP header and payload from buffer
+ *
+ * @param[in] svritem - used socket, buffer, current received message length and protocol
+ * @param[in/out] data - data buffer, this value is updated as data is copied to svritem
+ * @param[in/out] dataLength - length of data, this value decreased as data is copied to svritem
+ * @return - CA_STATUS_OK or appropriate error code
+ */
+CAResult_t CAConstructCoAP(CATCPSessionInfo_t *svritem, unsigned char **data,
+ size_t *dataLength);
+
+/**
+ * Clean socket state data
+ *
+ * @param[in/out] svritem - socket state data
+ */
+void CACleanData(CATCPSessionInfo_t *svritem);
+
+/**
+ * Create a mutex object.
+ *
+ * @return ::CA_STATUS_OK or Appropriate error code.
+ */
+CAResult_t CATCPCreateMutex();
+
+/**
+ * Close a mutex object.
+ */
+void CATCPDestroyMutex();
+
+/**
+ * Create a mutex object for send data.
+ *
+ * @return ::CA_STATUS_OK or Appropriate error code.
+ */
+CAResult_t CATCPCreateSendMutex();
+
+/**
+ * Close a mutex object for send data.
+ */
+void CATCPDestroySendMutex();
+
+
+/**
+ * Initialize a condition variable.
+ *
+ * @return ::CA_STATUS_OK or Appropriate error code.
+ */
+CAResult_t CATCPCreateCond();
+
+/**
+ * Destroy condition variable state.
+ */
+void CATCPDestroyCond();
+
+/**
+ * Initialize a condition variable for send data.
+ *
+ * @return ::CA_STATUS_OK or Appropriate error code.
+ */
+CAResult_t CATCPCreateSendCond();
+
+/**
+ * Destroy condition variable state for send data.
+ */
+void CATCPDestroySendCond();
+