History

ALSA: seq: Add ioctls for client UMP info query and setup

Add new ioctls for sequencer clients to query and set the UMP endpoint and block information. As a sequencer client corresponds to a UMP Endpoint, one UMP Endpoint information can be assigned at most to a single sequencer client while multiple UMP block infos can be assigned by passing the type with the offset of block id (i.e. type = block_id + 1). For the kernel client, only SNDRV_SEQ_IOCTL_GET_CLIENT_UMP_INFO is allowed.

Takashi Iwai committed 3 years ago

Commit d2d247e1 parent 4025f0e5 files · +153 −2Browse files

Showing the changes to include/uapi (1 of 5 files). Show all

Unified · Split

include/uapi/sound/asequencer.h+14−0
@@ -585,6 +585,18 @@ struct snd_seq_query_subs { · 584 unmodified lines
585 char reserved[64]; /* for future use */585 char reserved[64]; /* for future use */
586};586};
587 587
588/*
589 * UMP-specific information
590 */
591/* type of UMP info query */
592#define SNDRV_SEQ_CLIENT_UMP_INFO_ENDPOINT 0
593#define SNDRV_SEQ_CLIENT_UMP_INFO_BLOCK 1
594
595struct snd_seq_client_ump_info {
596 int client; /* client number to inquire/set */
597 int type; /* type to inquire/set */
598 unsigned char info[512]; /* info (either UMP ep or block info) */
599} __packed;
588 600
589/*601/*
590 * IOCTL commands602 * IOCTL commands
@@ -598,6 +610,8 @@ struct snd_seq_query_subs { · 7 unmodified lines
598 610
599#define SNDRV_SEQ_IOCTL_GET_CLIENT_INFO _IOWR('S', 0x10, struct snd_seq_client_info)611#define SNDRV_SEQ_IOCTL_GET_CLIENT_INFO _IOWR('S', 0x10, struct snd_seq_client_info)
600#define SNDRV_SEQ_IOCTL_SET_CLIENT_INFO _IOW ('S', 0x11, struct snd_seq_client_info)612#define SNDRV_SEQ_IOCTL_SET_CLIENT_INFO _IOW ('S', 0x11, struct snd_seq_client_info)
613#define SNDRV_SEQ_IOCTL_GET_CLIENT_UMP_INFO _IOWR('S', 0x12, struct snd_seq_client_ump_info)
614#define SNDRV_SEQ_IOCTL_SET_CLIENT_UMP_INFO _IOWR('S', 0x13, struct snd_seq_client_ump_info)
601 615
602#define SNDRV_SEQ_IOCTL_CREATE_PORT _IOWR('S', 0x20, struct snd_seq_port_info)616#define SNDRV_SEQ_IOCTL_CREATE_PORT _IOWR('S', 0x20, struct snd_seq_port_info)
603#define SNDRV_SEQ_IOCTL_DELETE_PORT _IOW ('S', 0x21, struct snd_seq_port_info)617#define SNDRV_SEQ_IOCTL_DELETE_PORT _IOW ('S', 0x21, struct snd_seq_port_info)

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t