1 #ifndef _MSM_AUDIO_VOICEMEMO_H 2 #define _MSM_AUDIO_VOICEMEMO_H 3 4 #include <linux/msm_audio.h> 5 6 #define AUDIO_GET_VOICEMEMO_CONFIG _IOW(AUDIO_IOCTL_MAGIC, \ 7 (AUDIO_MAX_COMMON_IOCTL_NUM+0), unsigned int) 8 #define AUDIO_SET_VOICEMEMO_CONFIG _IOR(AUDIO_IOCTL_MAGIC, \ 9 (AUDIO_MAX_COMMON_IOCTL_NUM+1), unsigned int) 10 11 /* rec_type */ 12 enum rpc_voc_rec_dir_type { 13 RPC_VOC_REC_NONE, 14 RPC_VOC_REC_FORWARD, 15 RPC_VOC_REC_REVERSE, 16 RPC_VOC_REC_BOTH, 17 RPC_VOC_MAX_REC_TYPE 18 }; 19 20 /* capability */ 21 enum rpc_voc_capability_type { 22 RPC_VOC_CAP_IS733 = 4, 23 RPC_VOC_CAP_IS127 = 8, 24 RPC_VOC_CAP_AMR = 64, 25 RPC_VOC_CAP_32BIT_DUMMY = 2147483647 26 }; 27 28 /* Rate */ 29 enum rpc_voc_rate_type { 30 RPC_VOC_0_RATE = 0, 31 RPC_VOC_8_RATE, 32 RPC_VOC_4_RATE, 33 RPC_VOC_2_RATE, 34 RPC_VOC_1_RATE, 35 RPC_VOC_ERASURE, 36 RPC_VOC_ERR_RATE, 37 RPC_VOC_AMR_RATE_475 = 0, 38 RPC_VOC_AMR_RATE_515 = 1, 39 RPC_VOC_AMR_RATE_590 = 2, 40 RPC_VOC_AMR_RATE_670 = 3, 41 RPC_VOC_AMR_RATE_740 = 4, 42 RPC_VOC_AMR_RATE_795 = 5, 43 RPC_VOC_AMR_RATE_1020 = 6, 44 RPC_VOC_AMR_RATE_1220 = 7, 45 }; 46 47 /* frame_format */ 48 enum rpc_voc_pb_len_rate_var_type { 49 RPC_VOC_PB_NATIVE_QCP = 3, 50 RPC_VOC_PB_AMR, 51 RPC_VOC_PB_EVB 52 }; 53 54 struct msm_audio_voicememo_config { 55 uint32_t rec_type; 56 uint32_t rec_interval_ms; 57 uint32_t auto_stop_ms; 58 uint32_t capability; 59 uint32_t max_rate; 60 uint32_t min_rate; 61 uint32_t frame_format; 62 uint32_t dtx_enable; 63 uint32_t data_req_ms; 64 }; 65 66 #endif /* _MSM_AUDIO_VOICEMEMO_H */ 67