From a58c7c3431f8ee8c8c57ad38f9021314fe419366 Mon Sep 17 00:00:00 2001 From: Senthil Kumar G S Date: Fri, 6 Sep 2019 18:21:37 +0530 Subject: [PATCH] Fix for android build failure. 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 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 Signed-off-by: Sudipto --- resource/csdk/connectivity/api/cautilinterface.h | 13 ++++++++++--- resource/csdk/connectivity/inc/catcpadapter.h | 5 +++++ .../csdk/connectivity/src/tcp_adapter/catcpadapter.c | 20 ++++++++++++++------ .../csdk/connectivity/util/src/cautilinterface.c | 2 ++ 4 files changed, 31 insertions(+), 9 deletions(-) diff --git a/resource/csdk/connectivity/api/cautilinterface.h b/resource/csdk/connectivity/api/cautilinterface.h index 8bd3a27..0d1bbfb 100644 --- a/resource/csdk/connectivity/api/cautilinterface.h +++ b/resource/csdk/connectivity/api/cautilinterface.h @@ -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" */ diff --git a/resource/csdk/connectivity/inc/catcpadapter.h b/resource/csdk/connectivity/inc/catcpadapter.h index 9b17ff7..2c9bb43 100644 --- a/resource/csdk/connectivity/inc/catcpadapter.h +++ b/resource/csdk/connectivity/inc/catcpadapter.h @@ -30,7 +30,10 @@ #include "cathreadpool.h" #include "cainterface.h" #include + +#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 /** diff --git a/resource/csdk/connectivity/src/tcp_adapter/catcpadapter.c b/resource/csdk/connectivity/src/tcp_adapter/catcpadapter.c index c97c5c2..3dd9a7a 100644 --- a/resource/csdk/connectivity/src/tcp_adapter/catcpadapter.c +++ b/resource/csdk/connectivity/src/tcp_adapter/catcpadapter.c @@ -18,17 +18,20 @@ * ******************************************************************/ -#include -#include -#include -#include #include #include #include #include + +#if defined(__TIZEN__) +#include +#include +#include +#include #include #include #include +#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) diff --git a/resource/csdk/connectivity/util/src/cautilinterface.c b/resource/csdk/connectivity/util/src/cautilinterface.c index 74b8b45..60d8384 100644 --- a/resource/csdk/connectivity/util/src/cautilinterface.c +++ b/resource/csdk/connectivity/util/src/cautilinterface.c @@ -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 -- 2.7.4