2 * bluetoth-ag-handler.h
4 * Copyright (c) 2014 - 2015 Samsung Electronics Co., Ltd. All rights reserved.
6 * Contact: Hocheol Seo <hocheol.seo@samsung.com>
7 * Chethan TN <chethan.tn@samsung.com>
8 * Chanyeol Park <chanyeol.park@samsung.com>
9 * Rakesh MK <rakesh.mk@samsung.com>
11 * Licensed under the Apache License, Version 2.0 (the "License");
12 * you may not use this file except in compliance with the License.
13 * You may obtain a copy of the License at
15 * http://www.apache.org/licenses/LICENSE-2.0
17 * Unless required by applicable law or agreed to in writing, software
18 * distributed under the License is distributed on an "AS IS" BASIS,
19 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20 * See the License for the specific language governing permissions and
21 * limitations under the License.
25 #ifndef __DEF_BT_AG_HANDLER_H_
26 #define __DEF_BT_AG_HANDLER_H_
36 #include "bluetooth-ag-agent.h"
38 #define BT_HFP_SPEAKER_GAIN 'S'
39 #define BT_HFP_MICROPHONE_GAIN 'M'
41 #define AG_RING_INTERVAL 1500
48 uint8_t pcm_interface_rate;
54 } __attribute__((packed)) bt_addr;
56 int _bt_hfp_supported_features(bt_ag_info_t *hs, const char *buf);
57 int _bt_hfp_report_indicators(bt_ag_info_t *hs, const char *buf);
58 int _bt_hfp_enable_indicators(bt_ag_info_t *hdset, const char *buffer);
59 int _bt_hfp_call_hold(bt_ag_info_t *hs, const char *buf);
60 int _bt_hfp_answer_call(bt_ag_info_t *hs, const char *buf);
61 int _bt_hfp_dial_number(bt_ag_info_t *hs, const char *buf);
62 int _bt_hfp_signal_gain_setting(bt_ag_info_t *hs, const char *buf);
63 int _bt_hfp_terminate_call(bt_ag_info_t *hs, const char *buf);
64 int _bt_hfp_key_press(bt_ag_info_t *hs, const char *buf);
65 int _bt_hfp_last_dialed_number(bt_ag_info_t *hs, const char *buf);
66 int _bt_hfp_response_and_hold(bt_ag_info_t *hs, const char *buf);
67 int _bt_hfp_cli_notification(bt_ag_info_t *hs, const char *buf);
68 int _bt_hfp_dtmf_tone(bt_ag_info_t *hs, const char *buf);
69 int _bt_hfp_subscriber_number(bt_ag_info_t *hs, const char *buf);
70 int _bt_hfp_list_current_calls(bt_ag_info_t *hs, const char *buf);
71 int _bt_hfp_extended_errors(bt_ag_info_t *hs, const char *buf);
72 int _bt_hfp_call_waiting_notify(bt_ag_info_t *hs, const char *buf);
73 int _bt_hfp_operator_selection(bt_ag_info_t *hs, const char *buf);
74 int _bt_hfp_nr_and_ec(bt_ag_info_t *hs, const char *buf);
75 int _bt_hfp_voice_dial(bt_ag_info_t *hs, const char *buf);
76 int _bt_hfp_apl_command(bt_ag_info_t *hs, const char *buf);
77 int _bt_hfp_apl_command(bt_ag_info_t *hs, const char *buf);
78 int _bt_hfp_indicators_activation(bt_ag_info_t *hs, const char *buf);
79 int _bt_hfp_select_pb_memory(bt_ag_info_t *hs, const char *buf);
80 int _bt_hfp_read_pb_entries(bt_ag_info_t *hs, const char *buf);
81 int _bt_hfp_select_character_set(bt_ag_info_t *hs, const char *buf);
82 int _bt_hfp_find_pb_entires(bt_ag_info_t *hs, const char *buf);
83 int _bt_hfp_get_signal_quality(bt_ag_info_t *hs, const char *buf);
84 int _bt_hfp_get_battery_charge_status(bt_ag_info_t *hs, const char *buf);
85 int _bt_calling_stopped_indicator(void);
86 int _bt_incoming_call_indicator(const char *number, int type);
87 int _bt_call_waiting_indicator(const char *number, int type);
88 void _bt_hfp_deinitialize(void);
89 gboolean __bt_ring_timer_cb(gpointer data);
90 bt_hfp_agent_error_t _bt_hfp_event_indicator(int index);
91 void _bt_hfp_set_ag_indicator(uint32_t ag_features,
92 const bt_ag_indicators_t *ag_indicators,
93 int rh, const char *chld);
94 int _bt_calling_stopped_indicator(void);
95 int _bt_incoming_call_indicator(const char *number, int type);
96 int _bt_dial_number_response(void *t_device, bt_hfp_agent_error_t err);
97 int _bt_event_reporting_response(void *t_device,
98 bt_hfp_agent_error_t err);
99 int _bt_terminate_call_response(void *t_device,
100 hfp_state_manager_err_t err);
101 int _bt_call_hold_response(void *t_device, bt_hfp_agent_error_t err);
102 int _bt_key_press_response(void *t_device, bt_hfp_agent_error_t err);
103 int _bt_subscriber_number_indicator(const char *call_num,
104 int type, int service);
105 int _bt_subscriber_number_response(void *t_device,
106 bt_hfp_agent_error_t err);
107 int _bt_list_current_call_indicator(bt_ag_info_t *hs, int index, int direction,
108 int mode, int status, const char *call_num, int conference, int t_num);
109 int _bt_list_current_calls_response(void *t_device,
110 bt_hfp_agent_error_t err);
111 int _bt_nr_and_ec_response(void *t_device, bt_hfp_agent_error_t err);
112 int _bt_voice_dial_response(void *t_device, bt_hfp_agent_error_t err);
113 int _bt_indicators_activation_response(void *t_device,
114 bt_hfp_agent_error_t err);
115 int _bt_select_phonebook_memory_status_response(void *t_device,
117 uint32_t total, uint32_t used,
118 bt_hfp_agent_error_t err);
119 int _bt_select_phonebook_memory_list_response(void *t_device,
121 bt_hfp_agent_error_t err);
122 int _bt_select_phonebook_memory_response(void *t_device,
123 bt_hfp_agent_error_t err);
124 int _bt_read_phonebook_entries_list_response(void *t_device,
126 uint32_t number_length,
127 uint32_t name_length,
128 bt_hfp_agent_error_t err);
129 int _bt_read_phonebook_entries_response(void *t_device,
130 bt_hfp_agent_error_t err);
131 int _bt_find_phonebook_entries_status_indicator(uint32_t number_length,
132 uint32_t name_length);
133 int _bt_find_phonebook_entries_status_response(void *t_device,
134 bt_hfp_agent_error_t err);
135 int _bt_supported_character_generic_response(void *t_device,
136 char *character_set_list,
137 bt_hfp_agent_error_t err);
138 int _bt_set_characterset_generic_response(void *t_device,
139 bt_hfp_agent_error_t err);
140 int _bt_signal_quality_response(void *t_device,
143 bt_hfp_agent_error_t err);
144 int _bt_battery_charge_status_response(void *t_device,
147 bt_hfp_agent_error_t err);
148 int _bt_operator_selection_indicator(int mode, const char *oper);
149 int _bt_operator_selection_response(void *t_device,
150 bt_hfp_agent_error_t err);
151 int _bt_transmit_dtmf_response(void *t_device,
152 bt_hfp_agent_error_t err);
153 int _bt_find_phonebook_entries_response(void *t_device,
154 bt_hfp_agent_error_t err);
155 int _bt_response_and_hold_response(void *t_device,
156 bt_hfp_agent_error_t err);
157 int _bt_answer_call_response(void *hs, bt_hfp_agent_error_t err);
158 int _bt_read_phonebook_entries_indicator(const char *name,
161 int _bt_hfp_get_activity_status_rsp(void *t_device,
163 bt_hfp_agent_error_t err);
164 int _bt_hfp_get_activity_status(bt_ag_info_t *device, const char *buf);
165 int _bt_hfp_set_speaker_gain(bt_ag_info_t *hs,
166 uint16_t gain_value);
167 int _bt_hfp_set_microphone_gain(bt_ag_info_t *hs,
168 uint16_t gain_value);
169 int _bt_hfp_set_voice_dial(bt_ag_info_t *hs,
171 int _bt_hfp_get_equipment_identity_rsp(void *t_device,
172 char *identity, bt_hfp_agent_error_t err);
173 int _bt_hfp_get_imsi_rsp(void *t_device,
174 char *mcc, char *mnc, char *msin, bt_hfp_agent_error_t err);
175 int _bt_hfp_get_creg_status_rsp(void *t_device,
176 int n, int status, bt_hfp_agent_error_t err);
177 int _bt_hfp_get_model_info_rsp(void *t_device,
178 char *model, bt_hfp_agent_error_t err);
179 int _bt_hfp_get_device_manufacturer_rsp(void *t_device,
180 char *manufacturer, bt_hfp_agent_error_t err);
181 int _bt_hfp_get_revision_info_rsp(void *t_device,
182 char *revision, bt_hfp_agent_error_t err);
183 int _bt_hfp_vendor_cmd(bt_ag_info_t *hs, const char *buf);
184 int _bt_hfp_send_vendor_cmd(bt_ag_info_t *hs,
186 int _bt_vendor_cmd_response(void *t_device, bt_hfp_agent_error_t err);
191 #endif /* __DEF_BT_AG_HANDLER_H_ */