#ifndef _MULTIMEDIA_AUDIO_DEVICE_H
#define _MULTIMEDIA_AUDIO_DEVICE_H
#ifdef __cplusplus
extern "C" {
#endif
#include <sys/types.h>
#include <sys/ioccom.h>
#include <sys/audioio.h>
typedef audio_info_t Audio_info;
#define audio_get_play_config(F, H) \
audio__setplayhdr((F), (H), AUDIO__PLAY)
#define audio_get_record_config(F, H) \
audio__setplayhdr((F), (H), AUDIO__RECORD)
#define audio_set_play_config(F, H) \
audio__setplayhdr((F), (H), AUDIO__SET|AUDIO__PLAY)
#define audio_set_record_config(F, H) \
audio__setplayhdr((F), (H), AUDIO__SET|AUDIO__RECORD)
#define audio_pause(F) \
audio__setpause((F), AUDIO__PLAYREC|AUDIO__PAUSE)
#define audio_pause_play(F) \
audio__setpause((F), AUDIO__PLAY|AUDIO__PAUSE)
#define audio_pause_record(F) \
audio__setpause((F), AUDIO__RECORD|AUDIO__PAUSE)
#define audio_resume(F) \
audio__setpause((F), AUDIO__PLAYREC|AUDIO__RESUME)
#define audio_resume_play(F) \
audio__setpause((F), AUDIO__PLAY|AUDIO__RESUME)
#define audio_resume_record(F) \
audio__setpause((F), AUDIO__RECORD|AUDIO__RESUME)
#define audio_get_play_port(F, V) \
audio__setval((F), (V), AUDIO__PLAY|AUDIO__PORT)
#define audio_get_record_port(F, V) \
audio__setval((F), (V), AUDIO__RECORD|AUDIO__PORT)
#define audio_get_play_balance(F, V) \
audio__setval((F), (V), AUDIO__PLAY|AUDIO__BALANCE)
#define audio_get_record_balance(F, V) \
audio__setval((F), (V), AUDIO__RECORD|AUDIO__BALANCE)
#define audio_get_play_samples(F, V) \
audio__setval((F), (V), AUDIO__PLAY|AUDIO__SAMPLES)
#define audio_get_record_samples(F, V) \
audio__setval((F), (V), AUDIO__RECORD|AUDIO__SAMPLES)
#define audio_get_play_error(F, V) \
audio__setval((F), (V), AUDIO__PLAY|AUDIO__ERROR)
#define audio_get_record_error(F, V) \
audio__setval((F), (V), AUDIO__RECORD|AUDIO__ERROR)
#define audio_get_play_eof(F, V) \
audio__setval((F), (V), AUDIO__PLAY|AUDIO__EOF)
#define audio_get_play_open(F, V) \
audio__setval((F), (V), AUDIO__PLAY|AUDIO__OPEN)
#define audio_get_record_open(F, V) \
audio__setval((F), (V), AUDIO__RECORD|AUDIO__OPEN)
#define audio_get_play_active(F, V) \
audio__setval((F), (V), AUDIO__PLAY|AUDIO__ACTIVE)
#define audio_get_record_active(F, V) \
audio__setval((F), (V), AUDIO__RECORD|AUDIO__ACTIVE)
#define audio_get_play_waiting(F, V) \
audio__setval((F), (V), AUDIO__PLAY|AUDIO__WAITING)
#define audio_get_record_waiting(F, V) \
audio__setval((F), (V), AUDIO__RECORD|AUDIO__WAITING)
#define audio_set_play_port(F, V) \
audio__setval((F), (V), AUDIO__SET|AUDIO__PLAY|AUDIO__PORT)
#define audio_set_record_port(F, V) \
audio__setval((F), (V), AUDIO__SET|AUDIO__RECORD|AUDIO__PORT)
#define audio_set_play_balance(F, V) \
audio__setval((F), (V), AUDIO__SET|AUDIO__PLAY|AUDIO__BALANCE)
#define audio_set_record_balance(F, V) \
audio__setval((F), (V), AUDIO__SET|AUDIO__RECORD|AUDIO__BALANCE)
#define audio_set_play_samples(F, V) \
audio__setval((F), (V), AUDIO__SET|AUDIO__PLAY|AUDIO__SAMPLES)
#define audio_set_record_samples(F, V) \
audio__setval((F), (V), AUDIO__SET|AUDIO__RECORD|AUDIO__SAMPLES)
#define audio_set_play_error(F, V) \
audio__setval((F), (V), AUDIO__SET|AUDIO__PLAY|AUDIO__ERROR)
#define audio_set_record_error(F, V) \
audio__setval((F), (V), AUDIO__SET|AUDIO__RECORD|AUDIO__ERROR)
#define audio_set_play_eof(F, V) \
audio__setval((F), (V), AUDIO__SET|AUDIO__PLAY|AUDIO__EOF)
#define audio_set_play_waiting(F, V) \
audio__setval((F), (V), AUDIO__SET|AUDIO__PLAY|AUDIO__WAITING)
#define audio_set_record_waiting(F, V) \
audio__setval((F), (V), AUDIO__SET|AUDIO__RECORD|AUDIO__WAITING)
#define audio_get_play_gain(F, V) \
audio__setgain((F), (V), AUDIO__PLAY|AUDIO__GAIN)
#define audio_get_record_gain(F, V) \
audio__setgain((F), (V), AUDIO__RECORD|AUDIO__GAIN)
#define audio_get_monitor_gain(F, V) \
audio__setgain((F), (V), AUDIO__MONGAIN)
#define audio_set_play_gain(F, V) \
audio__setgain((F), (V), AUDIO__SET|AUDIO__PLAY|AUDIO__GAIN)
#define audio_set_record_gain(F, V) \
audio__setgain((F), (V), AUDIO__SET|AUDIO__RECORD|AUDIO__GAIN)
#define audio_set_monitor_gain(F, V) \
audio__setgain((F), (V), AUDIO__SET|AUDIO__MONGAIN)
#define audio_flush(F) \
audio__flush((F), AUDIO__PLAYREC)
#define audio_flush_play(F) \
audio__flush((F), AUDIO__PLAY)
#define audio_flush_record(F) \
audio__flush((F), AUDIO__RECORD)
#define AUDIO__PLAY (0x10000)
#define AUDIO__RECORD (0x20000)
#define AUDIO__PLAYREC (AUDIO__PLAY | AUDIO__RECORD)
#define AUDIO__PORT (1)
#define AUDIO__SAMPLES (2)
#define AUDIO__ERROR (3)
#define AUDIO__EOF (4)
#define AUDIO__OPEN (5)
#define AUDIO__ACTIVE (6)
#define AUDIO__WAITING (7)
#define AUDIO__GAIN (8)
#define AUDIO__MONGAIN (9)
#define AUDIO__PAUSE (10)
#define AUDIO__RESUME (11)
#define AUDIO__BALANCE (12)
#define AUDIO__SET (0x80000000)
#define AUDIO__SETVAL_MASK (0xff)
#ifdef __cplusplus
}
#endif
#endif