www.pudn.com > BlueSoleil_SDK1.0.0.zip > report.c, change:2008-03-25,size:6923b
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*
* Copyright (c) 1999-2007 IVT Corporation
*
* All rights reserved.
*
---------------------------------------------------------------------------*/
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Module Name:
report.c
Abstract:
This file implements PrintErrorMessage, which prints error messages
on the screen.
Revision History:
2007-5-30 Guan Tengfei Created
---------------------------------------------------------------------------*/
#include "sdk_tst.h"
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Description:
This function is to print the message of the error code.
Arguments:
ulErrorCode: [in] error code defined IVT Bluetooth stack
is_ptr: [in] specify if the message is printed in the screen
Return Value:
void
---------------------------------------------------------------------------*/
void PrintErrorMessage(BTUINT32 ulErrorCode, BTUINT8 is_ptr)
{
char *pszErrMsg = NULL;
if (ulErrorCode != BTSDK_OK)
{
pszErrMsg = (char *)malloc(255);
if (NULL == pszErrMsg)
{
return;
}
strcpy(pszErrMsg, "BTSDK ERROR: ");
switch (ulErrorCode)
{
case BTSDK_ER_UNKNOWN_HCI_COMMAND:
strcat(pszErrMsg, "Unknown HCI command");
break;
case BTSDK_ER_NO_CONNECTION:
strcat(pszErrMsg, "No connection");
break;
case BTSDK_ER_HARDWARE_FAILURE:
strcat(pszErrMsg, "Hardware failure");
break;
case BTSDK_ER_PAGE_TIMEOUT:
strcat(pszErrMsg, "Page timeout");
break;
case BTSDK_ER_AUTHENTICATION_FAILURE:
strcat(pszErrMsg, "Authentication failure");
break;
case BTSDK_ER_KEY_MISSING:
strcat(pszErrMsg, "Key missing");
break;
case BTSDK_ER_MEMORY_FULL:
strcat(pszErrMsg, "Memory full");
break;
case BTSDK_ER_CONNECTION_TIMEOUT:
strcat(pszErrMsg, "Connection timeout");
break;
case BTSDK_ER_MAX_NUMBER_OF_CONNECTIONS:
strcat(pszErrMsg, "Max number of connections");
break;
case BTSDK_ER_MAX_NUMBER_OF_SCO_CONNECTIONS:
strcat(pszErrMsg, "Max number of SCO connections to a device");
break;
case BTSDK_ER_ACL_CONNECTION_ALREADY_EXISTS :
strcat(pszErrMsg, "ACL connection already exists");
break;
case BTSDK_ER_COMMAND_DISALLOWED:
strcat(pszErrMsg, "Command rejected");
break;
case BTSDK_ER_HOST_REJECTED_LIMITED_RESOURCES:
strcat(pszErrMsg, "Host rejected due to limited resources");
break;
case BTSDK_ER_HOST_REJECTED_SECURITY_REASONS:
strcat(pszErrMsg, "Host rejected due to security reasons");
break;
case BTSDK_ER_HOST_REJECTED_PERSONAL_DEVICE:
strcat(pszErrMsg, "Host rejected due to remote device is only a personal device");
break;
case BTSDK_ER_HOST_TIMEOUT:
strcat(pszErrMsg, "Host timeout");
break;
case BTSDK_ER_UNSUPPORTED_FEATURE:
strcat(pszErrMsg, "Unsupported feature or parameter value");
break;
case BTSDK_ER_INVALID_HCI_COMMAND_PARAMETERS:
strcat(pszErrMsg, "Invalid HCI command parameters");
break;
case BTSDK_ER_PEER_DISCONNECTION_USER_END:
strcat(pszErrMsg, "Other end terminated connection: User ended connection");
break;
case BTSDK_ER_PEER_DISCONNECTION_LOW_RESOURCES:
strcat(pszErrMsg, "Other end terminated connection: Low resources");
break;
case BTSDK_ER_PEER_DISCONNECTION_TO_POWER_OFF:
strcat(pszErrMsg, "Other end terminated connection: About to power off");
break;
case BTSDK_ER_LOCAL_DISCONNECTION:
strcat(pszErrMsg, "Connection terminated by local host");
break;
case BTSDK_ER_REPEATED_ATTEMPTS:
strcat(pszErrMsg, "Repeated attempts");
break;
case BTSDK_ER_PAIRING_NOT_ALLOWED:
strcat(pszErrMsg, "Pairing not allowed");
break;
case BTSDK_ER_UNKNOWN_LMP_PDU:
strcat(pszErrMsg, "Unknown LMP PDU");
break;
case BTSDK_ER_UNSUPPORTED_REMOTE_FEATURE:
strcat(pszErrMsg, "Unsupported remote feature");
break;
case BTSDK_ER_SCO_OFFSET_REJECTED:
strcat(pszErrMsg, "SCO offset rejected");
break;
case BTSDK_ER_SCO_INTERVAL_REJECTED:
strcat(pszErrMsg, "SCO interval rejected");
break;
case BTSDK_ER_SCO_AIR_MODE_REJECTED:
strcat(pszErrMsg, "SCO air mode rejected");
break;
case BTSDK_ER_INVALID_LMP_PARAMETERS:
strcat(pszErrMsg, "Invalid LMP parameters");
break;
case BTSDK_ER_UNSPECIFIED_ERROR:
strcat(pszErrMsg, "Unspecified error");
break;
case BTSDK_ER_UNSUPPORTED_LMP_PARAMETER_VALUE:
strcat(pszErrMsg, "Unsupported LMP parameter value");
break;
case BTSDK_ER_ROLE_CHANGE_NOT_ALLOWED:
strcat(pszErrMsg, "Role change not allowed");
break;
case BTSDK_ER_LMP_RESPONSE_TIMEOUT:
strcat(pszErrMsg, "LMP response timeout");
break;
case BTSDK_ER_LMP_ERROR_TRANSACTION_COLLISION:
strcat(pszErrMsg, "LMP error transaction collision");
break;
case BTSDK_ER_LMP_PDU_NOT_ALLOWED:
strcat(pszErrMsg, "LMP PDU not allowed");
break;
case BTSDK_ER_ENCRYPTION_MODE_NOT_ACCEPTABLE:
strcat(pszErrMsg, "Encryption mode not acceptable");
break;
case BTSDK_ER_UNIT_KEY_USED:
strcat(pszErrMsg, "Unit Key used");
break;
case BTSDK_ER_QOS_IS_NOT_SUPPORTED:
strcat(pszErrMsg, "QoS is not supported");
break;
case BTSDK_ER_INSTANT_PASSED:
strcat(pszErrMsg, "Instant passed");
break;
case BTSDK_ER_PAIRING_WITH_UNIT_KEY_NOT_SUPPORTED:
strcat(pszErrMsg, "Pairing with Unit Key not supported");
break;
case BTSDK_ER_HANDLE_NOT_EXIST:
strcat(pszErrMsg, "Handle not exist");
break;
case BTSDK_ER_OPERATION_FAILURE:
strcat(pszErrMsg, "Operation failure");
break;
case BTSDK_ER_SDK_UNINIT:
strcat(pszErrMsg, "Not initialized");
break;
case BTSDK_ER_INVALID_PARAMETER:
strcat(pszErrMsg, "Invalid parameters");
break;
case BTSDK_ER_NULL_POINTER:
strcat(pszErrMsg, "The paramter is a null pointer");
break;
case BTSDK_ER_NO_MEMORY:
strcat(pszErrMsg, "SDK no memory");
break;
case BTSDK_ER_BUFFER_NOT_ENOUGH:
strcat(pszErrMsg, "SDK buffer not enough");
break;
case BTSDK_ER_FUNCTION_NOTSUPPORT:
strcat(pszErrMsg, "The function is not supported");
break;
case BTSDK_ER_CONNECTION_EXIST:
strcat(pszErrMsg, "Connection to this server already exists");
break;
case BTSDK_ER_SERVER_IS_ACTIVE:
strcat(pszErrMsg, "The server is active");
break;
case BTSDK_ER_NO_SERVICE:
strcat(pszErrMsg, "No service");
break;
default:
strcat(pszErrMsg, "Unkown error");
break;
}
strcat(pszErrMsg, "!\r\n");
printf("%s", pszErrMsg);
free(pszErrMsg);
pszErrMsg = NULL;
}
}