summaryrefslogtreecommitdiff
path: root/include/nds/sound.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/nds/sound.h')
-rw-r--r--include/nds/sound.h73
1 files changed, 73 insertions, 0 deletions
diff --git a/include/nds/sound.h b/include/nds/sound.h
new file mode 100644
index 0000000000..def7e723d7
--- /dev/null
+++ b/include/nds/sound.h
@@ -0,0 +1,73 @@
+/*
+ * Copyright (c) 2008 by Matthieu Bucchianeri <mbucchia@gmail.com>
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ *
+ * http://www.rtems.org/license/LICENSE
+ */
+
+#ifndef _SOUND_H_
+#define _SOUND_H_
+
+/* ioctls for sound management. 0x53 is 'S' */
+#define SOUND_SVOL 0x5301 /* set sound volume */
+#define SOUND_GVOL 0x5302 /* get sound volume */
+#define SOUND_SFMT 0x5303 /* set output format */
+#define SOUND_GFMT 0x5304 /* get output format */
+#define SOUND_SPAN 0x5305 /* set pan */
+#define SOUND_GPAN 0x5306 /* get pan */
+
+#define SOUND_SRECLEN 0x5307 /* set recording buffer length (in bytes) */
+#define SOUND_STARTREC 0x5308 /* start recording */
+#define SOUND_STOPREC 0x5309 /* stop recording */
+
+#define SOUND_FREQ_MASK 0x3
+#define SOUND_FREQ_11025 0
+#define SOUND_FREQ_22050 1
+#define SOUND_FREQ_44100 2
+#define SOUND_FREQ_RECORD 3 /* special value to play microphone
+ recorded data */
+
+#define SOUND_FORMAT_8 (0 << 2)
+#define SOUND_FORMAT_16 (1 << 2)
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+ /*
+ * sound prototype entry points
+ */
+ rtems_device_driver sound_initialize (rtems_device_major_number,
+ rtems_device_minor_number, void *);
+
+ rtems_device_driver sound_open (rtems_device_major_number,
+ rtems_device_minor_number, void *);
+
+ rtems_device_driver sound_control (rtems_device_major_number,
+ rtems_device_minor_number, void *);
+
+ rtems_device_driver sound_close (rtems_device_major_number,
+ rtems_device_minor_number, void *);
+
+ rtems_device_driver sound_read (rtems_device_major_number,
+ rtems_device_minor_number, void *);
+
+ rtems_device_driver sound_write (rtems_device_major_number,
+ rtems_device_minor_number, void *);
+
+ rtems_device_driver sound_control (rtems_device_major_number,
+ rtems_device_minor_number, void *);
+
+#define SOUND_DRIVER_TABLE_ENTRY \
+ { sound_initialize, sound_open, sound_close, \
+ sound_read, sound_write, sound_control }
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif