1655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/**************************************************************************** 2655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng **************************************************************************** 3655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** 4655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** This header was automatically generated from a Linux kernel header 5655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** of the same name, to make information necessary for userspace to 6655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** call into the kernel available to libc. It contains only constants, 7655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** structures, and macros generated from the original header, and thus, 8655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** contains no copyrightable information. 9655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** 10655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** To edit the content of this header, modify the corresponding 11655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** source file (e.g. under external/kernel-headers/original/) then 12655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** run bionic/libc/kernel/tools/update_all.py 13655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** 14655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** Any manual change here will be lost the next time this script will 15655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** be run. You've been warned! 16655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** 17655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng **************************************************************************** 18655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************/ 19655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#ifndef _UAPI__SOUND_ASEQUENCER_H 20655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define _UAPI__SOUND_ASEQUENCER_H 2105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#include <sound/asound.h> 22106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define SNDRV_SEQ_VERSION SNDRV_PROTOCOL_VERSION(1, 0, 2) 2305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SNDRV_SEQ_EVENT_SYSTEM 0 24655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_RESULT 1 25655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_NOTE 5 26655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_NOTEON 6 2705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SNDRV_SEQ_EVENT_NOTEOFF 7 28655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_KEYPRESS 8 29655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_CONTROLLER 10 30655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_PGMCHANGE 11 3105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SNDRV_SEQ_EVENT_CHANPRESS 12 32655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_PITCHBEND 13 33655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_CONTROL14 14 34655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_NONREGPARAM 15 3505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SNDRV_SEQ_EVENT_REGPARAM 16 36655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_SONGPOS 20 37655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_SONGSEL 21 38655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_QFRAME 22 3905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SNDRV_SEQ_EVENT_TIMESIGN 23 40655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_KEYSIGN 24 41655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_START 30 42655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_CONTINUE 31 4305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SNDRV_SEQ_EVENT_STOP 32 44655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_SETPOS_TICK 33 45655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_SETPOS_TIME 34 46655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_TEMPO 35 4705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SNDRV_SEQ_EVENT_CLOCK 36 48655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_TICK 37 49655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_QUEUE_SKEW 38 50655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_TUNE_REQUEST 40 5105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SNDRV_SEQ_EVENT_RESET 41 52655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_SENSING 42 53655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_ECHO 50 54655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_OSS 51 5505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SNDRV_SEQ_EVENT_CLIENT_START 60 56655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_CLIENT_EXIT 61 57655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_CLIENT_CHANGE 62 58655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_PORT_START 63 5905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SNDRV_SEQ_EVENT_PORT_EXIT 64 60655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_PORT_CHANGE 65 61655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_PORT_SUBSCRIBED 66 62655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_PORT_UNSUBSCRIBED 67 6305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SNDRV_SEQ_EVENT_USR0 90 64655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_USR1 91 65655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_USR2 92 66655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_USR3 93 6705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SNDRV_SEQ_EVENT_USR4 94 68655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_USR5 95 69655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_USR6 96 70655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_USR7 97 7105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SNDRV_SEQ_EVENT_USR8 98 72655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_USR9 99 73655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_SYSEX 130 74655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_BOUNCE 131 7505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SNDRV_SEQ_EVENT_USR_VAR0 135 76655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_USR_VAR1 136 77655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_USR_VAR2 137 78655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_USR_VAR3 138 7905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SNDRV_SEQ_EVENT_USR_VAR4 139 80655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_KERNEL_ERROR 150 81655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_KERNEL_QUOTE 151 82655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_EVENT_NONE 255 8305d08e9716b5974d6ed08973f44930804890b902Christopher Ferristypedef unsigned char snd_seq_event_type_t; 84655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct snd_seq_addr { 85d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned char client; 86d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned char port; 8705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 88655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct snd_seq_connect { 89d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao struct snd_seq_addr sender; 90d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao struct snd_seq_addr dest; 9105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 92655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_ADDRESS_UNKNOWN 253 93655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_ADDRESS_SUBSCRIBERS 254 94655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_ADDRESS_BROADCAST 255 9505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SNDRV_SEQ_QUEUE_DIRECT 253 96d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_TIME_STAMP_TICK (0 << 0) 97d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_TIME_STAMP_REAL (1 << 0) 98d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_TIME_STAMP_MASK (1 << 0) 9905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SNDRV_SEQ_TIME_MODE_ABS (0 << 1) 100d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_TIME_MODE_REL (1 << 1) 101d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_TIME_MODE_MASK (1 << 1) 102d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_EVENT_LENGTH_FIXED (0 << 2) 10305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SNDRV_SEQ_EVENT_LENGTH_VARIABLE (1 << 2) 104d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_EVENT_LENGTH_VARUSR (2 << 2) 105d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_EVENT_LENGTH_MASK (3 << 2) 106d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_PRIORITY_NORMAL (0 << 4) 10705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SNDRV_SEQ_PRIORITY_HIGH (1 << 4) 108d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_PRIORITY_MASK (1 << 4) 109655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct snd_seq_ev_note { 110d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned char channel; 11105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris unsigned char note; 112d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned char velocity; 113d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned char off_velocity; 114d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned int duration; 11505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 116655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct snd_seq_ev_ctrl { 117d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned char channel; 118d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned char unused1, unused2, unused3; 11905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris unsigned int param; 120d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao signed int value; 121655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 122655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct snd_seq_ev_raw8 { 12305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris unsigned char d[12]; 124655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 125655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct snd_seq_ev_raw32 { 126d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned int d[3]; 12705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 128655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct snd_seq_ev_ext { 129d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned int len; 130d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao void * ptr; 13105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris} __attribute__((packed)); 132655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct snd_seq_result { 133d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int event; 134d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int result; 13505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 136655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct snd_seq_real_time { 137d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned int tv_sec; 138d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned int tv_nsec; 13905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 140655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef unsigned int snd_seq_tick_time_t; 141655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengunion snd_seq_timestamp { 142d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao snd_seq_tick_time_t tick; 14305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris struct snd_seq_real_time time; 144655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 145655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct snd_seq_queue_skew { 146d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned int value; 14705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris unsigned int base; 148655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 149655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct snd_seq_ev_queue_control { 150d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned char queue; 15105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris unsigned char pad[3]; 152d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao union { 153d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao signed int value; 154d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao union snd_seq_timestamp time; 15505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris unsigned int position; 156d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao struct snd_seq_queue_skew skew; 157d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned int d32[2]; 158d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned char d8[8]; 15905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris } param; 160655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 161655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct snd_seq_ev_quote { 162d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao struct snd_seq_addr origin; 16305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris unsigned short value; 164d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao struct snd_seq_event * event; 165655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng} __attribute__((packed)); 166655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct snd_seq_event { 16705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris snd_seq_event_type_t type; 168d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned char flags; 169d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao char tag; 170d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned char queue; 17105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris union snd_seq_timestamp time; 172d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao struct snd_seq_addr source; 173d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao struct snd_seq_addr dest; 174d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao union { 17505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris struct snd_seq_ev_note note; 176d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao struct snd_seq_ev_ctrl control; 177d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao struct snd_seq_ev_raw8 raw8; 178d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao struct snd_seq_ev_raw32 raw32; 17905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris struct snd_seq_ev_ext ext; 180d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao struct snd_seq_ev_queue_control queue; 181d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao union snd_seq_timestamp time; 182d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao struct snd_seq_addr addr; 18305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris struct snd_seq_connect connect; 184d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao struct snd_seq_result result; 185d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao struct snd_seq_ev_quote quote; 186d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao } data; 18705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 188655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct snd_seq_event_bounce { 189d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int err; 190d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao struct snd_seq_event event; 19105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 192655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct snd_seq_system_info { 193d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int queues; 194d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int clients; 19505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris int ports; 196d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int channels; 197d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int cur_clients; 198d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int cur_queues; 19905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris char reserved[24]; 200655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 201655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct snd_seq_running_info { 202d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned char client; 20305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris unsigned char big_endian; 204d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned char cpu_mode; 205d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned char pad; 206d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned char reserved[12]; 20705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 208655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_CLIENT_SYSTEM 0 209655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_CLIENT_DUMMY 14 210655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_CLIENT_OSS 15 21105d08e9716b5974d6ed08973f44930804890b902Christopher Ferristypedef int __bitwise snd_seq_client_type_t; 212655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define NO_CLIENT ((__force snd_seq_client_type_t) 0) 213655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define USER_CLIENT ((__force snd_seq_client_type_t) 1) 214655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define KERNEL_CLIENT ((__force snd_seq_client_type_t) 2) 21505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SNDRV_SEQ_FILTER_BROADCAST (1 << 0) 216d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_FILTER_MULTICAST (1 << 1) 217d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_FILTER_BOUNCE (1 << 2) 218d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_FILTER_USE_EVENT (1 << 31) 21905d08e9716b5974d6ed08973f44930804890b902Christopher Ferrisstruct snd_seq_client_info { 220d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int client; 221d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao snd_seq_client_type_t type; 222d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao char name[64]; 22305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris unsigned int filter; 224d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned char multicast_filter[8]; 225d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned char event_filter[32]; 226d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int num_ports; 22705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris int event_lost; 228106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris int card; 229106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris int pid; 230106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris char reserved[56]; 231655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 232655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct snd_seq_client_pool { 23305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris int client; 234d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int output_pool; 235d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int input_pool; 236d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int output_room; 23705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris int output_free; 238d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int input_free; 239d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao char reserved[64]; 240655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 24105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SNDRV_SEQ_REMOVE_INPUT (1 << 0) 242d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_REMOVE_OUTPUT (1 << 1) 243d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_REMOVE_DEST (1 << 2) 244d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_REMOVE_DEST_CHANNEL (1 << 3) 24505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SNDRV_SEQ_REMOVE_TIME_BEFORE (1 << 4) 246d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_REMOVE_TIME_AFTER (1 << 5) 247d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_REMOVE_TIME_TICK (1 << 6) 248d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_REMOVE_EVENT_TYPE (1 << 7) 24905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SNDRV_SEQ_REMOVE_IGNORE_OFF (1 << 8) 250d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_REMOVE_TAG_MATCH (1 << 9) 251655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct snd_seq_remove_events { 252d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned int remove_mode; 25305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris union snd_seq_timestamp time; 254d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned char queue; 255d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao struct snd_seq_addr dest; 256d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned char channel; 25705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris int type; 258d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao char tag; 259d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int reserved[10]; 260655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 26105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SNDRV_SEQ_PORT_SYSTEM_TIMER 0 262655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_PORT_SYSTEM_ANNOUNCE 1 263d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_PORT_CAP_READ (1 << 0) 264d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_PORT_CAP_WRITE (1 << 1) 26505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SNDRV_SEQ_PORT_CAP_SYNC_READ (1 << 2) 266d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_PORT_CAP_SYNC_WRITE (1 << 3) 267d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_PORT_CAP_DUPLEX (1 << 4) 268d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_PORT_CAP_SUBS_READ (1 << 5) 26905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SNDRV_SEQ_PORT_CAP_SUBS_WRITE (1 << 6) 270d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_PORT_CAP_NO_EXPORT (1 << 7) 271d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_PORT_TYPE_SPECIFIC (1 << 0) 272d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_PORT_TYPE_MIDI_GENERIC (1 << 1) 27305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SNDRV_SEQ_PORT_TYPE_MIDI_GM (1 << 2) 274d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_PORT_TYPE_MIDI_GS (1 << 3) 275d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_PORT_TYPE_MIDI_XG (1 << 4) 276d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_PORT_TYPE_MIDI_MT32 (1 << 5) 27705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SNDRV_SEQ_PORT_TYPE_MIDI_GM2 (1 << 6) 278d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_PORT_TYPE_SYNTH (1 << 10) 279d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_PORT_TYPE_DIRECT_SAMPLE (1 << 11) 280d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_PORT_TYPE_SAMPLE (1 << 12) 28105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SNDRV_SEQ_PORT_TYPE_HARDWARE (1 << 16) 282d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_PORT_TYPE_SOFTWARE (1 << 17) 283d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_PORT_TYPE_SYNTHESIZER (1 << 18) 284d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_PORT_TYPE_PORT (1 << 19) 28505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SNDRV_SEQ_PORT_TYPE_APPLICATION (1 << 20) 286d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_PORT_FLG_GIVEN_PORT (1 << 0) 287d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_PORT_FLG_TIMESTAMP (1 << 1) 288d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_PORT_FLG_TIME_REAL (1 << 2) 28905d08e9716b5974d6ed08973f44930804890b902Christopher Ferrisstruct snd_seq_port_info { 290d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao struct snd_seq_addr addr; 291d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao char name[64]; 292d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned int capability; 29305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris unsigned int type; 294d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int midi_channels; 295d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int midi_voices; 296d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int synth_voices; 29705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris int read_use; 298d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int write_use; 299d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao void * kernel; 300d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned int flags; 30105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris unsigned char time_queue; 302d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao char reserved[59]; 303655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 304d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_QUEUE_FLG_SYNC (1 << 0) 30505d08e9716b5974d6ed08973f44930804890b902Christopher Ferrisstruct snd_seq_queue_info { 306d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int queue; 307d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int owner; 308d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned locked : 1; 30905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris char name[64]; 310d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned int flags; 311d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao char reserved[60]; 312655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 31305d08e9716b5974d6ed08973f44930804890b902Christopher Ferrisstruct snd_seq_queue_status { 314d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int queue; 315d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int events; 316d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao snd_seq_tick_time_t tick; 31705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris struct snd_seq_real_time time; 318d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int running; 319d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int flags; 320d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao char reserved[64]; 32105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 322655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct snd_seq_queue_tempo { 323d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int queue; 324d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned int tempo; 32505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris int ppq; 326d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned int skew_value; 327d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned int skew_base; 328d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao char reserved[24]; 32905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 330655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_TIMER_ALSA 0 331655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_TIMER_MIDI_CLOCK 1 332655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_TIMER_MIDI_TICK 2 33305d08e9716b5974d6ed08973f44930804890b902Christopher Ferrisstruct snd_seq_queue_timer { 334d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int queue; 335d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int type; 336d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao union { 33705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris struct { 338d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao struct snd_timer_id id; 339d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned int resolution; 340d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao } alsa; 34105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris } u; 342d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao char reserved[64]; 343655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 344655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct snd_seq_queue_client { 34505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris int queue; 346d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int client; 347d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int used; 348d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao char reserved[64]; 34905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 350d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_PORT_SUBS_EXCLUSIVE (1 << 0) 351d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_PORT_SUBS_TIMESTAMP (1 << 1) 352d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_PORT_SUBS_TIME_REAL (1 << 2) 35305d08e9716b5974d6ed08973f44930804890b902Christopher Ferrisstruct snd_seq_port_subscribe { 354d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao struct snd_seq_addr sender; 355d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao struct snd_seq_addr dest; 356d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned int voices; 35705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris unsigned int flags; 358d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned char queue; 359d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned char pad[3]; 360d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao char reserved[64]; 36105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 362655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_QUERY_SUBS_READ 0 363655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_QUERY_SUBS_WRITE 1 364655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct snd_seq_query_subs { 36505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris struct snd_seq_addr root; 366d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int type; 367d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int index; 368d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int num_subs; 36905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris struct snd_seq_addr addr; 370d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned char queue; 371d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned int flags; 372d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao char reserved[64]; 37305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 374d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_IOCTL_PVERSION _IOR('S', 0x00, int) 375d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_IOCTL_CLIENT_ID _IOR('S', 0x01, int) 376655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_IOCTL_SYSTEM_INFO _IOWR('S', 0x02, struct snd_seq_system_info) 37705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SNDRV_SEQ_IOCTL_RUNNING_MODE _IOWR('S', 0x03, struct snd_seq_running_info) 378655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_IOCTL_GET_CLIENT_INFO _IOWR('S', 0x10, struct snd_seq_client_info) 379d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_IOCTL_SET_CLIENT_INFO _IOW('S', 0x11, struct snd_seq_client_info) 380655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_IOCTL_CREATE_PORT _IOWR('S', 0x20, struct snd_seq_port_info) 38105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SNDRV_SEQ_IOCTL_DELETE_PORT _IOW('S', 0x21, struct snd_seq_port_info) 382655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_IOCTL_GET_PORT_INFO _IOWR('S', 0x22, struct snd_seq_port_info) 383d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_IOCTL_SET_PORT_INFO _IOW('S', 0x23, struct snd_seq_port_info) 384d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_IOCTL_SUBSCRIBE_PORT _IOW('S', 0x30, struct snd_seq_port_subscribe) 38505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SNDRV_SEQ_IOCTL_UNSUBSCRIBE_PORT _IOW('S', 0x31, struct snd_seq_port_subscribe) 386655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_IOCTL_CREATE_QUEUE _IOWR('S', 0x32, struct snd_seq_queue_info) 387d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_IOCTL_DELETE_QUEUE _IOW('S', 0x33, struct snd_seq_queue_info) 388655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_IOCTL_GET_QUEUE_INFO _IOWR('S', 0x34, struct snd_seq_queue_info) 38905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SNDRV_SEQ_IOCTL_SET_QUEUE_INFO _IOWR('S', 0x35, struct snd_seq_queue_info) 390655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_IOCTL_GET_NAMED_QUEUE _IOWR('S', 0x36, struct snd_seq_queue_info) 391655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS _IOWR('S', 0x40, struct snd_seq_queue_status) 392655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_IOCTL_GET_QUEUE_TEMPO _IOWR('S', 0x41, struct snd_seq_queue_tempo) 39305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SNDRV_SEQ_IOCTL_SET_QUEUE_TEMPO _IOW('S', 0x42, struct snd_seq_queue_tempo) 394655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_IOCTL_GET_QUEUE_TIMER _IOWR('S', 0x45, struct snd_seq_queue_timer) 39505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SNDRV_SEQ_IOCTL_SET_QUEUE_TIMER _IOW('S', 0x46, struct snd_seq_queue_timer) 396655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_IOCTL_GET_QUEUE_CLIENT _IOWR('S', 0x49, struct snd_seq_queue_client) 397d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_IOCTL_SET_QUEUE_CLIENT _IOW('S', 0x4a, struct snd_seq_queue_client) 398655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_IOCTL_GET_CLIENT_POOL _IOWR('S', 0x4b, struct snd_seq_client_pool) 39905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SNDRV_SEQ_IOCTL_SET_CLIENT_POOL _IOW('S', 0x4c, struct snd_seq_client_pool) 400d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SNDRV_SEQ_IOCTL_REMOVE_EVENTS _IOW('S', 0x4e, struct snd_seq_remove_events) 401655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_IOCTL_QUERY_SUBS _IOWR('S', 0x4f, struct snd_seq_query_subs) 402655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_IOCTL_GET_SUBSCRIPTION _IOWR('S', 0x50, struct snd_seq_port_subscribe) 40305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SNDRV_SEQ_IOCTL_QUERY_NEXT_CLIENT _IOWR('S', 0x51, struct snd_seq_client_info) 404655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define SNDRV_SEQ_IOCTL_QUERY_NEXT_PORT _IOWR('S', 0x52, struct snd_seq_port_info) 405655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#endif 406