diff src/aci2/mfw/mfw_bt.h @ 3:93999a60b835

src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 26 Sep 2016 00:29:36 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/aci2/mfw/mfw_bt.h	Mon Sep 26 00:29:36 2016 +0000
@@ -0,0 +1,1300 @@
+/*
++--------------------------------------------------------------------+
+| PROJECT: MMI-Framework (8445)         $Workfile:: mfw_bt.h        $|
+| $Author:: Rm                          $Revision::  1              $|
+| CREATED: 03.01.01                      $Modtime:: 03.01.01 10:48  $|
+| STATE  : code                                                      |
++--------------------------------------------------------------------+
+
+   MODULE  : MFW_BT
+
+   PURPOSE : This modul contains the definition for BT management.
+*/
+
+#ifndef DEF_MFW_BT_HEADER
+#define DEF_MFW_BT_HEADER
+
+/*
+ * events are usually organised as bitmaps
+ * due to the amount of events (more than 32) these are coded as enum
+ */
+typedef enum
+{
+ BT_NO_EVENT = 0,
+ BT_CREATE_PROFILE_CNF,
+ BT_DELETE_PROFILE_CNF,
+ BT_INIT_PROFILE_CNF,
+ BT_DEINIT_PROFILE_CNF,
+ BT_SERVICE_SEARCH_CNF,
+ BT_DEVICE_FOUND_IND,
+ BT_CONNECT_DEVICE_CNF,
+ BT_CONNECT_DEVICE_IND,
+ BT_DISCONNECT_DEVICE_CNF,
+ BT_DISCONNECT_DEVICE_IND,
+ BT_SRV_SYNC_CNF,
+ BT_TRANSFER_AUDIO_IN_CNF,
+ BT_TRANSFER_AUDIO_OUT_CNF,
+ BT_PIN_IND,
+ BT_RECONFIG_PROFILE_CNF,
+ BT_RESTORE_LIST_RESULT,
+ BT_SRV_SYNC_AUTH_IND,
+ BT_RESTORE_CONF_RESULT,
+ BT_SERVICE_FOUND_IND,
+ BT_DEVICE_SEARCH_CNF,
+ BT_DEVICE_PAIRED_IND,
+ BT_DISCON_DUN_FAX_CNF,
+ BT_CALL_MONITORING_STATUS,
+ BT_AUTHORIZATION_IND,
+ BT_DISCON_DUN_FAX_IND,
+ BT_OPP_OBJECT_PUSH_CNF,
+ BT_OPP_OBJECT_PULL_CNF,
+ BT_OPP_SERV_PUT_IND,
+ BT_OPP_SERV_PUT_CNF,
+ BT_SRV_SYNC_PULL_IND,
+ BT_SRV_SYNC_PUSH_IND,
+ BT_SRV_SYNC_PUSH_CNF,
+ BT_CONNECT_DEVICE_INF,
+ BT_TRUSTED_DEV_LIST_FULL,
+ BT_CHNG_LOCAL_NAME,
+ BT_READ_LOCAL_NAME,
+ BT_REMOTE_DEV_INFO_RES,
+ BT_CHNG_CONNECTABLE_MODE,
+ BT_CHNG_DISCOVERABLE_MODE,
+ BT_READ_BD_ADDR
+/*#ifdef PCA_6350*/
+  ,
+  BT_PCA_GW_STATUS_CFM,
+  BT_PCA_GW_LINK_MONITORING,
+  BT_PCA_GW_CALL_MONITORING,
+  BT_PCA_GW_HANGUP_CFM,
+/*#endif*/ /* PCA_6350 */
+/* Cartman added begin */
+BT_HSG_HEADSET_CONNECTION_IND,
+BT_HSG_SPECIFIC_CMD_CFM,
+BT_HSG_SAVE_LIST_CNF
+/* Cartman added end */
+} T_MFW_BT_EVENT;
+
+/* constants */
+#define MFW_BT_ADDR_MAX_LEN BTI_BD_ADDR_LENGTH
+#define MFW_BT_NAME_MAX_LEN BTI_BD_NAME_LENGTH
+#define MFW_BT_DEVICE_CLASS_LEN BTI_DEVICE_CLASS_LENGTH
+#define MFW_BT_PIN_MAX_LEN BTI_PIN_LENGTH
+#define MFW_BT_SERVICE_NAME_MAX_LEN BTI_SERVICE_NAME_LENGTH
+#define MFW_BT_HSG_NAME_MAX_LEN BTI_HSG_NAME_LENGTH
+#define MFW_BT_APPL_NAME_MAX_LEN BTI_APPLI_NAME_LENGTH
+#define MFW_BT_PHONE_LIST_MAX_LEN BTI_PHONE_NB_LIST_MAX_LENGTH
+#define MFW_BT_KEY_LIST_MAX_LEN BTI_PHONE_NB_LIST_MAX_LENGTH
+#define MFW_BT_PHONE_NUMBER_MAX_LEN BTI_PHONE_NUMBER_MAX_LENGTH
+#define MFW_BT_OPP_OBJECT_NAME_MAX_LEN BTI_OPP_NAME_MAX_LENGTH
+#define MFW_BT_OPP_OBJECT_MIME_MAX_LEN BTI_OPP_MIME_MAX_LENGTH
+/* default values */
+#define MFW_BT_CONN_SCAN_TIME_DEFAULT_VALUE  BTI_CONN_SCAN_TIME_DEFAULT_VALUE  /*  1,28 s */
+#define MFW_BT_CONN_SCAN_BREAK_DEFAULT_VALUE BTI_CONN_SCAN_BREAK_DEFAULT_VALUE /*  1,28 s */
+
+#define MFW_BT_DEFAULT_HEADSET_ID   BTI_DEFAULT_HEADSET_ID
+#define MFW_BT_INVALID_HEADSET_ID   BTI_INVALID_HEADSET_ID
+#define MFW_BT_NO_ID                BTI_NO_ID
+
+/* service id's  */
+#define MFW_BT_Serial_Port BTI_Serial_Port
+#define MFW_BT_LAN_Access BTI_LAN_Access
+#define MFW_BT_Dial_Up_Networking BTI_Dial_Up_Networking
+#define MFW_BT_IrMC_Sync BTI_IrMC_Sync
+#define MFW_BT_OBEX_Object_Push BTI_OBEX_Object_Push
+#define MFW_BT_OBEX_File_Transfer BTI_OBEX_File_Transfer
+#define MFW_BT_IrMC_Sync_Command BTI_IrMC_Sync_Command
+#define MFW_BT_Ser_Headset BTI_Headset
+#define MFW_BT_Cordless_telephony BTI_Cordless_telephony
+#define MFW_BT_Intercom BTI_Intercom
+#define MFW_BT_Fax BTI_Fax
+#define MFW_BT_Headset_Audio_Gateway BTI_Headset_Audio_Gateway
+#define MFW_BT_WAP BTI_WAP
+#define MFW_BT_WAP_Client BTI_WAP_Client
+
+/* service names */
+#define MFW_BT_SERV_HSG SERVICE_HSG
+#define MFW_BT_SERV_DUN SERVICE_DUN
+#define MFW_BT_SERV_FAX SERVICE_FAX_GW
+#define MFW_BT_SERV_OPP SERVICE_OPP
+#define MFW_BT_SERV_SYNC_C SERVICE_SYNC_C
+
+/* authorization id's */
+#define MFW_SERVICE_HSG SERVICE_HSG_ID
+#define MFW_SERVICE_DUN SERVICE_DUN_ID
+#define MFW_SERVICE_FAX SERVICE_FAX_ID
+#define MFW_SERVICE_OPP SERVICE_OPP_ID
+#define MFW_SERVICE_SYNC_C SERVICE_SYNC_C_ID
+
+/* service id's */
+#define MFW_SERVICE_ID_SPP           BTI_SERVICE_ID_SPP
+#define MFW_SERVICE_ID_LAN           BTI_SERVICE_ID_LAN
+#define MFW_SERVICE_ID_DUN           BTI_SERVICE_ID_DUN
+#define MFW_SERVICE_ID_SYNC          BTI_SERVICE_ID_SYNC
+#define MFW_SERVICE_ID_OPP           BTI_SERVICE_ID_OPP
+#define MFW_SERVICE_ID_FTP           BTI_SERVICE_ID_FTP
+#define MFW_SERVICE_ID_SYNC_CMD      BTI_SERVICE_ID_SYNC_CMD
+#define MFW_SERVICE_ID_HS            BTI_SERVICE_ID_HS
+#define MFW_SERVICE_ID_CORDLESS      BTI_SERVICE_ID_CORDLESS
+#define MFW_SERVICE_ID_INTERCOM      BTI_SERVICE_ID_INTERCOM
+#define MFW_SERVICE_ID_FAX           BTI_SERVICE_ID_FAX
+#define MFW_SERVICE_ID_HSG           BTI_SERVICE_ID_HSG
+#define MFW_SERVICE_ID_WAP           BTI_SERVICE_ID_WAP
+#define MFW_SERVICE_ID_WAP_CLIENT    BTI_SERVICE_ID_WAP_CLIENT
+#define MFW_SERVICE_ID_GENERIC_AUDIO BTI_SERVICE_ID_GENERIC_AUDIO
+
+/* hsg security */
+#define MFW_BT_HSG_CLIENT_NO_SECURITY    (BTI_HSG_CLIENT_NO_SECURITY)
+#define MFW_BT_HSG_CLIENT_AUTHENTICATION (BTI_HSG_CLIENT_AUTHENTICATION)
+#define MFW_BT_HSG_CLIENT_ENCRYPTION     (BTI_HSG_CLIENT_ENCRYPTION)
+#define MFW_BT_HSG_CLIENT_AUTHORIZATION  (BTI_HSG_CLIENT_AUTHORIZATION)
+
+#define MFW_BT_HSG_SERVER_NO_SECURITY    (BTI_HSG_SERVER_NO_SECURITY)
+#define MFW_BT_HSG_SERVER_AUTHENTICATION (BTI_HSG_SERVER_AUTHENTICATION)
+#define MFW_BT_HSG_SERVER_ENCRYPTION     (BTI_HSG_SERVER_ENCRYPTION)
+#define MFW_BT_HSG_SERVER_AUTHORIZATION  (BTI_HSG_SERVER_AUTHORIZATION)
+
+/* type definitions */
+typedef unsigned char T_MFW_BT_BD_NAME;
+typedef unsigned char T_MFW_BT_SERVICE_NAME;
+typedef unsigned char T_MFW_BT_HSG_NAME;
+typedef unsigned char T_MFW_BT_APPL_NAME;
+typedef unsigned char T_MFW_BT_BD_ADDR;
+typedef unsigned char T_MFW_DEVICE_CLASS;
+typedef unsigned char T_MFW_BT_PIN;
+typedef unsigned char T_MFW_BT_SYN_PASSWD;
+
+typedef unsigned char T_MFW_BT_REQ_ID;
+typedef unsigned char T_MFW_BT_CNF_ID;
+typedef unsigned char T_MFW_BT_DEV_ID;
+typedef unsigned char T_MFW_BT_IND_ID;
+typedef unsigned char T_MFW_BT_SECURITY;
+typedef unsigned char T_MFW_BT_CONN_TIME;
+typedef unsigned char T_MFW_BT_NB_PHONE;
+typedef unsigned char T_MFW_BT_SERVER_CONN_CNF;
+
+typedef unsigned short T_MFW_BT_CONN_BREAK;
+typedef unsigned char T_MFW_BT_PRIORITY;
+typedef unsigned long T_MFW_BT_AUTHORIZATION_MASK;
+
+typedef unsigned short T_MFW_BT_HSG_SERVER_SECURITY_MODE;
+typedef unsigned short T_MFW_BT_HSG_CLIENT_SECURITY_MODE;
+
+typedef unsigned short T_MFW_SERVICE_ID;
+
+typedef char * T_MFW_BT_OPP_FILE_PATH;
+/* the object store name */
+typedef char * T_MFW_BT_SYN_OBJECT_STORE;
+#define MFW_BT_SYNC_OBJECT_IDENTIFIER BTI_SYNC_OBJECT_IDENTIFIER
+
+/* declaration security level */
+#define MFW_BT_INCOM_AUTHENTICATION BTI_INCOMING_AUTHENTICATION
+#define MFW_BT_INCOM_ENCRYPTION BTI_INCOMING_ENCRYPTION
+#define MFW_BT_INCOM_AUTHORIZATION BTI_INCOMING_AUTHORIZATION
+#define MFW_BT_OUTGO_AUTHENTICATION BTI_OUTGOING_AUTHENTICATION
+#define MFW_BT_OUTGO_ENCRYPTION BTI_OUTGOING_ENCRYPTION
+#define MFW_BT_OUTGO_AUTHORIZATION BTI_OUTGOING_AUTHORIZATION
+
+/* declaration phone number list */
+typedef unsigned char T_MFW_BT_HSG_PHONE_NUMBER;
+#define T_MFW_BT_HSG_PHONE_NUMBER_LIST T_MFW_BT_HSG_PHONE_NUMBER[MFW_BT_PHONE_NUMBER_MAX_LEN];
+/* declaration key list */
+typedef unsigned char T_MFW_BT_HSG_KEY_LIST;
+/* declaration error code by BT */
+typedef unsigned char T_MFW_BT_ERROR_CAUSE;
+#define MFW_BT_ERROR_TIMEOUT BTI_HSG_TIMEOUT
+#define MFW_BT_NO_DEVICE BTI_HSG_NO_DEVICE
+#define MFW_BT_DEV_CONN_FAIL BTI_HSG_DEVICE_CONNECTION_FAILED
+#define MFW_BT_INV_PARA BTI_HSG_INVALID_PARAMETERS
+#define MFW_BT_REST_LIST_ERR BTI_HSG_RESTORE_LIST_ERROR
+#define MFW_BT_REST_CONFIG_ERR BTI_HSG_RESTORE_CONFIG_ERROR
+#define MFW_BT_NO_ERROR BTI_NO_ERROR
+#define MFW_BT_OPP_ABORTED BTI_OPP_ABORTED
+#define MFW_BT_SYNC_ABORTED BTI_SYNC_ABORTED
+/* declaration pairing status by BT */
+typedef  unsigned char T_MFW_BT_PAIRED_RESULT;
+#define MFW_BT_PAIR_SUCCESS BTI_PAIRING_SUCESSFULL
+#define MFW_BT_PAIR_FAIL BTI_PAIRING_FAILURE
+/* maximal pairing address entries */
+#define MAX_MFW_PAIRED_ADDR MAX_PAIRED_ADDR
+#define MAX_MFW_AUTHORIZ_ADDR MAX_AUTH_ADDR
+
+/* headset priorities in default headset list */
+#define MFW_HSG_HEADSET_MAX_PRIORITY BTI_HSG_HEADSET_MAX_PRIORITY
+
+/* Cartman added begin */
+typedef char T_MFW_BT_HSG_CMD_TO_HS;
+/* Cartman added end */
+
+
+/* MFW - BT management functional return codes */
+typedef enum
+{
+   MFW_BT_RET_FAIL = -1,         /* execution of command failed    */
+   MFW_BT_RET_OK                 /* execution of command completed */
+} T_MFW_BT_RETURN;
+
+/* declaration auto connect state */
+typedef enum
+{
+  MFW_BT_AUTO_CONNECT_ON = 0,
+  MFW_BT_AUTO_CONNECT_OFF
+} T_MFW_BT_AUTO_CONNECT_STATE;
+
+/* declaration service type */
+typedef enum
+{
+  MFW_BT_HEADSET = BTI_HEADSET,
+  MFW_BT_DIAL_UP = BTI_DIAL_UP,
+  MFW_BT_FAX_GW  = BTI_FAX_GW,
+  MFW_BT_OPP     = BTI_OPP,
+  MFW_BT_SYNC    = BTI_SYNC,
+  MFW_BT_SYNC_CMD = BTI_SYNC_CMD,
+  MFW_BT_PCA_GW  = BTI_PCA_GW
+} T_MFW_BT_SERVICE_TYPE;
+
+/* declaration subtype of profile */
+typedef enum
+{
+  MFW_BT_CLIENT = BTI_CLIENT,
+  MFW_BT_SERVER = BTI_SERVER,
+  MFW_BT_NO_SUBTYPE  = BTI_NO_SUBTYP
+} T_MFW_BT_SUBTYPE_DEV;
+
+/* declaration connection mode */
+typedef enum
+{
+  MFW_BT_AUTO_OUTG_DEF_CONN_OFF = 0,
+  MFW_BT_AUTO_OUTG_DEF_CONN_ON
+} T_MFW_BT_CONFIG_MODE;
+
+/* declaration mode of PIN delivery */
+typedef enum
+{
+  PIN_PROVIDED,
+  PIN_UNABLE
+} T_MFW_BT_PIN_MODE;
+
+/* declaration result by BT */
+typedef enum
+{
+  MFW_BT_OK = BTI_OK,
+  MFW_BT_NOK = BTI_NOK,
+  MFW_BT_NO_SUPP = BTP_NOT_SUPP,
+  MFW_BT_INVALID_PARA = BTP_INVALID_PARAMETER,
+  MFW_BT_NOT_READY = BTP_NOT_READY,
+  MFW_BT_INT_ERR = BTP_INT_ERR,
+  MFW_BT_MEM_ERR = BTP_MEMORY_ERR,
+  MFW_BT_EXECUTE,
+  MFW_BT_FAIL,
+  MFW_BT_HSG_ALREADY_STORED
+} T_MFW_BT_RESULT_BT;
+
+typedef enum
+{
+  MFW_BT_PROFILE_INIT = BTI_PROFILE_INIT,
+  MFW_BT_PROFILE_ENABLE = BTI_PROFILE_ENABLE
+} T_MFW_BT_ACTION;
+/* declaration config dialup */
+typedef enum
+{
+  MFW_BT_LINK_MONIT_ON = BTI_DUN_LINK_MONIT_ON,
+  MFW_BT_LINK_MONIT_OFF = BTI_DUN_LINK_MONIT_OFF
+} T_MFW_BT_LINK_EVENT;
+
+typedef enum
+{
+  MFW_BT_CALL_MONIT_ON = BTI_DUN_CALL_MONIT_ON,
+  MFW_BT_CALL_MONIT_OFF = BTI_DUN_CALL_MONIT_OFF
+} T_MFW_BT_CALL_EVENT;
+
+
+/* declaration common security modes */
+typedef enum
+{
+  MFW_BT_SECURITY_MODE_1 = BTI_SM_SECURITY_MODE_1,
+  MFW_BT_SECURITY_MODE_2 = BTI_SM_SECURITY_MODE_2,
+  MFW_BT_SECURITY_MODE_3 = BTI_SM_SECURITY_MODE_3
+} T_MFW_BT_SECURITY_MODE;
+
+/* declaration opp put response */
+typedef enum
+{
+  MFW_BT_OPP_CONTINUE = BTI_OPP_CONT,
+  MFW_BT_OPP_R_ENTITY_TOO_L = BTI_OPP_TOO_LARGE,
+  MFW_BT_OPP_FORBIDDEN = BTI_OPP_FORBIDDEN
+} T_MFW_BT_OPP_PUT_RES;
+
+/* declaration storing type of object */
+typedef enum
+{
+  MFW_BT_PATH = BTI_TYPE_PATH,
+  MFW_BT_BUFFER = BTI_TYPE_BUFFER
+} T_MFW_BT_OBJ_TYPE;
+
+/* declaration pairable modes */
+typedef enum
+{
+  MFW_BT_PAIRABLE = BTI_PAIRABLE,
+  MFW_BT_NON_PAIRABLE = BTI_NON_PAIRABLE
+} T_MFW_BT_PAIRABLE_MODE;
+
+/* declaration parameter headset */
+typedef enum
+{
+  MFW_BT_MIC_GAIN = BTI_MIC_GAIN,
+  MFW_BT_SPEAKER_GAIN = BTI_SPEAKER_GAIN
+} T_MFW_BT_PARAM_NUMBER;
+
+typedef enum
+{
+  MFW_BT_PARA_INC = BTI_PARA_INC,
+  MFW_BT_PARA_DEC = BTI_PARA_DEC,
+  MFW_BT_PARA_SET = BTI_PARA_SET
+} T_MFW_BT_CHANGE_PARA;
+/* call monitoring status by dun */
+typedef enum
+{
+  MFW_BT_CALL_IN_PROGRESS = 0,
+  MFW_BT_CALL_ESTABLISHED,
+  MFW_BT_CALL_PAUSED,
+  MFW_BT_CALL_RESUMED,
+  MFW_BT_HANGUP_IN_PROGRESS,
+  MFW_BT_CALL_RELEASED
+} T_MFW_BT_CALL_STATUS;
+
+/* declaration data authorization modi */
+typedef enum
+{
+  MFW_BT_AUTHORIZED_ONCE = BTI_AUTHORIZED_ONCE,
+  MFW_BT_AUTHORIZED_ALWAYS = BTI_AUTHORIZED_ALWAYS,
+  MFW_BT_UNAUTHORIZED = BTI_UNAUTHORIZED
+}T_MFW_BT_AUTHORIZATION_MODE;
+
+/* declaration data connection direction */
+typedef enum
+{
+  MFW_BT_INCOM  = INCOM_CONN,
+  MFW_BT_OUTGO = OUTGO_CONN
+} T_MFW_BT_CONN_DIR;
+
+/* declaration opp server mode */
+typedef enum
+{
+  MFW_BT_OPP_NO_MODE  = BTI_NO_OPP_MODE,
+  MFW_BT_OPP_SILENT_MODE = BTI_OPP_SILENT_FILE_MODE,
+  MFW_BT_OPP_FILE_MODE = BTI_OPP_EVENT_FILE_MODE,
+  MFW_BT_OPP_BUFFER_MODE = BTI_OPP_EVENT_BUFFER_MODE
+} T_MFW_BT_OPP_SERV_MODE;
+
+/* declaration syn server mode */
+typedef enum
+{
+  MFW_BT_SYNC_NO_MODE  = BTI_NO_SYNC_MODE,
+  MFW_BT_SYNC_GEN_MODE  = BTI_GEN_SYNC,
+  MFW_BT_SYNC_INIT_MODE = BTI_INIT_SYNC
+} T_MFW_BT_SYNC_SERV_MODE;
+
+/* declaration syn server authentication mode */
+typedef enum
+{
+  MFW_BT_SYNC_NO_AUTH_MODE  = BTI_NO_SYNC_AUTHENTICATION_MODE,
+  MFW_BT_SYNC_INIT_AUTH_MODE  = BTI_INITIATE_AUTHENTICATION,
+  MFW_BT_SYNC_NO_INIT_AUTH_MODE = BTI_NO_INITIATE_AUTHENTICATION
+} T_MFW_BT_SYNC_AUTH_MODE;
+
+/* declaration syn server commands */
+typedef enum
+{
+  MFW_BT_SYNC_CO_SYNC  = BTI_SYNC_COM_SYNC,
+  MFW_BT_SYNC_CO_PUT  = BTI_SYNC_COM_PUT
+} T_MFW_BT_SYNC_COMMAND;
+
+/* declaration source ids in connection indication */
+typedef enum
+{
+  MFW_BT_REM_HEADSET = REM_HEADSET,
+  MFW_BT_GSM_NETWORK = GSM_NETWORK,
+  MFW_BT_NO_HSG      = NO_PROFILE_HSG
+} T_MFW_BT_SOURCE;
+
+/* declaration of discoverable modes for btctrl */
+typedef enum
+{
+  MFW_BT_NON_DISCOVERABLE     = BTI_NON_DISCOVERABLE,
+  MFW_BT_LIMITED_DISCOVERABLE = BTI_LIMITED_DISCOVERABLE,
+  MFW_BT_GENERAL_DISCOVERABLE = BTI_GENERAL_DISCOVERABLE
+} T_MFW_BT_DISCOVERABLE_MODE;
+
+/* declaration of connectable modes for btctrl */
+typedef enum
+{
+  MFW_BT_NON_CONNECTABLE = BTI_NON_CONNECTABLE,
+  MFW_BT_CONNECTABLE     = BTI_CONNECTABLE
+}T_MFW_BT_CONNECTABLE_MODE;
+
+
+/* structures */
+/* declaration headset client configuration parameter */
+typedef struct
+{
+  T_MFW_BT_CONFIG_MODE config_mode;
+  T_MFW_BT_HSG_CLIENT_SECURITY_MODE security;
+} T_MFW_BT_HSG_CLIENT_CONFIG;
+
+
+/* declaration sync server configuration parameter */
+typedef struct
+{
+  T_MFW_BT_SYNC_SERV_MODE mfw_syn_srv_mode;
+  T_MFW_BT_SYNC_AUTH_MODE mfw_syn_srv_auth_mode;
+} T_MFW_BT_SYNC_SERVER_CONFIG;
+
+/* declaration headset server configuration parameter */
+typedef struct
+{
+  T_MFW_BT_SERVER_CONN_CNF serv_con_conf;
+  T_MFW_BT_CONN_BREAK conn_break;
+  T_MFW_BT_CONN_TIME conn_time;
+  T_MFW_BT_NB_PHONE nb_phone;
+  T_MFW_BT_HSG_SERVER_SECURITY_MODE security;
+  T_MFW_BT_HSG_PHONE_NUMBER mfw_phone_list[MFW_BT_PHONE_LIST_MAX_LEN][MFW_BT_PHONE_NUMBER_MAX_LEN];
+  T_MFW_BT_HSG_KEY_LIST mfw_key_list[MFW_BT_KEY_LIST_MAX_LEN];
+} T_MFW_BT_HSG_SERVER_CONFIG;
+
+/* declaration dial up configuration parameter */
+typedef struct
+{
+  T_MFW_BT_LINK_EVENT link_event;
+  T_MFW_BT_CALL_EVENT call_event;
+} T_MFW_BT_DUN_CONFIG;
+
+/* declaration fax gateway configuration parameter */
+typedef struct
+{
+  T_MFW_BT_LINK_EVENT link_event;
+  T_MFW_BT_CALL_EVENT call_event;
+} T_MFW_BT_FAX_CONFIG;
+
+
+/* declaration opp type object */
+typedef struct
+{
+  T_MFW_BT_OBJ_TYPE mfw_object_type;
+  U8 * mfw_buffer_start;
+  U16 mfw_buffer_size;
+  T_MFW_BT_OPP_FILE_PATH mfw_path;/* path to delivered object (f.e.default business card) */
+  char * mfw_object_name;
+  char * mfw_object_mime_type;
+  ULONG mfw_object_length;
+}T_MFW_BT_OPP_OBJECT;
+
+#define T_MFW_BT_SYNC_OBJECT T_MFW_BT_OPP_OBJECT
+
+/* declaration opp server configuration parameter */
+typedef struct
+{
+  T_MFW_BT_OPP_SERV_MODE mfw_opp_mode;
+  T_MFW_BT_OPP_FILE_PATH mfw_inbox_path;/* path for store of objects */
+  T_MFW_BT_OPP_OBJECT mfw_opp_object;
+} T_MFW_BT_OPP_SERVER_CONFIG;
+
+
+/* declaration opp server put request parameter */
+typedef struct
+{
+  T_MFW_BT_SERVICE_TYPE service;
+  T_MFW_BT_SUBTYPE_DEV subtype;
+  T_MFW_BT_BD_ADDR bd_addr[MFW_BT_ADDR_MAX_LEN];
+  T_MFW_BT_OPP_OBJECT mfw_opp_object;
+} T_MFW_BT_OPP_PUT_IND;
+
+/* declaration opp server put confirm parameter */
+typedef struct
+{
+  T_MFW_BT_SERVICE_TYPE service;
+  T_MFW_BT_SUBTYPE_DEV subtype;
+  T_MFW_BT_BD_ADDR bd_addr[MFW_BT_ADDR_MAX_LEN];
+  T_MFW_BT_OPP_OBJECT mfw_opp_object;
+  T_MFW_BT_ERROR_CAUSE error_cause;
+} T_MFW_BT_OPP_PUT_CNF;
+
+/* declaration opp client push object parameter to server */
+typedef struct
+{
+  T_MFW_BT_SERVICE_TYPE service;
+  T_MFW_BT_SUBTYPE_DEV subtype;
+  T_MFW_BT_BD_ADDR bd_addr[MFW_BT_ADDR_MAX_LEN];
+  T_MFW_BT_OPP_OBJECT mfw_opp_object;
+  T_MFW_BT_ERROR_CAUSE error_cause;
+} T_MFW_BT_OPP_PUSH_CNF;
+
+/* declaration opp client pull object parameter from server */
+typedef struct
+{
+  T_MFW_BT_SERVICE_TYPE service;
+  T_MFW_BT_SUBTYPE_DEV subtype;
+  T_MFW_BT_BD_ADDR bd_addr[MFW_BT_ADDR_MAX_LEN];
+  T_MFW_BT_OPP_OBJECT mfw_opp_object;
+  T_MFW_BT_ERROR_CAUSE error_cause;
+} T_MFW_BT_OPP_PULL_CNF;
+
+/* declaration info structure of headset */
+typedef struct
+{
+  T_MFW_BT_BD_ADDR bd_addr[MFW_BT_ADDR_MAX_LEN];
+  T_MFW_BT_HSG_NAME hsg_name[MFW_BT_HSG_NAME_MAX_LEN];
+  T_MFW_BT_PRIORITY priority;
+  BOOL mfw_remote_audio_control_support;
+} T_MFW_BT_HEADSET_INFO;
+
+/* declaration data disconnection confirm profile hsg */
+typedef struct
+{
+  T_MFW_BT_SERVICE_TYPE service;
+  T_MFW_BT_CNF_ID cnf_id;
+  T_MFW_BT_BD_ADDR bd_addr[MFW_BT_ADDR_MAX_LEN];
+} T_MFW_BT_DISCONNECT_CNF;
+
+/* declaration data disconnection confirm profile dun/fax */
+typedef struct
+{
+  T_MFW_BT_SERVICE_TYPE service;
+  T_MFW_BT_RESULT_BT result_bd;
+} T_MFW_BT_DISCON_DUN_FAX_CNF;
+
+/* declaration data pin indication */
+typedef struct
+{
+  T_MFW_BT_BD_ADDR bd_addr[MFW_BT_ADDR_MAX_LEN];
+  T_MFW_BT_BD_NAME bd_name[MFW_BT_NAME_MAX_LEN];
+} T_MFW_BT_PIN_IND;
+
+/* declaration data authorization indication */
+typedef struct
+{
+  T_MFW_BT_BD_ADDR bd_addr[MFW_BT_ADDR_MAX_LEN];
+  T_MFW_BT_BD_NAME bd_name[MFW_BT_NAME_MAX_LEN];
+  T_MFW_BT_APPL_NAME appli_name[MFW_BT_APPL_NAME_MAX_LEN];
+  T_MFW_BT_AUTHORIZATION_MASK auth_mask_mfw;
+  T_MFW_BT_CONN_DIR connection_dir;
+} T_MFW_BT_AUTHORIZATION_IND;
+
+/*declaration data service paramater */
+typedef struct
+{
+  T_MFW_BT_AUTHORIZATION_MASK mfw_authorization_mask;
+  T_MFW_BT_SERVICE_NAME service_name[MFW_BT_SERVICE_NAME_MAX_LEN];
+} T_MFW_BT_SERVICE_PARAM;
+
+/* declaration data transfer audio out confirm */
+typedef struct
+{
+  T_MFW_BT_SERVICE_TYPE service;
+  T_MFW_BT_CNF_ID cnf_id;
+  T_MFW_BT_BD_ADDR bd_addr[MFW_BT_ADDR_MAX_LEN];
+  T_MFW_BT_RESULT_BT result_bd;
+} T_MFW_BT_TRANSFER_AUDIO_OUT_CNF;
+
+/* declaration data transfer audio in confirm */
+typedef struct
+{
+  T_MFW_BT_SERVICE_TYPE service;
+  T_MFW_BT_BD_ADDR bd_addr[MFW_BT_ADDR_MAX_LEN];
+  T_MFW_BT_RESULT_BT result_bd;
+} T_MFW_BT_TRANSFER_AUDIO_IN_CNF;
+
+/* declaration data connection confirm for headset */
+typedef struct
+{
+  T_MFW_BT_SERVICE_TYPE service;
+  T_MFW_BT_CNF_ID cnf_id;
+  T_MFW_BT_BD_ADDR bd_addr[MFW_BT_ADDR_MAX_LEN];
+  T_MFW_BT_ERROR_CAUSE cause;
+  T_MFW_BT_RESULT_BT result_bd;
+} T_MFW_BT_CONNECT_CNF;
+
+/* declaration data connection indication*/
+typedef struct
+{
+  T_MFW_BT_SERVICE_TYPE service;
+  T_MFW_BT_IND_ID ind_id;
+  T_MFW_BT_BD_ADDR bd_addr[MFW_BT_ADDR_MAX_LEN];
+  T_MFW_BT_BD_NAME bd_name[MFW_BT_NAME_MAX_LEN];
+  T_MFW_BT_SOURCE mfw_src_id;
+} T_MFW_BT_CONNECT_IND;
+
+/* declaration data connection information */
+typedef struct
+{
+  T_MFW_BT_SERVICE_TYPE service;
+  T_MFW_BT_IND_ID ind_id;
+  T_MFW_BT_BD_ADDR bd_addr[MFW_BT_ADDR_MAX_LEN];
+} T_MFW_BT_CONNECT_INF;
+
+/* declaration data disconnection indication for fax and dun */
+typedef struct
+{
+  T_MFW_BT_SERVICE_TYPE service;
+} T_MFW_BT_DISCON_DUN_FAX_IND;
+
+/* declaration data disconnection indication */
+typedef struct
+{
+  T_MFW_BT_SERVICE_TYPE service;
+  T_MFW_BT_BD_ADDR bd_addr[MFW_BT_ADDR_MAX_LEN];
+  T_MFW_BT_IND_ID ind_id;
+} T_MFW_BT_DISCONNECT_IND;
+
+/* declaration data search confirm */
+typedef struct
+{
+  T_MFW_BT_SERVICE_TYPE service;
+} T_MFW_BT_SERVICE_SEARCH_CNF;
+
+/* declaration data search confirm */
+typedef struct
+{
+  T_MFW_BT_RESULT_BT result;
+} T_MFW_BT_DEVICE_SEARCH_CNF;
+
+
+/* declaration data service indication */
+typedef struct
+{
+  T_MFW_BT_SERVICE_TYPE service;
+  T_MFW_BT_BD_ADDR bd_addr[MFW_BT_ADDR_MAX_LEN];
+  T_MFW_DEVICE_CLASS cod[MFW_BT_DEVICE_CLASS_LEN];
+  T_MFW_BT_BD_NAME bd_name[MFW_BT_NAME_MAX_LEN];
+  T_MFW_BT_SERVICE_NAME service_name[MFW_BT_SERVICE_NAME_MAX_LEN];
+} T_MFW_BT_SERVICE_IND;
+
+/* declaration data device indication */
+typedef struct
+{
+  T_MFW_BT_BD_ADDR bd_addr[MFW_BT_ADDR_MAX_LEN];
+  T_MFW_DEVICE_CLASS cod[MFW_BT_DEVICE_CLASS_LEN];
+  T_MFW_BT_BD_NAME bd_name[MFW_BT_NAME_MAX_LEN];
+  U32 num_services;
+  U32 services;
+} T_MFW_BT_DEVICE_IND;
+
+/* declaration data profile confirm */
+typedef struct
+{
+  T_MFW_BT_SERVICE_TYPE service;
+  T_MFW_BT_RESULT_BT result_bd;
+  T_MFW_BT_ACTION action;
+  T_MFW_BT_SUBTYPE_DEV subtype;
+  T_MFW_BT_OPP_SERV_MODE mfw_opp_mode;
+  T_MFW_BT_SYNC_SERV_MODE mfw_sync_mode;
+  T_MFW_BT_SYNC_AUTH_MODE mfw_syn_aut_mode;
+} T_MFW_BT_PROFILE_CNF;
+
+typedef struct
+{
+  T_MFW_BT_SERVICE_TYPE profile;
+} T_MFW_BT_PROFILE_CREATE_CNF;
+
+typedef struct
+{
+  T_MFW_BT_SERVICE_TYPE profile;
+} T_MFW_BT_PROFILE_DELETE_CNF;
+
+typedef struct
+{
+  U8 id;
+  T_MFW_BT_BD_ADDR bd_addr[MFW_BT_ADDR_MAX_LEN];
+  T_MFW_BT_HSG_NAME hsg_name[MFW_BT_HSG_NAME_MAX_LEN];
+  T_MFW_BT_PRIORITY priority;
+}T_MFW_BT_DEFAULT_DEV;
+
+typedef struct
+{
+  T_MFW_BT_SERVICE_TYPE service;
+  T_MFW_BT_ERROR_CAUSE cause;
+}T_MFW_BT_REST_CONFIG;
+
+typedef struct
+{
+  T_MFW_BT_BD_ADDR rem_bd_addr[MFW_BT_ADDR_MAX_LEN];
+  T_MFW_BT_BD_NAME rem_bd_name[MFW_BT_NAME_MAX_LEN];
+  T_MFW_BT_PAIRED_RESULT pair_res;
+}T_MFW_BT_DEV_PAIR_IND;
+
+typedef struct
+{
+  T_MFW_BT_SERVICE_TYPE service;
+  T_MFW_BT_CALL_STATUS call_state;
+} T_MFW_BT_CALL_STATUS_DUN_FAX;
+
+/* structures for list with addresses and names of desired device(service id) - dynamicly */
+typedef struct T_MFW_BT_SERVICE_ID_TAG
+{
+  struct T_MFW_BT_SERVICE_ID_TAG *next; /* next block of bluetooth device */
+  T_MFW_BT_BD_ADDR bd_addr[MFW_BT_ADDR_MAX_LEN];
+  T_MFW_DEVICE_CLASS cod[MFW_BT_DEVICE_CLASS_LEN];
+  T_MFW_BT_BD_NAME bd_name[MFW_BT_NAME_MAX_LEN];
+  T_MFW_BT_SERVICE_NAME service_name[MFW_BT_SERVICE_NAME_MAX_LEN];
+} T_MFW_BT_SERVICE_ID;
+
+typedef struct
+{
+  T_MFW_BT_SERVICE_TYPE service;
+  T_MFW_BT_SERVICE_ID *device_id;
+} T_MFW_BT_SERVICE_LST;
+/* structure for pointer to list of found devices */
+typedef struct
+{
+  T_MFW_BT_SERVICE_LST *list_ptr;
+} T_MFW_BT_SERVICE_LST_P;
+
+/* structures for list with address and names of found services of a device - dynamicly */
+typedef struct T_MFW_BT_DEVICE_ID_TAG
+{
+  struct T_MFW_BT_DEVICE_ID_TAG *next; /* next block of bluetooth device */
+  T_MFW_BT_BD_ADDR bd_addr[MFW_BT_ADDR_MAX_LEN];
+  T_MFW_DEVICE_CLASS cod[MFW_BT_DEVICE_CLASS_LEN];
+  T_MFW_BT_BD_NAME bd_name[MFW_BT_NAME_MAX_LEN];
+  U32 num_services;
+  U32 services;
+} T_MFW_BT_DEVICE_ID;
+
+typedef struct
+{
+  T_MFW_BT_DEVICE_ID *device_id;
+} T_MFW_BT_DEVICE_LST;
+/* structure for pointer to list of found devices and their services */
+typedef struct
+{
+  T_MFW_BT_DEVICE_LST *list_ptr;
+} T_MFW_BT_DEVICE_LST_P;
+
+/* structure of list of paired devices */
+typedef struct
+{
+  U8 count;
+  T_MFW_BT_BD_ADDR paired_bd_addr[MAX_MFW_PAIRED_ADDR][MFW_BT_ADDR_MAX_LEN];
+} T_MFW_BT_DEV_PAIR_LIST;
+
+/* structure of list of authorization database devices */
+typedef struct
+{
+  T_MFW_BT_AUTHORIZATION_MASK mask_authorization;
+  T_MFW_BT_BD_ADDR remote_bd_addr[MFW_BT_ADDR_MAX_LEN];
+} T_MFW_BT_AUTHORIZATION_ELEMENT;
+
+
+typedef struct
+{
+  U8 count;
+  T_MFW_BT_AUTHORIZATION_ELEMENT auth_devices[MAX_MFW_AUTHORIZ_ADDR];
+} T_MFW_BT_AUTHORIZATION_LIST;
+
+/* an sync object store list */
+typedef struct mfw_bt_object_store_list_struct
+{
+  struct mfw_bt_object_store_list_struct *next_object;  /* pointer to next object */
+  T_MFW_BT_SYN_OBJECT_STORE object_store;         /* name of the object store */
+  /* usually this is where the char array for the object store name can be found */
+} T_MFW_BT_SYN_OBJECT_STORE_ITEM;
+
+/* the list is just a pointer to the first item */
+typedef T_MFW_BT_SYN_OBJECT_STORE_ITEM * T_MFW_BT_SYN_OBJECT_STORE_LIST;
+
+/* structure syn object id */
+typedef struct
+{
+  U16 mfw_object_size;
+  char * mfw_location;
+} T_MFW_BT_SYNC_OBJECT_ID;
+
+/* structure for response of synchronization operation */
+typedef struct
+{
+  T_MFW_BT_SERVICE_TYPE service;
+  T_MFW_BT_SUBTYPE_DEV subtype;
+  T_MFW_BT_ERROR_CAUSE mfw_error_state;
+  T_MFW_BT_BD_ADDR mfw_client_bd_addr[MFW_BT_ADDR_MAX_LEN];
+  T_MFW_BT_BD_NAME mfw_client_name[MFW_BT_NAME_MAX_LEN];
+} T_MFW_BT_SRV_SYNC_CNF;
+
+/* structure for request authentication password */
+typedef struct
+{
+  T_MFW_BT_SERVICE_TYPE service;
+  T_MFW_BT_SUBTYPE_DEV subtype;
+  T_MFW_BT_BD_ADDR mfw_client_bd_addr[MFW_BT_ADDR_MAX_LEN];
+  T_MFW_BT_BD_NAME mfw_client_name[MFW_BT_NAME_MAX_LEN];
+} T_MFW_BT_SRV_SYNC_AUTH_IND;
+
+/* structure for request pull object from server */
+typedef struct
+{
+  T_MFW_BT_SERVICE_TYPE service;
+  T_MFW_BT_SUBTYPE_DEV subtype;
+  T_MFW_BT_BD_ADDR mfw_client_bd_addr[MFW_BT_ADDR_MAX_LEN];
+  T_MFW_BT_SYNC_OBJECT_ID mfw_object_id;
+} T_MFW_BT_SRV_SYNC_PULL_IND;
+
+/* structure for request push object to server */
+typedef struct
+{
+  T_MFW_BT_SERVICE_TYPE service;
+  T_MFW_BT_SUBTYPE_DEV subtype;
+  T_MFW_BT_BD_ADDR mfw_client_bd_addr[MFW_BT_ADDR_MAX_LEN];
+  T_MFW_BT_SYNC_OBJECT_ID mfw_object_id;
+} T_MFW_BT_SRV_SYNC_PUSH_IND;
+
+
+/* structure for confirm object push to server */
+typedef struct
+{
+  T_MFW_BT_SERVICE_TYPE service;
+  T_MFW_BT_SUBTYPE_DEV subtype;
+  T_MFW_BT_BD_ADDR mfw_client_bd_addr[MFW_BT_ADDR_MAX_LEN];
+  T_MFW_BT_SYNC_OBJECT mfw_object;
+  T_MFW_BT_SYNC_OBJECT_ID mfw_object_id;
+} T_MFW_BT_SRV_SYNC_PUSH_CNF;
+
+/* BT CTRL events */
+typedef struct
+{
+  BOOL                     success;                  /*<  0:  1> BTCTRL success                                     */
+} T_MFW_BT_CHNG_LOCAL_NAME;
+
+typedef struct
+{
+  BOOL                     success;                  /*<  0:  1> BTCTRL success                                     */
+  T_MFW_BT_BD_NAME         bd_name[MFW_BT_NAME_MAX_LEN]; /*<  1:248> Bluetooth device name                              */
+} T_MFW_BT_READ_LOCAL_NAME;
+
+typedef struct
+{
+  BOOL                     success;                  /*<  0:  1> BTCTRL success                                     */
+  T_MFW_BT_BD_ADDR         bd_addr[MFW_BT_ADDR_MAX_LEN]; /*<  1:  6> Bluetooth device address                           */
+  T_MFW_DEVICE_CLASS       cod[MFW_BT_DEVICE_CLASS_LEN]; /*<  7:  3> Bluetooth class of device                          */
+  T_MFW_BT_BD_NAME         bd_name[MFW_BT_NAME_MAX_LEN]; /*< 10:248> Bluetooth device name                              */
+} T_MFW_BT_REMOTE_DEV_INFO_RES;
+
+typedef struct
+{
+  BOOL                      success;                  /*<  0:  1> BTCTRL success                                     */
+  T_MFW_BT_CONNECTABLE_MODE mode;                     /*<  1:  4> Conn/Disc Mode                                     */
+  ULONG                     scan_interval;            /*<  5:  4> Scan Interval                                      */
+  ULONG                     scan_window;              /*<  9:  4> Scan Window                                        */
+} T_MFW_BT_CHNG_CONNECTABLE_MODE;
+
+typedef struct
+{
+  BOOL                        success;                  /*<  0:  1> BTCTRL success                                     */
+  T_MFW_BT_DISCOVERABLE_MODE  mode;                     /*<  1:  4> Conn/Disc Mode                                     */
+  ULONG                       scan_interval;            /*<  5:  4> Scan Interval                                      */
+  ULONG                       scan_window;              /*<  9:  4> Scan Window                                        */
+} T_MFW_BT_CHNG_DISCOVERABLE_MODE;
+
+typedef struct
+{
+  BOOL                    success;                  /*<  0:  1> BTCTRL success                                     */
+  T_MFW_BT_BD_ADDR        bd_addr[MFW_BT_ADDR_MAX_LEN]; /*<  1:  6> Bluetooth device address                           */
+} T_MFW_BT_READ_BD_ADDR;
+
+/*#ifdef PCA_6350*/
+
+typedef enum
+{
+  MFW_BT_PCA_LINK_MONIT_ON = BTI_PCA_LINK_MONIT_ON,
+  MFW_BT_PCA_LINK_MONIT_OFF = BTI_PCA_LINK_MONIT_OFF
+} T_MFW_BT_PCA_LINK_EVENT;
+
+typedef enum
+{
+  MFW_BT_PCA_CALL_MONIT_ON = BTI_PCA_CALL_MONIT_ON,
+  MFW_BT_PCA_CALL_MONIT_OFF = BTI_PCA_CALL_MONIT_OFF
+} T_MFW_BT_PCA_CALL_EVENT;
+
+/* declaration pca gateway configuration parameter */
+typedef struct
+{
+  T_MFW_BT_PCA_LINK_EVENT link_event;
+  T_MFW_BT_PCA_CALL_EVENT call_event;
+} T_MFW_BT_PCA_CONFIG;
+
+typedef enum
+{
+  MFW_BT_PCA_GW_DISABLED = BTI_PCA_GW_DISABLED,
+  MFW_BT_PCA_GW_ENABLED  = BTI_PCA_GW_ENABLED
+} T_MFW_BT_PCA_GW_STATUS;
+
+typedef enum
+{
+  MFW_BT_PCA_GW_NOT_CONNECTED = BTI_PCA_GW_NOT_CONNECTED,
+  MFW_BT_PCA_GW_CONNECTED     = BTI_PCA_GW_CONNECTED
+} T_MFW_BT_PCA_GW_LINK_STATUS;
+
+typedef enum
+{
+  MFW_BT_PCA_GW_CALL_IN_PROGRESS = BTI_PCA_GW_CALL_IN_PROGRESS,
+  MFW_BT_PCA_GW_CALL_ESTABLISHED = BTI_PCA_GW_CALL_ESTABLISHED,
+  MFW_BT_PCA_GW_CALL_PAUSED      = BTI_PCA_GW_CALL_PAUSED,
+  MFW_BT_PCA_GW_CALL_RESUMED     = BTI_PCA_GW_CALL_RESUMED,
+  MFW_BT_PCA_GW_HANGUP_IN_PROGRESS = BTI_PCA_GW_HANGUP_IN_PROGRESS,
+  MFW_BT_PCA_GW_CALL_RELEASED    = BTI_PCA_GW_CALL_RELEASED
+} T_MFW_BT_PCA_GW_CALL_STATUS;
+
+typedef struct
+{
+  T_MFW_BT_PCA_GW_STATUS status;
+} T_MFW_BT_PCA_GW_STATUS_CFM;
+
+typedef struct
+{
+  T_MFW_BT_BD_ADDR            bd_addr[MFW_BT_ADDR_MAX_LEN];
+  T_MFW_BT_PCA_GW_LINK_STATUS link_status;
+} T_MFW_BT_PCA_GW_LINK_MONITORING;
+
+typedef struct
+{
+  T_MFW_BT_PCA_GW_CALL_STATUS call_status;
+} T_MFW_BT_PCA_GW_CALL_MONITORING;
+
+typedef struct
+{
+  BOOL hangup;
+} T_MFW_BT_PCA_GW_HANGUP_CFM;
+/*#endif*/ /* PCA_6350 */
+
+
+/* Cartman added begin */
+
+typedef enum
+{
+  MFW_BT_HSG_CONNECT_NETWORK_ANSWER_OK = (BTI_HSG_CONNECT_NETWORK_ANSWER_OK),
+  MFW_BT_HSG_CONNECT_NETWORK_ANSWER_NOK = (BTI_HSG_CONNECT_NETWORK_ANSWER_NOK)
+} T_MFW_BT_HSG_CONNECT_NETWORK_ANSWER;
+
+typedef enum
+{
+  MFW_BT_HSG_CONNECT_NETWORK_TYPE_AUTOMATIC_DIAL = (BTI_HSG_CONNECT_NETWORK_TYPE_AUTOMATIC_DIAL),
+  MFW_BT_HSG_CONNECT_NETWORK_TYPE_MANUAL_DIAL = (BTI_HSG_CONNECT_NETWORK_TYPE_MANUAL_DIAL)
+}T_MFW_BT_HSG_CONNECT_NETWORK_TYPE;
+
+typedef enum
+{
+  MFW_BT_HSG_CMD_TYPE_RESULT_CODE = (BTI_HSG_CMD_TYPE_RESULT_CODE),
+  MFW_BT_HSG_CMD_TYPE_UNSOLICITED_RESULT = (BTI_HSG_CMD_TYPE_UNSOLICITED_RESULT)
+}T_MFW_BT_HSG_SPECIFIC_CMD_TYPE;
+
+typedef struct
+{
+  T_MFW_BT_SERVICE_TYPE service;
+  T_MFW_BT_IND_ID ind_id;
+  T_MFW_BT_BD_ADDR bd_addr[MFW_BT_ADDR_MAX_LEN];
+} T_MFW_BT_HSG_HEADSET_CONNECTION_IND;
+
+typedef struct
+{
+  T_MFW_BT_HSG_CMD_TO_HS cmd[100];
+} T_MFW_BT_HSG_SPECIFIC_CMD_CFM;
+
+typedef struct
+{
+  UBYTE result;
+} T_MFW_BT_HSG_SAVE_LIST_CNF;
+
+/* Cartman added end */
+
+
+
+/*
+ * BT Parameter
+ */
+typedef union
+{
+   T_MFW_BT_PROFILE_CREATE_CNF prof_create_cnf;
+   T_MFW_BT_PROFILE_DELETE_CNF prof_delete_cnf;
+   T_MFW_BT_SERVICE_SEARCH_CNF search_conf;  /* finish search of services */
+   T_MFW_BT_DEVICE_SEARCH_CNF dev_search_conf;/* finish search of devices and their services */
+   T_MFW_BT_DEVICE_IND device_ind;           /* found new device */
+   T_MFW_BT_SERVICE_IND service_ind;         /* found new service */
+   T_MFW_BT_SERVICE_LST_P service_lst_p;     /* pointer to list of found devices (search confirm)*/
+   T_MFW_BT_DEVICE_LST_P device_lst_p;       /* pointer to list of found services (device confirm)*/
+   T_MFW_BT_TRANSFER_AUDIO_IN_CNF audio_in_cnf;/* info audio in confirm */
+   T_MFW_BT_TRANSFER_AUDIO_OUT_CNF audio_out_cnf;/* info audio out confirm */
+   T_MFW_BT_DISCONNECT_IND disconnect_ind;   /* info disconnection indication */
+   T_MFW_BT_PIN_IND pin_ind;                 /* info pin indication (remote request) */
+   T_MFW_BT_AUTHORIZATION_IND authoriz_ind;  /* info authorization indication (remote request) */
+   T_MFW_BT_DISCON_DUN_FAX_CNF disc_dun_fax_cnf;/* info disconnect dun/ fax */
+   T_MFW_BT_DISCONNECT_CNF disconnect_cnf;   /* info disconnection confirm */
+   T_MFW_BT_CONNECT_CNF connect_cnf;         /* info connection confirm */
+   T_MFW_BT_DISCON_DUN_FAX_IND con_dun_fax_ind; /* info disconnection indication dial up and fax */
+   T_MFW_BT_PROFILE_CNF profile;             /* info init/deinit profile confirm */
+   T_MFW_BT_REST_CONFIG restore_conf;        /* result restoring configuration bluetooth device */
+   T_MFW_BT_CONNECT_IND connect_indication;  /* info connection indication by remote device */
+   T_MFW_BT_CONNECT_INF connect_information; /* connection information RFCOMM level */
+   T_MFW_BT_DEV_PAIR_IND pair_ind;           /* result of pairing procedure with remote device */
+   T_MFW_BT_CALL_STATUS_DUN_FAX call_status; /* call monitoring status dun,fax            */
+   T_MFW_BT_OPP_PUT_IND opp_s_obj;           /* info about opp server object put request from client to server (server side)*/
+   T_MFW_BT_OPP_PUT_CNF opp_s_obj_cnf;       /* info about success of object put procedure from client to server (server side) */
+   T_MFW_BT_OPP_PUSH_CNF opp_cl_push_ob_cnf; /* info about success of object push procedure to server (client side) */
+   T_MFW_BT_OPP_PULL_CNF opp_cl_pull_ob_cnf; /* info about success of object push procedure from server (client side) */
+   T_MFW_BT_SRV_SYNC_CNF srv_sync_cnf;       /* info about success of synchronization operation */
+   T_MFW_BT_SRV_SYNC_AUTH_IND srv_sync_auth; /* request password for authentication at OBEX level for synchronization */
+   T_MFW_BT_SRV_SYNC_PULL_IND sync_pull_ind; /* request to pull an syn object from server to the sync client */
+   T_MFW_BT_SRV_SYNC_PUSH_IND sync_push_ind; /* request to push an syn object to the server from the sync client */
+   T_MFW_BT_SRV_SYNC_PUSH_CNF sync_push_cnf; /* confirmation that push of syn object is done */
+   T_MFW_BT_CHNG_LOCAL_NAME chng_local_name; /* result of change local name request */
+   T_MFW_BT_READ_LOCAL_NAME read_local_name; /* result of read local name request */
+   T_MFW_BT_REMOTE_DEV_INFO_RES remote_dev_info; /* remote device information */
+   T_MFW_BT_CHNG_CONNECTABLE_MODE chng_conn_mode; /* result of change connectable mode request */
+   T_MFW_BT_CHNG_DISCOVERABLE_MODE chng_disc_mode; /* result of change discoverable mode request */
+   T_MFW_BT_READ_BD_ADDR read_bd_addr;       /* bt device address */
+/*#ifdef PCA_6350*/
+   T_MFW_BT_PCA_GW_STATUS_CFM pca_gw_status;
+   T_MFW_BT_PCA_GW_LINK_MONITORING pca_link_mon;
+   T_MFW_BT_PCA_GW_CALL_MONITORING pca_call_mon;
+   T_MFW_BT_PCA_GW_HANGUP_CFM pca_hangup;
+/*#endif*/ /* PCA_6350 */
+
+   /* Cartman added begin */
+   T_MFW_BT_HSG_HEADSET_CONNECTION_IND hsg_headset_connection_ind;
+   T_MFW_BT_HSG_SPECIFIC_CMD_CFM hsg_specific_cmd_cfm;
+   T_MFW_BT_HSG_SAVE_LIST_CNF hsg_save_list_cnf;
+   /* Cartman added end */
+
+} T_MFW_BT_PARA;
+
+/*
+ *  BT Control Block
+ */
+typedef struct
+{
+    T_MFW_EVENT     emask;          /* events of interest */
+    T_MFW_EVENT     event;          /* current event */
+    T_MFW_CB        handler;
+    T_MFW_BT_PARA   para;
+} T_MFW_BT;
+
+
+
+int              bt_init             (void);
+void             bt_exit             (void);
+EXTERN T_MFW_HND       bt_create           (T_MFW_HND hWin,
+                                             T_MFW_EVENT event,
+                                             T_MFW_CB cbfunc);
+EXTERN T_MFW_RES       bt_delete           (T_MFW_HND hWin);
+EXTERN T_MFW_BT_RESULT_BT bt_init_profile_hsg_cl (T_MFW_BT_SERVICE_TYPE service,
+                                            T_MFW_BT_HSG_CLIENT_CONFIG config);
+EXTERN T_MFW_BT_RESULT_BT bt_init_profile_hsg_serv (T_MFW_BT_SERVICE_TYPE service,
+                                  T_MFW_BT_HSG_SERVER_CONFIG mfw_config);
+EXTERN T_MFW_BT_RESULT_BT bt_init_profile_dun (T_MFW_BT_SERVICE_TYPE service,
+                                            T_MFW_BT_DUN_CONFIG dun_filter);
+EXTERN T_MFW_BT_RESULT_BT bt_deinit_profile (T_MFW_BT_SERVICE_TYPE service,
+                                             T_MFW_BT_SUBTYPE_DEV subtype);
+EXTERN T_MFW_BT_RESULT_BT bt_reconfig_profile_hsg_cl (T_MFW_BT_SERVICE_TYPE service,
+                                                T_MFW_BT_HSG_CLIENT_CONFIG config);
+EXTERN T_MFW_BT_RESULT_BT bt_reconfig_profile_hsg_serv (T_MFW_BT_SERVICE_TYPE service,
+                                  T_MFW_BT_HSG_SERVER_CONFIG mfw_config);
+EXTERN T_MFW_BT_RESULT_BT bt_reconfig_profile_dun (T_MFW_BT_SERVICE_TYPE service,
+                                                T_MFW_BT_DUN_CONFIG dun_filter);
+
+/* Searching devices/services */
+EXTERN T_MFW_BT_RESULT_BT bt_device_search(void);
+EXTERN T_MFW_BT_RESULT_BT bt_service_search(T_MFW_BT_SERVICE_TYPE service);
+EXTERN T_MFW_BT_RESULT_BT bt_extended_search(UINT8 inq_length,
+                     UINT8                  max_num_of_responses,
+                     T_MFW_DEVICE_CLASS  class_of_device[],
+                     BOOLEAN                need_device_name,
+                     BOOLEAN                need_services,
+                     T_MFW_SERVICE_ID       service_id);
+EXTERN T_MFW_BT_RESULT_BT bt_search_abort(void);
+
+
+EXTERN T_MFW_BT_RESULT_BT  bt_connect_hsg (T_MFW_BT_SERVICE_TYPE service,
+                                    T_MFW_BT_REQ_ID req_id,
+                                    T_MFW_BT_BD_ADDR bd_addr[], UINT8 mode);
+EXTERN T_MFW_BT_RESULT_BT bt_auto_connect(T_MFW_BT_SERVICE_TYPE service,
+                                       T_MFW_BT_AUTO_CONNECT_STATE set_state);
+EXTERN T_MFW_BT_RESULT_BT bt_get_auto_connect(T_MFW_BT_SERVICE_TYPE service,
+                                           T_MFW_BT_HSG_CLIENT_CONFIG *conf);
+EXTERN T_MFW_BT_RESULT_BT bt_set_pref_headset(T_MFW_BT_SERVICE_TYPE service,
+                                       T_MFW_BT_BD_ADDR bd_addr[],
+                                       T_MFW_BT_HSG_NAME hsg_name[],
+                                       T_MFW_BT_PRIORITY priority,
+                                       BOOL rem_audio_ctr_supp_hsg,
+                                       T_MFW_BT_CNF_ID * headset_cnf_id);
+EXTERN T_MFW_BT_RESULT_BT  bt_reset_pref_hsg(T_MFW_BT_SERVICE_TYPE service,
+                                      T_MFW_BT_DEV_ID dev_id);
+
+EXTERN T_MFW_BT_RESULT_BT bt_disconnect_service (T_MFW_BT_SERVICE_TYPE service);
+EXTERN T_MFW_BT_RESULT_BT bt_send_pin (T_MFW_BT_BD_ADDR bd_addr[],
+                                    T_MFW_BT_PIN pin_code[],
+                                    T_MFW_BT_PIN_MODE pin_mode);
+EXTERN T_MFW_BT_RESULT_BT bt_authorization_reply (T_MFW_BT_BD_ADDR bd_addr[],
+                                                  T_MFW_BT_AUTHORIZATION_MASK mfw_auth_mask,
+                                                  T_MFW_BT_AUTHORIZATION_MODE auth_mode);
+EXTERN T_MFW_BT_RESULT_BT bt_get_authorization_device (T_MFW_BT_BD_ADDR bd_addr[],
+                                            T_MFW_BT_AUTHORIZATION_MASK * mask);
+EXTERN T_MFW_BT_RESULT_BT bt_set_authorization_device (T_MFW_BT_BD_ADDR bd_addr[],
+                                            T_MFW_BT_AUTHORIZATION_MASK mask);
+EXTERN T_MFW_BT_RESULT_BT bt_del_authorizations_device (T_MFW_BT_BD_ADDR bd_addr[]);
+EXTERN T_MFW_BT_RESULT_BT bt_del_authorization (T_MFW_BT_BD_ADDR bd_addr[],T_MFW_BT_AUTHORIZATION_MASK service_mask);
+#ifdef _SIMULATION_
+EXTERN T_MFW_BT_RESULT_BT bt_transfer_audio_in (T_MFW_BT_SERVICE_TYPE service);
+EXTERN T_MFW_BT_RESULT_BT bt_transfer_audio_out(T_MFW_BT_SERVICE_TYPE service,
+                                             T_MFW_BT_REQ_ID req_id,
+                                             T_MFW_BT_BD_ADDR bd_addr[]);
+#endif
+EXTERN T_MFW_BT_RESULT_BT bt_set_param_headset (T_MFW_BT_SERVICE_TYPE service,
+                                         T_MFW_BT_PARAM_NUMBER nb,
+                                         T_MFW_BT_CHANGE_PARA type,
+                                         U16 new_value);
+EXTERN T_MFW_BT_RESULT_BT bt_get_default_service_info (T_MFW_BT_SERVICE_TYPE service,
+                                            T_MFW_BT_DEV_ID dev_id,
+                                            T_MFW_BT_HEADSET_INFO *hs_info);
+EXTERN T_MFW_BT_RESULT_BT bt_set_prio_default_service (T_MFW_BT_SERVICE_TYPE service,
+                                                    T_MFW_BT_DEV_ID dev_id,
+                                                    T_MFW_BT_PRIORITY priority);
+EXTERN T_MFW_BT_RETURN  bt_list_paired_dev(T_MFW_BT_DEV_PAIR_LIST * pair_list);
+EXTERN T_MFW_BT_RETURN  bt_list_auth_dev(T_MFW_BT_AUTHORIZATION_LIST * authorization_list);
+EXTERN T_MFW_BT_RETURN  bt_clear_all_lists_found_serv (void);
+EXTERN T_MFW_BT_RETURN  bt_clear_list_found_dev (void);
+EXTERN T_MFW_BT_RETURN  bt_clear_list_found_serv (T_MFW_BT_SERVICE_TYPE service);
+EXTERN T_MFW_BT_RETURN  bt_authorized_devices(T_MFW_BT_AUTHORIZATION_LIST * authorization_list,T_MFW_BT_AUTHORIZATION_MASK service_mask );
+EXTERN void             bt_signal             (MfwEvt event, void *para);
+EXTERN int              bt_sign_exec          (T_MFW_HDR * hdr,T_MFW_EVENT event,
+                                               T_MFW_BT_PARA *para);
+EXTERN T_MFW_BT_RESULT_BT  bt_get_config (T_MFW_BT_SERVICE_TYPE service,
+                                T_MFW_BT_HSG_CLIENT_CONFIG *client_conf,
+                                T_MFW_BT_HSG_SERVER_CONFIG *server_conf);
+#ifdef _SIMULATION_
+EXTERN T_MFW_BT_RESULT_BT  bt_save_config (T_MFW_BT_SERVICE_TYPE service);
+EXTERN T_MFW_BT_RESULT_BT  bt_restore_config (T_MFW_BT_SERVICE_TYPE service);
+EXTERN T_MFW_BT_RESULT_BT  bt_save_default_list (T_MFW_BT_SERVICE_TYPE service);
+EXTERN T_MFW_BT_RESULT_BT  bt_restore_default_list (T_MFW_BT_SERVICE_TYPE service);
+#endif
+EXTERN T_MFW_BT_RESULT_BT  bt_set_security_mode (T_MFW_BT_SECURITY_MODE sec_mode);
+EXTERN T_MFW_BT_RESULT_BT  bt_set_pair_mode (T_MFW_BT_PAIRABLE_MODE pair_mode);
+EXTERN T_MFW_BT_RESULT_BT  bt_start_profile_application (T_MFW_BT_SERVICE_TYPE service);
+EXTERN T_MFW_BT_RESULT_BT  bt_stop_profile_application (T_MFW_BT_SERVICE_TYPE service);
+EXTERN T_MFW_BT_RESULT_BT  bt_set_default_security (U8 security_level);
+EXTERN T_MFW_BT_RESULT_BT  bt_start_pairing (T_MFW_BT_BD_ADDR bd_addr[],
+                                          T_MFW_BT_PIN pin_code[],
+                                          T_MFW_BT_PIN_MODE pin_mode);
+EXTERN T_MFW_BT_RESULT_BT bt_delete_paired_device (T_MFW_BT_BD_ADDR bd_addr[]);
+EXTERN T_MFW_BT_RESULT_BT bt_check_pair (T_MFW_BT_BD_ADDR bd_addr[]);
+EXTERN T_MFW_BT_RESULT_BT bt_register_sm (void);
+EXTERN T_MFW_BT_RESULT_BT bt_deregister_sm(void);
+EXTERN T_MFW_BT_RESULT_BT bt_init_profile_fax (T_MFW_BT_SERVICE_TYPE service,
+                                     T_MFW_BT_FAX_CONFIG fax_filter);
+EXTERN T_MFW_BT_RESULT_BT bt_reconfig_profile_fax (T_MFW_BT_SERVICE_TYPE service,
+                                     T_MFW_BT_FAX_CONFIG fax_filter);
+
+EXTERN T_MFW_BT_RESULT_BT bt_init_profile_opp (T_MFW_BT_SERVICE_TYPE service,
+                                        T_MFW_BT_SUBTYPE_DEV subtype,
+                                        T_MFW_BT_OPP_SERVER_CONFIG serv_config);
+EXTERN T_MFW_BT_RESULT_BT bt_reconf_profile_opp (T_MFW_BT_SERVICE_TYPE service,
+                                        T_MFW_BT_SUBTYPE_DEV subtype,
+                                        T_MFW_BT_OPP_SERVER_CONFIG serv_config);
+EXTERN T_MFW_BT_RESULT_BT bt_opp_put_reply (  T_MFW_BT_SERVICE_TYPE service,
+                                      T_MFW_BT_SUBTYPE_DEV subtype,
+                                      T_MFW_BT_OPP_PUT_RES opp_put_res,
+                                      T_MFW_BT_OPP_OBJECT received_obj);
+EXTERN T_MFW_BT_RESULT_BT bt_opp_push_object (T_MFW_BT_SERVICE_TYPE service,
+                                      T_MFW_BT_SUBTYPE_DEV subtype,
+                                      T_MFW_BT_BD_ADDR server_address[],
+                                      BOOL mfw_keep_connection,
+                                      T_MFW_BT_OPP_OBJECT mfw_obj_to_push);
+EXTERN T_MFW_BT_RESULT_BT bt_opp_pull_object (T_MFW_BT_SERVICE_TYPE service,
+                                       T_MFW_BT_SUBTYPE_DEV subtype,
+                                       T_MFW_BT_BD_ADDR server_address[],
+                                       BOOL mfw_keep_connection,
+                                       T_MFW_BT_OPP_OBJECT mfw_obj_to_pull);
+EXTERN T_MFW_BT_RESULT_BT bt_opp_exch_objects (T_MFW_BT_SERVICE_TYPE service,
+                                        T_MFW_BT_SUBTYPE_DEV subtype,
+                                        T_MFW_BT_OPP_OBJECT obj_to_push,
+                                        T_MFW_BT_OPP_OBJECT obj_to_pull,
+                                        T_MFW_BT_BD_ADDR server_address[],
+                                        BOOL mfw_keep_connection);
+EXTERN T_MFW_BT_RESULT_BT bt_init_profile_syn_s (T_MFW_BT_SERVICE_TYPE service,
+                                          T_MFW_BT_SUBTYPE_DEV subtype,
+                                  T_MFW_BT_SYN_OBJECT_STORE_LIST list_availabe_objects,
+                                  T_MFW_BT_SYNC_SERVER_CONFIG mfw_config);
+EXTERN T_MFW_BT_RESULT_BT bt_reconf_profile_syn_s (T_MFW_BT_SERVICE_TYPE service,
+                                          T_MFW_BT_SUBTYPE_DEV subtype,
+                                  T_MFW_BT_SYN_OBJECT_STORE_LIST list_availabe_objects,
+                                  T_MFW_BT_SYNC_SERVER_CONFIG mfw_config);
+EXTERN T_MFW_BT_RESULT_BT bt_syn_s_send_com (T_MFW_BT_SERVICE_TYPE service,
+                                      T_MFW_BT_SUBTYPE_DEV subtype,
+                                      T_MFW_BT_SYNC_COMMAND sync_comm,
+                                      T_MFW_BT_SYN_OBJECT_STORE sync_object,
+                                      T_MFW_BT_BD_ADDR sync_client_address[]);
+EXTERN T_MFW_BT_RESULT_BT bt_syn_s_auth_res (T_MFW_BT_SERVICE_TYPE service,
+                                      T_MFW_BT_SUBTYPE_DEV subtype,
+                                      T_MFW_BT_SYN_PASSWD * mfw_sync_password);
+EXTERN T_MFW_BT_RESULT_BT bt_syn_s_sync_terminate (T_MFW_BT_SERVICE_TYPE service,
+                                      T_MFW_BT_SUBTYPE_DEV subtype);
+EXTERN T_MFW_BT_RESULT_BT bt_syn_s_pull_resp (T_MFW_BT_SERVICE_TYPE service,
+                                      T_MFW_BT_SUBTYPE_DEV subtype,
+                                      T_MFW_BT_SYNC_OBJECT mfw_syn_pull_obj);
+EXTERN T_MFW_BT_RESULT_BT bt_syn_s_push_resp (T_MFW_BT_SERVICE_TYPE service,
+                                      T_MFW_BT_SUBTYPE_DEV subtype,
+                                      T_MFW_BT_SYNC_OBJECT mfw_syn_push_obj);
+EXTERN T_MFW_BT_RESULT_BT bt_is_pref_headset(T_MFW_BT_SERVICE_TYPE service,
+                                       T_MFW_BT_BD_ADDR bd_addr[],
+                                       T_MFW_BT_CNF_ID * headset_cnf_id);
+/* BT CTRL */
+
+EXTERN T_MFW_BT_RESULT_BT bt_set_conn_mode(T_MFW_BT_CONNECTABLE_MODE cmode,
+                                  UINT16 scan_interval,
+                                  UINT16 scan_window);
+
+
+EXTERN T_MFW_BT_RESULT_BT bt_set_disc_mode(T_MFW_BT_DISCOVERABLE_MODE dmode,
+                                  UINT16 scan_interval,
+                                  UINT16 scan_window);
+
+EXTERN T_MFW_BT_RESULT_BT bt_get_local_name(void);
+EXTERN T_MFW_BT_RESULT_BT bt_set_local_name(T_MFW_BT_BD_NAME name[]);
+EXTERN T_MFW_BT_RESULT_BT bt_get_bd_addr(void);
+
+EXTERN T_MFW_BT_RESULT_BT bt_get_remote_dev_info(T_MFW_BT_BD_ADDR bd_addr[]);
+EXTERN T_MFW_BT_RESULT_BT bt_start_btctrl(void);
+EXTERN T_MFW_BT_RESULT_BT bt_stop_btctrl(void);
+
+/* enable profiles */
+EXTERN T_MFW_BT_RESULT_BT bt_enable_hsg_profile(void);
+EXTERN T_MFW_BT_RESULT_BT bt_enable_dun_profile(void);
+EXTERN T_MFW_BT_RESULT_BT bt_enable_fax_profile(void);
+
+EXTERN T_MFW_BT_RESULT_BT bt_hsg_client_disable(void);
+EXTERN T_MFW_BT_RESULT_BT bt_hsg_server_disable(void);
+EXTERN T_MFW_BT_RESULT_BT bt_dun_gw_disable(void);
+EXTERN T_MFW_BT_RESULT_BT bt_fax_gw_disable(void);
+EXTERN T_MFW_BT_RESULT_BT bt_opp_client_disable(void);
+EXTERN T_MFW_BT_RESULT_BT bt_opp_server_disable(void);
+EXTERN T_MFW_BT_RESULT_BT bt_syn_server_disable(void);
+
+/*#ifdef PCA_6350*/
+EXTERN T_MFW_BT_RESULT_BT bt_pca_gw_enable(void);
+EXTERN T_MFW_BT_RESULT_BT bt_pca_gw_config(T_MFW_BT_PCA_CONFIG event_filters);
+EXTERN T_MFW_BT_RESULT_BT bt_pca_gw_security(UINT8 security_level);
+EXTERN T_MFW_BT_RESULT_BT bt_pca_gw_hangup(void);
+EXTERN T_MFW_BT_RESULT_BT bt_pca_gw_disable(void);
+
+/*#endif*/ /* PCA_6350 */
+
+/* Cartman added begin */
+
+EXTERN T_MFW_BT_RESULT_BT bt_hsg_connect_network (T_MFW_BT_HSG_CONNECT_NETWORK_ANSWER network_answer,
+                                                  T_MFW_BT_HSG_CONNECT_NETWORK_TYPE network_type,
+                                                  T_MFW_BT_HSG_PHONE_NUMBER phone_nb[]);
+EXTERN T_MFW_BT_RESULT_BT bt_hsg_send_specific_cmd_to_hs (T_MFW_BT_HSG_SPECIFIC_CMD_TYPE command_type,
+                                                  T_MFW_BT_HSG_CMD_TO_HS cmd[]);
+EXTERN T_MFW_BT_RESULT_BT bt_dun_gw_security (UINT8  security_level);
+EXTERN T_MFW_BT_RESULT_BT bt_opp_client_security (UINT8  security_level);
+EXTERN T_MFW_BT_RESULT_BT bt_opp_server_security (UINT8  security_level);
+
+/* Cartman added end */
+
+#endif