"SfR Fresh" - the SfR Freeware/Shareware Archive 
As a special service "SfR Fresh" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting with prefixed line numbers.
Alternatively you can here view or download the uninterpreted source code file.
That can be also achieved for any archive member file by clicking within an archive contents listing on the first character of the file(path) respectively on the according byte size field.
1 /*
2 * Automatically generated file - do not edit.
3 */
4 #define DRIVER_NAME envy24
5 #define DRIVER_NICK "envy24"
6 #define DRIVER_STR_INFO envy24_str_info
7 #define DRIVER_ATTACH envy24_attach
8 #define DRIVER_DETACH envy24_detach
9 #define DRIVER_TYPE DRV_PCI
10
11 int envy24_skipdevs = 2;
12 /*
13 * envy24_skipdevs: By default OSS creates an audio device file for each
14 * stereo pair. However it's possible to change OSS to create a device file
15 * for each input/output channel. See also the envy24_force_mono option
16 * if you want to set the card to mono-only mode.
17 * Values: 1 to 8. Default is 2 (stereo mode).
18 *
19 * Note that the application(s) using the device files can request any number
20 * of channels regardless of the envy24_skipdevs option.
21 */
22 int envy24_force_mono = 0;
23 /*
24 * envy24_force_mono: Forces all device files to work only in mono mode
25 * (to be used together with envy24_skipdevs=1). This option is necessary
26 * with some software packages that otherwise open the devices in stereo mode.
27 * There is no need to use this option with properly implemented applications.
28 * Values: 0 (default) any number of channels can be used, 1 means that
29 * the device files will only be available in mono mode.
30 *
31 * Note that even envy24_force_mono=1 the application can request and get
32 * stereo. In this way both channel signals will be identical.
33 */
34 int envy24_swapdevs = 0;
35 /*
36 * envy24_swapdevs: By default OSS will create the output device files before
37 * the recording ones. Some applications may expect input devices to be before
38 * the output ones.
39 * Values: 0=outputs before inputs (default), 1=inputs before outputs.
40 */
41 int envy24_devmask = 65535;
42 /*
43 * envy24_devmask: Selects the device files to be created. By default OSS
44 * will create all available device files. However in some systems it may
45 * be necessary to conserve device numbers.
46 *
47 * Values: The envy24_devmask number is the SUM of the following values:
48 * 1 - Create primary (analog/ADAT/TDIF) outputs
49 * 2 - Create primary (analog/ADAT/TDIF) inputs
50 * 4 - Create S/PDIF outputs
51 * 8 - Create S/PDIF inputs
52 * 16 - Create monitor input device
53 * 32 - Create the "raw" input and output devices.
54 *
55 * For example envy24_devmask=12 (4+8) creates only the S/PDIF devices.
56 * To enable all possible (current or future) device files set envy24_devmask
57 * to 65535 (default).
58 */
59 int envy24_realencoder_hack = 0;
60 /*
61 * envy24_realencoder_hack: Older versions of realencoder expect a mixer device
62 * for each audio device file. This option makes OSS to create dummy micers to
63 * make realencoder happy.
64 * Values: 0=normal (default), 1=create dmmy mixers.
65 */
66 int envy24_gain_sliders = 0;
67 /*
68 * envy24_gain_sliders: By default OSS will create the gain controls as
69 * selection controls (+4 dB / CONSUMER / -10 dB) which is ideal for
70 * professional environments. However home users may prefer having volume
71 * sliders instead.
72 * Values: 0=level selectors (default), 1=volume sliders.
73 */
74 int envy24_nfrags = 16;
75 /*
76 * envy24_nfrags: For normal operation this setting must be 16.
77 */
78 int envy24_mixerstyle = 1;
79 /*
80 * envy24_mixerstyle: Defines layout of the peak meter and monitor mixer
81 * sections in the control panel.
82 * NOTE! The envy24_skipdevs parameter must be set to 2. Otherwise the
83 * traditional mixer style will be used regardless of the value of
84 * this parameter.
85 * Possible values:
86 * 1=Traditional mixer with separate peak meter and monitor gain sections
87 * (default).
88 * 2=Alternative style with peak meters and monitor gain sliders grouped
89 * together (separate output and input sections).
90 */
91 #include <linux/mod_devicetable.h>
92
93 static struct pci_device_id id_table[] = {
94 {.vendor=0x1412, .device=0x1712, .subvendor=PCI_ANY_ID, .subdevice=PCI_ANY_ID},
95 {0}
96 };
97
98 #include "module.inc"
99
100 module_param(envy24_skipdevs , int, S_IRUGO);
101 MODULE_PARM_DESC(envy24_skipdevs ,
102 "\n"
103 "envy24_skipdevs: By default OSS creates an audio device file for each\n"
104 "stereo pair. However it's possible to change OSS to create a device file\n"
105 "for each input/output channel. See also the envy24_force_mono option\n"
106 "if you want to set the card to mono-only mode.\n"
107 "Values: 1 to 8. Default is 2 (stereo mode).\n"
108 "\n"
109 "Note that the application(s) using the device files can request any number\n"
110 "of channels regardless of the envy24_skipdevs option.\n"
111 "\n");
112 module_param(envy24_force_mono , int, S_IRUGO);
113 MODULE_PARM_DESC(envy24_force_mono ,
114 "\n"
115 "envy24_force_mono: Forces all device files to work only in mono mode\n"
116 "(to be used together with envy24_skipdevs=1). This option is necessary\n"
117 "with some software packages that otherwise open the devices in stereo mode.\n"
118 "There is no need to use this option with properly implemented applications.\n"
119 "Values: 0 (default) any number of channels can be used, 1 means that\n"
120 "the device files will only be available in mono mode.\n"
121 "\n"
122 "Note that even envy24_force_mono=1 the application can request and get\n"
123 "stereo. In this way both channel signals will be identical.\n"
124 "\n");
125 module_param(envy24_swapdevs , int, S_IRUGO);
126 MODULE_PARM_DESC(envy24_swapdevs ,
127 "\n"
128 "envy24_swapdevs: By default OSS will create the output device files before\n"
129 "the recording ones. Some applications may expect input devices to be before \n"
130 "the output ones.\n"
131 "Values: 0=outputs before inputs (default), 1=inputs before outputs.\n"
132 "\n");
133 module_param(envy24_devmask , int, S_IRUGO);
134 MODULE_PARM_DESC(envy24_devmask ,
135 "\n"
136 "envy24_devmask: Selects the device files to be created. By default OSS\n"
137 "will create all available device files. However in some systems it may\n"
138 "be necessary to conserve device numbers.\n"
139 "\n"
140 "Values: The envy24_devmask number is the SUM of the following values:\n"
141 "1 - Create primary (analog/ADAT/TDIF) outputs\n"
142 "2 - Create primary (analog/ADAT/TDIF) inputs\n"
143 "4 - Create S/PDIF outputs\n"
144 "8 - Create S/PDIF inputs\n"
145 "16 - Create monitor input device\n"
146 "32 - Create the \"raw\" input and output devices.\n"
147 "\n"
148 "For example envy24_devmask=12 (4+8) creates only the S/PDIF devices.\n"
149 "To enable all possible (current or future) device files set envy24_devmask\n"
150 "to 65535 (default).\n"
151 "\n");
152 module_param(envy24_realencoder_hack , int, S_IRUGO);
153 MODULE_PARM_DESC(envy24_realencoder_hack ,
154 "\n"
155 "envy24_realencoder_hack: Older versions of realencoder expect a mixer device\n"
156 "for each audio device file. This option makes OSS to create dummy micers to\n"
157 "make realencoder happy.\n"
158 "Values: 0=normal (default), 1=create dmmy mixers.\n"
159 "\n");
160 module_param(envy24_gain_sliders , int, S_IRUGO);
161 MODULE_PARM_DESC(envy24_gain_sliders ,
162 "\n"
163 "envy24_gain_sliders: By default OSS will create the gain controls as\n"
164 "selection controls (+4 dB / CONSUMER / -10 dB) which is ideal for\n"
165 "professional environments. However home users may prefer having volume\n"
166 "sliders instead.\n"
167 "Values: 0=level selectors (default), 1=volume sliders.\n"
168 "\n");
169 module_param(envy24_nfrags , int, S_IRUGO);
170 MODULE_PARM_DESC(envy24_nfrags ,
171 "\n"
172 "envy24_nfrags: For normal operation this setting must be 16.\n"
173 "\n");
174 module_param(envy24_mixerstyle , int, S_IRUGO);
175 MODULE_PARM_DESC(envy24_mixerstyle ,
176 "\n"
177 "envy24_mixerstyle: Defines layout of the peak meter and monitor mixer\n"
178 "sections in the control panel.\n"
179 "NOTE! The envy24_skipdevs parameter must be set to 2. Otherwise the\n"
180 "traditional mixer style will be used regardless of the value of\n"
181 "this parameter.\n"
182 "Possible values:\n"
183 "1=Traditional mixer with separate peak meter and monitor gain sections\n"
184 "(default).\n"
185 "2=Alternative style with peak meters and monitor gain sliders grouped\n"
186 "together (separate output and input sections).\n"
187 "\n");
188
189