FreeCalypso > hg > fc-magnetite
comparison 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 |
comparison
equal
deleted
inserted
replaced
2:c41a534f33c6 | 3:93999a60b835 |
---|---|
1 /* | |
2 +-------------------------------------------------------------------+ | |
3 | PROJECT: MMI-Framework (8445) $Workfile:: mfw_bt_flash.h $| | |
4 | $Author:: Thomas Sommer $Revision:: 1 $| | |
5 | CREATED: 17.04.04 $Modtime:: 17.04.04 10:48 $| | |
6 | STATE : code | | |
7 +-------------------------------------------------------------------+ | |
8 | |
9 | |
10 MODULE : MFW_BT_FLASH | |
11 | |
12 PURPOSE : This module contains the functions for MFW Bluetooth Data Base facilities. It is a LOCAL | |
13 DATA BASE, thus doesn't require the BT stack to be started. Just call the mfw_bt_flash_init( ) | |
14 function to be able to use the following functions. | |
15 | |
16 */ | |
17 | |
18 #ifndef DEF_MFW_BT_FLASH_HEADER | |
19 #define DEF_MFW_BT_FLASH_HEADER | |
20 | |
21 #include "bta_api.h" | |
22 #include "mfw_bte.h" | |
23 | |
24 /* default values for mfw_bt_default_cfg */ | |
25 #define MFW_BT_ENABLED FALSE | |
26 #define MFW_BT_DISCOVERABLE_MODE TRUE | |
27 #define MFW_BT_DEVICE_NAME "BT Mobile Phone" | |
28 | |
29 /* config and device db paths */ | |
30 #define MFW_BT_CFG_ROOT_PATH "/bt" | |
31 #define MFW_BT_CFG_FILE "conf" | |
32 #define MFW_BT_SEC_FILE "security" | |
33 #define MFW_BT_VAR_ROOT_PATH "/var/bt" | |
34 #define RIV_PATH_SEP "/" | |
35 | |
36 | |
37 #define MFW_BT_MAX_PATH_LENGTH 127 | |
38 | |
39 | |
40 /* this is the core configuration for bta/riviera */ | |
41 typedef struct | |
42 { | |
43 BOOL bt_enable; /* TRUE if bluetooth is enabled */ | |
44 BOOL discoverable; /* discoverable mode FALSE = NONE, TRUE = GENERAL */ | |
45 char local_device_name[MFW_BT_NAME_LENGTH]; /* our device name */ | |
46 } tMFW_BT_CFG; | |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |
54 /* | |
55 ** Bluetooth Flash Manager Profile Prototypes | |
56 */ | |
57 | |
58 /******************************************************************************* | |
59 $Function: mfw_bt_flash_init | |
60 $Description: update the RAM information with the files in flash | |
61 $Returns: TRUE if OK, wrong is something failed => no stored file, and not possible to | |
62 create a new one. Typically, this mean the flash is not formatted. | |
63 $Arguments: None | |
64 *******************************************************************************/ | |
65 BOOL mfw_bt_flash_init( void ); | |
66 | |
67 /******************************************************************************* | |
68 $Function: mfw_bt_read_status | |
69 $Description: update the flash information with the files in flash | |
70 $Returns: TRUE if OK, wrong is something failed => no stored file, and not possible to | |
71 create a new one. Typically, this mean the flash is not formatted | |
72 $Arguments: UINT32, value of bt_enable flag. 1 if enabled. | |
73 *******************************************************************************/ | |
74 BOOL mfw_bt_read_status( void ); | |
75 | |
76 /******************************************************************************* | |
77 $Function: mfw_bt_store_status | |
78 $Description: update the BT status in flash | |
79 $Returns: MFW_BT_SUCCESS if OK, wrong is something failed => no stored file, and not possible to | |
80 create a new one. Typically, this mean the flash is not formatted | |
81 $Arguments: new BT status: TRUE if enabled, FALSE if disabled. | |
82 *******************************************************************************/ | |
83 T_MFW_BT_STATUS mfw_bt_store_status( BOOL new_enable_status ); | |
84 | |
85 /******************************************************************************* | |
86 $Function: mfw_bt_read_visibility | |
87 $Description: read the discoverability setting | |
88 $Returns: discoverability setting => TRUE if visible, FALSE if hidden | |
89 $Arguments: None | |
90 *******************************************************************************/ | |
91 BOOL mfw_bt_read_visibility( void ); | |
92 | |
93 /******************************************************************************* | |
94 $Function: mfw_bt_store_visibility | |
95 $Description: store the discoverability setting | |
96 $Returns: MFW_BT_SUCCESS if OK, MFW_BT_FAIL is something failed | |
97 => no stored file, and not possible to | |
98 create a new one. Typically, this mean the flash is not formatted | |
99 $Arguments: new discoverability setting: TRUE if visible, FALSE if hidden | |
100 *******************************************************************************/ | |
101 T_MFW_BT_STATUS mfw_bt_store_visibility( BOOL new_visibility ); | |
102 | |
103 /******************************************************************************* | |
104 $Function: mfw_bt_read_local_name | |
105 $Description: read local BT name | |
106 $Returns: local BT name. Pointer to a the string in the local database => this has to | |
107 be copied if needed for other things. | |
108 $Arguments: None | |
109 *******************************************************************************/ | |
110 UINT8* mfw_bt_read_local_name( void ); | |
111 | |
112 /******************************************************************************* | |
113 $Function: mfw_bt_store_local_name | |
114 $Description: update the local name in flash | |
115 $Returns: MFW_BT_SUCCESS if OK, MFW_BT_FAIL is something failed | |
116 => typically, this mean the flash is not formatted | |
117 $Arguments: new local name. This data is copied and not freed. | |
118 *******************************************************************************/ | |
119 T_MFW_BT_STATUS mfw_bt_store_local_name( char* new_name ); | |
120 | |
121 | |
122 /******************************************************************************* | |
123 $Function: mfw_bt_flash_store_device | |
124 $Description: stores peer device to NVRAM. If device not already in data base => add it. If | |
125 there, update its information. !!! It will overwrite existing information! Use | |
126 this function wisely!=> typically, call mfw_bt_flash_get_device_info before to | |
127 get the pointer of an existing device, or allocate memory for a new one. | |
128 $Returns: MFW_BT_DATA_BASE_FULL if data base full. MFW_BT_FAIL if not | |
129 able to write in flash. Else, success. | |
130 $Arguments: pointer to a device descriptor. IF NOT ALREADY IN THE DATABASE, WILL BE | |
131 COPIED. IF ALREADY IN THE DATABASE, THE DATA IS NOT COPIED! | |
132 *******************************************************************************/ | |
133 T_MFW_BT_STATUS mfw_bt_flash_store_device( T_MFW_BT_REM_DEVICE * p_rem_device); | |
134 | |
135 /******************************************************************************* | |
136 $Function: mfw_bt_clean_inq_db | |
137 $Description: clean the contents of the inquiry data base in RAM. To be called before each | |
138 new inquiry/discovery. | |
139 $Returns: | |
140 $Arguments: | |
141 *******************************************************************************/ | |
142 void mfw_bt_clean_inq_db( void ); | |
143 | |
144 /******************************************************************************* | |
145 $Function: mfw_bt_add_inq_device | |
146 $Description: copy the information received into the RAM inquiry database. | |
147 $Returns: T_MFW_BT_STATUS. MFW_BT_DATA_BASE_FULL or SUCCESS. | |
148 $Arguments: pointer to an inquiry result. Data is copied. | |
149 *******************************************************************************/ | |
150 T_MFW_BT_STATUS mfw_bt_add_inq_device( T_MFW_BT_DM_INQ_RES* p_rem_device); | |
151 | |
152 /******************************************************************************* | |
153 $Function: mfw_bt_add_disc_device | |
154 $Description: copy the information received into the RAM inquiry database. | |
155 $Returns: T_MFW_BT_STATUS. MFW_BT_DATA_BASE_FULL or SUCCESS. | |
156 $Arguments: pointer to a discovery result. Data is copied. | |
157 *******************************************************************************/ | |
158 T_MFW_BT_STATUS mfw_bt_add_disc_device( T_MFW_BT_DM_DISC_RES* p_rem_device); | |
159 | |
160 /******************************************************************************* | |
161 $Function: mfw_bt_get_device_info | |
162 $Description: gets the device record of a stored device. | |
163 $Returns: NULL if device not found. Pointer to a device structure if found. This data should | |
164 be copied if wanted to be used somewhere else. | |
165 If the device is not stored in Flash, the is_new flag is set => this means it is | |
166 a newly found device ( from an inquiry or discovery result ). | |
167 $Arguments: DB_ADDR of the device wanted. | |
168 *******************************************************************************/ | |
169 T_MFW_BT_REM_DEVICE * mfw_bt_get_device_info(BD_ADDR bd_addr); | |
170 | |
171 /******************************************************************************* | |
172 $Function: mfw_bt_get_device_by_service | |
173 $Description: gets a list of device records corresponding to the given service. If service = 0, | |
174 will return all the stored devices. | |
175 $Returns: T_MFW_BT_STATUS | |
176 $Arguments: services => mask of services to look for | |
177 | |
178 pp_device: a pointer to a T_MFW_BT_REM_DEVICE[MFW_BT_NUM_REM_DEVICE] | |
179 array. THIS MEMORY HAVE TO BE ALLOCATED!!! This function will add the | |
180 pointers one by one into this array!!! The pointers are pointing on local data => | |
181 might need to be copied. | |
182 | |
183 number_of_devices: will be used to return the number of devices matching | |
184 the service mask. | |
185 *******************************************************************************/ | |
186 void mfw_bt_get_device_by_service( T_MFW_BT_SERVICE_MASK services, | |
187 T_MFW_BT_REM_DEVICE ** pp_device, | |
188 UINT8* number_of_devices ); | |
189 | |
190 /******************************************************************************* | |
191 $Function: mfw_bt_flash_delete_device | |
192 $Description: deletes the device from nvram | |
193 $Returns: MFW_BT_FAIL, MFW_BT_SUCCESS, | |
194 MFW_BT_UNKNOWN_DEVICE | |
195 $Arguments: BD_ADDR of the device to remove from flash. | |
196 *******************************************************************************/ | |
197 T_MFW_BT_STATUS mfw_bt_flash_delete_device(BD_ADDR bd_addr); | |
198 | |
199 | |
200 #endif | |
201 | |
202 | |
203 | |
204 |