replace : iotivity -> iotivity-sec
[platform/upstream/iotivity.git] / resource / csdk / connectivity / inc / caedrinterface.h
index 6944270..45a5afb 100644 (file)
@@ -45,11 +45,14 @@ typedef enum
     STATE_CONNECTED     /**< State is Connected. */
 } CAConnectedState_t;
 
-typedef struct connected_state
+typedef struct connected_device
 {
     uint8_t address[CA_MACADDR_SIZE];
     CAConnectedState_t state;
-} state_t;
+    uint8_t *recvData;
+    size_t recvDataLen;
+    size_t totalDataLen;
+} CAConnectedDeviceInfo_t;
 
 /**
  * Enum for defining different server types.
@@ -86,10 +89,11 @@ typedef struct
  * @param[in] data          Data received.
  * @param[in] dataLength    Length of the Data received.
  * @param[out] sentLength    Length of the sent data.
+ * @return ::CA_STATUS_OK or ERROR CODES (::CAResult_t error codes in cacommon.h).
  * @pre Callback must be registered using CAEDRSetPacketReceivedCallback().
  */
-typedef void (*CAEDRDataReceivedCallback)(const char *remoteAddress, const uint8_t *data,
-                                          uint32_t dataLength, uint32_t *sentLength);
+typedef CAResult_t (*CAEDRDataReceivedCallback)(const char *remoteAddress, const uint8_t *data,
+                                                uint32_t dataLength, uint32_t *sentLength);
 
 /**
  * This will be used during change in network status.
@@ -160,8 +164,9 @@ void CAEDRClientUnsetCallbacks();
 
 /**
  * Used to initialize the EDR client module where mutex is initialized.
+ * @return ::CA_STATUS_OK or Appropriate error code.
  */
-void CAEDRInitializeClient(ca_thread_pool_t handle);
+CAResult_t CAEDRClientInitialize();
 
 /**
  * Destroys the Device list and mutex.
@@ -217,15 +222,13 @@ CAResult_t CAEDRGetInterfaceInformation(CAEndpoint_t **info);
 /**
  * Start RFCOMM server for given service UUID
  *
- * @param[in]  handle       Threadpool Handle.
- *
  * @return ::CA_STATUS_OK or Appropriate error code.
  * @retval ::CA_STATUS_OK  Successful.
  * @retval ::CA_STATUS_INVALID_PARAM  Invalid input arguments.
  * @retval ::CA_STATUS_FAILED Operation failed.
  *
  */
-CAResult_t CAEDRServerStart(ca_thread_pool_t handle);
+CAResult_t CAEDRServerStart();
 
 /**
  * Stop RFCOMM server
@@ -237,6 +240,13 @@ CAResult_t CAEDRServerStart(ca_thread_pool_t handle);
 CAResult_t CAEDRServerStop();
 
 /**
+ * Used to initialize the EDR server module where mutex is initialized.
+ * @param[in]  threadPool   Threadpool Handle.
+ * @return ::CA_STATUS_OK or Appropriate error code.
+ */
+CAResult_t CAEDRServerInitialize(ca_thread_pool_t handle);
+
+/**
  * Terminate server for EDR.
  */
 void CAEDRServerTerminate();
@@ -284,6 +294,13 @@ CAResult_t CAEDRClientSendMulticastData(const uint8_t *data,
  */
 CAResult_t CAEDRGetBondedDeviceList();
 
+#ifdef __TIZEN__
+/**
+ * This function starts device discovery.
+ */
+CAResult_t CAEDRStartDeviceDiscovery(void);
+#endif
+
 #ifdef __cplusplus
 } /* extern "C" */
 #endif