Home | History | Annotate | Download | only in hardware
      1 /*
      2  * Copyright (C) 2012 The Android Open Source Project
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 
     17 #pragma once
     18 
     19 namespace bluetooth {
     20 namespace headset {
     21 
     22 /* AT response code - OK/Error */
     23 typedef enum {
     24   BTHF_AT_RESPONSE_ERROR = 0,
     25   BTHF_AT_RESPONSE_OK
     26 } bthf_at_response_t;
     27 
     28 typedef enum {
     29   BTHF_CONNECTION_STATE_DISCONNECTED = 0,
     30   BTHF_CONNECTION_STATE_CONNECTING,
     31   BTHF_CONNECTION_STATE_CONNECTED,
     32   BTHF_CONNECTION_STATE_SLC_CONNECTED,
     33   BTHF_CONNECTION_STATE_DISCONNECTING
     34 } bthf_connection_state_t;
     35 
     36 typedef enum {
     37   BTHF_AUDIO_STATE_DISCONNECTED = 0,
     38   BTHF_AUDIO_STATE_CONNECTING,
     39   BTHF_AUDIO_STATE_CONNECTED,
     40   BTHF_AUDIO_STATE_DISCONNECTING
     41 } bthf_audio_state_t;
     42 
     43 typedef enum {
     44   BTHF_VR_STATE_STOPPED = 0,
     45   BTHF_VR_STATE_STARTED
     46 } bthf_vr_state_t;
     47 
     48 typedef enum {
     49   BTHF_VOLUME_TYPE_SPK = 0,
     50   BTHF_VOLUME_TYPE_MIC
     51 } bthf_volume_type_t;
     52 
     53 /* Noise Reduction and Echo Cancellation */
     54 typedef enum { BTHF_NREC_STOP, BTHF_NREC_START } bthf_nrec_t;
     55 
     56 /* WBS codec setting */
     57 typedef enum { BTHF_WBS_NONE, BTHF_WBS_NO, BTHF_WBS_YES } bthf_wbs_config_t;
     58 
     59 /* CHLD - Call held handling */
     60 typedef enum {
     61   BTHF_CHLD_TYPE_RELEASEHELD,  // Terminate all held or set UDUB("busy") to a
     62                                // waiting call
     63   BTHF_CHLD_TYPE_RELEASEACTIVE_ACCEPTHELD,  // Terminate all active calls and
     64                                             // accepts a waiting/held call
     65   BTHF_CHLD_TYPE_HOLDACTIVE_ACCEPTHELD,  // Hold all active calls and accepts a
     66                                          // waiting/held call
     67   BTHF_CHLD_TYPE_ADDHELDTOCONF,          // Add all held calls to a conference
     68 } bthf_chld_type_t;
     69 
     70 /* HF Indicators HFP 1.7 */
     71 typedef enum {
     72   BTHF_HF_IND_ENHANCED_DRIVER_SAFETY = 1,
     73   BTHF_HF_IND_BATTERY_LEVEL_STATUS = 2,
     74 } bthf_hf_ind_type_t;
     75 
     76 typedef enum {
     77   BTHF_HF_IND_DISABLED = 0,
     78   BTHF_HF_IND_ENABLED,
     79 } bthf_hf_ind_status_t;
     80 
     81 /** Network Status */
     82 typedef enum {
     83   BTHF_NETWORK_STATE_NOT_AVAILABLE = 0,
     84   BTHF_NETWORK_STATE_AVAILABLE
     85 } bthf_network_state_t;
     86 
     87 /** Service type */
     88 typedef enum {
     89   BTHF_SERVICE_TYPE_HOME = 0,
     90   BTHF_SERVICE_TYPE_ROAMING
     91 } bthf_service_type_t;
     92 
     93 typedef enum {
     94   BTHF_CALL_STATE_ACTIVE = 0,
     95   BTHF_CALL_STATE_HELD,
     96   BTHF_CALL_STATE_DIALING,
     97   BTHF_CALL_STATE_ALERTING,
     98   BTHF_CALL_STATE_INCOMING,
     99   BTHF_CALL_STATE_WAITING,
    100   BTHF_CALL_STATE_IDLE,
    101   BTHF_CALL_STATE_DISCONNECTED
    102 } bthf_call_state_t;
    103 
    104 typedef enum {
    105   BTHF_CALL_DIRECTION_OUTGOING = 0,
    106   BTHF_CALL_DIRECTION_INCOMING
    107 } bthf_call_direction_t;
    108 
    109 typedef enum {
    110   BTHF_CALL_TYPE_VOICE = 0,
    111   BTHF_CALL_TYPE_DATA,
    112   BTHF_CALL_TYPE_FAX
    113 } bthf_call_mode_t;
    114 
    115 typedef enum {
    116   BTHF_CALL_MPTY_TYPE_SINGLE = 0,
    117   BTHF_CALL_MPTY_TYPE_MULTI
    118 } bthf_call_mpty_type_t;
    119 
    120 typedef enum {
    121   BTHF_CALL_ADDRTYPE_UNKNOWN = 0x81,
    122   BTHF_CALL_ADDRTYPE_INTERNATIONAL = 0x91
    123 } bthf_call_addrtype_t;
    124 
    125 }  // namespace headset
    126 }  // namespace bluetooth