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