sound: Add missing oss_mixerinfo devnode and legacy_device fields

They are missing from soundcard.h and are in fact used by some
applications, such as OSS' ossinfo(1):
http://manuals.opensound.com/developer/ossinfo.c.html

The new size for filler is chosen according to the most recent official
version of soundcard.h, which includes those 2 fields.

Sponsored by:	The FreeBSD Foundation
MFC after:	3 days
Reviewed by:	dev_submerge.ch
Differential Revision:	https://reviews.freebsd.org/D45137
This commit is contained in:
Christos Margiolis 2024-05-09 21:08:11 +02:00
parent 59d98edae3
commit e6df8c379b
2 changed files with 8 additions and 7 deletions

View File

@ -1516,6 +1516,7 @@ mixer_oss_mixerinfo(struct cdev *i_dev, oss_mixerinfo *mi)
* Mixer extensions currently aren't supported, so
* leave @sa oss_mixerinfo::nrext blank for now.
*/
/**
* @todo Fill in @sa oss_mixerinfo::priority (requires
* touching drivers?)
@ -1529,13 +1530,11 @@ mixer_oss_mixerinfo(struct cdev *i_dev, oss_mixerinfo *mi)
* default mixer. Other devices use values 1 to 9
* depending on the estimated probability of being the
* default device.
*
* XXX Described by Hannu@4Front, but not found in
* soundcard.h.
strlcpy(mi->devnode, devtoname(d->mixer_dev),
sizeof(mi->devnode));
mi->legacy_device = i;
*/
snprintf(mi->devnode, sizeof(mi->devnode), "/dev/mixer%d", i);
mi->legacy_device = i;
mtx_unlock(m->lock);
}

View File

@ -1925,7 +1925,9 @@ typedef struct oss_mixerinfo
* as the default mixer.
*/
int priority;
int filler[254]; /* Reserved */
oss_devnode_t devnode;
int legacy_device;
int filler[245]; /* Reserved */
} oss_mixerinfo;
typedef struct oss_midi_info