~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/sound/seq_oss.h

Version: ~ [ linux-5.5-rc1 ] ~ [ linux-5.4.2 ] ~ [ linux-5.3.15 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.88 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.158 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.206 ] ~ [ linux-4.8.17 ] ~ [ linux-4.7.10 ] ~ [ linux-4.6.7 ] ~ [ linux-4.5.7 ] ~ [ linux-4.4.206 ] ~ [ linux-4.3.6 ] ~ [ linux-4.2.8 ] ~ [ linux-4.1.52 ] ~ [ linux-4.0.9 ] ~ [ linux-3.19.8 ] ~ [ linux-3.18.140 ] ~ [ linux-3.17.8 ] ~ [ linux-3.16.78 ] ~ [ linux-3.15.10 ] ~ [ linux-3.14.79 ] ~ [ linux-3.13.11 ] ~ [ linux-3.12.74 ] ~ [ linux-3.11.10 ] ~ [ linux-3.10.108 ] ~ [ linux-3.9.11 ] ~ [ linux-3.8.13 ] ~ [ linux-3.7.10 ] ~ [ linux-3.6.11 ] ~ [ linux-3.5.7 ] ~ [ linux-3.4.113 ] ~ [ linux-3.3.8 ] ~ [ linux-3.2.102 ] ~ [ linux-3.1.10 ] ~ [ linux-3.0.101 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.5 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 #ifndef __SOUND_SEQ_OSS_H
  2 #define __SOUND_SEQ_OSS_H
  3 
  4 /*
  5  * OSS compatible sequencer driver
  6  *
  7  * Copyright (C) 1998,99 Takashi Iwai
  8  *
  9  * This program is free software; you can redistribute it and/or modify
 10  * it under the terms of the GNU General Public License as published by
 11  * the Free Software Foundation; either version 2 of the License, or
 12  * (at your option) any later version.
 13  *
 14  * This program is distributed in the hope that it will be useful,
 15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 17  * GNU General Public License for more details.
 18  *
 19  * You should have received a copy of the GNU General Public License
 20  * along with this program; if not, write to the Free Software
 21  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 22  */
 23 
 24 #include <sound/asequencer.h>
 25 #include <sound/seq_kernel.h>
 26 
 27 /*
 28  * argument structure for synthesizer operations
 29  */
 30 struct snd_seq_oss_arg {
 31         /* given by OSS sequencer */
 32         int app_index;  /* application unique index */
 33         int file_mode;  /* file mode - see below */
 34         int seq_mode;   /* sequencer mode - see below */
 35 
 36         /* following must be initialized in open callback */
 37         struct snd_seq_addr addr;       /* opened port address */
 38         void *private_data;     /* private data for lowlevel drivers */
 39 
 40         /* note-on event passing mode: initially given by OSS seq,
 41          * but configurable by drivers - see below
 42          */
 43         int event_passing;
 44 };
 45 
 46 
 47 /*
 48  * synthesizer operation callbacks
 49  */
 50 struct snd_seq_oss_callback {
 51         struct module *owner;
 52         int (*open)(struct snd_seq_oss_arg *p, void *closure);
 53         int (*close)(struct snd_seq_oss_arg *p);
 54         int (*ioctl)(struct snd_seq_oss_arg *p, unsigned int cmd, unsigned long arg);
 55         int (*load_patch)(struct snd_seq_oss_arg *p, int format, const char __user *buf, int offs, int count);
 56         int (*reset)(struct snd_seq_oss_arg *p);
 57         int (*raw_event)(struct snd_seq_oss_arg *p, unsigned char *data);
 58 };
 59 
 60 /* flag: file_mode */
 61 #define SNDRV_SEQ_OSS_FILE_ACMODE               3
 62 #define SNDRV_SEQ_OSS_FILE_READ         1
 63 #define SNDRV_SEQ_OSS_FILE_WRITE                2
 64 #define SNDRV_SEQ_OSS_FILE_NONBLOCK     4
 65 
 66 /* flag: seq_mode */
 67 #define SNDRV_SEQ_OSS_MODE_SYNTH                0
 68 #define SNDRV_SEQ_OSS_MODE_MUSIC                1
 69 
 70 /* flag: event_passing */
 71 #define SNDRV_SEQ_OSS_PROCESS_EVENTS    0       /* key == 255 is processed as velocity change */
 72 #define SNDRV_SEQ_OSS_PASS_EVENTS               1       /* pass all events to callback */
 73 #define SNDRV_SEQ_OSS_PROCESS_KEYPRESS  2       /* key >= 128 will be processed as key-pressure */
 74 
 75 /* default control rate: fixed */
 76 #define SNDRV_SEQ_OSS_CTRLRATE          100
 77 
 78 /* default max queue length: configurable by module option */
 79 #define SNDRV_SEQ_OSS_MAX_QLEN          1024
 80 
 81 
 82 /*
 83  * data pointer to snd_seq_register_device
 84  */
 85 struct snd_seq_oss_reg {
 86         int type;
 87         int subtype;
 88         int nvoices;
 89         struct snd_seq_oss_callback oper;
 90         void *private_data;
 91 };
 92 
 93 /* device id */
 94 #define SNDRV_SEQ_DEV_ID_OSS            "seq-oss"
 95 
 96 #endif /* __SOUND_SEQ_OSS_H */
 97 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | Wiki (Japanese) | Wiki (English) | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

osdn.jp