FreeCalypso > hg > fc-magnetite
diff src/aci2/mfw/mfw_bt_flash.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_flash.h Mon Sep 26 00:29:36 2016 +0000 @@ -0,0 +1,204 @@ +/* ++-------------------------------------------------------------------+ +| PROJECT: MMI-Framework (8445) $Workfile:: mfw_bt_flash.h $| +| $Author:: Thomas Sommer $Revision:: 1 $| +| CREATED: 17.04.04 $Modtime:: 17.04.04 10:48 $| +| STATE : code | ++-------------------------------------------------------------------+ + + + MODULE : MFW_BT_FLASH + + PURPOSE : This module contains the functions for MFW Bluetooth Data Base facilities. It is a LOCAL + DATA BASE, thus doesn't require the BT stack to be started. Just call the mfw_bt_flash_init( ) + function to be able to use the following functions. + +*/ + +#ifndef DEF_MFW_BT_FLASH_HEADER +#define DEF_MFW_BT_FLASH_HEADER + +#include "bta_api.h" +#include "mfw_bte.h" + +/* default values for mfw_bt_default_cfg */ +#define MFW_BT_ENABLED FALSE +#define MFW_BT_DISCOVERABLE_MODE TRUE +#define MFW_BT_DEVICE_NAME "BT Mobile Phone" + +/* config and device db paths */ +#define MFW_BT_CFG_ROOT_PATH "/bt" +#define MFW_BT_CFG_FILE "conf" +#define MFW_BT_SEC_FILE "security" +#define MFW_BT_VAR_ROOT_PATH "/var/bt" +#define RIV_PATH_SEP "/" + + +#define MFW_BT_MAX_PATH_LENGTH 127 + + +/* this is the core configuration for bta/riviera */ +typedef struct +{ + BOOL bt_enable; /* TRUE if bluetooth is enabled */ + BOOL discoverable; /* discoverable mode FALSE = NONE, TRUE = GENERAL */ + char local_device_name[MFW_BT_NAME_LENGTH]; /* our device name */ +} tMFW_BT_CFG; + + + + + + + +/* +** Bluetooth Flash Manager Profile Prototypes +*/ + +/******************************************************************************* + $Function: mfw_bt_flash_init + $Description: update the RAM information with the files in flash + $Returns: TRUE if OK, wrong is something failed => no stored file, and not possible to + create a new one. Typically, this mean the flash is not formatted. + $Arguments: None +*******************************************************************************/ +BOOL mfw_bt_flash_init( void ); + +/******************************************************************************* + $Function: mfw_bt_read_status + $Description: update the flash information with the files in flash + $Returns: TRUE if OK, wrong is something failed => no stored file, and not possible to + create a new one. Typically, this mean the flash is not formatted + $Arguments: UINT32, value of bt_enable flag. 1 if enabled. +*******************************************************************************/ +BOOL mfw_bt_read_status( void ); + +/******************************************************************************* + $Function: mfw_bt_store_status + $Description: update the BT status in flash + $Returns: MFW_BT_SUCCESS if OK, wrong is something failed => no stored file, and not possible to + create a new one. Typically, this mean the flash is not formatted + $Arguments: new BT status: TRUE if enabled, FALSE if disabled. +*******************************************************************************/ +T_MFW_BT_STATUS mfw_bt_store_status( BOOL new_enable_status ); + +/******************************************************************************* + $Function: mfw_bt_read_visibility + $Description: read the discoverability setting + $Returns: discoverability setting => TRUE if visible, FALSE if hidden + $Arguments: None +*******************************************************************************/ +BOOL mfw_bt_read_visibility( void ); + +/******************************************************************************* + $Function: mfw_bt_store_visibility + $Description: store the discoverability setting + $Returns: MFW_BT_SUCCESS if OK, MFW_BT_FAIL is something failed + => no stored file, and not possible to + create a new one. Typically, this mean the flash is not formatted + $Arguments: new discoverability setting: TRUE if visible, FALSE if hidden +*******************************************************************************/ +T_MFW_BT_STATUS mfw_bt_store_visibility( BOOL new_visibility ); + +/******************************************************************************* + $Function: mfw_bt_read_local_name + $Description: read local BT name + $Returns: local BT name. Pointer to a the string in the local database => this has to + be copied if needed for other things. + $Arguments: None +*******************************************************************************/ +UINT8* mfw_bt_read_local_name( void ); + +/******************************************************************************* + $Function: mfw_bt_store_local_name + $Description: update the local name in flash + $Returns: MFW_BT_SUCCESS if OK, MFW_BT_FAIL is something failed + => typically, this mean the flash is not formatted + $Arguments: new local name. This data is copied and not freed. +*******************************************************************************/ +T_MFW_BT_STATUS mfw_bt_store_local_name( char* new_name ); + + +/******************************************************************************* + $Function: mfw_bt_flash_store_device + $Description: stores peer device to NVRAM. If device not already in data base => add it. If + there, update its information. !!! It will overwrite existing information! Use + this function wisely!=> typically, call mfw_bt_flash_get_device_info before to + get the pointer of an existing device, or allocate memory for a new one. + $Returns: MFW_BT_DATA_BASE_FULL if data base full. MFW_BT_FAIL if not + able to write in flash. Else, success. + $Arguments: pointer to a device descriptor. IF NOT ALREADY IN THE DATABASE, WILL BE + COPIED. IF ALREADY IN THE DATABASE, THE DATA IS NOT COPIED! +*******************************************************************************/ +T_MFW_BT_STATUS mfw_bt_flash_store_device( T_MFW_BT_REM_DEVICE * p_rem_device); + +/******************************************************************************* + $Function: mfw_bt_clean_inq_db + $Description: clean the contents of the inquiry data base in RAM. To be called before each + new inquiry/discovery. + $Returns: + $Arguments: +*******************************************************************************/ +void mfw_bt_clean_inq_db( void ); + +/******************************************************************************* + $Function: mfw_bt_add_inq_device + $Description: copy the information received into the RAM inquiry database. + $Returns: T_MFW_BT_STATUS. MFW_BT_DATA_BASE_FULL or SUCCESS. + $Arguments: pointer to an inquiry result. Data is copied. +*******************************************************************************/ +T_MFW_BT_STATUS mfw_bt_add_inq_device( T_MFW_BT_DM_INQ_RES* p_rem_device); + +/******************************************************************************* + $Function: mfw_bt_add_disc_device + $Description: copy the information received into the RAM inquiry database. + $Returns: T_MFW_BT_STATUS. MFW_BT_DATA_BASE_FULL or SUCCESS. + $Arguments: pointer to a discovery result. Data is copied. +*******************************************************************************/ +T_MFW_BT_STATUS mfw_bt_add_disc_device( T_MFW_BT_DM_DISC_RES* p_rem_device); + +/******************************************************************************* + $Function: mfw_bt_get_device_info + $Description: gets the device record of a stored device. + $Returns: NULL if device not found. Pointer to a device structure if found. This data should + be copied if wanted to be used somewhere else. + If the device is not stored in Flash, the is_new flag is set => this means it is + a newly found device ( from an inquiry or discovery result ). + $Arguments: DB_ADDR of the device wanted. +*******************************************************************************/ +T_MFW_BT_REM_DEVICE * mfw_bt_get_device_info(BD_ADDR bd_addr); + +/******************************************************************************* + $Function: mfw_bt_get_device_by_service + $Description: gets a list of device records corresponding to the given service. If service = 0, + will return all the stored devices. + $Returns: T_MFW_BT_STATUS + $Arguments: services => mask of services to look for + + pp_device: a pointer to a T_MFW_BT_REM_DEVICE[MFW_BT_NUM_REM_DEVICE] + array. THIS MEMORY HAVE TO BE ALLOCATED!!! This function will add the + pointers one by one into this array!!! The pointers are pointing on local data => + might need to be copied. + + number_of_devices: will be used to return the number of devices matching + the service mask. +*******************************************************************************/ +void mfw_bt_get_device_by_service( T_MFW_BT_SERVICE_MASK services, + T_MFW_BT_REM_DEVICE ** pp_device, + UINT8* number_of_devices ); + +/******************************************************************************* + $Function: mfw_bt_flash_delete_device + $Description: deletes the device from nvram + $Returns: MFW_BT_FAIL, MFW_BT_SUCCESS, + MFW_BT_UNKNOWN_DEVICE + $Arguments: BD_ADDR of the device to remove from flash. +*******************************************************************************/ +T_MFW_BT_STATUS mfw_bt_flash_delete_device(BD_ADDR bd_addr); + + +#endif + + + +