1// Copyright 2017 The Fuchsia Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#pragma once 6 7#include <zircon/device/audio.h> 8 9namespace audio { 10namespace audio_proto { 11 12// C++ style aliases for protocol structures and types. 13using Cmd = audio_cmd_t; 14using CmdHdr = audio_cmd_hdr_t; 15 16// Structures used with GET/SET format 17using SampleFormat = audio_sample_format_t; 18using FormatRange = audio_stream_format_range_t; 19 20// AUDIO_STREAM_CMD_GET_FORMATS 21using StreamGetFmtsReq = audio_stream_cmd_get_formats_req_t; 22using StreamGetFmtsResp = audio_stream_cmd_get_formats_resp_t; 23 24// AUDIO_STREAM_CMD_SET_FORMAT 25using StreamSetFmtReq = audio_stream_cmd_set_format_req_t; 26using StreamSetFmtResp = audio_stream_cmd_set_format_resp_t; 27 28// AUDIO_STREAM_CMD_GET_GAIN 29using GetGainReq = audio_stream_cmd_get_gain_req_t; 30using GetGainResp = audio_stream_cmd_get_gain_resp_t; 31 32// AUDIO_STREAM_CMD_SET_GAIN 33using SetGainReq = audio_stream_cmd_set_gain_req_t; 34using SetGainResp = audio_stream_cmd_set_gain_resp_t; 35 36// AUDIO_STREAM_CMD_PLUG_DETECT 37using PlugDetectReq = audio_stream_cmd_plug_detect_req_t; 38using PlugDetectResp = audio_stream_cmd_plug_detect_resp_t; 39 40// AUDIO_STREAM_PLUG_DETECT_NOTIFY 41using PlugDetectNotify = audio_stream_plug_detect_notify_t; 42 43// AUDIO_STREAM_CMD_GET_UNIQUE_ID 44using GetUniqueIdReq = audio_stream_cmd_get_unique_id_req_t; 45using GetUniqueIdResp = audio_stream_cmd_get_unique_id_resp_t; 46 47// AUDIO_STREAM_CMD_GET_STRING 48using GetStringReq = audio_stream_cmd_get_string_req_t; 49using GetStringResp = audio_stream_cmd_get_string_resp_t; 50 51// AUDIO_RB_CMD_GET_FIFO_DEPTH 52using RingBufGetFifoDepthReq = audio_rb_cmd_get_fifo_depth_req_t; 53using RingBufGetFifoDepthResp = audio_rb_cmd_get_fifo_depth_resp_t; 54 55// AUDIO_RB_CMD_GET_BUFFER 56using RingBufGetBufferReq = audio_rb_cmd_get_buffer_req_t; 57using RingBufGetBufferResp = audio_rb_cmd_get_buffer_resp_t; 58 59// AUDIO_RB_CMD_START 60using RingBufStartReq = audio_rb_cmd_start_req_t; 61using RingBufStartResp = audio_rb_cmd_start_resp_t; 62 63// AUDIO_RB_CMD_STOP 64using RingBufStopReq = audio_rb_cmd_stop_req_t; 65using RingBufStopResp = audio_rb_cmd_stop_resp_t; 66 67// AUDIO_RB_POSITION_NOTIFY 68using RingBufPositionNotify = audio_rb_position_notify_t; 69 70const char* SampleFormatToString(SampleFormat sample_format); 71 72} // namespace audio_proto 73} // namespace audio 74