1 /*
2  * Copyright (c) 2021 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 #ifndef HDF_AUDIO_SERVER_H
16 #define HDF_AUDIO_SERVER_H
17 
18 #include "hdf_device_desc.h"
19 namespace OHOS::HDI::Audio_Bluetooth {
20 enum AudioHdiServerCmdId {
21     /*************public*************/
22     AUDIO_HDI_MGR_GET_FUNCS = 0,
23     AUDIO_HDI_MGR_GET_ALL_ADAPTER,
24     AUDIO_HDI_MGR_LOAD_ADAPTER,
25     AUDIO_HDI_MGR_UNLOAD_ADAPTER,
26 
27     AUDIO_HDI_ADT_INIT_PORTS,
28     AUDIO_HDI_ADT_GET_PORT_CAPABILITY,
29     AUDIO_HDI_ADT_SET_PASS_MODE,
30     AUDIO_HDI_ADT_GET_PASS_MODE,
31     /***********render***************/
32     AUDIO_HDI_RENDER_CREATE_RENDER,
33     AUDIO_HDI_RENDER_DESTROY,
34     AUDIO_HDI_RENDER_START,
35     AUDIO_HDI_RENDER_STOP,
36     AUDIO_HDI_RENDER_PAUSE,
37     AUDIO_HDI_RENDER_RESUME,
38     AUDIO_HDI_RENDER_FLUSH,
39     AUDIO_HDI_RENDER_GET_FRAME_SIZE,
40     AUDIO_HDI_RENDER_GET_FRAME_COUNT,
41     AUDIO_HDI_RENDER_SET_SAMPLE_ATTR,
42     AUDIO_HDI_RENDER_GET_SAMPLE_ATTR,
43     AUDIO_HDI_RENDER_GET_CUR_CHANNEL_ID,
44     AUDIO_HDI_RENDER_CHECK_SCENE_CAPABILITY,
45     AUDIO_HDI_RENDER_SELECT_SCENE,
46     AUDIO_HDI_RENDER_GET_MUTE,
47     AUDIO_HDI_RENDER_SET_MUTE,
48     AUDIO_HDI_RENDER_SET_VOLUME,
49     AUDIO_HDI_RENDER_GET_VOLUME,
50     AUDIO_HDI_RENDER_GET_GAIN_THRESHOLD,
51     AUDIO_HDI_RENDER_GET_GAIN,
52     AUDIO_HDI_RENDER_SET_GAIN,
53     AUDIO_HDI_RENDER_GET_LATENCY,
54     AUDIO_HDI_RENDER_RENDER_FRAME,
55     AUDIO_HDI_RENDER_GET_RENDER_POSITION,
56     AUDIO_HDI_RENDER_GET_SPEED,
57     AUDIO_HDI_RENDER_SET_SPEED,
58     AUDIO_HDI_RENDER_SET_CHANNEL_MODE,
59     AUDIO_HDI_RENDER_GET_CHANNEL_MODE,
60     AUDIO_HDI_RENDER_SET_EXTRA_PARAMS,
61     AUDIO_HDI_RENDER_GET_EXTRA_PARAMS,
62     AUDIO_HDI_RENDER_REQ_MMAP_BUFFER,
63     AUDIO_HDI_RENDER_GET_MMAP_POSITION,
64     AUDIO_HDI_RENDER_TURN_STAND_BY_MODE,
65     AUDIO_HDI_RENDER_DEV_DUMP,
66     AUDIO_HDI_RENDER_REG_CALLBACK,
67     AUDIO_HDI_RENDER_DRAIN_BUFFER
68 };
69 
70 typedef int32_t (*AudioAllfunc)(const struct HdfDeviceIoClient *client, struct HdfSBuf *data, struct HdfSBuf *reply);
71 struct HdiServiceDispatchCmdHandleList {
72     AudioHdiServerCmdId cmd;
73     AudioAllfunc func;
74 };
75 }
76 #endif
77