line source
/*
+--------------------------------------------------------------------+
| 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