summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorInaky Perez-Gonzalez <inaky@linux.intel.com>2009-10-08 13:05:47 +0900
committerMarcel Holtmann <marcel@holtmann.org>2009-10-10 14:40:28 +0200
commit3f97b2d8aa4f0633249fa3b1b8499de929d70b37 (patch)
treee32e932840f83eded8e918e0893aa3c69f9ad123
parent9856478957f315b63cd273d8d76589bb38daf2de (diff)
downloadconnman-3f97b2d8aa4f0633249fa3b1b8499de929d70b37.tar.gz
connman-3f97b2d8aa4f0633249fa3b1b8499de929d70b37.tar.bz2
connman-3f97b2d8aa4f0633249fa3b1b8499de929d70b37.zip
Fix more WiMAX SDK API compat breakage from 1.4 to 1.5
These deal with types that were messed up in the version iteration. These are autoconf checks plus stubs in iwmx.h.
-rw-r--r--configure.ac32
-rw-r--r--plugins/iwmx.h20
-rw-r--r--plugins/iwmxsdk.c55
3 files changed, 79 insertions, 28 deletions
diff --git a/configure.ac b/configure.ac
index 25ada261..7b988423 100644
--- a/configure.ac
+++ b/configure.ac
@@ -223,6 +223,8 @@ if (test "${enable_iwmx}" = "yes"); then
PKG_CONFIG_PATH=""
AC_SUBST(IWMXSDK_CFLAGS)
AC_SUBST(IWMXSDK_LIBS)
+
+ # Fix API compat breakage from 1.4 to 1.5...
CPPFLAGS_save=$CPPFLAGS
CPPFLAGS="$IWMXSDK_CFLAGS $CPPFLAGS"
AH_TEMPLATE([HAVE_IWMXSDK_STATUS_IDLE],
@@ -231,6 +233,36 @@ if (test "${enable_iwmx}" = "yes"); then
[AC_DEFINE([HAVE_IWMXSDK_STATUS_IDLE], [1], [])],
[],
[[#include <WiMaxType.h>]])
+
+ AH_TEMPLATE([HAVE_WIMAX_API_DEVICE_ID],
+ [WIMAX_API_DEVICE_ID is present])
+ AC_CHECK_TYPE(WIMAX_API_DEVICE_ID,
+ [AC_DEFINE([HAVE_WIMAX_API_DEVICE_ID], [1], [])],
+ [],
+ [[#include <WiMaxType.h>]])
+
+ AH_TEMPLATE([HAVE_WIMAX_API_HW_DEVICE_ID],
+ [WIMAX_API_HW_DEVICE_ID is present])
+ AC_CHECK_TYPE(WIMAX_API_HW_DEVICE_ID,
+ [AC_DEFINE([HAVE_WIMAX_API_HW_DEVICE_ID], [1], [])],
+ [],
+ [[#include <WiMaxType.h>]])
+
+ AH_TEMPLATE([HAVE_WIMAX_API_NSP_INFO_EX],
+ [WIMAX_API_NSP_INFO_EX is present])
+ AC_CHECK_TYPE(WIMAX_API_NSP_INFO_EX,
+ [AC_DEFINE([HAVE_WIMAX_API_NSP_INFO_EX], [1], [])],
+ [],
+ [[#include <WiMaxType.h>]
+ [#include <WiMaxTypesEx.h>]])
+
+ AH_TEMPLATE([HAVE_WIMAX_API_CONNECTED_NSP_INFO],
+ [WIMAX_API_CONNECTED_NSP_INFO is present])
+ AC_CHECK_TYPE(WIMAX_API_CONNECTED_NSP_INFO,
+ [AC_DEFINE([HAVE_WIMAX_API_CONNECTED_NSP_INFO], [1], [])],
+ [],
+ [[#include <WiMaxType.h>]])
+
CPPFLAGS=$CPPFLAGS_save
fi
AM_CONDITIONAL(IWMX, test "${enable_iwmx}" = "yes")
diff --git a/plugins/iwmx.h b/plugins/iwmx.h
index 265c00cc..02b4f5b1 100644
--- a/plugins/iwmx.h
+++ b/plugins/iwmx.h
@@ -19,6 +19,24 @@
*
*/
+/* Fix source compat brakage from 1.4 to 1.5...*/
+#ifndef HAVE_WIMAX_API_DEVICE_ID
+typedef struct WIMAX_API_DEVICE_ID WIMAX_API_DEVICE_ID;
+#endif
+
+#ifndef HAVE_WIMAX_API_CONNECTED_NSP_INFO
+typedef struct WIMAX_API_CONNECTED_NSP_INFO WIMAX_API_CONNECTED_NSP_INFO;
+#endif
+
+#ifndef HAVE_WIMAX_API_NSP_INFO_EX
+typedef struct WIMAX_API_NSP_INFO_EX WIMAX_API_NSP_INFO_EX;
+#endif
+
+#ifndef HAVE_WIMAX_API_HW_DEVICE_ID
+typedef struct WIMAX_API_HW_DEVICE_ID WIMAX_API_HW_DEVICE_ID;
+#endif
+
+
/*
*
* The plugin is broken in two main parts: the glue to connman
@@ -73,7 +91,7 @@
*/
struct wmxsdk {
- struct WIMAX_API_DEVICE_ID device_id;
+ WIMAX_API_DEVICE_ID device_id;
struct connman_device *dev;
GStaticMutex network_mutex;
diff --git a/plugins/iwmxsdk.c b/plugins/iwmxsdk.c
index 7888c09a..b7dee540 100644
--- a/plugins/iwmxsdk.c
+++ b/plugins/iwmxsdk.c
@@ -35,6 +35,7 @@
#include <connman/inet.h>
#include <connman/log.h>
+#include <WiMaxType.h>
#include <WiMaxAPI.h>
#include <WiMaxAPIEx.h>
@@ -43,12 +44,12 @@
/* Yes, this is dirty; see above on IWMX_SDK_DEV_MAX*/
static struct wmxsdk g_iwmx_sdk_devs[IWMX_SDK_DEV_MAX];
-static struct wmxsdk *deviceid_to_wmxsdk(struct WIMAX_API_DEVICE_ID *device_id)
+static struct wmxsdk *deviceid_to_wmxsdk(WIMAX_API_DEVICE_ID *device_id)
{
return container_of(device_id, struct wmxsdk, device_id);
}
-static struct WIMAX_API_DEVICE_ID g_api;
+static WIMAX_API_DEVICE_ID g_api;
/*
@@ -185,7 +186,7 @@ struct connman_network *__iwmx_sdk_get_connected_network(struct wmxsdk *wmxsdk)
{
struct connman_network *nw;
- struct WIMAX_API_CONNECTED_NSP_INFO nsp_info;
+ WIMAX_API_CONNECTED_NSP_INFO nsp_info;
WIMAX_API_RET r;
char errstr[512];
UINT32 errstr_size = sizeof(errstr);
@@ -226,8 +227,8 @@ struct connman_network *__iwmx_sdk_get_connected_network(struct wmxsdk *wmxsdk)
* change callback is called and that will fiddle with the connman
* internals.
*/
-static void __iwmx_sdk_rf_state_cb(struct WIMAX_API_DEVICE_ID *device_id,
- WIMAX_API_RF_STATE rf_state)
+static void __iwmx_sdk_rf_state_cb(WIMAX_API_DEVICE_ID *device_id,
+ WIMAX_API_RF_STATE rf_state)
{
DBG("rf_state changed to %d\n", rf_state);
}
@@ -341,8 +342,8 @@ error_get_status:
* from disconnecting to something else); the state change callback is
* called and that will fiddle with the connman internals.
*/
-static void __iwmx_sdk_connect_cb(struct WIMAX_API_DEVICE_ID *device_id,
- WIMAX_API_NETWORK_CONNECTION_RESP resp)
+static void __iwmx_sdk_connect_cb(WIMAX_API_DEVICE_ID *device_id,
+ WIMAX_API_NETWORK_CONNECTION_RESP resp)
{
WIMAX_API_DEVICE_STATUS status;
struct wmxsdk *wmxsdk = deviceid_to_wmxsdk(device_id);
@@ -459,8 +460,8 @@ error_get_status:
* We just update the result of the command and wake up anybody who is
* waiting for this conditional variable.
*/
-static void __iwmx_sdk_disconnect_cb(struct WIMAX_API_DEVICE_ID *device_id,
- WIMAX_API_NETWORK_CONNECTION_RESP resp)
+static void __iwmx_sdk_disconnect_cb(WIMAX_API_DEVICE_ID *device_id,
+ WIMAX_API_NETWORK_CONNECTION_RESP resp)
{
struct wmxsdk *wmxsdk = deviceid_to_wmxsdk(device_id);
WIMAX_API_DEVICE_STATUS status;
@@ -549,7 +550,7 @@ error_get_status:
*
* Just pass them to the state transition handler
*/
-static void __iwmx_sdk_state_change_cb(struct WIMAX_API_DEVICE_ID *device_id,
+static void __iwmx_sdk_state_change_cb(WIMAX_API_DEVICE_ID *device_id,
WIMAX_API_DEVICE_STATUS status,
WIMAX_API_STATUS_REASON reason,
WIMAX_API_CONNECTION_PROGRESS_INFO pi)
@@ -565,9 +566,9 @@ static void __iwmx_sdk_state_change_cb(struct WIMAX_API_DEVICE_ID *device_id,
* From here we update the connman core idea of which networks are
* available.
*/
-static void __iwmx_sdk_scan_common_cb(struct WIMAX_API_DEVICE_ID *device_id,
- struct WIMAX_API_NSP_INFO_EX *nsp_list,
- UINT32 nsp_list_size)
+static void __iwmx_sdk_scan_common_cb(WIMAX_API_DEVICE_ID *device_id,
+ WIMAX_API_NSP_INFO_EX *nsp_list,
+ UINT32 nsp_list_size)
{
struct wmxsdk *wmxsdk = deviceid_to_wmxsdk(device_id);
unsigned itr;
@@ -576,7 +577,7 @@ static void __iwmx_sdk_scan_common_cb(struct WIMAX_API_DEVICE_ID *device_id,
g_static_mutex_lock(&wmxsdk->network_mutex);
for (itr = 0; itr < nsp_list_size; itr++) {
int strength;
- struct WIMAX_API_NSP_INFO_EX *nsp_info = &nsp_list[itr];
+ WIMAX_API_NSP_INFO_EX *nsp_info = &nsp_list[itr];
snprintf(station_name, sizeof(station_name),
"%s", (char *)nsp_info->NSPName);
/* CAPI is reporing link quality as zero -- if it is
@@ -605,9 +606,9 @@ static void __iwmx_sdk_scan_common_cb(struct WIMAX_API_DEVICE_ID *device_id,
*
* We treat them same as wide, so we just call that.
*/
-static void __iwmx_sdk_wide_scan_cb(struct WIMAX_API_DEVICE_ID *device_id,
- struct WIMAX_API_NSP_INFO_EX *nsp_list,
- UINT32 nsp_list_size)
+static void __iwmx_sdk_wide_scan_cb(WIMAX_API_DEVICE_ID *device_id,
+ WIMAX_API_NSP_INFO_EX *nsp_list,
+ UINT32 nsp_list_size)
{
__iwmx_sdk_scan_common_cb(device_id, nsp_list, nsp_list_size);
}
@@ -617,8 +618,8 @@ static void __iwmx_sdk_wide_scan_cb(struct WIMAX_API_DEVICE_ID *device_id,
*
* We treat them same as wide, so we just call that.
*/
-static void __iwmx_sdk_scan_cb(struct WIMAX_API_DEVICE_ID *device_id,
- struct WIMAX_API_NSP_INFO_EX *nsp_list,
+static void __iwmx_sdk_scan_cb(WIMAX_API_DEVICE_ID *device_id,
+ WIMAX_API_NSP_INFO_EX *nsp_list,
UINT32 nsp_list_size, UINT32 searchProgress)
{
__iwmx_sdk_scan_common_cb(device_id, nsp_list, nsp_list_size);
@@ -635,7 +636,7 @@ int iwmx_sdk_scan(struct wmxsdk *wmxsdk)
int result;
UINT32 nsp_list_length = 10;
- struct WIMAX_API_NSP_INFO_EX nsp_list[10]; /* FIXME: up to 32? */
+ WIMAX_API_NSP_INFO_EX nsp_list[10]; /* FIXME: up to 32? */
WIMAX_API_RET r;
char errstr[512];
@@ -897,12 +898,12 @@ error_bug:
return;
}
-static void iwmx_sdk_addremove_cb(struct WIMAX_API_DEVICE_ID *devid,
- BOOL presence)
+static void iwmx_sdk_addremove_cb(WIMAX_API_DEVICE_ID *devid,
+ BOOL presence)
{
unsigned int cnt;
WIMAX_API_RET r;
- struct WIMAX_API_HW_DEVICE_ID device_id_list[5];
+ WIMAX_API_HW_DEVICE_ID device_id_list[5];
UINT32 device_id_list_size = ARRAY_SIZE(device_id_list);
char errstr[512];
@@ -923,7 +924,7 @@ static void iwmx_sdk_addremove_cb(struct WIMAX_API_DEVICE_ID *devid,
DBG("No WiMAX devices reported\n");
else
for (cnt = 0; cnt < device_id_list_size; cnt++) {
- struct WIMAX_API_HW_DEVICE_ID *dev =
+ WIMAX_API_HW_DEVICE_ID *dev =
device_id_list + cnt;
DBG("#%u index #%u device %s\n",
cnt, dev->deviceIndex, dev->deviceName);
@@ -936,7 +937,7 @@ static void iwmx_sdk_addremove_cb(struct WIMAX_API_DEVICE_ID *devid,
}
if (presence) {
- struct WIMAX_API_HW_DEVICE_ID *dev =
+ WIMAX_API_HW_DEVICE_ID *dev =
device_id_list + devid->deviceIndex;
iwmx_sdk_dev_add(devid->deviceIndex, dev->deviceIndex,
dev->deviceName);
@@ -957,7 +958,7 @@ int iwmx_sdk_api_init(void)
char errstr[512];
UINT32 errstr_size = sizeof(errstr);
- struct WIMAX_API_HW_DEVICE_ID device_id_list[5];
+ WIMAX_API_HW_DEVICE_ID device_id_list[5];
UINT32 device_id_list_size = ARRAY_SIZE(device_id_list);
memset(&g_api, 0, sizeof(g_api));
@@ -997,7 +998,7 @@ int iwmx_sdk_api_init(void)
DBG("No WiMAX devices reported\n");
else
for (cnt = 0; cnt < device_id_list_size; cnt++) {
- struct WIMAX_API_HW_DEVICE_ID *dev =
+ WIMAX_API_HW_DEVICE_ID *dev =
device_id_list + cnt;
DBG("#%u index #%u device %s\n",
cnt, dev->deviceIndex, dev->deviceName);