Commit | Line | Data |
---|---|---|
1da177e4 LT |
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 */ | |
833882b4 | 72 | void __user *pBuf; /* Input:variable sized buffer */ |
1da177e4 LT |
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 |