* @param[in] endpoint network endpoint description.
* @param[in] data Data received from remote OIC device.
* @param[in] dataLength Length of data in bytes.
+ * @return ::CA_STATUS_OK or ERROR CODES (::CAResult_t error codes in cacommon.h).
* @pre Callback must be registered using CAIPSetPacketReceiveCallback().
*/
-typedef void (*CATCPPacketReceivedCallback)(const CASecureEndpoint_t *endpoint,
- const void *data,
- size_t dataLength);
+typedef CAResult_t (*CATCPPacketReceivedCallback)(const CASecureEndpoint_t *endpoint,
+ const void *data,
+ size_t dataLength);
/**
* Callback to notify error in the TCP adapter.
*
* @param[in] endpoint network endpoint description.
* @param[in] isConnected Whether keepalive message needs to be sent.
+ * @param[in] isClient Host Mode of Operation.
* @see Callback must be registered using CATCPSetKeepAliveCallback().
*/
-typedef void (*CATCPConnectionHandleCallback)(const CAEndpoint_t *endpoint, bool isConnected);
+typedef void (*CATCPConnectionHandleCallback)(const CAEndpoint_t *endpoint, bool isConnected,
+ bool isClient);
/**
* set error callback to notify error in TCP adapter.
*/
size_t CACheckPayloadLengthFromHeader(const void *data, size_t dlen);
+/**
+ * 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();
+
+/**
+ * Initialize a condition variable.
+ *
+ * @return ::CA_STATUS_OK or Appropriate error code.
+ */
+CAResult_t CATCPCreateCond();
+
+/**
+ * Destroy condition variable state.
+ */
+void CATCPDestroyCond();
+
#ifdef __cplusplus
}
#endif