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

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

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0-or-later */
  2 #ifndef __SOUND_SEQ_OSS_H
  3 #define __SOUND_SEQ_OSS_H
  4 
  5 /*
  6  * OSS compatible sequencer driver
  7  *
  8  * Copyright (C) 1998,99 Takashi Iwai
  9  */
 10 
 11 #include <sound/asequencer.h>
 12 #include <sound/seq_kernel.h>
 13 
 14 /*
 15  * argument structure for synthesizer operations
 16  */
 17 struct snd_seq_oss_arg {
 18         /* given by OSS sequencer */
 19         int app_index;  /* application unique index */
 20         int file_mode;  /* file mode - see below */
 21         int seq_mode;   /* sequencer mode - see below */
 22 
 23         /* following must be initialized in open callback */
 24         struct snd_seq_addr addr;       /* opened port address */
 25         void *private_data;     /* private data for lowlevel drivers */
 26 
 27         /* note-on event passing mode: initially given by OSS seq,
 28          * but configurable by drivers - see below
 29          */
 30         int event_passing;
 31 };
 32 
 33 
 34 /*
 35  * synthesizer operation callbacks
 36  */
 37 struct snd_seq_oss_callback {
 38         struct module *owner;
 39         int (*open)(struct snd_seq_oss_arg *p, void *closure);
 40         int (*close)(struct snd_seq_oss_arg *p);
 41         int (*ioctl)(struct snd_seq_oss_arg *p, unsigned int cmd, unsigned long arg);
 42         int (*load_patch)(struct snd_seq_oss_arg *p, int format, const char __user *buf, int offs, int count);
 43         int (*reset)(struct snd_seq_oss_arg *p);
 44         int (*raw_event)(struct snd_seq_oss_arg *p, unsigned char *data);
 45 };
 46 
 47 /* flag: file_mode */
 48 #define SNDRV_SEQ_OSS_FILE_ACMODE               3
 49 #define SNDRV_SEQ_OSS_FILE_READ         1
 50 #define SNDRV_SEQ_OSS_FILE_WRITE                2
 51 #define SNDRV_SEQ_OSS_FILE_NONBLOCK     4
 52 
 53 /* flag: seq_mode */
 54 #define SNDRV_SEQ_OSS_MODE_SYNTH                0
 55 #define SNDRV_SEQ_OSS_MODE_MUSIC                1
 56 
 57 /* flag: event_passing */
 58 #define SNDRV_SEQ_OSS_PROCESS_EVENTS    0       /* key == 255 is processed as velocity change */
 59 #define SNDRV_SEQ_OSS_PASS_EVENTS               1       /* pass all events to callback */
 60 #define SNDRV_SEQ_OSS_PROCESS_KEYPRESS  2       /* key >= 128 will be processed as key-pressure */
 61 
 62 /* default control rate: fixed */
 63 #define SNDRV_SEQ_OSS_CTRLRATE          100
 64 
 65 /* default max queue length: configurable by module option */
 66 #define SNDRV_SEQ_OSS_MAX_QLEN          1024
 67 
 68 
 69 /*
 70  * data pointer to snd_seq_register_device
 71  */
 72 struct snd_seq_oss_reg {
 73         int type;
 74         int subtype;
 75         int nvoices;
 76         struct snd_seq_oss_callback oper;
 77         void *private_data;
 78 };
 79 
 80 /* device id */
 81 #define SNDRV_SEQ_DEV_ID_OSS            "seq-oss"
 82 
 83 #endif /* __SOUND_SEQ_OSS_H */
 84 

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

kernel.org | git.kernel.org | LWN.net | Project Home | 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.

sflogo.php