From 1058def8e7827e56ce4a70afb4aeacb5dc44148f Mon Sep 17 00:00:00 2001 From: Igor Pashev Date: Fri, 3 May 2013 21:08:42 +0400 Subject: Imported Upstream version 4.2-build2006 --- tutorials/sndkit/sblive/writegpr.c | 48 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 tutorials/sndkit/sblive/writegpr.c (limited to 'tutorials/sndkit/sblive/writegpr.c') diff --git a/tutorials/sndkit/sblive/writegpr.c b/tutorials/sndkit/sblive/writegpr.c new file mode 100644 index 0000000..c70e191 --- /dev/null +++ b/tutorials/sndkit/sblive/writegpr.c @@ -0,0 +1,48 @@ +#include +#include +#include +#include +#include +#include +#define oss_native_ulong unsigned long +#define sound_os_info unsigned long +#define ac97_devc unsigned long +typedef int oss_mutex; +#include +#include + +int +main (int argc, char *argv[]) +{ + int ossfd, reg, value; + char *dspname = "/dev/dsp"; + sblive_reg rg; + + if (argc < 3) + { + fprintf (stderr, "Usage: %s GPR hexvalue\n", argv[0]); + exit (-1); + } + + if (sscanf (argv[1], "%d", ®) != 1) + exit (-1); + + if (sscanf (argv[2], "%x", &value) != 1) + exit (-1); + + if ((ossfd = open (dspname, O_WRONLY, 0)) == -1) + { + perror (dspname); + exit (-1); + } + + rg.reg = GPR0 + reg; + rg.chn = 0; + rg.value = value; + + if (ioctl (ossfd, SBLIVE_WRITEREG, &rg) == -1) + perror (dspname); + + + exit (0); +} -- cgit v1.2.3