oss_ioctl.c revision 1.1 1 1.1 nia /* $NetBSD: oss_ioctl.c,v 1.1 2021/06/08 18:43:54 nia Exp $ */
2 1.1 nia
3 1.1 nia #include <stdarg.h>
4 1.1 nia #include "internal.h"
5 1.1 nia
6 1.1 nia int
7 1.1 nia _oss_ioctl(int fd, unsigned long com, ...)
8 1.1 nia {
9 1.1 nia va_list ap;
10 1.1 nia void *argp;
11 1.1 nia
12 1.1 nia va_start(ap, com);
13 1.1 nia argp = va_arg(ap, void *);
14 1.1 nia va_end(ap);
15 1.1 nia
16 1.1 nia if (IOCGROUP(com) == 'P')
17 1.1 nia return _oss_dsp_ioctl(fd, com, argp);
18 1.1 nia else if (IOCGROUP(com) == 'M')
19 1.1 nia return _oss3_mixer_ioctl(fd, com, argp);
20 1.1 nia else if (IOCGROUP(com) == 'X')
21 1.1 nia return _oss4_mixer_ioctl(fd, com, argp);
22 1.1 nia else if (IOCGROUP(com) == 'Y')
23 1.1 nia return _oss4_global_ioctl(fd, com, argp);
24 1.1 nia else
25 1.1 nia return ioctl(fd, com, argp);
26 1.1 nia }
27