File: pwc-ioctl_8h-source.html

package info (click to toggle)
camstream 0.27%2Bdfsg-3
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 12,320 kB
  • ctags: 5,393
  • sloc: cpp: 17,031; sh: 8,154; asm: 455; ansic: 440; makefile: 343
file content (293 lines) | stat: -rw-r--r-- 30,703 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
<html>
<head>
<title>Camstream: CamStream API documentation</title>
<link rel="stylesheet" href="../../tech.css" type="text/css">
</head>
<body>

<!-- Generated by Doxygen 1.3.7 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>pwc-ioctl.h</h1><a href="pwc-ioctl_8h.html">Go to the documentation of this file.</a><pre class="fragment"><div>00001 <span class="preprocessor">#ifndef PWC_IOCTL_H</span>
00002 <span class="preprocessor"></span><span class="preprocessor">#define PWC_IOCTL_H</span>
00003 <span class="preprocessor"></span>
00004 <span class="comment">/* (C) 2001-2004 Nemosoft Unv.    webcam@smcc.demon.nl</span>
00005 <span class="comment"></span>
00006 <span class="comment">   This program is free software; you can redistribute it and/or modify</span>
00007 <span class="comment">   it under the terms of the GNU General Public License as published by</span>
00008 <span class="comment">   the Free Software Foundation; either version 2 of the License, or</span>
00009 <span class="comment">   (at your option) any later version.</span>
00010 <span class="comment"></span>
00011 <span class="comment">   This program is distributed in the hope that it will be useful,</span>
00012 <span class="comment">   but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
00013 <span class="comment">   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span>
00014 <span class="comment">   GNU General Public License for more details.</span>
00015 <span class="comment"></span>
00016 <span class="comment">   You should have received a copy of the GNU General Public License</span>
00017 <span class="comment">   along with this program; if not, write to the Free Software</span>
00018 <span class="comment">   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA</span>
00019 <span class="comment">*/</span>
00020 
00021 <span class="comment">/* This is pwc-ioctl.h belonging to PWC 8.12.1</span>
00022 <span class="comment">   It contains structures and defines to communicate from user space</span>
00023 <span class="comment">   directly to the driver.</span>
00024 <span class="comment"> */</span>
00025 
00026 <span class="comment">/*</span>
00027 <span class="comment">   Changes</span>
00028 <span class="comment">   2001/08/03  Alvarado   Added ioctl constants to access methods for</span>
00029 <span class="comment">                          changing white balance and red/blue gains</span>
00030 <span class="comment">   2002/12/15  G. H. Fernandez-Toribio   VIDIOCGREALSIZE</span>
00031 <span class="comment">   2003/12/13  Nemosft Unv. Some modifications to make interfacing to</span>
00032 <span class="comment">               PWCX easier</span>
00033 <span class="comment"> */</span>
00034 
00035 <span class="comment">/* These are private ioctl() commands, specific for the Philips webcams.</span>
00036 <span class="comment">   They contain functions not found in other webcams, and settings not</span>
00037 <span class="comment">   specified in the Video4Linux API.</span>
00038 <span class="comment"></span>
00039 <span class="comment">   The #define names are built up like follows:</span>
00040 <span class="comment">   VIDIOC               VIDeo IOCtl prefix</span>
00041 <span class="comment">         PWC            Philps WebCam</span>
00042 <span class="comment">            G           optional: Get</span>
00043 <span class="comment">            S           optional: Set</span>
00044 <span class="comment">             ...        the function</span>
00045 <span class="comment"> */</span>
00046 
00047 
00048  <span class="comment">/* Enumeration of image sizes */</span>
<a name="l00049"></a><a class="code" href="pwc-ioctl_8h.html#a0">00049</a> <span class="preprocessor">#define PSZ_SQCIF       0x00</span>
<a name="l00050"></a><a class="code" href="pwc-ioctl_8h.html#a1">00050</a> <span class="preprocessor"></span><span class="preprocessor">#define PSZ_QSIF        0x01</span>
<a name="l00051"></a><a class="code" href="pwc-ioctl_8h.html#a2">00051</a> <span class="preprocessor"></span><span class="preprocessor">#define PSZ_QCIF        0x02</span>
<a name="l00052"></a><a class="code" href="pwc-ioctl_8h.html#a3">00052</a> <span class="preprocessor"></span><span class="preprocessor">#define PSZ_SIF         0x03</span>
<a name="l00053"></a><a class="code" href="pwc-ioctl_8h.html#a4">00053</a> <span class="preprocessor"></span><span class="preprocessor">#define PSZ_CIF         0x04</span>
<a name="l00054"></a><a class="code" href="pwc-ioctl_8h.html#a5">00054</a> <span class="preprocessor"></span><span class="preprocessor">#define PSZ_VGA         0x05</span>
<a name="l00055"></a><a class="code" href="pwc-ioctl_8h.html#a6">00055</a> <span class="preprocessor"></span><span class="preprocessor">#define PSZ_MAX         6</span>
00056 <span class="preprocessor"></span>
00057 
00058 <span class="comment">/* The frame rate is encoded in the video_window.flags parameter using</span>
00059 <span class="comment">   the upper 16 bits, since some flags are defined nowadays. The following</span>
00060 <span class="comment">   defines provide a mask and shift to filter out this value.</span>
00061 <span class="comment"></span>
00062 <span class="comment">   In 'Snapshot' mode the camera freezes its automatic exposure and colour</span>
00063 <span class="comment">   balance controls.</span>
00064 <span class="comment"> */</span>
<a name="l00065"></a><a class="code" href="pwc-ioctl_8h.html#a7">00065</a> <span class="preprocessor">#define PWC_FPS_SHIFT           16</span>
<a name="l00066"></a><a class="code" href="pwc-ioctl_8h.html#a8">00066</a> <span class="preprocessor"></span><span class="preprocessor">#define PWC_FPS_MASK            0x00FF0000</span>
<a name="l00067"></a><a class="code" href="pwc-ioctl_8h.html#a9">00067</a> <span class="preprocessor"></span><span class="preprocessor">#define PWC_FPS_FRMASK          0x003F0000</span>
<a name="l00068"></a><a class="code" href="pwc-ioctl_8h.html#a10">00068</a> <span class="preprocessor"></span><span class="preprocessor">#define PWC_FPS_SNAPSHOT        0x00400000</span>
00069 <span class="preprocessor"></span>
00070 
00071 <span class="comment">/* structure for transfering x &amp; y coordinates */</span>
<a name="l00072"></a><a class="code" href="structpwc__coord.html">00072</a> <span class="keyword">struct </span><a class="code" href="structpwc__coord.html">pwc_coord</a>
00073 {
<a name="l00074"></a><a class="code" href="structpwc__coord.html#o1">00074</a>         <span class="keywordtype">int</span> <a class="code" href="structpwc__coord.html#o0">x</a>, <a class="code" href="structpwc__coord.html#o1">y</a>;               <span class="comment">/* guess what */</span>
<a name="l00075"></a><a class="code" href="structpwc__coord.html#o2">00075</a>         <span class="keywordtype">int</span> <a class="code" href="structpwc__coord.html#o2">size</a>;               <span class="comment">/* size, or offset */</span>
00076 };
00077 
00078 
00079 <span class="comment">/* Used with VIDIOCPWCPROBE */</span>
<a name="l00080"></a><a class="code" href="structpwc__probe.html">00080</a> <span class="keyword">struct </span><a class="code" href="structpwc__probe.html">pwc_probe</a>
00081 {
<a name="l00082"></a><a class="code" href="structpwc__probe.html#o0">00082</a>         <span class="keywordtype">char</span> <a class="code" href="structpwc__probe.html#o0">name</a>[32];
<a name="l00083"></a><a class="code" href="structpwc__probe.html#o1">00083</a>         <span class="keywordtype">int</span> <a class="code" href="structpwc__probe.html#o1">type</a>;
00084 };
00085 
<a name="l00086"></a><a class="code" href="structpwc__serial.html">00086</a> <span class="keyword">struct </span><a class="code" href="structpwc__serial.html">pwc_serial</a>
00087 {
<a name="l00088"></a><a class="code" href="structpwc__serial.html#o0">00088</a>         <span class="keywordtype">char</span> <a class="code" href="structpwc__serial.html#o0">serial</a>[30];        <span class="comment">/* String with serial number. Contains terminating 0 */</span>
00089 };
00090         
00091 <span class="comment">/* pwc_whitebalance.mode values */</span>
<a name="l00092"></a><a class="code" href="pwc-ioctl_8h.html#a11">00092</a> <span class="preprocessor">#define PWC_WB_INDOOR           0</span>
<a name="l00093"></a><a class="code" href="pwc-ioctl_8h.html#a12">00093</a> <span class="preprocessor"></span><span class="preprocessor">#define PWC_WB_OUTDOOR          1</span>
<a name="l00094"></a><a class="code" href="pwc-ioctl_8h.html#a13">00094</a> <span class="preprocessor"></span><span class="preprocessor">#define PWC_WB_FL               2</span>
<a name="l00095"></a><a class="code" href="pwc-ioctl_8h.html#a14">00095</a> <span class="preprocessor"></span><span class="preprocessor">#define PWC_WB_MANUAL           3</span>
<a name="l00096"></a><a class="code" href="pwc-ioctl_8h.html#a15">00096</a> <span class="preprocessor"></span><span class="preprocessor">#define PWC_WB_AUTO             4</span>
00097 <span class="preprocessor"></span>
00098 <span class="comment">/* Used with VIDIOCPWC[SG]AWB (Auto White Balance). </span>
00099 <span class="comment">   Set mode to one of the PWC_WB_* values above.</span>
00100 <span class="comment">   *red and *blue are the respective gains of these colour components inside </span>
00101 <span class="comment">   the camera; range 0..65535</span>
00102 <span class="comment">   When 'mode' == PWC_WB_MANUAL, 'manual_red' and 'manual_blue' are set or read; </span>
00103 <span class="comment">   otherwise undefined.</span>
00104 <span class="comment">   'read_red' and 'read_blue' are read-only.</span>
00105 <span class="comment">*/</span>   
<a name="l00106"></a><a class="code" href="structpwc__whitebalance.html">00106</a> <span class="keyword">struct </span><a class="code" href="structpwc__whitebalance.html">pwc_whitebalance</a>
00107 {
<a name="l00108"></a><a class="code" href="structpwc__whitebalance.html#o0">00108</a>         <span class="keywordtype">int</span> <a class="code" href="structpwc__whitebalance.html#o0">mode</a>;
<a name="l00109"></a><a class="code" href="structpwc__whitebalance.html#o1">00109</a>         <span class="keywordtype">int</span> <a class="code" href="structpwc__whitebalance.html#o1">manual_red</a>, <a class="code" href="structpwc__whitebalance.html#o2">manual_blue</a>;    <span class="comment">/* R/W */</span>
<a name="l00110"></a><a class="code" href="structpwc__whitebalance.html#o3">00110</a>         <span class="keywordtype">int</span> <a class="code" href="structpwc__whitebalance.html#o3">read_red</a>, <a class="code" href="structpwc__whitebalance.html#o4">read_blue</a>;        <span class="comment">/* R/O */</span>
00111 };
00112 
00113 <span class="comment">/* </span>
00114 <span class="comment">   'control_speed' and 'control_delay' are used in automatic whitebalance mode,</span>
00115 <span class="comment">   and tell the camera how fast it should react to changes in lighting, and </span>
00116 <span class="comment">   with how much delay. Valid values are 0..65535.</span>
00117 <span class="comment">*/</span>
<a name="l00118"></a><a class="code" href="structpwc__wb__speed.html">00118</a> <span class="keyword">struct </span><a class="code" href="structpwc__wb__speed.html">pwc_wb_speed</a>
00119 {
<a name="l00120"></a><a class="code" href="structpwc__wb__speed.html#o0">00120</a>         <span class="keywordtype">int</span> <a class="code" href="structpwc__wb__speed.html#o0">control_speed</a>;
<a name="l00121"></a><a class="code" href="structpwc__wb__speed.html#o1">00121</a>         <span class="keywordtype">int</span> <a class="code" href="structpwc__wb__speed.html#o1">control_delay</a>;
00122 
00123 };
00124 
00125 <span class="comment">/* Used with VIDIOCPWC[SG]LED */</span>
<a name="l00126"></a><a class="code" href="structpwc__leds.html">00126</a> <span class="keyword">struct </span><a class="code" href="structpwc__leds.html">pwc_leds</a>
00127 {
<a name="l00128"></a><a class="code" href="structpwc__leds.html#o0">00128</a>         <span class="keywordtype">int</span> <a class="code" href="structpwc__leds.html#o0">led_on</a>;                     <span class="comment">/* Led on-time; range = 0..25000 */</span>
<a name="l00129"></a><a class="code" href="structpwc__leds.html#o1">00129</a>         <span class="keywordtype">int</span> <a class="code" href="structpwc__leds.html#o1">led_off</a>;                    <span class="comment">/* Led off-time; range = 0..25000  */</span>
00130 };
00131 
00132 <span class="comment">/* Image size (used with GREALSIZE) */</span>
<a name="l00133"></a><a class="code" href="structpwc__imagesize.html">00133</a> <span class="keyword">struct </span><a class="code" href="structpwc__imagesize.html">pwc_imagesize</a>
00134 {
<a name="l00135"></a><a class="code" href="structpwc__imagesize.html#o0">00135</a>         <span class="keywordtype">int</span> <a class="code" href="structpwc__imagesize.html#o0">width</a>;
<a name="l00136"></a><a class="code" href="structpwc__imagesize.html#o1">00136</a>         <span class="keywordtype">int</span> <a class="code" href="structpwc__imagesize.html#o1">height</a>;
00137 };
00138 
00139 <span class="comment">/* Defines and structures for Motorized Pan &amp; Tilt */</span>
<a name="l00140"></a><a class="code" href="pwc-ioctl_8h.html#a16">00140</a> <span class="preprocessor">#define PWC_MPT_PAN             0x01</span>
<a name="l00141"></a><a class="code" href="pwc-ioctl_8h.html#a17">00141</a> <span class="preprocessor"></span><span class="preprocessor">#define PWC_MPT_TILT            0x02</span>
<a name="l00142"></a><a class="code" href="pwc-ioctl_8h.html#a18">00142</a> <span class="preprocessor"></span><span class="preprocessor">#define PWC_MPT_TIMEOUT         0x04 </span><span class="comment">/* for status */</span>
00143 
00144 <span class="comment">/* Set angles; when absolute != 0, the angle is absolute and the </span>
00145 <span class="comment">   driver calculates the relative offset for you. This can only</span>
00146 <span class="comment">   be used with VIDIOCPWCSANGLE; VIDIOCPWCGANGLE always returns</span>
00147 <span class="comment">   absolute angles.</span>
00148 <span class="comment"> */</span>   
<a name="l00149"></a><a class="code" href="structpwc__mpt__angles.html">00149</a> <span class="keyword">struct </span><a class="code" href="structpwc__mpt__angles.html">pwc_mpt_angles</a>
00150 {
<a name="l00151"></a><a class="code" href="structpwc__mpt__angles.html#o0">00151</a>         <span class="keywordtype">int</span> <a class="code" href="structpwc__mpt__angles.html#o0">absolute</a>;           <span class="comment">/* write-only */</span>
<a name="l00152"></a><a class="code" href="structpwc__mpt__angles.html#o1">00152</a>         <span class="keywordtype">int</span> <a class="code" href="structpwc__mpt__angles.html#o1">pan</a>;                <span class="comment">/* degrees * 100 */</span>
<a name="l00153"></a><a class="code" href="structpwc__mpt__angles.html#o2">00153</a>         <span class="keywordtype">int</span> <a class="code" href="structpwc__mpt__angles.html#o2">tilt</a>;               <span class="comment">/* degress * 100 */</span>
00154 };
00155 
00156 <span class="comment">/* Range of angles of the camera, both horizontally and vertically.</span>
00157 <span class="comment"> */</span>
<a name="l00158"></a><a class="code" href="structpwc__mpt__range.html">00158</a> <span class="keyword">struct </span><a class="code" href="structpwc__mpt__range.html">pwc_mpt_range</a>
00159 {
<a name="l00160"></a><a class="code" href="structpwc__mpt__range.html#o0">00160</a>         <span class="keywordtype">int</span> <a class="code" href="structpwc__mpt__range.html#o0">pan_min</a>, <a class="code" href="structpwc__mpt__range.html#o1">pan_max</a>;           <span class="comment">/* degrees * 100 */</span>
<a name="l00161"></a><a class="code" href="structpwc__mpt__range.html#o2">00161</a>         <span class="keywordtype">int</span> <a class="code" href="structpwc__mpt__range.html#o2">tilt_min</a>, <a class="code" href="structpwc__mpt__range.html#o3">tilt_max</a>;
00162 };
00163 
<a name="l00164"></a><a class="code" href="structpwc__mpt__status.html">00164</a> <span class="keyword">struct </span><a class="code" href="structpwc__mpt__status.html">pwc_mpt_status</a>
00165 {
<a name="l00166"></a><a class="code" href="structpwc__mpt__status.html#o0">00166</a>         <span class="keywordtype">int</span> <a class="code" href="structpwc__mpt__status.html#o0">status</a>;
<a name="l00167"></a><a class="code" href="structpwc__mpt__status.html#o1">00167</a>         <span class="keywordtype">int</span> <a class="code" href="structpwc__mpt__status.html#o1">time_pan</a>;
<a name="l00168"></a><a class="code" href="structpwc__mpt__status.html#o2">00168</a>         <span class="keywordtype">int</span> <a class="code" href="structpwc__mpt__status.html#o2">time_tilt</a>;
00169 };
00170 
00171 
00172 <span class="comment">/* This is used for out-of-kernel decompression. With it, you can get</span>
00173 <span class="comment">   all the necessary information to initialize and use the decompressor</span>
00174 <span class="comment">   routines in standalone applications.</span>
00175 <span class="comment"> */</span>   
<a name="l00176"></a><a class="code" href="structpwc__video__command.html">00176</a> <span class="keyword">struct </span><a class="code" href="structpwc__video__command.html">pwc_video_command</a>
00177 {
<a name="l00178"></a><a class="code" href="structpwc__video__command.html#o0">00178</a>         <span class="keywordtype">int</span> <a class="code" href="structpwc__video__command.html#o0">type</a>;               <span class="comment">/* camera type (645, 675, 730, etc.) */</span>
<a name="l00179"></a><a class="code" href="structpwc__video__command.html#o1">00179</a>         <span class="keywordtype">int</span> <a class="code" href="structpwc__video__command.html#o1">release</a>;            <span class="comment">/* release number */</span>
00180 
<a name="l00181"></a><a class="code" href="structpwc__video__command.html#o2">00181</a>         <span class="keywordtype">int</span> <a class="code" href="structpwc__video__command.html#o2">size</a>;               <span class="comment">/* one of PSZ_* */</span>
<a name="l00182"></a><a class="code" href="structpwc__video__command.html#o3">00182</a>         <span class="keywordtype">int</span> <a class="code" href="structpwc__video__command.html#o3">alternate</a>;
<a name="l00183"></a><a class="code" href="structpwc__video__command.html#o4">00183</a>         <span class="keywordtype">int</span> <a class="code" href="structpwc__video__command.html#o4">command_len</a>;        <span class="comment">/* length of USB video command */</span>
<a name="l00184"></a><a class="code" href="structpwc__video__command.html#o5">00184</a>         <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="structpwc__video__command.html#o5">command_buf</a>[13];  <span class="comment">/* Actual USB video command */</span>
<a name="l00185"></a><a class="code" href="structpwc__video__command.html#o6">00185</a>         <span class="keywordtype">int</span> <a class="code" href="structpwc__video__command.html#o6">bandlength</a>;         <span class="comment">/* &gt;0 = compressed */</span>
<a name="l00186"></a><a class="code" href="structpwc__video__command.html#o7">00186</a>         <span class="keywordtype">int</span> <a class="code" href="structpwc__video__command.html#o7">frame_size</a>;         <span class="comment">/* Size of one (un)compressed frame */</span>
00187 };
00188 
00189 <span class="comment">/* Flags for PWCX subroutines. Not all modules honour all flags. */</span>
<a name="l00190"></a><a class="code" href="pwc-ioctl_8h.html#a19">00190</a> <span class="preprocessor">#define PWCX_FLAG_PLANAR        0x0001</span>
<a name="l00191"></a><a class="code" href="pwc-ioctl_8h.html#a20">00191</a> <span class="preprocessor"></span><span class="preprocessor">#define PWCX_FLAG_BAYER         0x0008</span>
00192 <span class="preprocessor"></span>
00193 
00194 <span class="comment">/* IOCTL definitions */</span>
00195 
00196  <span class="comment">/* Restore user settings */</span>
<a name="l00197"></a><a class="code" href="pwc-ioctl_8h.html#a21">00197</a> <span class="preprocessor">#define VIDIOCPWCRUSER          _IO('v', 192)</span>
00198 <span class="preprocessor"></span> <span class="comment">/* Save user settings */</span>
<a name="l00199"></a><a class="code" href="pwc-ioctl_8h.html#a22">00199</a> <span class="preprocessor">#define VIDIOCPWCSUSER          _IO('v', 193)</span>
00200 <span class="preprocessor"></span> <span class="comment">/* Restore factory settings */</span>
<a name="l00201"></a><a class="code" href="pwc-ioctl_8h.html#a23">00201</a> <span class="preprocessor">#define VIDIOCPWCFACTORY        _IO('v', 194)</span>
00202 <span class="preprocessor"></span>
00203  <span class="comment">/* You can manipulate the compression factor. A compression preference of 0</span>
00204 <span class="comment">    means use uncompressed modes when available; 1 is low compression, 2 is</span>
00205 <span class="comment">    medium and 3 is high compression preferred. Of course, the higher the</span>
00206 <span class="comment">    compression, the lower the bandwidth used but more chance of artefacts</span>
00207 <span class="comment">    in the image. The driver automatically chooses a higher compression when</span>
00208 <span class="comment">    the preferred mode is not available.</span>
00209 <span class="comment">  */</span>
00210  <span class="comment">/* Set preferred compression quality (0 = uncompressed, 3 = highest compression) */</span>
<a name="l00211"></a><a class="code" href="pwc-ioctl_8h.html#a24">00211</a> <span class="preprocessor">#define VIDIOCPWCSCQUAL         _IOW('v', 195, int)</span>
00212 <span class="preprocessor"></span> <span class="comment">/* Get preferred compression quality */</span>
<a name="l00213"></a><a class="code" href="pwc-ioctl_8h.html#a25">00213</a> <span class="preprocessor">#define VIDIOCPWCGCQUAL         _IOR('v', 195, int)</span>
00214 <span class="preprocessor"></span>
00215 
00216 <span class="comment">/* Retrieve serial number of camera */</span>
<a name="l00217"></a><a class="code" href="pwc-ioctl_8h.html#a26">00217</a> <span class="preprocessor">#define VIDIOCPWCGSERIAL        _IOR('v', 198, struct pwc_serial)</span>
00218 <span class="preprocessor"></span>
00219  <span class="comment">/* This is a probe function; since so many devices are supported, it</span>
00220 <span class="comment">    becomes difficult to include all the names in programs that want to</span>
00221 <span class="comment">    check for the enhanced Philips stuff. So in stead, try this PROBE;</span>
00222 <span class="comment">    it returns a structure with the original name, and the corresponding</span>
00223 <span class="comment">    Philips type.</span>
00224 <span class="comment">    To use, fill the structure with zeroes, call PROBE and if that succeeds,</span>
00225 <span class="comment">    compare the name with that returned from VIDIOCGCAP; they should be the</span>
00226 <span class="comment">    same. If so, you can be assured it is a Philips (OEM) cam and the type</span>
00227 <span class="comment">    is valid.</span>
00228 <span class="comment"> */</span>
<a name="l00229"></a><a class="code" href="pwc-ioctl_8h.html#a27">00229</a> <span class="preprocessor">#define VIDIOCPWCPROBE          _IOR('v', 199, struct pwc_probe)</span>
00230 <span class="preprocessor"></span>
00231  <span class="comment">/* Set AGC (Automatic Gain Control); int &lt; 0 = auto, 0..65535 = fixed */</span>
<a name="l00232"></a><a class="code" href="pwc-ioctl_8h.html#a28">00232</a> <span class="preprocessor">#define VIDIOCPWCSAGC           _IOW('v', 200, int)</span>
00233 <span class="preprocessor"></span> <span class="comment">/* Get AGC; int &lt; 0 = auto; &gt;= 0 = fixed, range 0..65535 */</span>
<a name="l00234"></a><a class="code" href="pwc-ioctl_8h.html#a29">00234</a> <span class="preprocessor">#define VIDIOCPWCGAGC           _IOR('v', 200, int)</span>
00235 <span class="preprocessor"></span> <span class="comment">/* Set shutter speed; int &lt; 0 = auto; &gt;= 0 = fixed, range 0..65535 */</span>
<a name="l00236"></a><a class="code" href="pwc-ioctl_8h.html#a30">00236</a> <span class="preprocessor">#define VIDIOCPWCSSHUTTER       _IOW('v', 201, int)</span>
00237 <span class="preprocessor"></span>
00238  <span class="comment">/* Color compensation (Auto White Balance) */</span>
<a name="l00239"></a><a class="code" href="pwc-ioctl_8h.html#a31">00239</a> <span class="preprocessor">#define VIDIOCPWCSAWB           _IOW('v', 202, struct pwc_whitebalance)</span>
<a name="l00240"></a><a class="code" href="pwc-ioctl_8h.html#a32">00240</a> <span class="preprocessor"></span><span class="preprocessor">#define VIDIOCPWCGAWB           _IOR('v', 202, struct pwc_whitebalance)</span>
00241 <span class="preprocessor"></span>
00242  <span class="comment">/* Auto WB speed */</span>
<a name="l00243"></a><a class="code" href="pwc-ioctl_8h.html#a33">00243</a> <span class="preprocessor">#define VIDIOCPWCSAWBSPEED      _IOW('v', 203, struct pwc_wb_speed)</span>
<a name="l00244"></a><a class="code" href="pwc-ioctl_8h.html#a34">00244</a> <span class="preprocessor"></span><span class="preprocessor">#define VIDIOCPWCGAWBSPEED      _IOR('v', 203, struct pwc_wb_speed)</span>
00245 <span class="preprocessor"></span>
00246  <span class="comment">/* LEDs on/off/blink; int range 0..65535 */</span>
<a name="l00247"></a><a class="code" href="pwc-ioctl_8h.html#a35">00247</a> <span class="preprocessor">#define VIDIOCPWCSLED           _IOW('v', 205, struct pwc_leds)</span>
<a name="l00248"></a><a class="code" href="pwc-ioctl_8h.html#a36">00248</a> <span class="preprocessor"></span><span class="preprocessor">#define VIDIOCPWCGLED           _IOR('v', 205, struct pwc_leds)</span>
00249 <span class="preprocessor"></span>
00250   <span class="comment">/* Contour (sharpness); int &lt; 0 = auto, 0..65536 = fixed */</span>
<a name="l00251"></a><a class="code" href="pwc-ioctl_8h.html#a37">00251</a> <span class="preprocessor">#define VIDIOCPWCSCONTOUR       _IOW('v', 206, int)</span>
<a name="l00252"></a><a class="code" href="pwc-ioctl_8h.html#a38">00252</a> <span class="preprocessor"></span><span class="preprocessor">#define VIDIOCPWCGCONTOUR       _IOR('v', 206, int)</span>
00253 <span class="preprocessor"></span>
00254   <span class="comment">/* Backlight compensation; 0 = off, otherwise on */</span>
<a name="l00255"></a><a class="code" href="pwc-ioctl_8h.html#a39">00255</a> <span class="preprocessor">#define VIDIOCPWCSBACKLIGHT     _IOW('v', 207, int)</span>
<a name="l00256"></a><a class="code" href="pwc-ioctl_8h.html#a40">00256</a> <span class="preprocessor"></span><span class="preprocessor">#define VIDIOCPWCGBACKLIGHT     _IOR('v', 207, int)</span>
00257 <span class="preprocessor"></span>
00258   <span class="comment">/* Flickerless mode; = 0 off, otherwise on */</span>
<a name="l00259"></a><a class="code" href="pwc-ioctl_8h.html#a41">00259</a> <span class="preprocessor">#define VIDIOCPWCSFLICKER       _IOW('v', 208, int)</span>
<a name="l00260"></a><a class="code" href="pwc-ioctl_8h.html#a42">00260</a> <span class="preprocessor"></span><span class="preprocessor">#define VIDIOCPWCGFLICKER       _IOR('v', 208, int)  </span>
00261 <span class="preprocessor"></span>
00262   <span class="comment">/* Dynamic noise reduction; 0 off, 3 = high noise reduction */</span>
<a name="l00263"></a><a class="code" href="pwc-ioctl_8h.html#a43">00263</a> <span class="preprocessor">#define VIDIOCPWCSDYNNOISE      _IOW('v', 209, int)</span>
<a name="l00264"></a><a class="code" href="pwc-ioctl_8h.html#a44">00264</a> <span class="preprocessor"></span><span class="preprocessor">#define VIDIOCPWCGDYNNOISE      _IOR('v', 209, int)</span>
00265 <span class="preprocessor"></span>
00266  <span class="comment">/* Real image size as used by the camera; tells you whether or not there's a gray border around the image */</span>
<a name="l00267"></a><a class="code" href="pwc-ioctl_8h.html#a45">00267</a> <span class="preprocessor">#define VIDIOCPWCGREALSIZE      _IOR('v', 210, struct pwc_imagesize)</span>
00268 <span class="preprocessor"></span>
00269  <span class="comment">/* Motorized pan &amp; tilt functions */</span> 
<a name="l00270"></a><a class="code" href="pwc-ioctl_8h.html#a46">00270</a> <span class="preprocessor">#define VIDIOCPWCMPTRESET       _IOW('v', 211, int)</span>
<a name="l00271"></a><a class="code" href="pwc-ioctl_8h.html#a47">00271</a> <span class="preprocessor"></span><span class="preprocessor">#define VIDIOCPWCMPTGRANGE      _IOR('v', 211, struct pwc_mpt_range)</span>
<a name="l00272"></a><a class="code" href="pwc-ioctl_8h.html#a48">00272</a> <span class="preprocessor"></span><span class="preprocessor">#define VIDIOCPWCMPTSANGLE      _IOW('v', 212, struct pwc_mpt_angles)</span>
<a name="l00273"></a><a class="code" href="pwc-ioctl_8h.html#a49">00273</a> <span class="preprocessor"></span><span class="preprocessor">#define VIDIOCPWCMPTGANGLE      _IOR('v', 212, struct pwc_mpt_angles)</span>
<a name="l00274"></a><a class="code" href="pwc-ioctl_8h.html#a50">00274</a> <span class="preprocessor"></span><span class="preprocessor">#define VIDIOCPWCMPTSTATUS      _IOR('v', 213, struct pwc_mpt_status)</span>
00275 <span class="preprocessor"></span>
00276  <span class="comment">/* Get the USB set-video command; needed for initializing libpwcx */</span>
<a name="l00277"></a><a class="code" href="pwc-ioctl_8h.html#a51">00277</a> <span class="preprocessor">#define VIDIOCPWCGVIDCMD        _IOR('v', 215, struct pwc_video_command)</span>
00278 <span class="preprocessor"></span>
00279 <span class="preprocessor">#endif</span>
</div></pre><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 13 23:38:46 2006 for CamStream by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 ></a> 1.3.7 </small></address>
</body>
</html>