xref: /OK3568_Linux_fs/external/rkwifibt-app/include/RkBtHfp.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun #ifndef __BLUETOOTH_HANDSFREE_H__
2*4882a593Smuzhiyun #define __BLUETOOTH_HANDSFREE_H__
3*4882a593Smuzhiyun 
4*4882a593Smuzhiyun #ifdef __cplusplus
5*4882a593Smuzhiyun extern "C" {
6*4882a593Smuzhiyun #endif
7*4882a593Smuzhiyun 
8*4882a593Smuzhiyun typedef enum {
9*4882a593Smuzhiyun     BT_SCO_CODEC_CVSD = 1,
10*4882a593Smuzhiyun     BT_SCO_CODEC_MSBC,
11*4882a593Smuzhiyun } RK_BT_SCO_CODEC_TYPE;
12*4882a593Smuzhiyun 
13*4882a593Smuzhiyun typedef enum {
14*4882a593Smuzhiyun     RK_BT_HFP_CONNECT_EVT,              /* HFP connection open */
15*4882a593Smuzhiyun     RK_BT_HFP_DISCONNECT_EVT,           /* HFP connection closed */
16*4882a593Smuzhiyun     RK_BT_HFP_RING_EVT,                 /* RING alert from AG */
17*4882a593Smuzhiyun     RK_BT_HFP_AUDIO_OPEN_EVT,           /* Audio connection open */
18*4882a593Smuzhiyun     RK_BT_HFP_AUDIO_CLOSE_EVT,          /* Audio connection closed */
19*4882a593Smuzhiyun     RK_BT_HFP_PICKUP_EVT,               /* Call has been picked up */
20*4882a593Smuzhiyun     RK_BT_HFP_HANGUP_EVT,               /* Call has been hung up */
21*4882a593Smuzhiyun     RK_BT_HFP_VOLUME_EVT,               /* Speaker volume change */
22*4882a593Smuzhiyun     RK_BT_HFP_BCS_EVT,                  /* Codec selection from AG */
23*4882a593Smuzhiyun     RK_BT_HFP_CLIP_EVT,                 /* Calling subscriber information from AG */
24*4882a593Smuzhiyun     RK_BT_HFP_OUTGOING_CALL_DIAL_EVT,   /* Outgoing call setup in dialing state */
25*4882a593Smuzhiyun     RK_BT_HFP_OUTGOING_CALL_RING_EVT,   /* Outgoing call setup in alerting state */
26*4882a593Smuzhiyun     RK_BT_HFP_CLCC_EVT,                 /* Current active call list info */
27*4882a593Smuzhiyun } RK_BT_HFP_EVENT;
28*4882a593Smuzhiyun 
29*4882a593Smuzhiyun typedef int (*RK_BT_HFP_CALLBACK)(const char *bd_addr, RK_BT_HFP_EVENT event, void *data);
30*4882a593Smuzhiyun 
31*4882a593Smuzhiyun void rk_bt_hfp_register_callback(RK_BT_HFP_CALLBACK cb);
32*4882a593Smuzhiyun int rk_bt_hfp_sink_open(void);
33*4882a593Smuzhiyun int rk_bt_hfp_open(void);
34*4882a593Smuzhiyun int rk_bt_hfp_close(void);
35*4882a593Smuzhiyun int rk_bt_hfp_pickup(void);
36*4882a593Smuzhiyun int rk_bt_hfp_hangup(void);
37*4882a593Smuzhiyun int rk_bt_hfp_redial(void);
38*4882a593Smuzhiyun int rk_bt_hfp_dial_number(char *number);
39*4882a593Smuzhiyun int rk_bt_hfp_report_battery(int value);
40*4882a593Smuzhiyun int rk_bt_hfp_set_volume(int volume);
41*4882a593Smuzhiyun void rk_bt_hfp_enable_cvsd(void);
42*4882a593Smuzhiyun void rk_bt_hfp_disable_cvsd(void);
43*4882a593Smuzhiyun int rk_bt_hfp_disconnect(void);
44*4882a593Smuzhiyun 
45*4882a593Smuzhiyun #ifdef __cplusplus
46*4882a593Smuzhiyun }
47*4882a593Smuzhiyun #endif
48*4882a593Smuzhiyun 
49*4882a593Smuzhiyun #endif /* __BLUETOOTH_HANDSFREE_H__ */
50