コード例 #1
0
ファイル: iwmxsdk.c プロジェクト: aelarabawy/NetworkManager
/*
 * Asks the WiMAX API to report current link statistics.
 *
 * Returns NULL on error.
 *
 */
WIMAX_API_LINK_STATUS_INFO_EX *iwmx_sdk_get_link_status_info(struct wmxsdk *wmxsdk)
{
	WIMAX_API_LINK_STATUS_INFO_EX *stats = NULL;
	WIMAX_API_RET r;
	char errstr[512];
	UINT32 errstr_size = sizeof(errstr);

	/* Only report if connected */
	if (iwmxsdk_status_get(wmxsdk) < WIMAX_API_DEVICE_STATUS_Connecting) {
		nm_log_err(LOGD_WIMAX, "wmxsdk: cannot get link status info unless connected");
		return NULL;
	}

	stats = malloc(sizeof (*stats));
	if (!stats) {
		nm_log_err(LOGD_WIMAX, "wmxsdk: cannot allocate links status info");
		return NULL;
	}

	r = GetLinkStatusEx(&wmxsdk->device_id, stats);
	if (r != WIMAX_API_RET_SUCCESS) {
		GetErrorString(&wmxsdk->device_id, r, errstr, &errstr_size);
		nm_log_err(LOGD_WIMAX, "wmxsdk: Cannot get link status info: %d (%s)", r, errstr);
		free (stats);
		stats = NULL;
	}

	return stats;
}
コード例 #2
0
//return 0 success 
//      1 fail
int wimaxcu_get_user_link_status_ex(WIMAX_API_DEVICE_ID_P p_device_id)
{
	WIMAX_API_RET wmxStatus = WIMAX_API_RET_SUCCESS;
	WIMAX_API_CONNECTED_NSP_INFO_EX ConnectedNSP;
	WIMAX_API_LINK_STATUS_INFO_EX LinkStatus;

	wmxStatus = GetConnectedNSPEx(p_device_id, &ConnectedNSP);
	if (WIMAX_API_RET_SUCCESS != wmxStatus) {
		printf("Link Status: Network is not connected.\n");
		return 1;
	}
	wmxStatus = GetLinkStatusEx(p_device_id, &LinkStatus);
	if (WIMAX_API_RET_SUCCESS != wmxStatus) {
		PrintWmxStatus(wmxStatus);
		return 1;
	}
	PrintUserLinkStatusEx(&LinkStatus);
	return 0;
}
コード例 #3
0
void wimaxcu_get_conn_nsp_ex(WIMAX_API_DEVICE_ID_P p_device_id)
{
	WIMAX_API_RET wmxStatus = WIMAX_API_RET_SUCCESS;
	WIMAX_API_CONNECTED_NSP_INFO_EX ConnectedNSP;
	WIMAX_API_LINK_STATUS_INFO_EX LinkStatus;

	wmxStatus = GetLinkStatusEx(p_device_id, &LinkStatus);
	if (WIMAX_API_RET_SUCCESS != wmxStatus) {
		PrintWmxStatus(wmxStatus);
		return;
	}

	wmxStatus = GetConnectedNSPEx(p_device_id, &ConnectedNSP);
	if (WIMAX_API_RET_SUCCESS != wmxStatus) {
		PrintWmxStatus(wmxStatus);
		return;
	}
	ConnectedNSP.RSSI = LinkStatus.RSSI;
	ConnectedNSP.CINR = LinkStatus.CINR;
	ConnectedNSP.linkQuality = LinkStatus.linkQuality;
	PrintUserLinkStatusEx(&ConnectedNSP);
}