Sophie

Sophie

distrib > Fedora > 15 > x86_64 > by-pkgid > ec9ccd822be669bf449eecc0e640e0be > files > 184

camstream-0.26.3-19.fc12.x86_64.rpm

<html>
<head>
<title>Camstream: CamStream API documentation</title>
<link rel="stylesheet" href="../../tech.css" type="text/css">
</head>
<body>

<!-- Generated by Doxygen 1.2.6 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>pwc-ioctl.h</h1><a href="pwc-ioctl_h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="preprocessor">#ifndef PWC_IOCTL_H</font>
00002 <font class="preprocessor"></font><font class="preprocessor">#define PWC_IOCTL_H</font>
00003 <font class="preprocessor"></font>
00004 <font class="comment">/* (C) 2001-2002 Nemosoft Unv.    webcam@smcc.demon.nl</font>
00005 <font class="comment">   </font>
00006 <font class="comment">   This program is free software; you can redistribute it and/or modify</font>
00007 <font class="comment">   it under the terms of the GNU General Public License as published by</font>
00008 <font class="comment">   the Free Software Foundation; either version 2 of the License, or</font>
00009 <font class="comment">   (at your option) any later version.</font>
00010 <font class="comment"></font>
00011 <font class="comment">   This program is distributed in the hope that it will be useful,</font>
00012 <font class="comment">   but WITHOUT ANY WARRANTY; without even the implied warranty of</font>
00013 <font class="comment">   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</font>
00014 <font class="comment">   GNU General Public License for more details.</font>
00015 <font class="comment"></font>
00016 <font class="comment">   You should have received a copy of the GNU General Public License</font>
00017 <font class="comment">   along with this program; if not, write to the Free Software</font>
00018 <font class="comment">   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA</font>
00019 <font class="comment">*/</font>
00020 
00021 <font class="comment">/*         This is pwc-ioctl.h belonging to PWC 8.6                        */</font>
00022 
00023 <font class="comment">/* </font>
00024 <font class="comment">   Changes</font>
00025 <font class="comment">   2001/08/03  Alvarado   Added ioctl constants to access methods for </font>
00026 <font class="comment">                          changing white balance and red/blue gains</font>
00027 <font class="comment"> */</font>
00028 
00029 <font class="comment">/* These are private ioctl() commands, specific for the Philips webcams.</font>
00030 <font class="comment">   They contain functions not found in other webcams, and settings not</font>
00031 <font class="comment">   specified in the Video4Linux API. </font>
00032 <font class="comment">   </font>
00033 <font class="comment">   The #define names are built up like follows:</font>
00034 <font class="comment">   VIDIOC               VIDeo IOCtl prefix</font>
00035 <font class="comment">         PWC            Philps WebCam</font>
00036 <font class="comment">            G           optional: Get</font>
00037 <font class="comment">            S           optional: Set</font>
00038 <font class="comment">             ...        the function</font>
00039 <font class="comment"> */</font>
00040 
00041 
00042 
00043 
00044 <font class="comment">/* The frame rate is encoded in the video_window.flags parameter using</font>
00045 <font class="comment">   the upper 16 bits, since some flags are defined nowadays. The following</font>
00046 <font class="comment">   defines provide a mask and shift to filter out this value.</font>
00047 <font class="comment">   </font>
00048 <font class="comment">   In 'Snapshot' mode the camera freezes its automatic exposure and colour </font>
00049 <font class="comment">   balance controls.</font>
00050 <font class="comment"> */</font>
<a name="l00051"></a><a class="code" href="pwc-ioctl_h.html#a0">00051</a> <font class="preprocessor">#define PWC_FPS_SHIFT           16</font>
<a name="l00052"></a><a class="code" href="pwc-ioctl_h.html#a1">00052</a> <font class="preprocessor"></font><font class="preprocessor">#define PWC_FPS_MASK            0x00FF0000</font>
<a name="l00053"></a><a class="code" href="pwc-ioctl_h.html#a2">00053</a> <font class="preprocessor"></font><font class="preprocessor">#define PWC_FPS_FRMASK          0x003F0000</font>
<a name="l00054"></a><a class="code" href="pwc-ioctl_h.html#a3">00054</a> <font class="preprocessor"></font><font class="preprocessor">#define PWC_FPS_SNAPSHOT        0x00400000</font>
00055 <font class="preprocessor"></font>
00056 
00057 
<a name="l00058"></a><a class="code" href="struct_pwc_probe.html">00058</a> <font class="keyword">struct </font><a class="code" href="struct_pwc_probe.html">pwc_probe</a>
00059 {
<a name="l00060"></a><a class="code" href="struct_pwc_probe.html#m0">00060</a>         <font class="keywordtype">char</font> name[32];
<a name="l00061"></a><a class="code" href="struct_pwc_probe.html#m1">00061</a>         <font class="keywordtype">int</font> type;
00062 };
00063 
00064 
00065 <font class="comment">/* pwc_whitebalance.mode values */</font>
<a name="l00066"></a><a class="code" href="pwc-ioctl_h.html#a4">00066</a> <font class="preprocessor">#define PWC_WB_INDOOR           0</font>
<a name="l00067"></a><a class="code" href="pwc-ioctl_h.html#a5">00067</a> <font class="preprocessor"></font><font class="preprocessor">#define PWC_WB_OUTDOOR          1</font>
<a name="l00068"></a><a class="code" href="pwc-ioctl_h.html#a6">00068</a> <font class="preprocessor"></font><font class="preprocessor">#define PWC_WB_FL               2</font>
<a name="l00069"></a><a class="code" href="pwc-ioctl_h.html#a7">00069</a> <font class="preprocessor"></font><font class="preprocessor">#define PWC_WB_MANUAL           3</font>
<a name="l00070"></a><a class="code" href="pwc-ioctl_h.html#a8">00070</a> <font class="preprocessor"></font><font class="preprocessor">#define PWC_WB_AUTO             4</font>
00071 <font class="preprocessor"></font>
00072 <font class="comment">/* Used with VIDIOCPWC[SG]AWB (Auto White Balance). </font>
00073 <font class="comment">   Set mode to one of the PWC_WB_* values above.</font>
00074 <font class="comment">   *red and *blue are the respective gains of these colour components inside </font>
00075 <font class="comment">   the camera; range 0..65535</font>
00076 <font class="comment">   When 'mode' == PWC_WB_MANUAL, 'manual_red' and 'manual_blue' are set or read; </font>
00077 <font class="comment">   otherwise undefined.</font>
00078 <font class="comment">   'read_red' and 'read_blue' are read-only.</font>
00079 <font class="comment">*/</font>   
00080    
<a name="l00081"></a><a class="code" href="struct_pwc_whitebalance.html">00081</a> <font class="keyword">struct </font><a class="code" href="struct_pwc_whitebalance.html">pwc_whitebalance</a>
00082 {
<a name="l00083"></a><a class="code" href="struct_pwc_whitebalance.html#m0">00083</a>         <font class="keywordtype">int</font> mode;
<a name="l00084"></a><a class="code" href="struct_pwc_whitebalance.html#m1">00084</a>         <font class="keywordtype">int</font> manual_red, manual_blue;    <font class="comment">/* R/W */</font>
<a name="l00085"></a><a class="code" href="struct_pwc_whitebalance.html#m3">00085</a>         <font class="keywordtype">int</font> read_red, read_blue;        <font class="comment">/* R/O */</font>
00086 };
00087 
00088 <font class="comment">/* </font>
00089 <font class="comment">   'control_speed' and 'control_delay' are used in automatic whitebalance mode,</font>
00090 <font class="comment">   and tell the camera how fast it should react to changes in lighting, and </font>
00091 <font class="comment">   with how much delay. Valid values are 0..65535.</font>
00092 <font class="comment">*/</font>
<a name="l00093"></a><a class="code" href="struct_pwc_wb_speed.html">00093</a> <font class="keyword">struct </font><a class="code" href="struct_pwc_wb_speed.html">pwc_wb_speed</a>
00094 {
<a name="l00095"></a><a class="code" href="struct_pwc_wb_speed.html#m0">00095</a>         <font class="keywordtype">int</font> control_speed;
<a name="l00096"></a><a class="code" href="struct_pwc_wb_speed.html#m1">00096</a>         <font class="keywordtype">int</font> control_delay;
00097 
00098 };
00099 
00100 <font class="comment">/* Used with VIDIOCPWC[SG]LED */</font>
<a name="l00101"></a><a class="code" href="struct_pwc_leds.html">00101</a> <font class="keyword">struct </font><a class="code" href="struct_pwc_leds.html">pwc_leds</a>
00102 {
<a name="l00103"></a><a class="code" href="struct_pwc_leds.html#m0">00103</a>         <font class="keywordtype">int</font> led_on;                     <font class="comment">/* Led on-time; range = 0..25000 */</font>
<a name="l00104"></a><a class="code" href="struct_pwc_leds.html#m1">00104</a>         <font class="keywordtype">int</font> led_off;                    <font class="comment">/* Led off-time; range = 0..25000  */</font>
00105 };
00106 
00107 
00108 
00109  <font class="comment">/* Restore user settings */</font>
<a name="l00110"></a><a class="code" href="pwc-ioctl_h.html#a9">00110</a> <font class="preprocessor">#define VIDIOCPWCRUSER          _IO('v', 192)</font>
00111 <font class="preprocessor"></font> <font class="comment">/* Save user settings */</font>
<a name="l00112"></a><a class="code" href="pwc-ioctl_h.html#a10">00112</a> <font class="preprocessor">#define VIDIOCPWCSUSER          _IO('v', 193)</font>
00113 <font class="preprocessor"></font> <font class="comment">/* Restore factory settings */</font>
<a name="l00114"></a><a class="code" href="pwc-ioctl_h.html#a11">00114</a> <font class="preprocessor">#define VIDIOCPWCFACTORY        _IO('v', 194)</font>
00115 <font class="preprocessor"></font>
00116  <font class="comment">/* You can manipulate the compression factor. A compression preference of 0</font>
00117 <font class="comment">    means use uncompressed modes when available; 1 is low compression, 2 is</font>
00118 <font class="comment">    medium and 3 is high compression preferred. Of course, the higher the</font>
00119 <font class="comment">    compression, the lower the bandwidth used but more chance of artefacts</font>
00120 <font class="comment">    in the image. The driver automatically chooses a higher compression when</font>
00121 <font class="comment">    the preferred mode is not available.</font>
00122 <font class="comment">  */</font>
00123  <font class="comment">/* Set preferred compression quality (0 = uncompressed, 3 = highest compression) */</font>
<a name="l00124"></a><a class="code" href="pwc-ioctl_h.html#a12">00124</a> <font class="preprocessor">#define VIDIOCPWCSCQUAL         _IOW('v', 195, int)</font>
00125 <font class="preprocessor"></font> <font class="comment">/* Get preferred compression quality */</font>
<a name="l00126"></a><a class="code" href="pwc-ioctl_h.html#a13">00126</a> <font class="preprocessor">#define VIDIOCPWCGCQUAL         _IOR('v', 195, int)</font>
00127 <font class="preprocessor"></font>
00128 
00129  <font class="comment">/* This is a probe function; since so many devices are supported, it</font>
00130 <font class="comment">    becomes difficult to include all the names in programs that want to</font>
00131 <font class="comment">    check for the enhanced Philips stuff. So in stead, try this PROBE;</font>
00132 <font class="comment">    it returns a structure with the original name, and the corresponding </font>
00133 <font class="comment">    Philips type.</font>
00134 <font class="comment">    To use, fill the structure with zeroes, call PROBE and if that succeeds,</font>
00135 <font class="comment">    compare the name with that returned from VIDIOCGCAP; they should be the</font>
00136 <font class="comment">    same. If so, you can be assured it is a Philips (OEM) cam and the type</font>
00137 <font class="comment">    is valid.</font>
00138 <font class="comment"> */</font>    
<a name="l00139"></a><a class="code" href="pwc-ioctl_h.html#a14">00139</a> <font class="preprocessor">#define VIDIOCPWCPROBE          _IOR('v', 199, struct pwc_probe)</font>
00140 <font class="preprocessor"></font>
00141  <font class="comment">/* Set AGC (Automatic Gain Control); int &lt; 0 = auto, 0..65535 = fixed */</font>
<a name="l00142"></a><a class="code" href="pwc-ioctl_h.html#a15">00142</a> <font class="preprocessor">#define VIDIOCPWCSAGC           _IOW('v', 200, int)</font>
00143 <font class="preprocessor"></font> <font class="comment">/* Get AGC; int &lt; 0 = auto; &gt;= 0 = fixed, range 0..65535 */</font>
<a name="l00144"></a><a class="code" href="pwc-ioctl_h.html#a16">00144</a> <font class="preprocessor">#define VIDIOCPWCGAGC           _IOR('v', 200, int)</font>
00145 <font class="preprocessor"></font> <font class="comment">/* Set shutter speed; int &lt; 0 = auto; &gt;= 0 = fixed, range 0..65535 */</font>
<a name="l00146"></a><a class="code" href="pwc-ioctl_h.html#a17">00146</a> <font class="preprocessor">#define VIDIOCPWCSSHUTTER       _IOW('v', 201, int)</font>
00147 <font class="preprocessor"></font>
00148  <font class="comment">/* Color compensation (Auto White Balance) */</font>
<a name="l00149"></a><a class="code" href="pwc-ioctl_h.html#a18">00149</a> <font class="preprocessor">#define VIDIOCPWCSAWB           _IOW('v', 202, struct pwc_whitebalance)</font>
<a name="l00150"></a><a class="code" href="pwc-ioctl_h.html#a19">00150</a> <font class="preprocessor"></font><font class="preprocessor">#define VIDIOCPWCGAWB           _IOR('v', 202, struct pwc_whitebalance)</font>
00151 <font class="preprocessor"></font>
00152  <font class="comment">/* Auto WB speed */</font>
<a name="l00153"></a><a class="code" href="pwc-ioctl_h.html#a20">00153</a> <font class="preprocessor">#define VIDIOCPWCSAWBSPEED      _IOW('v', 203, struct pwc_wb_speed)</font>
<a name="l00154"></a><a class="code" href="pwc-ioctl_h.html#a21">00154</a> <font class="preprocessor"></font><font class="preprocessor">#define VIDIOCPWCGAWBSPEED      _IOR('v', 203, struct pwc_wb_speed)</font>
00155 <font class="preprocessor"></font>
00156  <font class="comment">/* LEDs on/off/blink; int range 0..65535 */</font>
<a name="l00157"></a><a class="code" href="pwc-ioctl_h.html#a22">00157</a> <font class="preprocessor">#define VIDIOCPWCSLED           _IOW('v', 205, struct pwc_leds)</font>
<a name="l00158"></a><a class="code" href="pwc-ioctl_h.html#a23">00158</a> <font class="preprocessor"></font><font class="preprocessor">#define VIDIOCPWCGLED           _IOR('v', 205, struct pwc_leds)</font>
00159 <font class="preprocessor"></font>
00160   <font class="comment">/* Contour (sharpness); int &lt; 0 = auto, 0..65536 = fixed */</font>
<a name="l00161"></a><a class="code" href="pwc-ioctl_h.html#a24">00161</a> <font class="preprocessor">#define VIDIOCPWCSCONTOUR       _IOW('v', 206, int)</font>
<a name="l00162"></a><a class="code" href="pwc-ioctl_h.html#a25">00162</a> <font class="preprocessor"></font><font class="preprocessor">#define VIDIOCPWCGCONTOUR       _IOR('v', 206, int)</font>
00163 <font class="preprocessor"></font>
00164   <font class="comment">/* Backlight compensation; 0 = off, otherwise on */</font>
<a name="l00165"></a><a class="code" href="pwc-ioctl_h.html#a26">00165</a> <font class="preprocessor">#define VIDIOCPWCSBACKLIGHT     _IOW('v', 207, int)</font>
<a name="l00166"></a><a class="code" href="pwc-ioctl_h.html#a27">00166</a> <font class="preprocessor"></font><font class="preprocessor">#define VIDIOCPWCGBACKLIGHT     _IOR('v', 207, int)</font>
00167 <font class="preprocessor"></font>
00168   <font class="comment">/* Flickerless mode; = 0 off, otherwise on */</font>
<a name="l00169"></a><a class="code" href="pwc-ioctl_h.html#a28">00169</a> <font class="preprocessor">#define VIDIOCPWCSFLICKER       _IOW('v', 208, int)</font>
<a name="l00170"></a><a class="code" href="pwc-ioctl_h.html#a29">00170</a> <font class="preprocessor"></font><font class="preprocessor">#define VIDIOCPWCGFLICKER       _IOR('v', 208, int)  </font>
00171 <font class="preprocessor"></font>
00172   <font class="comment">/* Dynamic noise reduction; 0 off, 3 = high noise reduction */</font>
<a name="l00173"></a><a class="code" href="pwc-ioctl_h.html#a30">00173</a> <font class="preprocessor">#define VIDIOCPWCSDYNNOISE      _IOW('v', 209, int)</font>
<a name="l00174"></a><a class="code" href="pwc-ioctl_h.html#a31">00174</a> <font class="preprocessor"></font><font class="preprocessor">#define VIDIOCPWCGDYNNOISE      _IOR('v', 209, int)</font>
00175 <font class="preprocessor"></font>
00176 <font class="preprocessor">#endif</font>
</font></pre></div><hr><address><small>Generated at Sat May 18 02:56:55 2002 for Camstream by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.gif" alt="doxygen" align="middle" border=0 
width=110 height=53></a>1.2.6 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
 &copy;&nbsp;1997-2001</small></address>
</body>
</html>