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