50 #define BTRMGR_MAX_STR_LEN 256
51 #define BTRMGR_NAME_LEN_MAX 64
52 #define BTRMGR_STR_LEN 32
53 #define BTRMGR_DEVICE_COUNT_MAX 32
54 #define BTRMGR_ADAPTER_COUNT_MAX 16
55 #define BTRMGR_MAX_DEVICE_PROFILE 32
56 #define BTRMGR_LE_FLAG_LIST_SIZE 10
57 #define BTRMGR_MEDIA_ELEMENT_COUNT_MAX 64
58 #define BTRMGR_DEVICE_MAC_LEN 6
59 #define BTRMGR_MAX_DEV_OP_DATA_LEN BTRMGR_MAX_STR_LEN * 3
60 #define BTRMGR_SERVICE_DATA_LEN_MAX 32
61 #define BTRMGR_UUID_STR_LEN_MAX 64
63 #define BTRMGR_DEVICE_INFORMATION_UUID "0x180a"
64 #define BTRMGR_RDKDIAGNOSTICS_UUID "0xFDB9"
65 #define BTRMGR_COLUMBO_UUID "64d9f574-7756-4ebc-9ebe-ed5f7f2871ab"
67 #define BTRMGR_SYSTEM_ID_UUID "0x2a23"
68 #define BTRMGR_MODEL_NUMBER_UUID "0x2a24"
69 #define BTRMGR_SERIAL_NUMBER_UUID "0x2a25"
70 #define BTRMGR_FIRMWARE_REVISION_UUID "0x2a26"
71 #define BTRMGR_HARDWARE_REVISION_UUID "0x2a27"
72 #define BTRMGR_SOFTWARE_REVISION_UUID "0x2a28"
73 #define BTRMGR_MANUFACTURER_NAME_UUID "0x2a29"
75 #define BTRMGR_DEVICE_STATUS_UUID "1f113f2c-cc01-4f03-9c5c-4b273ed631bb"
76 #define BTRMGR_FWDOWNLOAD_STATUS_UUID "915f96a6-3788-4271-a7ea-6820e98896b8"
77 #define BTRMGR_WEBPA_STATUS_UUID "9d5d3aae-51e3-4767-a055-59febd71de9d"
78 #define BTRMGR_WIFIRADIO1_STATUS_UUID "59a99d5a-3d2f-4265-af13-316c7c76b1f0"
79 #define BTRMGR_WIFIRADIO2_STATUS_UUID "9d6cf473-4fa6-4868-bf2b-c310f38df0c8"
80 #define BTRMGR_RF_STATUS_UUID "91b9497e-634c-408a-9f77-8375b1461b8b"
82 #define BTRMGR_COLUMBO_START "7c3fea2e-c082-4e17-b78b-1e69ca3889b9"
83 #define BTRMGR_COLUMBO_STOP "5a7e479b-9fac-4d73-b5b0-906669946720"
84 #define BTRMGR_COLUMBO_STATUS "26f05ee1-cefa-460d-8985-98c0dc078d6c"
85 #define BTRMGR_COLUMBO_REPORT "c1e62616-b4de-4f72-86ca-9d9469041b6d"
86 #define BTRMGR_DEVICE_MAC "device_mac"
87 #define BTRMGR_WIFI_CONNECT_DUMMY_UUID "4ffab12b-e545-1baf-1dc6-bd3fd749716a"
88 #define BTRMGR_WIFI_SSID_DUMMY_UUID "22d68435-f7af-1156-b2e2-c7d17211b026"
89 #define BTRMGR_WIFI_PWD_DUMMY_UUID "6bfebfe7-294d-2f4e-a4b3-b04f2a66f2f0"
90 #define BTRMGR_WIFI_SEC_MODE_DUMMY_UUID "112f9c72-82c1-93a3-d4fc-3dba3441b2c8"
91 #define BTRMGR_LEONBRDG_SERVICE_UUID_SETUP "8DF5AD72-9BBC-4167-BCD9-E8EB9E4D671B"
92 #define BTRMGR_LEONBRDG_UUID_QR_CODE "12984C43-3B43-4952-A387-715DCF9795C6"
93 #define BTRMGR_LEONBRDG_UUID_PROVISION_STATUS "79DEFBC1-EB45-448D-9F2A-1ECC3A47A242"
94 #define BTRMGR_LEONBRDG_UUID_PUBLIC_KEY "CB9FEE4D-C6ED-48C1-AB46-C3F2DA38EEDD"
95 #define BTRMGR_LEONBRDG_UUID_WIFI_CONFIG "B87A896B-4052-4CAB-A7E7-A71594D9C353"
96 #define BTRMGR_LEONBRDG_UUID_SSID_LIST "AAF92F88-7F35-48F1-9C3E-1FE5C3978B7A"
98 typedef unsigned long long int BTRMgrDeviceHandle;
99 typedef unsigned long long int BTRMgrMediaElementHandle;
105 BTRMGR_RESULT_SUCCESS = 0,
106 BTRMGR_RESULT_GENERIC_FAILURE = -1,
107 BTRMGR_RESULT_INVALID_INPUT = -2,
108 BTRMGR_RESULT_INIT_FAILED = -3
115 BTRMGR_EVENT_DEVICE_OUT_OF_RANGE = 100,
116 BTRMGR_EVENT_DEVICE_DISCOVERY_UPDATE,
117 BTRMGR_EVENT_DEVICE_DISCOVERY_COMPLETE,
118 BTRMGR_EVENT_DEVICE_PAIRING_COMPLETE,
119 BTRMGR_EVENT_DEVICE_UNPAIRING_COMPLETE,
120 BTRMGR_EVENT_DEVICE_CONNECTION_COMPLETE,
121 BTRMGR_EVENT_DEVICE_DISCONNECT_COMPLETE,
122 BTRMGR_EVENT_DEVICE_PAIRING_FAILED,
123 BTRMGR_EVENT_DEVICE_UNPAIRING_FAILED,
124 BTRMGR_EVENT_DEVICE_CONNECTION_FAILED,
125 BTRMGR_EVENT_DEVICE_DISCONNECT_FAILED,
126 BTRMGR_EVENT_RECEIVED_EXTERNAL_PAIR_REQUEST,
127 BTRMGR_EVENT_RECEIVED_EXTERNAL_CONNECT_REQUEST,
128 BTRMGR_EVENT_RECEIVED_EXTERNAL_PLAYBACK_REQUEST,
129 BTRMGR_EVENT_DEVICE_FOUND,
130 BTRMGR_EVENT_MEDIA_TRACK_STARTED,
131 BTRMGR_EVENT_MEDIA_TRACK_PLAYING,
132 BTRMGR_EVENT_MEDIA_TRACK_PAUSED,
133 BTRMGR_EVENT_MEDIA_TRACK_STOPPED,
134 BTRMGR_EVENT_MEDIA_TRACK_POSITION,
135 BTRMGR_EVENT_MEDIA_TRACK_CHANGED,
136 BTRMGR_EVENT_MEDIA_PLAYBACK_ENDED,
137 BTRMGR_EVENT_DEVICE_DISCOVERY_STARTED,
138 BTRMGR_EVENT_DEVICE_OP_READY,
139 BTRMGR_EVENT_DEVICE_OP_INFORMATION,
140 BTRMGR_EVENT_MEDIA_PLAYER_NAME,
141 BTRMGR_EVENT_MEDIA_PLAYER_VOLUME,
142 BTRMGR_EVENT_MEDIA_PLAYER_EQUALIZER_OFF,
143 BTRMGR_EVENT_MEDIA_PLAYER_EQUALIZER_ON,
144 BTRMGR_EVENT_MEDIA_PLAYER_SHUFFLE_OFF,
145 BTRMGR_EVENT_MEDIA_PLAYER_SHUFFLE_ALLTRACKS,
146 BTRMGR_EVENT_MEDIA_PLAYER_SHUFFLE_GROUP,
147 BTRMGR_EVENT_MEDIA_PLAYER_REPEAT_OFF,
148 BTRMGR_EVENT_MEDIA_PLAYER_REPEAT_SINGLETRACK,
149 BTRMGR_EVENT_MEDIA_PLAYER_REPEAT_ALLTRACKS,
150 BTRMGR_EVENT_MEDIA_PLAYER_REPEAT_GROUP,
151 BTRMGR_EVENT_MEDIA_ALBUM_INFO,
152 BTRMGR_EVENT_MEDIA_ARTIST_INFO,
153 BTRMGR_EVENT_MEDIA_GENRE_INFO,
154 BTRMGR_EVENT_MEDIA_COMPILATION_INFO,
155 BTRMGR_EVENT_MEDIA_PLAYLIST_INFO,
156 BTRMGR_EVENT_MEDIA_TRACKLIST_INFO,
157 BTRMGR_EVENT_MEDIA_TRACK_INFO,
158 BTRMGR_EVENT_MEDIA_PLAYER_MUTE,
159 BTRMGR_EVENT_MEDIA_PLAYER_UNMUTE,
160 BTRMGR_EVENT_DEVICE_MEDIA_STATUS,
168 BTRMGR_DEVICE_TYPE_UNKNOWN,
169 BTRMGR_DEVICE_TYPE_WEARABLE_HEADSET,
170 BTRMGR_DEVICE_TYPE_HANDSFREE,
171 BTRMGR_DEVICE_TYPE_RESERVED,
172 BTRMGR_DEVICE_TYPE_MICROPHONE,
173 BTRMGR_DEVICE_TYPE_LOUDSPEAKER,
174 BTRMGR_DEVICE_TYPE_HEADPHONES,
175 BTRMGR_DEVICE_TYPE_PORTABLE_AUDIO,
176 BTRMGR_DEVICE_TYPE_CAR_AUDIO,
177 BTRMGR_DEVICE_TYPE_STB,
178 BTRMGR_DEVICE_TYPE_HIFI_AUDIO_DEVICE,
179 BTRMGR_DEVICE_TYPE_VCR,
180 BTRMGR_DEVICE_TYPE_VIDEO_CAMERA,
181 BTRMGR_DEVICE_TYPE_CAMCODER,
182 BTRMGR_DEVICE_TYPE_VIDEO_MONITOR,
183 BTRMGR_DEVICE_TYPE_TV,
184 BTRMGR_DEVICE_TYPE_VIDEO_CONFERENCE,
185 BTRMGR_DEVICE_TYPE_SMARTPHONE,
186 BTRMGR_DEVICE_TYPE_TABLET,
188 BTRMGR_DEVICE_TYPE_TILE,
189 BTRMGR_DEVICE_TYPE_HID,
190 BTRMGR_DEVICE_TYPE_HID_GAMEPAD,
191 BTRMGR_DEVICE_TYPE_END
198 BTRMGR_STREAM_PRIMARY = 0,
199 BTRMGR_STREAM_AUXILIARY
206 BTRMGR_DEVICE_OP_TYPE_AUDIO_OUTPUT = 1 << 0,
207 BTRMGR_DEVICE_OP_TYPE_AUDIO_INPUT = 1 << 1,
208 BTRMGR_DEVICE_OP_TYPE_LE = 1 << 2,
209 BTRMGR_DEVICE_OP_TYPE_HID = 1 << 3,
210 BTRMGR_DEVICE_OP_TYPE_UNKNOWN = 1 << 4
217 BTRMGR_DEVICE_POWER_ACTIVE = 0,
218 BTRMGR_DEVICE_POWER_LOW,
219 BTRMGR_DEVICE_POWER_STANDBY
237 BTRMGR_DISCOVERY_STATUS_OFF,
238 BTRMGR_DISCOVERY_STATUS_IN_PROGRESS,
246 BTRMGR_MEDIA_CTRL_PLAY,
247 BTRMGR_MEDIA_CTRL_PAUSE,
248 BTRMGR_MEDIA_CTRL_STOP,
249 BTRMGR_MEDIA_CTRL_NEXT,
250 BTRMGR_MEDIA_CTRL_PREVIOUS,
251 BTRMGR_MEDIA_CTRL_FASTFORWARD,
252 BTRMGR_MEDIA_CTRL_REWIND,
253 BTRMGR_MEDIA_CTRL_VOLUMEUP,
254 BTRMGR_MEDIA_CTRL_VOLUMEDOWN,
255 BTRMGR_MEDIA_CTRL_EQUALIZER_OFF,
256 BTRMGR_MEDIA_CTRL_EQUALIZER_ON,
257 BTRMGR_MEDIA_CTRL_SHUFFLE_OFF,
258 BTRMGR_MEDIA_CTRL_SHUFFLE_ALLTRACKS,
259 BTRMGR_MEDIA_CTRL_SHUFFLE_GROUP,
260 BTRMGR_MEDIA_CTRL_REPEAT_OFF,
261 BTRMGR_MEDIA_CTRL_REPEAT_SINGLETRACK,
262 BTRMGR_MEDIA_CTRL_REPEAT_ALLTRACKS,
263 BTRMGR_MEDIA_CTRL_REPEAT_GROUP,
264 BTRMGR_MEDIA_CTRL_SCAN_OFF,
265 BTRMGR_MEDIA_CTRL_SCAN_ALLTRACKS,
266 BTRMGR_MEDIA_CTRL_SCAN_GROUP,
267 BTRMGR_MEDIA_CTRL_MUTE,
268 BTRMGR_MEDIA_CTRL_UNMUTE,
269 BTRMGR_MEDIA_CTRL_UNKNOWN
277 BTRMGR_LE_PROP_PRIMARY,
278 BTRMGR_LE_PROP_DEVICE,
279 BTRMGR_LE_PROP_SERVICE,
280 BTRMGR_LE_PROP_VALUE,
281 BTRMGR_LE_PROP_NOTIFY,
282 BTRMGR_LE_PROP_FLAGS,
292 BTRMGR_LE_OP_READ_VALUE,
293 BTRMGR_LE_OP_WRITE_VALUE,
294 BTRMGR_LE_OP_START_NOTIFY,
295 BTRMGR_LE_OP_STOP_NOTIFY,
303 BTRMGR_GATT_CHAR_FLAG_READ = 1 << 0,
304 BTRMGR_GATT_CHAR_FLAG_WRITE = 1 << 1,
305 BTRMGR_GATT_CHAR_FLAG_ENCRYPT_READ = 1 << 2,
306 BTRMGR_GATT_CHAR_FLAG_ENCRYPT_WRITE = 1 << 3,
307 BTRMGR_GATT_CHAR_FLAG_ENCRYPT_AUTHENTICATED_READ = 1 << 4,
308 BTRMGR_GATT_CHAR_FLAG_ENCRYPT_AUTHENTICATED_WRITE = 1 << 5,
309 BTRMGR_GATT_CHAR_FLAG_SECURE_READ = 1 << 6,
310 BTRMGR_GATT_CHAR_FLAG_SECURE_WRITE = 1 << 7,
311 BTRMGR_GATT_CHAR_FLAG_NOTIFY = 1 << 8,
312 BTRMGR_GATT_CHAR_FLAG_INDICATE = 1 << 9,
313 BTRMGR_GATT_CHAR_FLAG_BROADCAST = 1 << 10,
314 BTRMGR_GATT_CHAR_FLAG_WRITE_WITHOUT_RESPONSE = 1 << 11,
315 BTRMGR_GATT_CHAR_FLAG_AUTHENTICATED_SIGNED_WRITES = 1 << 12,
316 BTRMGR_GATT_CHAR_FLAG_RELIABLE_WRITE = 1 << 13,
317 BTRMGR_GATT_CHAR_FLAG_WRITABLE_AUXILIARIES = 1 << 14
321 typedef enum _BTRMGR_ScanFilter_t {
322 BTRMGR_DISCOVERY_FILTER_UUID,
323 BTRMGR_DISCOVERY_FILTER_RSSI,
324 BTRMGR_DISCOVERY_FILTER_PATH_LOSS,
325 BTRMGR_DISCOVERY_FILTER_SCAN_TYPE
326 } BTRMGR_ScanFilter_t;
332 BTRMGR_MEDIA_ELEMENT_TYPE_UNKNOWN,
333 BTRMGR_MEDIA_ELEMENT_TYPE_ALBUM,
334 BTRMGR_MEDIA_ELEMENT_TYPE_ARTIST,
335 BTRMGR_MEDIA_ELEMENT_TYPE_GENRE,
336 BTRMGR_MEDIA_ELEMENT_TYPE_COMPILATIONS,
337 BTRMGR_MEDIA_ELEMENT_TYPE_PLAYLIST,
338 BTRMGR_MEDIA_ELEMENT_TYPE_TRACKLIST,
339 BTRMGR_MEDIA_ELEMENT_TYPE_TRACK
347 char pcAlbum[BTRMGR_MAX_STR_LEN];
348 char pcGenre[BTRMGR_MAX_STR_LEN];
349 char pcTitle[BTRMGR_MAX_STR_LEN];
350 char pcArtist[BTRMGR_MAX_STR_LEN];
351 unsigned int ui32TrackNumber;
352 unsigned int ui32Duration;
353 unsigned int ui32NumberOfTracks;
360 unsigned int m_mediaDuration;
361 unsigned int m_mediaPosition;
365 unsigned short flags;
366 char m_uuid[BTRMGR_NAME_LEN_MAX];
373 unsigned short m_uuid;
374 char m_profile[BTRMGR_NAME_LEN_MAX];
381 unsigned short m_numOfService;
392 char m_UUIDs[BTRMGR_UUID_STR_LEN_MAX];;
393 unsigned char m_ServiceData[BTRMGR_SERVICE_DATA_LEN_MAX];
401 BTRMgrDeviceHandle m_deviceHandle;
403 char m_name [BTRMGR_NAME_LEN_MAX];
404 char m_deviceAddress [BTRMGR_NAME_LEN_MAX];
407 unsigned short m_vendorID;
408 unsigned char m_isPaired;
409 unsigned char m_isConnected;
410 unsigned char m_isLowEnergyDevice;
419 BTRMgrDeviceHandle m_deviceHandle;
421 char m_name [BTRMGR_NAME_LEN_MAX];
422 char m_deviceAddress [BTRMGR_NAME_LEN_MAX];
424 unsigned short m_vendorID;
425 unsigned char m_isLowEnergyDevice;
426 unsigned char m_isConnected;
434 BTRMgrDeviceHandle m_deviceHandle;
436 char m_name [BTRMGR_NAME_LEN_MAX];
437 char m_deviceAddress [BTRMGR_NAME_LEN_MAX];
439 unsigned short m_vendorID;
440 unsigned char m_isLowEnergyDevice;
441 unsigned char m_isConnected;
442 unsigned char m_isLastConnectedDevice;
443 unsigned int m_ui32DevClassBtSpec;
450 BTRMgrDeviceHandle m_deviceHandle;
452 char m_name [BTRMGR_NAME_LEN_MAX];
453 char m_deviceAddress [BTRMGR_NAME_LEN_MAX];
454 unsigned short m_vendorID;
455 unsigned char m_isPairedDevice;
456 unsigned char m_isConnected;
457 unsigned char m_isLowEnergyDevice;
460 unsigned char m_isDiscovered;
461 unsigned char m_isLastConnectedDevice;
462 unsigned int m_ui32DevClassBtSpec;
469 unsigned short m_numOfDevices;
477 unsigned short m_numOfDevices;
485 unsigned short m_numOfDevices;
493 BTRMgrDeviceHandle m_deviceHandle;
495 char m_name [BTRMGR_NAME_LEN_MAX];
496 char m_deviceAddress [BTRMGR_NAME_LEN_MAX];
498 unsigned short m_vendorID;
499 unsigned char m_isLowEnergyDevice;
500 unsigned int m_externalDevicePIN;
501 unsigned char m_requestConfirmation;
508 BTRMgrMediaElementHandle m_mediaElementHdl;
509 unsigned char m_IsPlayable;
510 char m_mediaElementName[BTRMGR_MAX_STR_LEN];
518 unsigned short m_numberOfElements;
526 unsigned char m_ui8mediaDevVolume;
527 unsigned char m_ui8mediaDevMute;
535 BTRMgrDeviceHandle m_deviceHandle;
537 char m_name [BTRMGR_NAME_LEN_MAX];
548 char m_mediaPlayerName[BTRMGR_MAX_STR_LEN];
549 unsigned char m_mediaPlayerVolume;
558 BTRMgrDeviceHandle m_deviceHandle;
561 char m_deviceAddress[BTRMGR_NAME_LEN_MAX];
562 char m_name[BTRMGR_NAME_LEN_MAX];
563 char m_uuid[BTRMGR_MAX_STR_LEN];
567 char m_readData[BTRMGR_MAX_DEV_OP_DATA_LEN];
568 char m_writeData[BTRMGR_MAX_DEV_OP_DATA_LEN];
569 char m_notifyData[BTRMGR_MAX_DEV_OP_DATA_LEN];
577 unsigned char m_adapterIndex;
593 BTRMgrDeviceHandle m_deviceHandle;
594 char m_writeData[BTRMGR_MAX_DEV_OP_DATA_LEN];
596 unsigned char m_eventResp;
617 unsigned char len_flags;
618 unsigned char type_flags;
619 unsigned char val_flags;
620 unsigned char len_comcastflags;
621 unsigned char type_comcastflags;
622 unsigned char deviceInfo_UUID_LO;
623 unsigned char deviceInfo_UUID_HI;
624 unsigned char rdk_diag_UUID_LO;
625 unsigned char rdk_diag_UUID_HI;
626 unsigned char len_manuf;
627 unsigned char type_manuf;
629 unsigned char company_LO;
630 unsigned char company_HI;
631 unsigned short device_model;
632 unsigned char device_mac[BTRMGR_DEVICE_MAC_LEN];
1180 BTRMGR_Result_t BTRMGR_GetLeProperty (
unsigned char aui8AdapterIdx, BTRMgrDeviceHandle ahBTRMgrDevHdl,
const char* apBtrPropUuid,
BTRMGR_LeProperty_t aenLeProperty,
void* vpPropValue);
1212 BTRMGR_Result_t BTRMGR_LE_StopAdvertisement(
unsigned char aui8AdapterIdx);
1216 BTRMGR_Result_t BTRMGR_LE_SetServiceUUIDs(
unsigned char aui8AdapterIdx,
char *aUUID);
1218 BTRMGR_Result_t BTRMGR_LE_SetServiceInfo(
unsigned char aui8AdapterIdx,
char *aUUID,
unsigned char aServiceType);
1220 BTRMGR_Result_t BTRMGR_LE_SetGattInfo(
unsigned char aui8AdapterIdx,
char *aParentUUID,
char *aCharUUID,
unsigned short aFlags,
char *aValue,
BTRMGR_LeProperty_t aElement);
1226 BTRMGR_Result_t BTRMGR_ConnectToWifi(
unsigned char aui8AdapterIdx,
char *apSSID,
char *apPassword,
int aSecMode);
1229 BTRMGR_Result_t BTRMGR_RegisterEventCallback(BTRMGR_EventCallback afpcBBTRMgrEventOut);