Revert "Rollback changes to submit TIZEN:COMMON project"
[platform/core/connectivity/bluetooth-frwk.git] / include / bt-internal-types.h
1 /*
2  * Bluetooth-frwk
3  *
4  * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact:  Hocheol Seo <hocheol.seo@samsung.com>
7  *               Girishashok Joshi <girish.joshi@samsung.com>
8  *               Chanyeol Park <chanyeol.park@samsung.com>
9  *
10  * Licensed under the Apache License, Version 2.0 (the "License");
11  * you may not use this file except in compliance with the License.
12  * You may obtain a copy of the License at
13  *
14  *              http://www.apache.org/licenses/LICENSE-2.0
15  *
16  * Unless required by applicable law or agreed to in writing, software
17  * distributed under the License is distributed on an "AS IS" BASIS,
18  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19  * See the License for the specific language governing permissions and
20  * limitations under the License.
21  *
22  */
23
24
25 #ifndef _BT_INTERNAL_TYPES_H_
26 #define _BT_INTERNAL_TYPES_H_
27
28 #include <sys/types.h>
29 #include <libintl.h>
30
31 #include <dlog.h>
32
33 #include "bluetooth-api.h"
34
35 #ifdef __cplusplus
36 extern "C" {
37 #endif /* __cplusplus */
38
39 typedef enum {
40         BT_NO_SERVER,
41         BT_NATIVE_SERVER,
42         BT_CUSTOM_SERVER,
43         BT_FTP_SERVER,
44 } bt_server_type_t;
45
46 typedef enum {
47         BT_SYNC_REQ,
48         BT_ASYNC_REQ
49 } bt_req_type_t;
50
51 typedef enum {
52         BT_MANAGER_EVENT = 0x01,
53         BT_ADAPTER_EVENT,
54         BT_LE_ADAPTER_EVENT,
55         BT_DEVICE_EVENT,
56         BT_HID_EVENT,
57         BT_NETWORK_EVENT,
58         BT_HEADSET_EVENT,
59         BT_AVRCP_EVENT,
60         BT_OPP_CLIENT_EVENT,
61         BT_OPP_SERVER_EVENT,
62         BT_PBAP_CLIENT_EVENT,
63         BT_RFCOMM_CLIENT_EVENT,
64         BT_RFCOMM_SERVER_EVENT,
65         BT_AGENT_EVENT,
66         BT_OBJECT_MANAGER_EVENT,
67         BT_MEDIA_TRANSFER_EVENT,
68         BT_HF_AGENT_EVENT,
69         BT_AVRCP_CONTROL_EVENT,
70         /* Will be added */
71 } bt_event_type_t;
72
73 typedef enum {
74         BT_OBEX_SERVER = 0x00,
75         BT_RFCOMM_SERVER = 0x01,
76 } bt_osp_server_type_t;
77
78 typedef enum {
79         BT_BLUEZ_SERVICE = 0x00,
80         BT_OBEX_SERVICE,
81         BT_AGENT_SERVICE,
82         BT_CORE_SERVICE,
83         BT_CHECK_PRIVILEGE,
84 } bt_service_type_t;
85
86 typedef enum {
87         BT_RFCOMM_UUID = 0x00,
88         BT_RFCOMM_CHANNEL,
89 } bt_rfcomm_connect_type_t;
90
91 typedef enum {
92         BT_ADAPTER_DISABLED = 0x00,
93         BT_ADAPTER_ENABLED,
94 } bt_adapter_status_t;
95
96 typedef enum {
97         BT_ADAPTER_LE_DISABLED = 0x00,
98         BT_ADAPTER_LE_ENABLED,
99 } bt_adapter_le_status_t;
100
101 #define BT_ADDRESS_STR_LEN 18
102 #define BT_DBUS_TIMEOUT_MAX 50000
103 #define BT_SERVER_ACCEPT_TIMEOUT 2000 /* 2 seconds */
104 #define BT_FILE_PATH_MAX 256
105 #define BT_META_DATA_MAX_LEN 512 + 1
106
107 #define BT_HFP_AUDIO_GATEWAY_UUID "0000111f-0000-1000-8000-00805f9b34fb"
108 #define BT_A2DP_UUID "0000110D-0000-1000-8000-00805F9B34FB"
109 #define BT_AVRCP_TARGET_UUID "0000110c-0000-1000-8000-00805f9b34fb"
110 #define BT_OPP_UUID "00001105-0000-1000-8000-00805f9b34fb"
111 #define BT_FTP_UUID "00001106-0000-1000-8000-00805f9b34fb"
112 #define BT_SPP_UUID "00001101-0000-1000-8000-00805f9b34fb"
113 #define BT_HID_UUID "00001124-0000-1000-8000-00805f9b34fb"
114 #define BT_PAN_PANU_UUID "00001115-0000-1000-8000-00805f9b34fb"
115 #define BT_PAN_NAP_UUID "00001116-0000-1000-8000-00805f9b34fb"
116 #define BT_PAN_GN_UUID "00001117-0000-1000-8000-00805f9b34fb"
117
118 #define BT_FUNC_BASE ((int)(0x0000))
119 #define BT_FUNC_DEVICE_BASE ((int)(BT_FUNC_BASE + 0x0050))
120 #define BT_FUNC_HID_BASE ((int)(BT_FUNC_DEVICE_BASE + 0x0020))
121 #define BT_FUNC_NETWORK_BASE ((int)(BT_FUNC_HID_BASE + 0x0020))
122 #define BT_FUNC_AUDIO_BASE ((int)(BT_FUNC_NETWORK_BASE + 0x0020))
123 #define BT_FUNC_OOB_BASE ((int)(BT_FUNC_AUDIO_BASE + 0x0020))
124 #define BT_FUNC_AVRCP_BASE ((int)(BT_FUNC_OOB_BASE + 0x0020))
125 #define BT_FUNC_OPP_BASE ((int)(BT_FUNC_AVRCP_BASE + 0x0020))
126 #define BT_FUNC_RFCOMM_BASE ((int)(BT_FUNC_OPP_BASE + 0x0020))
127 #define BT_FUNC_PBAP_BASE ((int)(BT_FUNC_RFCOMM_BASE + 0x0020))
128 #define BT_FUNC_HDP_BASE ((int)(BT_FUNC_PBAP_BASE + 0x0020))
129 #define BT_FUNC_GATT_BASE ((int)(BT_FUNC_HDP_BASE + 0x0020))
130
131 typedef enum {
132         BT_CHECK_ADAPTER = BT_FUNC_BASE,
133         BT_ENABLE_ADAPTER,
134         BT_DISABLE_ADAPTER,
135         BT_RECOVER_ADAPTER,
136         BT_SET_DISCOVERABLE_TIME,
137         BT_GET_DISCOVERABLE_TIME,
138         BT_IGNORE_AUTO_PAIRING,
139         BT_GET_LOCAL_ADDRESS,
140         BT_GET_LOCAL_VERSION,
141         BT_GET_LOCAL_NAME,
142         BT_SET_LOCAL_NAME,
143         BT_IS_SERVICE_USED,
144         BT_GET_DISCOVERABLE_MODE,
145         BT_SET_DISCOVERABLE_MODE,
146         BT_START_DISCOVERY,
147         BT_START_CUSTOM_DISCOVERY,
148         BT_CANCEL_DISCOVERY,
149         BT_START_LE_DISCOVERY,
150         BT_STOP_LE_DISCOVERY,
151         BT_IS_DISCOVERYING,
152         BT_IS_LE_DISCOVERYING,
153         BT_ENABLE_RSSI,
154         BT_GET_RSSI,
155         BT_IS_CONNECTABLE,
156         BT_SET_CONNECTABLE,
157         BT_GET_BONDED_DEVICES,
158         BT_RESET_ADAPTER,
159         BT_SET_ADVERTISING,
160         BT_SET_CUSTOM_ADVERTISING,
161         BT_GET_ADVERTISING_DATA,
162         BT_SET_ADVERTISING_DATA,
163         BT_SET_SCAN_PARAMETERS,
164         BT_GET_SCAN_RESPONSE_DATA,
165         BT_SET_SCAN_RESPONSE_DATA,
166         BT_IS_ADVERTISING,
167         BT_SET_MANUFACTURER_DATA,
168         BT_LE_CONN_UPDATE,
169         BT_ADD_WHITE_LIST,
170         BT_REMOVE_WHITE_LIST,
171         BT_CLEAR_WHITE_LIST,
172         BT_BOND_DEVICE = BT_FUNC_DEVICE_BASE,
173         BT_BOND_DEVICE_BY_TYPE,
174         BT_CANCEL_BONDING,
175         BT_UNBOND_DEVICE,
176         BT_SEARCH_SERVICE,
177         BT_CANCEL_SEARCH_SERVICE,
178         BT_GET_BONDED_DEVICE,
179         BT_SET_ALIAS,
180         BT_SET_AUTHORIZATION,
181         BT_UNSET_AUTHORIZATION,
182         BT_IS_DEVICE_CONNECTED,
183         BT_HID_CONNECT = BT_FUNC_HID_BASE,
184         BT_HID_DISCONNECT,
185         BT_NETWORK_ACTIVATE = BT_FUNC_NETWORK_BASE,
186         BT_NETWORK_DEACTIVATE,
187         BT_NETWORK_CONNECT,
188         BT_NETWORK_DISCONNECT,
189         BT_NETWORK_SERVER_DISCONNECT,
190         BT_AUDIO_CONNECT = BT_FUNC_AUDIO_BASE,
191         BT_AUDIO_DISCONNECT,
192         BT_AG_CONNECT,
193         BT_AG_DISCONNECT,
194         BT_AV_CONNECT,
195         BT_AV_DISCONNECT,
196         BT_HF_CONNECT,
197         BT_HF_DISCONNECT,
198         BT_GET_SPEAKER_GAIN,
199         BT_SET_SPEAKER_GAIN,
200         BT_SET_CONTENT_PROTECT,
201         BT_OOB_READ_LOCAL_DATA = BT_FUNC_OOB_BASE,
202         BT_OOB_ADD_REMOTE_DATA,
203         BT_OOB_REMOVE_REMOTE_DATA,
204         BT_AVRCP_SET_TRACK_INFO = BT_FUNC_AVRCP_BASE,
205         BT_AVRCP_SET_PROPERTY,
206         BT_AVRCP_SET_PROPERTIES,
207         BT_AVRCP_CONTROL_CONNECT,
208         BT_AVRCP_CONTROL_DISCONNECT,
209         BT_AVRCP_HANDLE_CONTROL,
210         BT_AVRCP_CONTROL_SET_PROPERTY,
211         BT_AVRCP_CONTROL_GET_PROPERTY,
212         BT_AVRCP_GET_TRACK_INFO,
213         BT_OPP_PUSH_FILES = BT_FUNC_OPP_BASE,
214         BT_OPP_CANCEL_PUSH,
215         BT_OPP_IS_PUSHING_FILES,
216         BT_OBEX_SERVER_ALLOCATE,
217         BT_OBEX_SERVER_DEALLOCATE,
218         BT_OBEX_SERVER_IS_ACTIVATED,
219         BT_OBEX_SERVER_ACCEPT_CONNECTION,
220         BT_OBEX_SERVER_REJECT_CONNECTION,
221         BT_OBEX_SERVER_ACCEPT_FILE,
222         BT_OBEX_SERVER_REJECT_FILE,
223         BT_OBEX_SERVER_SET_PATH,
224         BT_OBEX_SERVER_SET_ROOT,
225         BT_OBEX_SERVER_CANCEL_TRANSFER,
226         BT_OBEX_SERVER_CANCEL_ALL_TRANSFERS,
227         BT_OBEX_SERVER_IS_RECEIVING,
228         BT_RFCOMM_CLIENT_CONNECT = BT_FUNC_RFCOMM_BASE,
229         BT_RFCOMM_CLIENT_CANCEL_CONNECT,
230         BT_RFCOMM_CLIENT_IS_CONNECTED,
231         BT_RFCOMM_SOCKET_DISCONNECT,
232         BT_RFCOMM_SOCKET_WRITE,
233         BT_RFCOMM_CREATE_SOCKET,
234         BT_RFCOMM_REMOVE_SOCKET,
235         BT_RFCOMM_LISTEN,
236         BT_RFCOMM_IS_UUID_AVAILABLE,
237         BT_RFCOMM_ACCEPT_CONNECTION,
238         BT_RFCOMM_REJECT_CONNECTION,
239         BT_PBAP_CONNECT = BT_FUNC_PBAP_BASE,
240         BT_PBAP_DISCONNECT,
241         BT_PBAP_GET_PHONEBOOK_SIZE,
242         BT_PBAP_GET_PHONEBOOK,
243         BT_PBAP_GET_LIST,
244         BT_PBAP_PULL_VCARD,
245         BT_PBAP_PHONEBOOK_SEARCH,
246
247         BT_ENABLE_ADAPTER_LE,
248         BT_DISABLE_ADAPTER_LE,
249
250         BT_CONNECT_LE,
251         BT_DISCONNECT_LE,
252         BT_SET_LE_PRIVACY,
253         BT_HDP_CONNECT = BT_FUNC_HDP_BASE,
254         BT_HDP_DISCONNECT,
255         BT_HDP_SEND_DATA,
256         BT_GATT_GET_PRIMARY_SERVICES = BT_FUNC_GATT_BASE,
257         BT_GATT_DISCOVER_CHARACTERISTICS,
258         BT_GATT_SET_PROPERTY_REQUEST,
259         BT_GATT_READ_CHARACTERISTIC,
260         BT_GATT_DISCOVER_CHARACTERISTICS_DESCRIPTOR,
261 } bt_function_t;
262
263 typedef struct {
264         char title[BT_META_DATA_MAX_LEN];
265         char artist[BT_META_DATA_MAX_LEN];
266         char album[BT_META_DATA_MAX_LEN];
267         char genre[BT_META_DATA_MAX_LEN];
268         unsigned int total_tracks;
269         unsigned int number;
270         unsigned int duration;
271 } media_metadata_t;
272
273 #define BT_COMMON_PKG "ug-setting-bluetooth-efl"
274
275 /* Need to convert the design ID */
276 #define BT_STR_NOT_SUPPORT "Not support"
277
278 #ifndef TIZEN_WEARABLE
279 #define BT_FILE_VISIBLE_TIME "file/private/libug-setting-bluetooth-efl/visibility_time"
280 #endif
281
282 #define BT_OFF_DUE_TO_FLIGHT_MODE "file/private/bt-core/flight_mode_deactivated"
283 #define BT_OFF_DUE_TO_POWER_SAVING_MODE "file/private/bt-core/powersaving_mode_deactivated"
284 #define BT_OFF_DUE_TO_TIMEOUT "file/private/bt-service/bt_off_due_to_timeout"
285
286 #define BT_EVENT_SERVICE "org.projectx.bt_event"
287 #define BT_HF_AGENT_SERVICE     "org.bluez.HandsfreeAgent"
288 #define BT_HF_SERVICE_INTERFACE "org.tizen.HfApp"
289 #define BT_CORE_EVENT_INTERFACE "org.projectx.bt_core_event"
290 #define BT_HF_LOCAL_TERM_EVENT_INTERFACE "org.projectx.bt_hf_local_term"
291
292 #define BT_ADAPTER_PATH "/org/projectx/bt/adapter"
293 #define BT_LE_ADAPTER_PATH "/org/projectx/bt/le/adapter"
294 #define BT_DEVICE_PATH "/org/projectx/bt/device"
295 #define BT_HID_PATH "/org/projectx/bt/hid"
296 #define BT_HEADSET_PATH "/org/projectx/bt/headset"
297 #define BT_AVRCP_PATH "/org/projectx/bt/avrcp"
298 #define BT_NETWORK_PATH "/org/projectx/bt/newtork"
299 #define BT_OPP_CLIENT_PATH "/org/projectx/bt/opp_client"
300 #define BT_OPP_SERVER_PATH "/org/projectx/bt/opp_server"
301 #define BT_PBAP_CLIENT_PATH "/org/projectx/bt/pbap_client"
302 #define BT_RFCOMM_CLIENT_PATH "/org/projectx/bt/rfcomm_client"
303 #define BT_RFCOMM_SERVER_PATH "/org/projectx/bt/rfcomm_server"
304 #define BT_HF_AGENT_PATH "/org/bluez/handsfree_agent"
305 #define BT_CORE_EVENT_PATH "/org/projectx/bt/bt_core"
306 #define BT_HF_LOCAL_TERM_EVENT_PATH "/org/projectx/bt/hf_local_term"
307 #define BT_AVRCP_CONTROL_PATH "/org/projectx/bt/avrcp_control"
308
309 #define BT_ENABLED "Enabled"
310 #define BT_DISABLED "Disabled"
311 #define BT_LE_ENABLED "LeEnabled"
312 #define BT_LE_DISABLED "LeDisabled"
313 #define BT_DISCOVERABLE_MODE_CHANGED "DiscoverableModeChanged"
314 #define BT_DISCOVERABLE_TIMEOUT_CHANGED "DiscoverableTimeoutChanged"
315 #define BT_CONNECTABLE_CHANGED "ConnectableChanged"
316 #define BT_ADAPTER_NAME_CHANGED "AdapterNameChanged"
317 #define BT_DISCOVERY_STARTED "DiscoveryStarted"
318 #define BT_DISCOVERY_FINISHED "DiscoveryFinished"
319 #define BT_DEVICE_FOUND "DeviceFound"
320 #define BT_DEVICE_DISAPPEARED "DeviceDisappeared"
321 #define BT_LE_DISCOVERY_STARTED "LEDiscoveryStarted"
322 #define BT_LE_DISCOVERY_FINISHED "LEDiscoveryFinished"
323 #define BT_LE_DEVICE_FOUND "LEDeviceFound"
324 #define BT_ADVERTISING_STARTED "AdvertisingStarted"
325 #define BT_ADVERTISING_STOPPED "AdvertisingStopped"
326 #define BT_ADVERTISING_MANUFACTURER_DATA_CHANGED "AdvertisingManufacturerDataChanged"
327 #define BT_SCAN_RESPONSE_MANUFACTURER_DATA_CHANGED "ScanResponseManufacturerDataChanged"
328 #define BT_MANUFACTURER_DATA_CHANGED "ManufacturerDataChanged"
329 #define BT_DEVICE_CONNECTED "DeviceConnected"
330 #define BT_DEVICE_DISCONNECTED "DeviceDisconnected"
331 #define BT_DEVICE_PROFILE_STATE_CHANGED "ProfileStateChanged"
332 #define BT_BOND_CREATED "BondCreated"
333 #define BT_BOND_DESTROYED "BondDestroyed"
334 #define BT_DEVICE_AUTHORIZED "DeviceAuthorized"
335 #define BT_DEVICE_UNAUTHORIZED "DeviceUnauthorized"
336 #define BT_RSSI_MONITORING_ENABLED "RssiMonitoringEnabled"
337 #define BT_RSSI_ALERT "RssiMonitoringAlert"
338 #define BT_RAW_RSSI_EVENT "RawRssiEvent"
339 #define BT_SERVICE_SEARCHED "ServiceSearched"
340 #define BT_INPUT_CONNECTED "InputConnected"
341 #define BT_INPUT_DISCONNECTED "InputDisconnected"
342 #define BT_PBAP_CONNECTED "PbapConnected"
343 #define BT_PBAP_PHONEBOOK_SIZE "PbapPhonebookSize"
344 #define BT_PBAP_PHONEBOOK_PULL "PbapPhonebookPull"
345 #define BT_PBAP_VCARD_LIST "PbapvCardList"
346 #define BT_PBAP_VCARD_PULL "PbapvCardPull"
347 #define BT_PBAP_SEARCH_PHONEBOOK "PbapSearchPhonebook"
348 #define BT_HEADSET_CONNECTED "HeadsetConnected"
349 #define BT_HEADSET_DISCONNECTED "HeadsetDisconnected"
350 #define BT_STEREO_HEADSET_CONNECTED "StereoHeadsetConnected"
351 #define BT_STEREO_HEADSET_DISCONNECTED "StereoHeadsetDisconnected"
352 #define BT_SCO_CONNECTED "ScoConnected"
353 #define BT_SCO_DISCONNECTED "ScoDisconnected"
354 #define BT_SPEAKER_GAIN "SpeakerGain"
355 #define BT_MICROPHONE_GAIN "MicrophoneGain"
356 #define BT_HF_RING "Ring"
357 #define BT_HF_CALL_TERMINATED "CallTerminated"
358 #define BT_HF_CALL_STARTED "CallStarted"
359 #define BT_HF_CALL_ENDED "CallEnded"
360 #define BT_NETWORK_CONNECTED "NetworkConnected"
361 #define BT_NETWORK_DISCONNECTED "NetworkDisconnected"
362 #define BT_NETWORK_SERVER_CONNECTED "NetworkServerConnected"
363 #define BT_NETWORK_SERVER_DISCONNECTED "NetworkServerDisconnected"
364 #define BT_OPP_CONNECTED "OppConnected"
365 #define BT_OPP_DISCONNECTED "OppDisconnected"
366 #define BT_TRANSFER_CONNECTED "TransferConnected"
367 #define BT_TRANSFER_DISCONNECTED "TransferDisonnected"
368 #define BT_TRANSFER_STARTED "TransferStarted"
369 #define BT_TRANSFER_PROGRESS "TransferProgress"
370 #define BT_TRANSFER_COMPLETED "TransferCompleted"
371 #define BT_TRANSFER_AUTHORIZED "TransferAuthorized"
372 #define BT_CONNECTION_AUTHORIZED "ConnectionAuthorized"
373 #define BT_RFCOMM_SERVER_REMOVED "RfcommServerRemoved"
374 #define BT_RFCOMM_DATA_RECEIVED "RfcommDataReceived"
375 #define BT_RFCOMM_CONNECTED "RfcommConnected"
376 #define BT_RFCOMM_DISCONNECTED "RfcommDisconnected"
377 #define BT_AVRCP_CONNECTED "AvrcpConnected"
378 #define BT_AVRCP_DISCONNECTED "AvrcpDisconnected"
379 #define BT_MEDIA_SHUFFLE_STATUS "MediaShuffleStatus"
380 #define BT_MEDIA_EQUALIZER_STATUS "MediaEqualizerStatus"
381 #define BT_MEDIA_REPEAT_STATUS "MediaRepeatStatus"
382 #define BT_MEDIA_SCAN_STATUS "MediaScanStatus"
383 #define BT_MEDIA_PLAY_STATUS "MediaPlayStatus"
384 #define BT_MEDIA_POSITION_STATUS "MediaPositionStatus"
385 #define BT_MEDIA_TRACK_CHANGE "MediaTrackStatus"
386 #define BT_NAME_OWNER_CHANGED "NameOwnerChanged"
387 #define BT_GATT_CONNECTED "GattConnected"
388 #define BT_GATT_DISCONNECTED "GattDisconnected"
389 #define BT_HARDWARE_ERROR "HardwareError"
390 #define BT_TX_TIMEOUT_ERROR "TxTimeoutError"
391 #define BT_HF_LOCAL_TERM "HandsfreeLocalTermination"
392
393 #ifdef __cplusplus
394 }
395 #endif /* __cplusplus */
396 #endif /*_BT_INTERNAL_TYPES_H_*/
397