Xinqi Bao's Git
4c9a6ac4887df6dff50e744e939a814a6ccc94cf
1 /* See LICENSE file for copyright and license details. */
5 #include <sys/soundcard.h>
14 vol_perc(const char *card
)
18 char *vnames
[] = SOUND_DEVICE_NAMES
;
20 afd
= open(card
, O_RDONLY
| O_NONBLOCK
);
22 fprintf(stderr
, "open '%s': %s\n", card
, strerror(errno
));
26 if (ioctl(afd
, SOUND_MIXER_READ_DEVMASK
, &devmask
) == -1) {
27 fprintf(stderr
, "ioctl 'SOUND_MIXER_READ_DEVMASK': %s\n", strerror(errno
));
31 for (i
= 0; i
< LEN(vnames
); i
++) {
32 if (devmask
& (1 << i
) && !strcmp("vol", vnames
[i
])) {
33 if (ioctl(afd
, MIXER_READ(i
), &v
) == -1) {
34 fprintf(stderr
, "ioctl 'MIXER_READ(%d)': %s\n", i
, strerror(errno
));
43 return bprintf("%d", v
& 0xff);