122851890Sopenharmony_ci/*
222851890Sopenharmony_ci * This header was generated from the Linux kernel headers by update_headers.py,
322851890Sopenharmony_ci * to provide necessary information from kernel to userspace, such as constants,
422851890Sopenharmony_ci * structures, and macros, and thus, contains no copyrightable information.
522851890Sopenharmony_ci */
622851890Sopenharmony_ci#ifndef _DVBAUDIO_H_
722851890Sopenharmony_ci#define _DVBAUDIO_H_
822851890Sopenharmony_ci#include <linux/types.h>
922851890Sopenharmony_citypedef enum {
1022851890Sopenharmony_ci	AUDIO_SOURCE_DEMUX,
1122851890Sopenharmony_ci	AUDIO_SOURCE_MEMORY
1222851890Sopenharmony_ci} audio_stream_source_t;
1322851890Sopenharmony_citypedef enum {
1422851890Sopenharmony_ci	AUDIO_STOPPED,
1522851890Sopenharmony_ci	AUDIO_PLAYING,
1622851890Sopenharmony_ci	AUDIO_PAUSED
1722851890Sopenharmony_ci} audio_play_state_t;
1822851890Sopenharmony_citypedef enum {
1922851890Sopenharmony_ci	AUDIO_STEREO,
2022851890Sopenharmony_ci	AUDIO_MONO_LEFT,
2122851890Sopenharmony_ci	AUDIO_MONO_RIGHT,
2222851890Sopenharmony_ci	AUDIO_MONO,
2322851890Sopenharmony_ci	AUDIO_STEREO_SWAPPED
2422851890Sopenharmony_ci} audio_channel_select_t;
2522851890Sopenharmony_citypedef struct audio_mixer {
2622851890Sopenharmony_ci	unsigned int volume_left;
2722851890Sopenharmony_ci	unsigned int volume_right;
2822851890Sopenharmony_ci
2922851890Sopenharmony_ci} audio_mixer_t;
3022851890Sopenharmony_citypedef struct audio_status {
3122851890Sopenharmony_ci	int                    AV_sync_state;
3222851890Sopenharmony_ci	int                    mute_state;
3322851890Sopenharmony_ci	audio_play_state_t     play_state;
3422851890Sopenharmony_ci	audio_stream_source_t  stream_source;
3522851890Sopenharmony_ci	audio_channel_select_t channel_select;
3622851890Sopenharmony_ci	int                    bypass_mode;
3722851890Sopenharmony_ci	audio_mixer_t	       mixer_state;
3822851890Sopenharmony_ci} audio_status_t;
3922851890Sopenharmony_ci#define AUDIO_CAP_DTS    1
4022851890Sopenharmony_ci#define AUDIO_CAP_LPCM   2
4122851890Sopenharmony_ci#define AUDIO_CAP_MP1    4
4222851890Sopenharmony_ci#define AUDIO_CAP_MP2    8
4322851890Sopenharmony_ci#define AUDIO_CAP_MP3   16
4422851890Sopenharmony_ci#define AUDIO_CAP_AAC   32
4522851890Sopenharmony_ci#define AUDIO_CAP_OGG   64
4622851890Sopenharmony_ci#define AUDIO_CAP_SDDS 128
4722851890Sopenharmony_ci#define AUDIO_CAP_AC3  256
4822851890Sopenharmony_ci#define AUDIO_STOP                 _IO('o', 1)
4922851890Sopenharmony_ci#define AUDIO_PLAY                 _IO('o', 2)
5022851890Sopenharmony_ci#define AUDIO_PAUSE                _IO('o', 3)
5122851890Sopenharmony_ci#define AUDIO_CONTINUE             _IO('o', 4)
5222851890Sopenharmony_ci#define AUDIO_SELECT_SOURCE        _IO('o', 5)
5322851890Sopenharmony_ci#define AUDIO_SET_MUTE             _IO('o', 6)
5422851890Sopenharmony_ci#define AUDIO_SET_AV_SYNC          _IO('o', 7)
5522851890Sopenharmony_ci#define AUDIO_SET_BYPASS_MODE      _IO('o', 8)
5622851890Sopenharmony_ci#define AUDIO_CHANNEL_SELECT       _IO('o', 9)
5722851890Sopenharmony_ci#define AUDIO_GET_STATUS           _IOR('o', 10, audio_status_t)
5822851890Sopenharmony_ci#define AUDIO_GET_CAPABILITIES     _IOR('o', 11, unsigned int)
5922851890Sopenharmony_ci#define AUDIO_CLEAR_BUFFER         _IO('o',  12)
6022851890Sopenharmony_ci#define AUDIO_SET_ID               _IO('o', 13)
6122851890Sopenharmony_ci#define AUDIO_SET_MIXER            _IOW('o', 14, audio_mixer_t)
6222851890Sopenharmony_ci#define AUDIO_SET_STREAMTYPE       _IO('o', 15)
6322851890Sopenharmony_ci#define AUDIO_BILINGUAL_CHANNEL_SELECT _IO('o', 20)
6422851890Sopenharmony_ci#endif
65