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 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