Fix for android build failure. 88/213988/1
authorSenthil Kumar G S <senthil.gs@samsung.com>
Fri, 6 Sep 2019 12:51:37 +0000 (18:21 +0530)
committerSudipto <sudipto.bal@samsung.com>
Fri, 6 Sep 2019 12:51:37 +0000 (18:21 +0530)
Background:
Recently, an API was added to retrieve the some internal values in TCP socket.
This requirement was from VD and hence it was verified on Tizen platform.
PR(merged): https://github.sec.samsung.net/RS7-IOTIVITY/IoTivity/pull/537

There is a build issue on android because <ifaddrs.h> which is used in the above patch
is not available in android-21.

Solution:
Made the corresponding API to be available only for Tizen platform.

Change-Id: Idd64911aee0f817353c3376127f53a5ac8efe650
Signed-off-by: Senthil Kumar G S <senthil.gs@samsung.com>
Signed-off-by: Sudipto <sudipto.bal@samsung.com>
resource/csdk/connectivity/api/cautilinterface.h
resource/csdk/connectivity/inc/catcpadapter.h
resource/csdk/connectivity/src/tcp_adapter/catcpadapter.c
resource/csdk/connectivity/util/src/cautilinterface.c

index 8bd3a27..0d1bbfb 100644 (file)
@@ -61,6 +61,8 @@ typedef struct
     CMConfigureInfo_t cmInfo;
 } CAUtilConfig_t;
 
+#if defined(__TIZEN__)
+
 #define MAX_IP_LENGTH 46
 
 typedef struct
@@ -126,6 +128,8 @@ typedef struct
     u_int32_t tcpi_total_retrans;
 } TCPInfo;
 
+#endif
+
 /**
  * Callback function type for connection status changes delivery.
  * @param[out]   info           Remote endpoint information.
@@ -205,14 +209,14 @@ uint16_t CAGetAssignedPortNumber(CATransportAdapter_t adapter, CATransportFlags_
  * @param[in]   data   Advertisment Data buffer.
  * @param[in]   length Length of buffer.
  *
- * @return  ::CA_STATUS_OK or ::CA_STATUS_FAILED or ::CA_STATUS_INVALID_PARAM 
+ * @return  ::CA_STATUS_OK or ::CA_STATUS_FAILED or ::CA_STATUS_INVALID_PARAM
  */
 CAResult_t CASetAdvertisementData(const char* data, int length);
 
 /**
  * Set function that will be called before starting advertising.
  * Provided data and length will be used to set advertisement data.
- * @param[in]  getter     Custom advertisement data getter callback. 
+ * @param[in]  getter     Custom advertisement data getter callback.
  *
  */
 void CASetAdvertisementDataGetter(CAAdvertisementDataGetterCB getter);
@@ -228,7 +232,7 @@ void CASetAutoAdvertisement(bool autoAdvertisement);
  * Scan and set data for custom bluetooth advertisement.
  * @param[in]   data                   Array with custom bluetooth advertisement data.
  * @param[in]   length                 Length of data array.
- * @return  ::CA_STATUS_OK or ::CA_STATUS_FAILED or ::CA_STATUS_INVALID_PARAM 
+ * @return  ::CA_STATUS_OK or ::CA_STATUS_FAILED or ::CA_STATUS_INVALID_PARAM
  */
 CAResult_t CASetScanResponseData(const char* data, int length);
 
@@ -424,7 +428,10 @@ void CAUtilSkipTCPCloseOnInterfaceDown(bool state);
 
 CAResult_t CAUtilStartGattServer();
 CAResult_t CAUtilStopGattServer();
+
+#if defined(__TIZEN__)
 CAResult_t CAGetTCPIPHeader(CATransportAdapter_t adapter, int flag, TCPHeaderInfo* info);
+#endif
 
 #ifdef __cplusplus
 } /* extern "C" */
index 9b17ff7..2c9bb43 100644 (file)
 #include "cathreadpool.h"
 #include "cainterface.h"
 #include <coap/pdu.h>
+
+#if defined(__TIZEN__)
 #include "cautilinterface.h"
+#endif
 
 #ifdef __cplusplus
 extern "C"
@@ -205,11 +208,13 @@ CAResult_t CAStopTCP();
  */
 void CATerminateTCP();
 
+#if defined(__TIZEN__)
 /**
  * Gets TCP Header Information
  * @return  ::CA_STATUS_OK or Appropriate error code.
  */
 CAResult_t CAGetTCPIPHeaderInfo(CATransportFlags_t flag, TCPHeaderInfo* tcpHeaderInfo);
+#endif
 
 #ifdef TCP_ADAPTER
 /**
index c97c5c2..3dd9a7a 100644 (file)
  *
  ******************************************************************/
 
-#include <netdb.h>
-#include <ifaddrs.h>
-#include <netinet/tcp.h>
-#include <net/if.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <stdint.h>
+
+#if defined(__TIZEN__)
+#include <netdb.h>
+#include <ifaddrs.h>
+#include <netinet/tcp.h>
+#include <net/if.h>
 #include <errno.h>
 #include <arpa/inet.h>
 #include <sys/socket.h>
+#endif
 
 #ifndef __STDC_FORMAT_MACROS
 #define __STDC_FORMAT_MACROS
@@ -71,9 +74,12 @@ typedef struct
 
 #define CA_TCP_SELECT_TIMEOUT 10
 
+#if defined(__TIZEN__)
 #define CA_IPV4_VERSION 4
 
 #define CA_IPV6_VERSION 6
+#endif
+
 /**
  * Mutex to synchronize TCP adapter access.
  */
@@ -826,6 +832,7 @@ void CADataDestroyer(void *data, uint32_t size)
     CAFreeTCPData(TCPData);
 }
 
+#if defined(__TIZEN__)
 void CAGetTCPLocalIP(CATransportFlags_t flag, char* localIP)
 {
     //int targetPort;
@@ -868,8 +875,8 @@ void CAGetTCPLocalIP(CATransportFlags_t flag, char* localIP)
     OIC_LOG_V(DEBUG, TAG, "src_addr = %s", localIP);
 }
 
-int CAGetSocketInformation(u_int8_t* destIP, u_int32_t *destPort){
-
+int CAGetSocketInformation(u_int8_t* destIP, u_int32_t *destPort)
+{
     oc_mutex_lock(g_mutexAdapter);
     uint32_t length = u_arraylist_length(caglobals.tcp.svrlist);
     for (size_t i = 0; i < length; i++)
@@ -968,6 +975,7 @@ CAResult_t CAGetTCPIPHeaderInfo(CATransportFlags_t flag, TCPHeaderInfo* tcpHeade
 
     return res;
 }
+#endif
 
 #ifdef SINGLE_THREAD
 size_t CAGetTotalLengthFromPacketHeader(const unsigned char *recvBuffer, size_t size)
index 74b8b45..60d8384 100644 (file)
@@ -502,6 +502,7 @@ CAResult_t CAUtilStopGattServer()
        return res;
 }
 
+#if defined(__TIZEN__)
 CAResult_t CAGetTCPIPHeader(CATransportAdapter_t adapter, int flag, TCPHeaderInfo* info)
 {
     CAResult_t res = CA_STATUS_OK;
@@ -517,3 +518,4 @@ CAResult_t CAGetTCPIPHeader(CATransportAdapter_t adapter, int flag, TCPHeaderInf
 #endif
     return res;
 }
+#endif