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