122851890Sopenharmony_ci/**************************************************************************** 222851890Sopenharmony_ci **************************************************************************** 322851890Sopenharmony_ci *** 422851890Sopenharmony_ci *** This header was automatically generated from a Linux kernel header 522851890Sopenharmony_ci *** of the same name, to make information necessary for userspace to 622851890Sopenharmony_ci *** call into the kernel available to libc. It contains only constants, 722851890Sopenharmony_ci *** structures, and macros generated from the original header, and thus, 822851890Sopenharmony_ci *** contains no copyrightable information. 922851890Sopenharmony_ci *** 1022851890Sopenharmony_ci *** To edit the content of this header, modify the corresponding 1122851890Sopenharmony_ci *** source file (e.g. under external/kernel-headers/original/) then 1222851890Sopenharmony_ci *** run bionic/libc/kernel/tools/update_all.py 1322851890Sopenharmony_ci *** 1422851890Sopenharmony_ci *** Any manual change here will be lost the next time this script will 1522851890Sopenharmony_ci *** be run. You've been warned! 1622851890Sopenharmony_ci *** 1722851890Sopenharmony_ci **************************************************************************** 1822851890Sopenharmony_ci ****************************************************************************/ 1922851890Sopenharmony_ci#ifndef _UAPI__SOUND_ASEQUENCER_H 2022851890Sopenharmony_ci#define _UAPI__SOUND_ASEQUENCER_H 2122851890Sopenharmony_ci#include <sound/asound.h> 2222851890Sopenharmony_ci#define SNDRV_SEQ_VERSION SNDRV_PROTOCOL_VERSION(1, 0, 2) 2322851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_SYSTEM 0 2422851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_RESULT 1 2522851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_NOTE 5 2622851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_NOTEON 6 2722851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_NOTEOFF 7 2822851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_KEYPRESS 8 2922851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_CONTROLLER 10 3022851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_PGMCHANGE 11 3122851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_CHANPRESS 12 3222851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_PITCHBEND 13 3322851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_CONTROL14 14 3422851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_NONREGPARAM 15 3522851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_REGPARAM 16 3622851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_SONGPOS 20 3722851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_SONGSEL 21 3822851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_QFRAME 22 3922851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_TIMESIGN 23 4022851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_KEYSIGN 24 4122851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_START 30 4222851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_CONTINUE 31 4322851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_STOP 32 4422851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_SETPOS_TICK 33 4522851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_SETPOS_TIME 34 4622851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_TEMPO 35 4722851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_CLOCK 36 4822851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_TICK 37 4922851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_QUEUE_SKEW 38 5022851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_TUNE_REQUEST 40 5122851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_RESET 41 5222851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_SENSING 42 5322851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_ECHO 50 5422851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_OSS 51 5522851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_CLIENT_START 60 5622851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_CLIENT_EXIT 61 5722851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_CLIENT_CHANGE 62 5822851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_PORT_START 63 5922851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_PORT_EXIT 64 6022851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_PORT_CHANGE 65 6122851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_PORT_SUBSCRIBED 66 6222851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_PORT_UNSUBSCRIBED 67 6322851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_USR0 90 6422851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_USR1 91 6522851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_USR2 92 6622851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_USR3 93 6722851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_USR4 94 6822851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_USR5 95 6922851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_USR6 96 7022851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_USR7 97 7122851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_USR8 98 7222851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_USR9 99 7322851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_SYSEX 130 7422851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_BOUNCE 131 7522851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_USR_VAR0 135 7622851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_USR_VAR1 136 7722851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_USR_VAR2 137 7822851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_USR_VAR3 138 7922851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_USR_VAR4 139 8022851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_KERNEL_ERROR 150 8122851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_KERNEL_QUOTE 151 8222851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_NONE 255 8322851890Sopenharmony_citypedef unsigned char snd_seq_event_type_t; 8422851890Sopenharmony_cistruct snd_seq_addr { 8522851890Sopenharmony_ci unsigned char client; 8622851890Sopenharmony_ci unsigned char port; 8722851890Sopenharmony_ci}; 8822851890Sopenharmony_cistruct snd_seq_connect { 8922851890Sopenharmony_ci struct snd_seq_addr sender; 9022851890Sopenharmony_ci struct snd_seq_addr dest; 9122851890Sopenharmony_ci}; 9222851890Sopenharmony_ci#define SNDRV_SEQ_ADDRESS_UNKNOWN 253 9322851890Sopenharmony_ci#define SNDRV_SEQ_ADDRESS_SUBSCRIBERS 254 9422851890Sopenharmony_ci#define SNDRV_SEQ_ADDRESS_BROADCAST 255 9522851890Sopenharmony_ci#define SNDRV_SEQ_QUEUE_DIRECT 253 9622851890Sopenharmony_ci#define SNDRV_SEQ_TIME_STAMP_TICK (0 << 0) 9722851890Sopenharmony_ci#define SNDRV_SEQ_TIME_STAMP_REAL (1 << 0) 9822851890Sopenharmony_ci#define SNDRV_SEQ_TIME_STAMP_MASK (1 << 0) 9922851890Sopenharmony_ci#define SNDRV_SEQ_TIME_MODE_ABS (0 << 1) 10022851890Sopenharmony_ci#define SNDRV_SEQ_TIME_MODE_REL (1 << 1) 10122851890Sopenharmony_ci#define SNDRV_SEQ_TIME_MODE_MASK (1 << 1) 10222851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_LENGTH_FIXED (0 << 2) 10322851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_LENGTH_VARIABLE (1 << 2) 10422851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_LENGTH_VARUSR (2 << 2) 10522851890Sopenharmony_ci#define SNDRV_SEQ_EVENT_LENGTH_MASK (3 << 2) 10622851890Sopenharmony_ci#define SNDRV_SEQ_PRIORITY_NORMAL (0 << 4) 10722851890Sopenharmony_ci#define SNDRV_SEQ_PRIORITY_HIGH (1 << 4) 10822851890Sopenharmony_ci#define SNDRV_SEQ_PRIORITY_MASK (1 << 4) 10922851890Sopenharmony_cistruct snd_seq_ev_note { 11022851890Sopenharmony_ci unsigned char channel; 11122851890Sopenharmony_ci unsigned char note; 11222851890Sopenharmony_ci unsigned char velocity; 11322851890Sopenharmony_ci unsigned char off_velocity; 11422851890Sopenharmony_ci unsigned int duration; 11522851890Sopenharmony_ci}; 11622851890Sopenharmony_cistruct snd_seq_ev_ctrl { 11722851890Sopenharmony_ci unsigned char channel; 11822851890Sopenharmony_ci unsigned char unused1, unused2, unused3; 11922851890Sopenharmony_ci unsigned int param; 12022851890Sopenharmony_ci signed int value; 12122851890Sopenharmony_ci}; 12222851890Sopenharmony_cistruct snd_seq_ev_raw8 { 12322851890Sopenharmony_ci unsigned char d[12]; 12422851890Sopenharmony_ci}; 12522851890Sopenharmony_cistruct snd_seq_ev_raw32 { 12622851890Sopenharmony_ci unsigned int d[3]; 12722851890Sopenharmony_ci}; 12822851890Sopenharmony_cistruct snd_seq_ev_ext { 12922851890Sopenharmony_ci unsigned int len; 13022851890Sopenharmony_ci void * ptr; 13122851890Sopenharmony_ci} __attribute__((packed)); 13222851890Sopenharmony_cistruct snd_seq_result { 13322851890Sopenharmony_ci int event; 13422851890Sopenharmony_ci int result; 13522851890Sopenharmony_ci}; 13622851890Sopenharmony_cistruct snd_seq_real_time { 13722851890Sopenharmony_ci unsigned int tv_sec; 13822851890Sopenharmony_ci unsigned int tv_nsec; 13922851890Sopenharmony_ci}; 14022851890Sopenharmony_citypedef unsigned int snd_seq_tick_time_t; 14122851890Sopenharmony_ciunion snd_seq_timestamp { 14222851890Sopenharmony_ci snd_seq_tick_time_t tick; 14322851890Sopenharmony_ci struct snd_seq_real_time time; 14422851890Sopenharmony_ci}; 14522851890Sopenharmony_cistruct snd_seq_queue_skew { 14622851890Sopenharmony_ci unsigned int value; 14722851890Sopenharmony_ci unsigned int base; 14822851890Sopenharmony_ci}; 14922851890Sopenharmony_cistruct snd_seq_ev_queue_control { 15022851890Sopenharmony_ci unsigned char queue; 15122851890Sopenharmony_ci unsigned char pad[3]; 15222851890Sopenharmony_ci union { 15322851890Sopenharmony_ci signed int value; 15422851890Sopenharmony_ci union snd_seq_timestamp time; 15522851890Sopenharmony_ci unsigned int position; 15622851890Sopenharmony_ci struct snd_seq_queue_skew skew; 15722851890Sopenharmony_ci unsigned int d32[2]; 15822851890Sopenharmony_ci unsigned char d8[8]; 15922851890Sopenharmony_ci } param; 16022851890Sopenharmony_ci}; 16122851890Sopenharmony_cistruct snd_seq_ev_quote { 16222851890Sopenharmony_ci struct snd_seq_addr origin; 16322851890Sopenharmony_ci unsigned short value; 16422851890Sopenharmony_ci struct snd_seq_event * event; 16522851890Sopenharmony_ci} __attribute__((packed)); 16622851890Sopenharmony_cistruct snd_seq_event { 16722851890Sopenharmony_ci snd_seq_event_type_t type; 16822851890Sopenharmony_ci unsigned char flags; 16922851890Sopenharmony_ci char tag; 17022851890Sopenharmony_ci unsigned char queue; 17122851890Sopenharmony_ci union snd_seq_timestamp time; 17222851890Sopenharmony_ci struct snd_seq_addr source; 17322851890Sopenharmony_ci struct snd_seq_addr dest; 17422851890Sopenharmony_ci union { 17522851890Sopenharmony_ci struct snd_seq_ev_note note; 17622851890Sopenharmony_ci struct snd_seq_ev_ctrl control; 17722851890Sopenharmony_ci struct snd_seq_ev_raw8 raw8; 17822851890Sopenharmony_ci struct snd_seq_ev_raw32 raw32; 17922851890Sopenharmony_ci struct snd_seq_ev_ext ext; 18022851890Sopenharmony_ci struct snd_seq_ev_queue_control queue; 18122851890Sopenharmony_ci union snd_seq_timestamp time; 18222851890Sopenharmony_ci struct snd_seq_addr addr; 18322851890Sopenharmony_ci struct snd_seq_connect connect; 18422851890Sopenharmony_ci struct snd_seq_result result; 18522851890Sopenharmony_ci struct snd_seq_ev_quote quote; 18622851890Sopenharmony_ci } data; 18722851890Sopenharmony_ci}; 18822851890Sopenharmony_cistruct snd_seq_event_bounce { 18922851890Sopenharmony_ci int err; 19022851890Sopenharmony_ci struct snd_seq_event event; 19122851890Sopenharmony_ci}; 19222851890Sopenharmony_cistruct snd_seq_system_info { 19322851890Sopenharmony_ci int queues; 19422851890Sopenharmony_ci int clients; 19522851890Sopenharmony_ci int ports; 19622851890Sopenharmony_ci int channels; 19722851890Sopenharmony_ci int cur_clients; 19822851890Sopenharmony_ci int cur_queues; 19922851890Sopenharmony_ci char reserved[24]; 20022851890Sopenharmony_ci}; 20122851890Sopenharmony_cistruct snd_seq_running_info { 20222851890Sopenharmony_ci unsigned char client; 20322851890Sopenharmony_ci unsigned char big_endian; 20422851890Sopenharmony_ci unsigned char cpu_mode; 20522851890Sopenharmony_ci unsigned char pad; 20622851890Sopenharmony_ci unsigned char reserved[12]; 20722851890Sopenharmony_ci}; 20822851890Sopenharmony_ci#define SNDRV_SEQ_CLIENT_SYSTEM 0 20922851890Sopenharmony_ci#define SNDRV_SEQ_CLIENT_DUMMY 14 21022851890Sopenharmony_ci#define SNDRV_SEQ_CLIENT_OSS 15 21122851890Sopenharmony_citypedef int __bitwise snd_seq_client_type_t; 21222851890Sopenharmony_ci#define NO_CLIENT ((__force snd_seq_client_type_t) 0) 21322851890Sopenharmony_ci#define USER_CLIENT ((__force snd_seq_client_type_t) 1) 21422851890Sopenharmony_ci#define KERNEL_CLIENT ((__force snd_seq_client_type_t) 2) 21522851890Sopenharmony_ci#define SNDRV_SEQ_FILTER_BROADCAST (1 << 0) 21622851890Sopenharmony_ci#define SNDRV_SEQ_FILTER_MULTICAST (1 << 1) 21722851890Sopenharmony_ci#define SNDRV_SEQ_FILTER_BOUNCE (1 << 2) 21822851890Sopenharmony_ci#define SNDRV_SEQ_FILTER_USE_EVENT (1 << 31) 21922851890Sopenharmony_cistruct snd_seq_client_info { 22022851890Sopenharmony_ci int client; 22122851890Sopenharmony_ci snd_seq_client_type_t type; 22222851890Sopenharmony_ci char name[64]; 22322851890Sopenharmony_ci unsigned int filter; 22422851890Sopenharmony_ci unsigned char multicast_filter[8]; 22522851890Sopenharmony_ci unsigned char event_filter[32]; 22622851890Sopenharmony_ci int num_ports; 22722851890Sopenharmony_ci int event_lost; 22822851890Sopenharmony_ci int card; 22922851890Sopenharmony_ci int pid; 23022851890Sopenharmony_ci char reserved[56]; 23122851890Sopenharmony_ci}; 23222851890Sopenharmony_cistruct snd_seq_client_pool { 23322851890Sopenharmony_ci int client; 23422851890Sopenharmony_ci int output_pool; 23522851890Sopenharmony_ci int input_pool; 23622851890Sopenharmony_ci int output_room; 23722851890Sopenharmony_ci int output_free; 23822851890Sopenharmony_ci int input_free; 23922851890Sopenharmony_ci char reserved[64]; 24022851890Sopenharmony_ci}; 24122851890Sopenharmony_ci#define SNDRV_SEQ_REMOVE_INPUT (1 << 0) 24222851890Sopenharmony_ci#define SNDRV_SEQ_REMOVE_OUTPUT (1 << 1) 24322851890Sopenharmony_ci#define SNDRV_SEQ_REMOVE_DEST (1 << 2) 24422851890Sopenharmony_ci#define SNDRV_SEQ_REMOVE_DEST_CHANNEL (1 << 3) 24522851890Sopenharmony_ci#define SNDRV_SEQ_REMOVE_TIME_BEFORE (1 << 4) 24622851890Sopenharmony_ci#define SNDRV_SEQ_REMOVE_TIME_AFTER (1 << 5) 24722851890Sopenharmony_ci#define SNDRV_SEQ_REMOVE_TIME_TICK (1 << 6) 24822851890Sopenharmony_ci#define SNDRV_SEQ_REMOVE_EVENT_TYPE (1 << 7) 24922851890Sopenharmony_ci#define SNDRV_SEQ_REMOVE_IGNORE_OFF (1 << 8) 25022851890Sopenharmony_ci#define SNDRV_SEQ_REMOVE_TAG_MATCH (1 << 9) 25122851890Sopenharmony_cistruct snd_seq_remove_events { 25222851890Sopenharmony_ci unsigned int remove_mode; 25322851890Sopenharmony_ci union snd_seq_timestamp time; 25422851890Sopenharmony_ci unsigned char queue; 25522851890Sopenharmony_ci struct snd_seq_addr dest; 25622851890Sopenharmony_ci unsigned char channel; 25722851890Sopenharmony_ci int type; 25822851890Sopenharmony_ci char tag; 25922851890Sopenharmony_ci int reserved[10]; 26022851890Sopenharmony_ci}; 26122851890Sopenharmony_ci#define SNDRV_SEQ_PORT_SYSTEM_TIMER 0 26222851890Sopenharmony_ci#define SNDRV_SEQ_PORT_SYSTEM_ANNOUNCE 1 26322851890Sopenharmony_ci#define SNDRV_SEQ_PORT_CAP_READ (1 << 0) 26422851890Sopenharmony_ci#define SNDRV_SEQ_PORT_CAP_WRITE (1 << 1) 26522851890Sopenharmony_ci#define SNDRV_SEQ_PORT_CAP_SYNC_READ (1 << 2) 26622851890Sopenharmony_ci#define SNDRV_SEQ_PORT_CAP_SYNC_WRITE (1 << 3) 26722851890Sopenharmony_ci#define SNDRV_SEQ_PORT_CAP_DUPLEX (1 << 4) 26822851890Sopenharmony_ci#define SNDRV_SEQ_PORT_CAP_SUBS_READ (1 << 5) 26922851890Sopenharmony_ci#define SNDRV_SEQ_PORT_CAP_SUBS_WRITE (1 << 6) 27022851890Sopenharmony_ci#define SNDRV_SEQ_PORT_CAP_NO_EXPORT (1 << 7) 27122851890Sopenharmony_ci#define SNDRV_SEQ_PORT_TYPE_SPECIFIC (1 << 0) 27222851890Sopenharmony_ci#define SNDRV_SEQ_PORT_TYPE_MIDI_GENERIC (1 << 1) 27322851890Sopenharmony_ci#define SNDRV_SEQ_PORT_TYPE_MIDI_GM (1 << 2) 27422851890Sopenharmony_ci#define SNDRV_SEQ_PORT_TYPE_MIDI_GS (1 << 3) 27522851890Sopenharmony_ci#define SNDRV_SEQ_PORT_TYPE_MIDI_XG (1 << 4) 27622851890Sopenharmony_ci#define SNDRV_SEQ_PORT_TYPE_MIDI_MT32 (1 << 5) 27722851890Sopenharmony_ci#define SNDRV_SEQ_PORT_TYPE_MIDI_GM2 (1 << 6) 27822851890Sopenharmony_ci#define SNDRV_SEQ_PORT_TYPE_SYNTH (1 << 10) 27922851890Sopenharmony_ci#define SNDRV_SEQ_PORT_TYPE_DIRECT_SAMPLE (1 << 11) 28022851890Sopenharmony_ci#define SNDRV_SEQ_PORT_TYPE_SAMPLE (1 << 12) 28122851890Sopenharmony_ci#define SNDRV_SEQ_PORT_TYPE_HARDWARE (1 << 16) 28222851890Sopenharmony_ci#define SNDRV_SEQ_PORT_TYPE_SOFTWARE (1 << 17) 28322851890Sopenharmony_ci#define SNDRV_SEQ_PORT_TYPE_SYNTHESIZER (1 << 18) 28422851890Sopenharmony_ci#define SNDRV_SEQ_PORT_TYPE_PORT (1 << 19) 28522851890Sopenharmony_ci#define SNDRV_SEQ_PORT_TYPE_APPLICATION (1 << 20) 28622851890Sopenharmony_ci#define SNDRV_SEQ_PORT_FLG_GIVEN_PORT (1 << 0) 28722851890Sopenharmony_ci#define SNDRV_SEQ_PORT_FLG_TIMESTAMP (1 << 1) 28822851890Sopenharmony_ci#define SNDRV_SEQ_PORT_FLG_TIME_REAL (1 << 2) 28922851890Sopenharmony_cistruct snd_seq_port_info { 29022851890Sopenharmony_ci struct snd_seq_addr addr; 29122851890Sopenharmony_ci char name[64]; 29222851890Sopenharmony_ci unsigned int capability; 29322851890Sopenharmony_ci unsigned int type; 29422851890Sopenharmony_ci int midi_channels; 29522851890Sopenharmony_ci int midi_voices; 29622851890Sopenharmony_ci int synth_voices; 29722851890Sopenharmony_ci int read_use; 29822851890Sopenharmony_ci int write_use; 29922851890Sopenharmony_ci void * kernel; 30022851890Sopenharmony_ci unsigned int flags; 30122851890Sopenharmony_ci unsigned char time_queue; 30222851890Sopenharmony_ci char reserved[59]; 30322851890Sopenharmony_ci}; 30422851890Sopenharmony_ci#define SNDRV_SEQ_QUEUE_FLG_SYNC (1 << 0) 30522851890Sopenharmony_cistruct snd_seq_queue_info { 30622851890Sopenharmony_ci int queue; 30722851890Sopenharmony_ci int owner; 30822851890Sopenharmony_ci unsigned locked : 1; 30922851890Sopenharmony_ci char name[64]; 31022851890Sopenharmony_ci unsigned int flags; 31122851890Sopenharmony_ci char reserved[60]; 31222851890Sopenharmony_ci}; 31322851890Sopenharmony_cistruct snd_seq_queue_status { 31422851890Sopenharmony_ci int queue; 31522851890Sopenharmony_ci int events; 31622851890Sopenharmony_ci snd_seq_tick_time_t tick; 31722851890Sopenharmony_ci struct snd_seq_real_time time; 31822851890Sopenharmony_ci int running; 31922851890Sopenharmony_ci int flags; 32022851890Sopenharmony_ci char reserved[64]; 32122851890Sopenharmony_ci}; 32222851890Sopenharmony_cistruct snd_seq_queue_tempo { 32322851890Sopenharmony_ci int queue; 32422851890Sopenharmony_ci unsigned int tempo; 32522851890Sopenharmony_ci int ppq; 32622851890Sopenharmony_ci unsigned int skew_value; 32722851890Sopenharmony_ci unsigned int skew_base; 32822851890Sopenharmony_ci char reserved[24]; 32922851890Sopenharmony_ci}; 33022851890Sopenharmony_ci#define SNDRV_SEQ_TIMER_ALSA 0 33122851890Sopenharmony_ci#define SNDRV_SEQ_TIMER_MIDI_CLOCK 1 33222851890Sopenharmony_ci#define SNDRV_SEQ_TIMER_MIDI_TICK 2 33322851890Sopenharmony_cistruct snd_seq_queue_timer { 33422851890Sopenharmony_ci int queue; 33522851890Sopenharmony_ci int type; 33622851890Sopenharmony_ci union { 33722851890Sopenharmony_ci struct { 33822851890Sopenharmony_ci struct snd_timer_id id; 33922851890Sopenharmony_ci unsigned int resolution; 34022851890Sopenharmony_ci } alsa; 34122851890Sopenharmony_ci } u; 34222851890Sopenharmony_ci char reserved[64]; 34322851890Sopenharmony_ci}; 34422851890Sopenharmony_cistruct snd_seq_queue_client { 34522851890Sopenharmony_ci int queue; 34622851890Sopenharmony_ci int client; 34722851890Sopenharmony_ci int used; 34822851890Sopenharmony_ci char reserved[64]; 34922851890Sopenharmony_ci}; 35022851890Sopenharmony_ci#define SNDRV_SEQ_PORT_SUBS_EXCLUSIVE (1 << 0) 35122851890Sopenharmony_ci#define SNDRV_SEQ_PORT_SUBS_TIMESTAMP (1 << 1) 35222851890Sopenharmony_ci#define SNDRV_SEQ_PORT_SUBS_TIME_REAL (1 << 2) 35322851890Sopenharmony_cistruct snd_seq_port_subscribe { 35422851890Sopenharmony_ci struct snd_seq_addr sender; 35522851890Sopenharmony_ci struct snd_seq_addr dest; 35622851890Sopenharmony_ci unsigned int voices; 35722851890Sopenharmony_ci unsigned int flags; 35822851890Sopenharmony_ci unsigned char queue; 35922851890Sopenharmony_ci unsigned char pad[3]; 36022851890Sopenharmony_ci char reserved[64]; 36122851890Sopenharmony_ci}; 36222851890Sopenharmony_ci#define SNDRV_SEQ_QUERY_SUBS_READ 0 36322851890Sopenharmony_ci#define SNDRV_SEQ_QUERY_SUBS_WRITE 1 36422851890Sopenharmony_cistruct snd_seq_query_subs { 36522851890Sopenharmony_ci struct snd_seq_addr root; 36622851890Sopenharmony_ci int type; 36722851890Sopenharmony_ci int index; 36822851890Sopenharmony_ci int num_subs; 36922851890Sopenharmony_ci struct snd_seq_addr addr; 37022851890Sopenharmony_ci unsigned char queue; 37122851890Sopenharmony_ci unsigned int flags; 37222851890Sopenharmony_ci char reserved[64]; 37322851890Sopenharmony_ci}; 37422851890Sopenharmony_ci#define SNDRV_SEQ_IOCTL_PVERSION _IOR('S', 0x00, int) 37522851890Sopenharmony_ci#define SNDRV_SEQ_IOCTL_CLIENT_ID _IOR('S', 0x01, int) 37622851890Sopenharmony_ci#define SNDRV_SEQ_IOCTL_SYSTEM_INFO _IOWR('S', 0x02, struct snd_seq_system_info) 37722851890Sopenharmony_ci#define SNDRV_SEQ_IOCTL_RUNNING_MODE _IOWR('S', 0x03, struct snd_seq_running_info) 37822851890Sopenharmony_ci#define SNDRV_SEQ_IOCTL_GET_CLIENT_INFO _IOWR('S', 0x10, struct snd_seq_client_info) 37922851890Sopenharmony_ci#define SNDRV_SEQ_IOCTL_SET_CLIENT_INFO _IOW('S', 0x11, struct snd_seq_client_info) 38022851890Sopenharmony_ci#define SNDRV_SEQ_IOCTL_CREATE_PORT _IOWR('S', 0x20, struct snd_seq_port_info) 38122851890Sopenharmony_ci#define SNDRV_SEQ_IOCTL_DELETE_PORT _IOW('S', 0x21, struct snd_seq_port_info) 38222851890Sopenharmony_ci#define SNDRV_SEQ_IOCTL_GET_PORT_INFO _IOWR('S', 0x22, struct snd_seq_port_info) 38322851890Sopenharmony_ci#define SNDRV_SEQ_IOCTL_SET_PORT_INFO _IOW('S', 0x23, struct snd_seq_port_info) 38422851890Sopenharmony_ci#define SNDRV_SEQ_IOCTL_SUBSCRIBE_PORT _IOW('S', 0x30, struct snd_seq_port_subscribe) 38522851890Sopenharmony_ci#define SNDRV_SEQ_IOCTL_UNSUBSCRIBE_PORT _IOW('S', 0x31, struct snd_seq_port_subscribe) 38622851890Sopenharmony_ci#define SNDRV_SEQ_IOCTL_CREATE_QUEUE _IOWR('S', 0x32, struct snd_seq_queue_info) 38722851890Sopenharmony_ci#define SNDRV_SEQ_IOCTL_DELETE_QUEUE _IOW('S', 0x33, struct snd_seq_queue_info) 38822851890Sopenharmony_ci#define SNDRV_SEQ_IOCTL_GET_QUEUE_INFO _IOWR('S', 0x34, struct snd_seq_queue_info) 38922851890Sopenharmony_ci#define SNDRV_SEQ_IOCTL_SET_QUEUE_INFO _IOWR('S', 0x35, struct snd_seq_queue_info) 39022851890Sopenharmony_ci#define SNDRV_SEQ_IOCTL_GET_NAMED_QUEUE _IOWR('S', 0x36, struct snd_seq_queue_info) 39122851890Sopenharmony_ci#define SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS _IOWR('S', 0x40, struct snd_seq_queue_status) 39222851890Sopenharmony_ci#define SNDRV_SEQ_IOCTL_GET_QUEUE_TEMPO _IOWR('S', 0x41, struct snd_seq_queue_tempo) 39322851890Sopenharmony_ci#define SNDRV_SEQ_IOCTL_SET_QUEUE_TEMPO _IOW('S', 0x42, struct snd_seq_queue_tempo) 39422851890Sopenharmony_ci#define SNDRV_SEQ_IOCTL_GET_QUEUE_TIMER _IOWR('S', 0x45, struct snd_seq_queue_timer) 39522851890Sopenharmony_ci#define SNDRV_SEQ_IOCTL_SET_QUEUE_TIMER _IOW('S', 0x46, struct snd_seq_queue_timer) 39622851890Sopenharmony_ci#define SNDRV_SEQ_IOCTL_GET_QUEUE_CLIENT _IOWR('S', 0x49, struct snd_seq_queue_client) 39722851890Sopenharmony_ci#define SNDRV_SEQ_IOCTL_SET_QUEUE_CLIENT _IOW('S', 0x4a, struct snd_seq_queue_client) 39822851890Sopenharmony_ci#define SNDRV_SEQ_IOCTL_GET_CLIENT_POOL _IOWR('S', 0x4b, struct snd_seq_client_pool) 39922851890Sopenharmony_ci#define SNDRV_SEQ_IOCTL_SET_CLIENT_POOL _IOW('S', 0x4c, struct snd_seq_client_pool) 40022851890Sopenharmony_ci#define SNDRV_SEQ_IOCTL_REMOVE_EVENTS _IOW('S', 0x4e, struct snd_seq_remove_events) 40122851890Sopenharmony_ci#define SNDRV_SEQ_IOCTL_QUERY_SUBS _IOWR('S', 0x4f, struct snd_seq_query_subs) 40222851890Sopenharmony_ci#define SNDRV_SEQ_IOCTL_GET_SUBSCRIPTION _IOWR('S', 0x50, struct snd_seq_port_subscribe) 40322851890Sopenharmony_ci#define SNDRV_SEQ_IOCTL_QUERY_NEXT_CLIENT _IOWR('S', 0x51, struct snd_seq_client_info) 40422851890Sopenharmony_ci#define SNDRV_SEQ_IOCTL_QUERY_NEXT_PORT _IOWR('S', 0x52, struct snd_seq_port_info) 40522851890Sopenharmony_ci#endif 406