Back to home page

OSCL-LXR

 
 

    


0001 /*
0002 *
0003 * mwavepub.h -- PUBLIC declarations for the mwave driver
0004 *               and applications using it
0005 *
0006 *
0007 * Written By: Mike Sullivan IBM Corporation
0008 *
0009 * Copyright (C) 1999 IBM Corporation
0010 *
0011 * This program is free software; you can redistribute it and/or modify
0012 * it under the terms of the GNU General Public License as published by
0013 * the Free Software Foundation; either version 2 of the License, or
0014 * (at your option) any later version.
0015 *
0016 * This program is distributed in the hope that it will be useful,
0017 * but WITHOUT ANY WARRANTY; without even the implied warranty of
0018 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0019 * GNU General Public License for more details.
0020 *
0021 * NO WARRANTY
0022 * THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR
0023 * CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT
0024 * LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
0025 * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is
0026 * solely responsible for determining the appropriateness of using and
0027 * distributing the Program and assumes all risks associated with its
0028 * exercise of rights under this Agreement, including but not limited to
0029 * the risks and costs of program errors, damage to or loss of data,
0030 * programs or equipment, and unavailability or interruption of operations.
0031 *
0032 * DISCLAIMER OF LIABILITY
0033 * NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY
0034 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
0035 * DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND
0036 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
0037 * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
0038 * USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
0039 * HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
0040 *
0041 * You should have received a copy of the GNU General Public License
0042 * along with this program; if not, write to the Free Software
0043 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
0044 *
0045 *
0046 * 10/23/2000 - Alpha Release
0047 *   First release to the public
0048 */
0049 
0050 #ifndef _LINUX_MWAVEPUB_H
0051 #define _LINUX_MWAVEPUB_H
0052 
0053 #include <linux/miscdevice.h>
0054 
0055 
0056 typedef struct _MW_ABILITIES {
0057     unsigned long instr_per_sec;
0058     unsigned long data_size;
0059     unsigned long inst_size;
0060     unsigned long bus_dma_bw;
0061     unsigned short uart_enable;
0062     short component_count;
0063     unsigned long component_list[7];
0064     char mwave_os_name[16];
0065     char bios_task_name[16];
0066 } MW_ABILITIES, *pMW_ABILITIES;
0067 
0068 
0069 typedef struct _MW_READWRITE {
0070     unsigned short usDspAddress;    /* The dsp address */
0071     unsigned long ulDataLength; /* The size in bytes of the data or user buffer */
0072     void __user *pBuf;      /* Input:variable sized buffer */
0073 } MW_READWRITE, *pMW_READWRITE;
0074 
0075 #define IOCTL_MW_RESET           _IO(MWAVE_MINOR,1)
0076 #define IOCTL_MW_RUN             _IO(MWAVE_MINOR,2)
0077 #define IOCTL_MW_DSP_ABILITIES   _IOR(MWAVE_MINOR,3,MW_ABILITIES)
0078 #define IOCTL_MW_READ_DATA       _IOR(MWAVE_MINOR,4,MW_READWRITE)
0079 #define IOCTL_MW_READCLEAR_DATA  _IOR(MWAVE_MINOR,5,MW_READWRITE)
0080 #define IOCTL_MW_READ_INST       _IOR(MWAVE_MINOR,6,MW_READWRITE)
0081 #define IOCTL_MW_WRITE_DATA      _IOW(MWAVE_MINOR,7,MW_READWRITE)
0082 #define IOCTL_MW_WRITE_INST      _IOW(MWAVE_MINOR,8,MW_READWRITE)
0083 #define IOCTL_MW_REGISTER_IPC    _IOW(MWAVE_MINOR,9,int)
0084 #define IOCTL_MW_UNREGISTER_IPC  _IOW(MWAVE_MINOR,10,int)
0085 #define IOCTL_MW_GET_IPC         _IOW(MWAVE_MINOR,11,int)
0086 #define IOCTL_MW_TRACE           _IOR(MWAVE_MINOR,12,MW_READWRITE)
0087 
0088 
0089 #endif