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 | |
56 | typedef struct _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 | } MW_ABILITIES, *pMW_ABILITIES; |
67 | |
68 | |
69 | typedef struct _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 | } MW_READWRITE, *pMW_READWRITE; |
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,MW_ABILITIES) |
78 | #define IOCTL_MW_READ_DATA _IOR(MWAVE_MINOR,4,MW_READWRITE) |
79 | #define IOCTL_MW_READCLEAR_DATA _IOR(MWAVE_MINOR,5,MW_READWRITE) |
80 | #define IOCTL_MW_READ_INST _IOR(MWAVE_MINOR,6,MW_READWRITE) |
81 | #define IOCTL_MW_WRITE_DATA _IOW(MWAVE_MINOR,7,MW_READWRITE) |
82 | #define IOCTL_MW_WRITE_INST _IOW(MWAVE_MINOR,8,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,MW_READWRITE) |
87 | |
88 | |
89 | #endif |
90 | |