at v6.19 89 lines 3.5 kB view raw
1/* 2* 3* mwavepub.h -- PUBLIC declarations for the mwave driver 4* and applications using it 5* 6* 7* Written By: Mike Sullivan IBM Corporation 8* 9* Copyright (C) 1999 IBM Corporation 10* 11* This program is free software; you can redistribute it and/or modify 12* it under the terms of the GNU General Public License as published by 13* the Free Software Foundation; either version 2 of the License, or 14* (at your option) any later version. 15* 16* This program is distributed in the hope that it will be useful, 17* but WITHOUT ANY WARRANTY; without even the implied warranty of 18* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19* GNU General Public License for more details. 20* 21* NO WARRANTY 22* THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR 23* CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT 24* LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, 25* MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is 26* solely responsible for determining the appropriateness of using and 27* distributing the Program and assumes all risks associated with its 28* exercise of rights under this Agreement, including but not limited to 29* the risks and costs of program errors, damage to or loss of data, 30* programs or equipment, and unavailability or interruption of operations. 31* 32* DISCLAIMER OF LIABILITY 33* NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY 34* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 35* DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND 36* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR 37* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE 38* USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED 39* HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES 40* 41* You should have received a copy of the GNU General Public License 42* along with this program; if not, write to the Free Software 43* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 44* 45* 46* 10/23/2000 - Alpha Release 47* First release to the public 48*/ 49 50#ifndef _LINUX_MWAVEPUB_H 51#define _LINUX_MWAVEPUB_H 52 53#include <linux/miscdevice.h> 54 55 56struct mw_abilities { 57 unsigned long instr_per_sec; 58 unsigned long data_size; 59 unsigned long inst_size; 60 unsigned long bus_dma_bw; 61 unsigned short uart_enable; 62 short component_count; 63 unsigned long component_list[7]; 64 char mwave_os_name[16]; 65 char bios_task_name[16]; 66}; 67 68 69struct mw_readwrite { 70 unsigned short usDspAddress; /* The dsp address */ 71 unsigned long ulDataLength; /* The size in bytes of the data or user buffer */ 72 void __user *pBuf; /* Input:variable sized buffer */ 73}; 74 75#define IOCTL_MW_RESET _IO(MWAVE_MINOR,1) 76#define IOCTL_MW_RUN _IO(MWAVE_MINOR,2) 77#define IOCTL_MW_DSP_ABILITIES _IOR(MWAVE_MINOR,3,struct mw_abilities) 78#define IOCTL_MW_READ_DATA _IOR(MWAVE_MINOR,4,struct mw_readwrite) 79#define IOCTL_MW_READCLEAR_DATA _IOR(MWAVE_MINOR,5,struct mw_readwrite) 80#define IOCTL_MW_READ_INST _IOR(MWAVE_MINOR,6,struct mw_readwrite) 81#define IOCTL_MW_WRITE_DATA _IOW(MWAVE_MINOR,7,struct mw_readwrite) 82#define IOCTL_MW_WRITE_INST _IOW(MWAVE_MINOR,8,struct mw_readwrite) 83#define IOCTL_MW_REGISTER_IPC _IOW(MWAVE_MINOR,9,int) 84#define IOCTL_MW_UNREGISTER_IPC _IOW(MWAVE_MINOR,10,int) 85#define IOCTL_MW_GET_IPC _IOW(MWAVE_MINOR,11,int) 86#define IOCTL_MW_TRACE _IOR(MWAVE_MINOR,12,struct mw_readwrite) 87 88 89#endif