RTEMS  5.1
milkymist_ac97.h
Go to the documentation of this file.
1 
7 /* milkymist_ac97.h
8  *
9  * Milkymist AC97 driver for RTEMS
10  *
11  * The license and distribution terms for this file may be
12  * found in the file LICENSE in this distribution or at
13  * http://www.rtems.org/license/LICENSE.
14  *
15  * COPYRIGHT (c) 2010 Sebastien Bourdeauducq
16  */
17 
25 #ifndef __MILKYMIST_AC97_H_
26 #define __MILKYMIST_AC97_H_
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
32 /* Ioctls. 0x41 is 'A' */
33 #define SOUND_MIXER_MIC 0x0
34 #define SOUND_MIXER_LINE 0x1
35 #define SOUND_MIXER_READ(x) (0x4100+x)
36 #define SOUND_MIXER_WRITE(x) (0x4110+x)
37 
38 #define SOUND_SND_SUBMIT_PLAY 0x4120
39 #define SOUND_SND_COLLECT_PLAY 0x4121
40 #define SOUND_SND_SUBMIT_RECORD 0x4122
41 #define SOUND_SND_COLLECT_RECORD 0x4123
42 
43 struct snd_buffer {
44  unsigned int nsamples;
45  void *user;
46  unsigned int samples[];
47 };
48 
49 rtems_device_driver ac97_initialize(
50  rtems_device_major_number major,
51  rtems_device_minor_number minor,
52  void *arg
53 );
54 
55 rtems_device_driver ac97_open(
56  rtems_device_major_number major,
57  rtems_device_minor_number minor,
58  void *arg
59 );
60 
61 rtems_device_driver ac97_control(
62  rtems_device_major_number major,
63  rtems_device_minor_number minor,
64  void *arg
65 );
66 
67 #define AC97_DRIVER_TABLE_ENTRY {ac97_initialize, \
68 ac97_open, NULL, NULL, NULL, ac97_control}
69 
72 #ifdef __cplusplus
73 }
74 #endif
75 
76 #endif /* __MILKYMIST_AC97_H_ */
rtems_status_code
Classic API Status.
Definition: status.h:43
Definition: milkymist_ac97.h:43