| /* include/linux/cpcap_audio.h |
| * |
| * Copyright (C) 2010 Google, Inc. |
| * |
| * Author: |
| * Iliyan Malchev <malchev@google.com> |
| * |
| * This software is licensed under the terms of the GNU General Public |
| * License version 2, as published by the Free Software Foundation, and |
| * may be copied, distributed, and modified under those terms. |
| * |
| * This program is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| * GNU General Public License for more details. |
| * |
| */ |
| |
| #ifndef _CPCAP_AUDIO_H |
| #define _CPCAP_AUDIO_H |
| |
| #include <linux/ioctl.h> |
| |
| #define CPCAP_AUDIO_MAGIC 'c' |
| |
| #define CPCAP_AUDIO_OUT_SPEAKER 0 |
| #define CPCAP_AUDIO_OUT_HEADSET 1 |
| #define CPCAP_AUDIO_OUT_HEADSET_AND_SPEAKER 2 |
| #define CPCAP_AUDIO_OUT_STANDBY 3 |
| #define CPCAP_AUDIO_OUT_ANLG_DOCK_HEADSET 4 |
| #define CPCAP_AUDIO_OUT_MAX 4 |
| |
| struct cpcap_audio_stream { |
| unsigned id; /* e.g., CPCAP_AUDIO_OUT_SPEAKER or CPCAP_AUDIO_IN_MIC1 */ |
| int on; /* enable/disable for output, unmute/mute for input */ |
| }; |
| |
| #define CPCAP_AUDIO_OUT_SET_OUTPUT _IOW(CPCAP_AUDIO_MAGIC, 0, \ |
| const struct cpcap_audio_stream *) |
| |
| #define CPCAP_AUDIO_OUT_VOL_MIN 0 |
| #define CPCAP_AUDIO_OUT_VOL_MAX 15 |
| |
| #define CPCAP_AUDIO_OUT_SET_VOLUME _IOW(CPCAP_AUDIO_MAGIC, 1, unsigned int) |
| |
| #define CPCAP_AUDIO_OUT_GET_OUTPUT \ |
| _IOR(CPCAP_AUDIO_MAGIC, 2, struct cpcap_audio_stream *) |
| #define CPCAP_AUDIO_OUT_GET_VOLUME \ |
| _IOR(CPCAP_AUDIO_MAGIC, 3, unsigned int *) |
| |
| #define CPCAP_AUDIO_IN_MIC1 0 |
| #define CPCAP_AUDIO_IN_MIC2 1 |
| #define CPCAP_AUDIO_IN_STANDBY 2 |
| #define CPCAP_AUDIO_IN_MAX 2 |
| |
| #define CPCAP_AUDIO_IN_SET_INPUT _IOW(CPCAP_AUDIO_MAGIC, 4, \ |
| const struct cpcap_audio_stream *) |
| |
| #define CPCAP_AUDIO_IN_GET_INPUT _IOR(CPCAP_AUDIO_MAGIC, 5, \ |
| struct cpcap_audio_stream *) |
| |
| #define CPCAP_AUDIO_IN_VOL_MIN 0 |
| #define CPCAP_AUDIO_IN_VOL_MAX 31 |
| |
| #define CPCAP_AUDIO_IN_SET_VOLUME _IOW(CPCAP_AUDIO_MAGIC, 6, unsigned int) |
| |
| #define CPCAP_AUDIO_IN_GET_VOLUME _IOR(CPCAP_AUDIO_MAGIC, 7, unsigned int *) |
| |
| #define CPCAP_AUDIO_OUT_GET_RATE _IOR(CPCAP_AUDIO_MAGIC, 8, unsigned int *) |
| #define CPCAP_AUDIO_OUT_SET_RATE _IOW(CPCAP_AUDIO_MAGIC, 9, unsigned int) |
| #define CPCAP_AUDIO_IN_GET_RATE _IOR(CPCAP_AUDIO_MAGIC, 10, unsigned int *) |
| #define CPCAP_AUDIO_IN_SET_RATE _IOW(CPCAP_AUDIO_MAGIC, 11, unsigned int) |
| |
| #define CPCAP_AUDIO_SET_BLUETOOTH_BYPASS _IOW(CPCAP_AUDIO_MAGIC, 12, unsigned int) |
| |
| #endif/*_CPCAP_AUDIO_H*/ |