Home | History | Annotate | Download | only in linux
      1 #ifndef _UAPI_MSM_AUDIO_VOICEMEMO_H
      2 #define _UAPI_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)
      8 #define AUDIO_SET_VOICEMEMO_CONFIG  _IOR(AUDIO_IOCTL_MAGIC, \
      9 	(AUDIO_MAX_COMMON_IOCTL_NUM+1), unsigned)
     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 /* _UAPI_MSM_AUDIO_VOICEMEMO_H */
     67