1 /* 2 * Copyright (c) 2021 Huawei Device Co., Ltd. 3 * 4 * HDF is dual licensed: you can use it either under the terms of 5 * the GPL, or the BSD license, at your option. 6 * See the LICENSE file in the root of this repository for complete details. 7 */ 8 9 #ifndef AUDIO_CONTROL_DISPATCH_H 10 #define AUDIO_CONTROL_DISPATCH_H 11 12 #include "audio_host.h" 13 14 #ifdef __cplusplus 15 #if __cplusplus 16 extern "C" { 17 #endif 18 #endif /* __cplusplus */ 19 20 enum ControlDispMethodCmd { 21 AUDIODRV_CTRL_IOCTRL_ELEM_INFO, 22 AUDIODRV_CTRL_IOCTRL_ELEM_READ, 23 AUDIODRV_CTRL_IOCTRL_ELEM_WRITE, 24 AUDIODRV_CTRL_IOCTRL_ELEM_BUTT, 25 }; 26 27 struct ControlDispCmdHandleList { 28 enum ControlDispMethodCmd cmd; 29 int32_t (*func)(const struct HdfDeviceIoClient *client, struct HdfSBuf *data, struct HdfSBuf *reply); 30 }; 31 32 struct ControlHost { 33 struct IDeviceIoService service; 34 struct HdfDeviceObject *device; 35 void *priv; 36 }; 37 38 #ifdef __cplusplus 39 #if __cplusplus 40 } 41 #endif 42 #endif /* __cplusplus */ 43 44 #endif /* AUDIO_CONTROL_H */ 45