/* See LICENSE file for copyright and license details. */
-#include <err.h>
+#include <errno.h>
#include <fcntl.h>
-#include <sys/soundcard.h>
+#if defined(__OpenBSD__)
+# include <soundcard.h>
+#else
+# include <sys/soundcard.h>
+#endif
#include <sys/ioctl.h>
#include <stdio.h>
#include <string.h>
afd = open(card, O_RDONLY | O_NONBLOCK);
if (afd == -1) {
- warn("Cannot open %s", card);
+ fprintf(stderr, "open '%s': %s\n", card, strerror(errno));
return NULL;
}
- if (ioctl(afd, SOUND_MIXER_READ_DEVMASK, &devmask) == -1) {
- warn("Cannot get volume for %s", card);
+ if (ioctl(afd, (int)SOUND_MIXER_READ_DEVMASK, &devmask) == -1) {
+ fprintf(stderr, "ioctl 'SOUND_MIXER_READ_DEVMASK': %s\n", strerror(errno));
close(afd);
return NULL;
}
for (i = 0; i < LEN(vnames); i++) {
if (devmask & (1 << i) && !strcmp("vol", vnames[i])) {
if (ioctl(afd, MIXER_READ(i), &v) == -1) {
- warn("vol_perc: ioctl");
+ fprintf(stderr, "ioctl 'MIXER_READ(%d)': %s\n", i, strerror(errno));
close(afd);
return NULL;
}