Xinqi Bao's Git
1 /* See LICENSE file for copyright and license details. */
4 #include <sys/soundcard.h>
13 vol_perc(const char *card
)
17 char *vnames
[] = SOUND_DEVICE_NAMES
;
19 afd
= open(card
, O_RDONLY
| O_NONBLOCK
);
21 warn("Cannot open %s", card
);
25 if (ioctl(afd
, SOUND_MIXER_READ_DEVMASK
, &devmask
) == -1) {
26 warn("Cannot get volume for %s", card
);
30 for (i
= 0; i
< LEN(vnames
); i
++) {
31 if (devmask
& (1 << i
) && !strcmp("vol", vnames
[i
])) {
32 if (ioctl(afd
, MIXER_READ(i
), &v
) == -1) {
33 warn("vol_perc: ioctl");
42 return bprintf("%d", v
& 0xff);