/*	$NetBSD: oss_ioctl.c,v 1.1 2021/06/08 18:43:54 nia Exp $	*/

#include <stdarg.h>
#include "internal.h"

int
_oss_ioctl(int fd, unsigned long com, ...)
{
	va_list ap;
	void *argp;

	va_start(ap, com);
	argp = va_arg(ap, void *);
	va_end(ap);

	if (IOCGROUP(com) == 'P')
		return _oss_dsp_ioctl(fd, com, argp);
	else if (IOCGROUP(com) == 'M')
		return _oss3_mixer_ioctl(fd, com, argp);
	else if (IOCGROUP(com) == 'X')
		return _oss4_mixer_ioctl(fd, com, argp);
	else if (IOCGROUP(com) == 'Y')
		return _oss4_global_ioctl(fd, com, argp);
	else
		return ioctl(fd, com, argp);
}