linux/sound/xen/xen_snd_front_evtchnl.h

/* SPDX-License-Identifier: GPL-2.0 OR MIT */

/*
 * Xen para-virtual sound device
 *
 * Copyright (C) 2016-2018 EPAM Systems Inc.
 *
 * Author: Oleksandr Andrushchenko <[email protected]>
 */

#ifndef __XEN_SND_FRONT_EVTCHNL_H
#define __XEN_SND_FRONT_EVTCHNL_H

#include <xen/interface/io/sndif.h>

struct xen_snd_front_info;

/* Timeout in ms to wait for backend to respond. */
#define VSND_WAIT_BACK_MS

enum xen_snd_front_evtchnl_state {};

enum xen_snd_front_evtchnl_type {};

struct xen_snd_front_evtchnl {};

struct xen_snd_front_evtchnl_pair {};

int xen_snd_front_evtchnl_create_all(struct xen_snd_front_info *front_info,
				     int num_streams);

void xen_snd_front_evtchnl_free_all(struct xen_snd_front_info *front_info);

int xen_snd_front_evtchnl_publish_all(struct xen_snd_front_info *front_info);

void xen_snd_front_evtchnl_flush(struct xen_snd_front_evtchnl *evtchnl);

void xen_snd_front_evtchnl_pair_set_connected(struct xen_snd_front_evtchnl_pair *evt_pair,
					      bool is_connected);

void xen_snd_front_evtchnl_pair_clear(struct xen_snd_front_evtchnl_pair *evt_pair);

#endif /* __XEN_SND_FRONT_EVTCHNL_H */