Sophie

Sophie

distrib > Mandriva > 2010.2 > i586 > by-pkgid > 5c710d7790f885bcc8dd115ae6a7763f > files > 59

syntek-2.1.0-1mdv2010.1.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>SyntekUSBVideoCamera: stk11xx.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.9 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
<h1>stk11xx.h</h1><a href="stk11xx_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 
<a name="l00034"></a>00034 <span class="preprocessor">#ifndef STK11XX_H</span>
<a name="l00035"></a>00035 <span class="preprocessor"></span><span class="preprocessor">#define STK11XX_H</span>
<a name="l00036"></a>00036 <span class="preprocessor"></span>
<a name="l00037"></a>00037 
<a name="l00038"></a><a class="code" href="stk11xx_8h.html#25634d21648ca7fb7a2aca614bafaaeb">00038</a> <span class="preprocessor">#define DRIVER_NAME                 "stk11xx"                   </span>
<a name="l00039"></a><a class="code" href="stk11xx_8h.html#e578001fe043b4cca7a0edd801cfe9c4">00039</a> <span class="preprocessor">#define DRIVER_VERSION              "v2.0.0"                    </span>
<a name="l00040"></a><a class="code" href="stk11xx_8h.html#deb97232a92a9bf74cc96d45637116ae">00040</a> <span class="preprocessor">#define DRIVER_VERSION_NUM          0x020000                    </span>
<a name="l00041"></a><a class="code" href="stk11xx_8h.html#ae26107a17c06584f8bbd0d6fb91013d">00041</a> <span class="preprocessor">#define DRIVER_DESC                 "Syntek USB Video Camera"   </span>
<a name="l00042"></a><a class="code" href="stk11xx_8h.html#13f5c49b43ae26d3c3b618ec019a7685">00042</a> <span class="preprocessor">#define DRIVER_AUTHOR               "Nicolas VIVIEN"            </span>
<a name="l00043"></a><a class="code" href="stk11xx_8h.html#dd51b53e8b628f95078327028dccb20c">00043</a> <span class="preprocessor">#define PREFIX                      DRIVER_NAME ": "            </span>
<a name="l00045"></a><a class="code" href="stk11xx_8h.html#ec973c0ea6961094f801d3f90d1dcdd6">00045</a> <span class="preprocessor">#define USB_SYNTEK1_VENDOR_ID       0x174f                      </span>
<a name="l00046"></a><a class="code" href="stk11xx_8h.html#6d15e8c0162bcf42c8192fdf8fc1b516">00046</a> <span class="preprocessor">#define USB_SYNTEK2_VENDOR_ID       0x05e1                      </span>
<a name="l00048"></a><a class="code" href="stk11xx_8h.html#b10b64fc880949ce0503df77bcad8ed1">00048</a> <span class="preprocessor">#define USB_STK_A311_PRODUCT_ID     0xa311                      </span>
<a name="l00049"></a><a class="code" href="stk11xx_8h.html#f8fbeced8d03a4662b945faa8fb97d34">00049</a> <span class="preprocessor">#define USB_STK_A821_PRODUCT_ID     0xa821                      </span>
<a name="l00050"></a><a class="code" href="stk11xx_8h.html#433f18ebde586610039cb3f98a360a0d">00050</a> <span class="preprocessor">#define USB_STK_6A31_PRODUCT_ID     0x6a31                      </span>
<a name="l00051"></a><a class="code" href="stk11xx_8h.html#0e65935d0a86b7308c3314082e4f8e28">00051</a> <span class="preprocessor">#define USB_STK_6A33_PRODUCT_ID     0x6a33                      </span>
<a name="l00052"></a><a class="code" href="stk11xx_8h.html#7893d73e6865a8b61f07efe5978ce62a">00052</a> <span class="preprocessor">#define USB_STK_6A51_PRODUCT_ID     0x6a51                      </span>
<a name="l00053"></a><a class="code" href="stk11xx_8h.html#9051e3ea42b0b1d3d6083389381cde6f">00053</a> <span class="preprocessor">#define USB_STK_6A54_PRODUCT_ID     0x6a54                      </span>
<a name="l00054"></a><a class="code" href="stk11xx_8h.html#393c2bb4ce5348e4be6a2b50dffeb1c5">00054</a> <span class="preprocessor">#define USB_STK_6D51_PRODUCT_ID     0x6d51                      </span>
<a name="l00056"></a><a class="code" href="stk11xx_8h.html#08f8051e3d5cafd2f39bc274921db312">00056</a> <span class="preprocessor">#define USB_STK_0501_PRODUCT_ID     0x0501                      </span>
<a name="l00065"></a><a class="code" href="stk11xx_8h.html#02acd2788e2df6e66e06dff1b96b88b7">00065</a> <span class="preprocessor">#define VID_HARDWARE_STK11XX        88</span>
<a name="l00066"></a>00066 <span class="preprocessor"></span>
<a name="l00067"></a>00067 
<a name="l00068"></a>00068 
<a name="l00069"></a>00069 
<a name="l00083"></a><a class="code" href="stk11xx_8h.html#ac10237297a8b2b0665e56179c99b64f">00083</a> <span class="preprocessor">#define MAX_ISO_BUFS                16</span>
<a name="l00084"></a><a class="code" href="stk11xx_8h.html#e588d0730bf3cd5f13c3888a6b1b6d5a">00084</a> <span class="preprocessor"></span><span class="preprocessor">#define ISO_FRAMES_PER_DESC         10</span>
<a name="l00085"></a><a class="code" href="stk11xx_8h.html#95e294179b485a466ddd6520f56e9431">00085</a> <span class="preprocessor"></span><span class="preprocessor">#define ISO_MAX_FRAME_SIZE          3 * 1024</span>
<a name="l00086"></a><a class="code" href="stk11xx_8h.html#845fc3faad4ba5aedfae60d91db77736">00086</a> <span class="preprocessor"></span><span class="preprocessor">#define ISO_BUFFER_SIZE             (ISO_FRAMES_PER_DESC * ISO_MAX_FRAME_SIZE)</span>
<a name="l00087"></a>00087 <span class="preprocessor"></span>
<a name="l00088"></a>00088 
<a name="l00096"></a><a class="code" href="stk11xx_8h.html#aece77d67ce4d8f6c8e27269d33c9d89">00096</a> <span class="preprocessor">#define STK11XX_MAX_IMAGES          10</span>
<a name="l00097"></a><a class="code" href="stk11xx_8h.html#c866eee120e8f291a6130a26d252a425">00097</a> <span class="preprocessor"></span><span class="preprocessor">#define STK11XX_FRAME_SIZE          (1280 * 1024 * 4)</span>
<a name="l00098"></a>00098 <span class="preprocessor"></span>
<a name="l00099"></a>00099 
<a name="l00100"></a>00100 
<a name="l00101"></a>00101 
<a name="l00102"></a>00102 
<a name="l00103"></a>00103 
<a name="l00104"></a>00104 
<a name="l00111"></a><a class="code" href="stk11xx_8h.html#4ac4c54762be94083880d2988060a7c4">00111</a> <span class="preprocessor">#define DRIVER_SUPPORT              "Syntek USB Camera : STK-1135"</span>
<a name="l00112"></a>00112 <span class="preprocessor"></span>
<a name="l00133"></a>00133 <span class="preprocessor">#ifndef CONFIG_STK11XX_DEBUG</span>
<a name="l00134"></a><a class="code" href="stk11xx_8h.html#1958f6738c21fdcb362bee81312aa5de">00134</a> <span class="preprocessor"></span><span class="preprocessor">#define CONFIG_STK11XX_DEBUG            0</span>
<a name="l00135"></a>00135 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00136"></a>00136 <span class="preprocessor"></span>
<a name="l00137"></a>00137 <span class="preprocessor">#if CONFIG_STK11XX_DEBUG</span>
<a name="l00138"></a>00138 <span class="preprocessor"></span>
<a name="l00139"></a>00139 <span class="preprocessor">#define STK_INFO(str, args...)          printk(KERN_INFO PREFIX str, ##args)</span>
<a name="l00140"></a>00140 <span class="preprocessor"></span><span class="preprocessor">#define STK_ERROR(str, args...)         printk(KERN_ERR PREFIX str, ##args)</span>
<a name="l00141"></a>00141 <span class="preprocessor"></span><span class="preprocessor">#define STK_WARNING(str, args...)       printk(KERN_WARNING PREFIX str, ##args)</span>
<a name="l00142"></a>00142 <span class="preprocessor"></span><span class="preprocessor">#define STK_DEBUG(str, args...)         printk(KERN_DEBUG PREFIX str, ##args)</span>
<a name="l00143"></a>00143 <span class="preprocessor"></span>
<a name="l00144"></a>00144 <span class="preprocessor">#else</span>
<a name="l00145"></a>00145 <span class="preprocessor"></span>
<a name="l00146"></a><a class="code" href="stk11xx_8h.html#55d1b4af8174ee2f44f9ea2e18f6392d">00146</a> <span class="preprocessor">#define STK_INFO(str, args...)          printk(KERN_INFO PREFIX str, ##args)</span>
<a name="l00147"></a><a class="code" href="stk11xx_8h.html#2548285f2eade14f8e93c9b611e622d7">00147</a> <span class="preprocessor"></span><span class="preprocessor">#define STK_ERROR(str, args...)         printk(KERN_ERR PREFIX str, ##args)</span>
<a name="l00148"></a><a class="code" href="stk11xx_8h.html#ea1169d7c9eeeea59745f7c1e9a8de56">00148</a> <span class="preprocessor"></span><span class="preprocessor">#define STK_WARNING(str, args...)       printk(KERN_WARNING PREFIX str, ##args)</span>
<a name="l00149"></a><a class="code" href="stk11xx_8h.html#6a7ffe6803607fae5d467b1b4f5515f2">00149</a> <span class="preprocessor"></span><span class="preprocessor">#define STK_DEBUG(str, args...)         do { } while(0)</span>
<a name="l00150"></a>00150 <span class="preprocessor"></span>
<a name="l00151"></a>00151 <span class="preprocessor">#endif</span>
<a name="l00152"></a>00152 <span class="preprocessor"></span>
<a name="l00153"></a>00153 
<a name="l00162"></a>00162 <span class="preprocessor">#ifndef CONFIG_STK11XX_DEBUG_STREAM</span>
<a name="l00163"></a><a class="code" href="stk11xx_8h.html#8051a3a79feead28d859beeb87145878">00163</a> <span class="preprocessor"></span><span class="preprocessor">#define CONFIG_STK11XX_DEBUG_STREAM     0</span>
<a name="l00164"></a>00164 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00165"></a>00165 <span class="preprocessor"></span>
<a name="l00166"></a>00166 <span class="preprocessor">#if CONFIG_STK11XX_DEBUG_STREAM</span>
<a name="l00167"></a>00167 <span class="preprocessor"></span>
<a name="l00168"></a>00168 <span class="preprocessor">#define STK_STREAM(str, args...)        printk(KERN_DEBUG PREFIX str, ##args)</span>
<a name="l00169"></a>00169 <span class="preprocessor"></span>
<a name="l00170"></a>00170 <span class="preprocessor">#else</span>
<a name="l00171"></a>00171 <span class="preprocessor"></span>
<a name="l00172"></a><a class="code" href="stk11xx_8h.html#649dee4d247234a95351c9d56205623b">00172</a> <span class="preprocessor">#define STK_STREAM(str, args...)        do { } while(0)</span>
<a name="l00173"></a>00173 <span class="preprocessor"></span>
<a name="l00174"></a>00174 <span class="preprocessor">#endif</span>
<a name="l00175"></a>00175 <span class="preprocessor"></span>
<a name="l00176"></a>00176 
<a name="l00177"></a>00177 
<a name="l00181"></a><a class="code" href="stk11xx_8h.html#98c8219ab2b3b778f7305d0facd7e6f0">00181</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
<a name="l00182"></a>00182     SYNTEK_STK_M811 = 1,
<a name="l00183"></a>00183     SYNTEK_STK_A311 = 2,
<a name="l00184"></a>00184     SYNTEK_STK_A821 = 3,
<a name="l00185"></a>00185     SYNTEK_STK_6A31 = 4,
<a name="l00186"></a>00186     SYNTEK_STK_6A33 = 5,
<a name="l00187"></a>00187     SYNTEK_STK_6A51 = 6,
<a name="l00188"></a>00188     SYNTEK_STK_6A54 = 7,
<a name="l00189"></a>00189     SYNTEK_STK_6D51 = 8
<a name="l00190"></a>00190 } <a class="code" href="stk11xx_8h.html#98c8219ab2b3b778f7305d0facd7e6f0">T_SYNTEK_DEVICE</a>;
<a name="l00191"></a>00191 
<a name="l00192"></a>00192 
<a name="l00196"></a><a class="code" href="stk11xx_8h.html#5400cbd98f5ec8f3d24ec55313e274f1">00196</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
<a name="l00197"></a><a class="code" href="stk11xx_8h.html#5400cbd98f5ec8f3d24ec55313e274f1896c4ee082ee0fa3eed44795b4a78e9e">00197</a>     <a class="code" href="stk11xx_8h.html#5400cbd98f5ec8f3d24ec55313e274f1896c4ee082ee0fa3eed44795b4a78e9e">STK11XX_VGA</a>,                        
<a name="l00198"></a><a class="code" href="stk11xx_8h.html#5400cbd98f5ec8f3d24ec55313e274f13f5de5bc8e126ddba84831bfdf8fdaa8">00198</a>     <a class="code" href="stk11xx_8h.html#5400cbd98f5ec8f3d24ec55313e274f13f5de5bc8e126ddba84831bfdf8fdaa8">STK11XX_SXGA</a>,                       
<a name="l00199"></a><a class="code" href="stk11xx_8h.html#5400cbd98f5ec8f3d24ec55313e274f1a3d8892408ae0c6388d749887ea9b6f7">00199</a>     <a class="code" href="stk11xx_8h.html#5400cbd98f5ec8f3d24ec55313e274f1a3d8892408ae0c6388d749887ea9b6f7">STK11XX_UXGA</a>                        
<a name="l00200"></a>00200 } <a class="code" href="stk11xx_8h.html#5400cbd98f5ec8f3d24ec55313e274f1">T_STK11XX_VIDEOMODE</a>;
<a name="l00201"></a>00201 
<a name="l00202"></a>00202 
<a name="l00206"></a><a class="code" href="stk11xx_8h.html#0d648b0f385f0e07baec23e3f03b27a6">00206</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
<a name="l00207"></a>00207     STK11XX_80x60,
<a name="l00208"></a>00208     STK11XX_128x96,
<a name="l00209"></a>00209     STK11XX_160x120,
<a name="l00210"></a>00210     STK11XX_213x160,
<a name="l00211"></a>00211     STK11XX_320x240,
<a name="l00212"></a>00212     STK11XX_640x480,
<a name="l00213"></a>00213     STK11XX_800x600,
<a name="l00214"></a>00214     STK11XX_1024x768,
<a name="l00215"></a>00215     STK11XX_1280x1024,
<a name="l00216"></a>00216     STK11XX_NBR_SIZES
<a name="l00217"></a>00217 } <a class="code" href="stk11xx_8h.html#0d648b0f385f0e07baec23e3f03b27a6">T_STK11XX_RESOLUTION</a>;
<a name="l00218"></a>00218 
<a name="l00219"></a>00219 
<a name="l00223"></a><a class="code" href="stk11xx_8h.html#03341f90cb66feda805e4a0afa363ddc">00223</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
<a name="l00224"></a>00224     STK11XX_PALETTE_RGB24,
<a name="l00225"></a>00225     STK11XX_PALETTE_RGB32,
<a name="l00226"></a>00226     STK11XX_PALETTE_BGR24,
<a name="l00227"></a>00227     STK11XX_PALETTE_BGR32,
<a name="l00228"></a>00228     STK11XX_PALETTE_UYVY,
<a name="l00229"></a>00229     STK11XX_PALETTE_YUYV
<a name="l00230"></a>00230 } <a class="code" href="stk11xx_8h.html#03341f90cb66feda805e4a0afa363ddc">T_STK11XX_PALETTE</a>;
<a name="l00231"></a>00231 
<a name="l00232"></a>00232 
<a name="l00236"></a>00236 <span class="keyword">struct </span>stk11xx_iso_buf {
<a name="l00237"></a>00237     <span class="keywordtype">void</span> *data;
<a name="l00238"></a>00238     <span class="keywordtype">int</span> length;
<a name="l00239"></a>00239     <span class="keywordtype">int</span> read;
<a name="l00240"></a>00240     <span class="keyword">struct </span>urb *urb;
<a name="l00241"></a>00241 };
<a name="l00242"></a>00242 
<a name="l00243"></a>00243 
<a name="l00247"></a>00247 <span class="keyword">struct </span>stk11xx_frame_buf {
<a name="l00248"></a>00248     <span class="keywordtype">int</span> errors;
<a name="l00249"></a>00249     <span class="keywordtype">void</span> *data;
<a name="l00250"></a>00250     <span class="keyword">volatile</span> <span class="keywordtype">int</span> filled;
<a name="l00251"></a>00251     <span class="keyword">struct </span>stk11xx_frame_buf *next;
<a name="l00252"></a>00252 };
<a name="l00253"></a>00253 
<a name="l00254"></a>00254 
<a name="l00258"></a>00258 <span class="keyword">struct </span>stk11xx_image_buf {
<a name="l00259"></a>00259     <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> offset;               
<a name="l00260"></a>00260     <span class="keywordtype">int</span> vma_use_count;                  
<a name="l00261"></a>00261 };
<a name="l00262"></a>00262 
<a name="l00263"></a>00263 
<a name="l00267"></a>00267 <span class="keyword">struct </span>stk11xx_coord {
<a name="l00268"></a>00268     <span class="keywordtype">int</span> x;                              
<a name="l00269"></a>00269     <span class="keywordtype">int</span> y;                              
<a name="l00270"></a>00270 };
<a name="l00271"></a>00271 
<a name="l00272"></a>00272 
<a name="l00276"></a>00276 <span class="keyword">struct </span>stk11xx_video {
<a name="l00277"></a>00277     <span class="keywordtype">int</span> <a class="code" href="stk11xx-usb_8c.html#681bb2c58cd55763494a71a1935b6de4">fps</a>;                            
<a name="l00278"></a>00278     <span class="keywordtype">int</span> <a class="code" href="stk11xx-usb_8c.html#f3e3271e8fbc9f3863a2989d0105b070">brightness</a>;                     
<a name="l00279"></a>00279     <span class="keywordtype">int</span> <a class="code" href="stk11xx-usb_8c.html#f7a235a0e8630e9c6cf86db22ec293e8">contrast</a>;                       
<a name="l00280"></a>00280     <span class="keywordtype">int</span> <a class="code" href="stk11xx-usb_8c.html#52018367adcbc28f741c69a2f8a369bb">whiteness</a>;                      
<a name="l00281"></a>00281     <span class="keywordtype">int</span> <a class="code" href="stk11xx-usb_8c.html#a68e842dd7ce4ebaf9792928e4a990f0">colour</a>;                         
<a name="l00282"></a>00282     <span class="keywordtype">int</span> depth;                          
<a name="l00283"></a>00283     <span class="keywordtype">int</span> palette;                        
<a name="l00284"></a>00284     <span class="keywordtype">int</span> hue;                            
<a name="l00285"></a>00285     <span class="keywordtype">int</span> <a class="code" href="stk11xx-usb_8c.html#16f641fad5b6a3a19b62c1486d413728">hflip</a>;                          
<a name="l00286"></a>00286     <span class="keywordtype">int</span> <a class="code" href="stk11xx-usb_8c.html#5cd2e203aadee84bf52b7c8abf5af815">vflip</a>;                          
<a name="l00287"></a>00287 };
<a name="l00288"></a>00288 
<a name="l00289"></a>00289 
<a name="l00293"></a>00293 <span class="keyword">struct </span>usb_stk11xx {
<a name="l00294"></a>00294     <span class="keyword">struct </span>video_device *vdev;          
<a name="l00295"></a>00295     <span class="keyword">struct </span>usb_device *udev;            
<a name="l00296"></a>00296     <span class="keyword">struct </span>usb_interface *interface;    
<a name="l00298"></a>00298     <span class="keywordtype">int</span> release;                        
<a name="l00299"></a>00299     <span class="keywordtype">int</span> webcam_model;                   
<a name="l00300"></a>00300     <span class="keywordtype">int</span> webcam_type;                    
<a name="l00302"></a>00302     <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *int_in_buffer;       
<a name="l00303"></a>00303     <span class="keywordtype">size_t</span> int_in_size;                 
<a name="l00304"></a>00304     __u8 int_in_endpointAddr;           
<a name="l00306"></a>00306     <span class="keywordtype">size_t</span> isoc_in_size;                
<a name="l00307"></a>00307     __u8 isoc_in_endpointAddr;          
<a name="l00309"></a>00309     <span class="keywordtype">int</span> watchdog;                       
<a name="l00311"></a>00311     <span class="keyword">struct </span>stk11xx_video vsettings;     
<a name="l00313"></a>00313     <span class="keywordtype">int</span> error_status;
<a name="l00314"></a>00314 
<a name="l00315"></a>00315     <span class="keywordtype">int</span> vopen;                          
<a name="l00316"></a>00316     <span class="keywordtype">int</span> visoc_errors;                   
<a name="l00317"></a>00317     <span class="keywordtype">int</span> vframes_error;                  
<a name="l00318"></a>00318     <span class="keywordtype">int</span> vframes_dumped;                 
<a name="l00321"></a>00321     spinlock_t spinlock;                
<a name="l00322"></a>00322     <span class="keyword">struct </span>semaphore mutex;             
<a name="l00323"></a>00323     wait_queue_head_t wait_frame;       
<a name="l00324"></a>00324     <span class="keyword">struct </span>mutex modlock;               
<a name="l00327"></a>00327     <span class="comment">// 1: isoc</span>
<a name="l00328"></a>00328     <span class="keywordtype">char</span> isoc_init_ok;
<a name="l00329"></a>00329     <span class="keyword">struct </span>stk11xx_iso_buf isobuf[<a class="code" href="stk11xx_8h.html#ac10237297a8b2b0665e56179c99b64f">MAX_ISO_BUFS</a>];
<a name="l00330"></a>00330 
<a name="l00331"></a>00331     <span class="comment">// 2: frame</span>
<a name="l00332"></a>00332     <span class="keywordtype">int</span> frame_size;
<a name="l00333"></a>00333     <span class="keyword">struct </span>stk11xx_frame_buf *framebuf;
<a name="l00334"></a>00334     <span class="keyword">struct </span>stk11xx_frame_buf *empty_frames, *empty_frames_tail;
<a name="l00335"></a>00335     <span class="keyword">struct </span>stk11xx_frame_buf *full_frames, *full_frames_tail;
<a name="l00336"></a>00336     <span class="keyword">struct </span>stk11xx_frame_buf *fill_frame;
<a name="l00337"></a>00337     <span class="keyword">struct </span>stk11xx_frame_buf *read_frame;
<a name="l00338"></a>00338 
<a name="l00339"></a>00339     <span class="comment">// 3: image</span>
<a name="l00340"></a>00340     <span class="keywordtype">int</span> view_size;
<a name="l00341"></a>00341     <span class="keywordtype">int</span> image_size;
<a name="l00342"></a>00342     <span class="keywordtype">void</span> *image_data;
<a name="l00343"></a>00343     <span class="keyword">struct </span>stk11xx_image_buf images[<a class="code" href="stk11xx_8h.html#aece77d67ce4d8f6c8e27269d33c9d89">STK11XX_MAX_IMAGES</a>];
<a name="l00344"></a>00344     <span class="keywordtype">int</span> image_used[<a class="code" href="stk11xx_8h.html#aece77d67ce4d8f6c8e27269d33c9d89">STK11XX_MAX_IMAGES</a>];
<a name="l00345"></a>00345     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nbuffers;
<a name="l00346"></a>00346     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> len_per_image;
<a name="l00347"></a>00347     <span class="keywordtype">int</span> image_read_pos;
<a name="l00348"></a>00348     <span class="keywordtype">int</span> fill_image;
<a name="l00349"></a>00349     <span class="keywordtype">int</span> resolution;
<a name="l00350"></a>00350     <span class="keyword">struct </span>stk11xx_coord view;
<a name="l00351"></a>00351     <span class="keyword">struct </span>stk11xx_coord image;
<a name="l00352"></a>00352 };
<a name="l00353"></a>00353 
<a name="l00354"></a>00354 
<a name="l00359"></a><a class="code" href="stk11xx_8h.html#563c7087d02e5ac0f5c3a8124b36f231">00359</a> <span class="preprocessor">#define STK11XX_PERCENT(x,y) ( ((int)x * (int)y) / 100)</span>
<a name="l00360"></a>00360 <span class="preprocessor"></span>
<a name="l00361"></a>00361 
<a name="l00366"></a><a class="code" href="stk11xx_8h.html#19aafceb483b5079bf16bebe1733b922">00366</a> <span class="preprocessor">#define to_stk11xx_dev(d) container_of(d, struct usb_stk11xx, kref)</span>
<a name="l00367"></a>00367 <span class="preprocessor"></span>
<a name="l00368"></a>00368 
<a name="l00369"></a>00369 <span class="keyword">extern</span> <span class="keyword">const</span> <span class="keyword">struct </span>stk11xx_coord <a class="code" href="stk11xx-sysfs_8c.html#b9b23c97c63356e4db4c0f40448ed109">stk11xx_image_sizes</a>[STK11XX_NBR_SIZES];
<a name="l00370"></a>00370 
<a name="l00371"></a>00371     
<a name="l00372"></a>00372 <span class="keywordtype">int</span> <a class="code" href="stk11xx-usb_8c.html#4cfecf5949af7bf80f2010cb76dbb999" title="Write a 16-bits value to a 16-bits register.">usb_stk11xx_write_registry</a>(<span class="keyword">struct</span> usb_stk11xx *, __u16, __u16);
<a name="l00373"></a>00373 <span class="keywordtype">int</span> <a class="code" href="stk11xx-usb_8c.html#64afbfa08d229babf07bfd9a2c7258ad" title="Read a 16-bits value from a 16-bits register.">usb_stk11xx_read_registry</a>(<span class="keyword">struct</span> usb_stk11xx *, __u16, <span class="keywordtype">int</span> *);
<a name="l00374"></a>00374 <span class="keywordtype">int</span> <a class="code" href="stk11xx-usb_8c.html#6c06db66c35ba2ebab0de265edb0a989" title="Send the message SET_FEATURE and choose the interface.">usb_stk11xx_set_feature</a>(<span class="keyword">struct</span> usb_stk11xx *, <span class="keywordtype">int</span>);
<a name="l00375"></a>00375 <span class="keywordtype">int</span> <a class="code" href="stk11xx-usb_8c.html#0f0bf21ea32b0c54b3d103a13e628085" title="Send the message SET_CONFIGURATION.">usb_stk11xx_set_configuration</a>(<span class="keyword">struct</span> usb_stk11xx *);
<a name="l00376"></a>00376 <span class="keywordtype">int</span> <a class="code" href="stk11xx-usb_8c.html#e7d7590e86071e46320dc3238eb03ef8" title="Initilize an isochronous pipe.">usb_stk11xx_isoc_init</a>(<span class="keyword">struct</span> usb_stk11xx *);
<a name="l00377"></a>00377 <span class="keywordtype">void</span> <a class="code" href="stk11xx-usb_8c.html#dc5f3754dd0e3a30f0d6cab5135e5d2b" title="ISOC handler.">usb_stk11xx_isoc_handler</a>(<span class="keyword">struct</span> urb *);
<a name="l00378"></a>00378 <span class="keywordtype">void</span> <a class="code" href="stk11xx-usb_8c.html#7d77d101c0b0a8bc6100dc6665f3c3f5" title="Clean-up all the ISOC buffers.">usb_stk11xx_isoc_cleanup</a>(<span class="keyword">struct</span> usb_stk11xx *);
<a name="l00379"></a>00379 
<a name="l00380"></a>00380 <span class="keywordtype">int</span> <a class="code" href="stk11xx-dev_8c.html#1ea9ddc0b8dd43b676ce106c6b562bcb" title="This function permits to initialize the device.">dev_stk11xx_initialize_device</a>(<span class="keyword">struct</span> usb_stk11xx *);
<a name="l00381"></a>00381 <span class="keywordtype">int</span> <a class="code" href="stk11xx-dev_8c.html#b21443fb38d3de22db64c6d4435babbc" title="This function sets the device to start the stream.">dev_stk11xx_start_stream</a>(<span class="keyword">struct</span> usb_stk11xx *);
<a name="l00382"></a>00382 <span class="keywordtype">int</span> <a class="code" href="stk11xx-dev_8c.html#939f02cad30ad386080f8024741237bd" title="This function sets the device to stop the stream.">dev_stk11xx_stop_stream</a>(<span class="keyword">struct</span> usb_stk11xx *);
<a name="l00383"></a>00383 <span class="keywordtype">int</span> <a class="code" href="stk11xx-dev_8c.html#f2171ad3523330d845d822fa2502a158" title="This function permits to check the device in reading the register 0x0201.">dev_stk11xx_check_device</a>(<span class="keyword">struct</span> usb_stk11xx *, <span class="keywordtype">int</span>);
<a name="l00384"></a>00384 <span class="keywordtype">int</span> <a class="code" href="stk11xx-dev_8c.html#e978d7adfeabe3e7c31076fddee9a744" title="This function switchs on the camera.">dev_stk11xx_camera_on</a>(<span class="keyword">struct</span> usb_stk11xx *);
<a name="l00385"></a>00385 <span class="keywordtype">int</span> <a class="code" href="stk11xx-dev_8c.html#865eb05993bb42c88ce5c73fb39b210d" title="This function switchs off the camera.">dev_stk11xx_camera_off</a>(<span class="keyword">struct</span> usb_stk11xx *);
<a name="l00386"></a>00386 <span class="keywordtype">int</span> <a class="code" href="stk11xx-dev_8c.html#33117e9ffbc424c68d29dad93f6675c2" title="Wake-up the camera.">dev_stk11xx_camera_asleep</a>(<span class="keyword">struct</span> usb_stk11xx *);
<a name="l00387"></a>00387 <span class="keywordtype">int</span> <a class="code" href="stk11xx-dev_8c.html#e3ca760fb15d38628de5bfd1e43d6f29" title="This function initializes the device for the stream.">dev_stk11xx_init_camera</a>(<span class="keyword">struct</span> usb_stk11xx *);
<a name="l00388"></a>00388 <span class="keywordtype">int</span> <a class="code" href="stk11xx-dev_8c.html#5c487b95ff9a43ca810016c688052bfa" title="Reconfigure the camera before the stream.">dev_stk11xx_reconf_camera</a>(<span class="keyword">struct</span> usb_stk11xx *);
<a name="l00389"></a>00389 <span class="keywordtype">int</span> <a class="code" href="stk11xx-dev_8c.html#9421e6bf87f9bef9f468acfd60a11562" title="This function permits to modify the settings of the camera.">dev_stk11xx_camera_settings</a>(<span class="keyword">struct</span> usb_stk11xx *);
<a name="l00390"></a>00390 <span class="keywordtype">int</span> <a class="code" href="stk11xx-dev_8c.html#7bd381d18244bcd3f8c9eb5514ad6d7a" title="This function permits to modify the quality video of the camera.">dev_stk11xx_set_camera_quality</a>(<span class="keyword">struct</span> usb_stk11xx *);
<a name="l00391"></a>00391 <span class="keywordtype">int</span> <a class="code" href="stk11xx-dev_8c.html#9226489b28f8cd22fcd55188e0c993bb" title="This function permits to modify the fps of the camera.">dev_stk11xx_set_camera_fps</a>(<span class="keyword">struct</span> usb_stk11xx *);
<a name="l00392"></a>00392 <span class="keywordtype">int</span> <a class="code" href="stk11xx-dev_8c.html#b6a8938b1423e69a210dc8a6ce6747cb" title="A espece of software watchdog.">dev_stk11xx_watchdog_camera</a>(<span class="keyword">struct</span> usb_stk11xx *);
<a name="l00393"></a>00393 
<a name="l00394"></a>00394 <span class="keywordtype">int</span> <a class="code" href="stk11xx-v4l_8c.html#627028fbe327bdeb1589d74109e9ae77" title="Select a video mode.">v4l_stk11xx_select_video_mode</a>(<span class="keyword">struct</span> usb_stk11xx *, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>);
<a name="l00395"></a>00395 <span class="keywordtype">int</span> <a class="code" href="stk11xx-v4l_8c.html#5fb1deffc636cce6dffc8b5e971e6115" title="Register the video device.">v4l_stk11xx_register_video_device</a>(<span class="keyword">struct</span> usb_stk11xx *);
<a name="l00396"></a>00396 <span class="keywordtype">int</span> <a class="code" href="stk11xx-v4l_8c.html#62bc2469df7a6e1d2fe8c455012bd9ad" title="Unregister the video device.">v4l_stk11xx_unregister_video_device</a>(<span class="keyword">struct</span> usb_stk11xx *);
<a name="l00397"></a>00397 
<a name="l00398"></a>00398 <span class="keywordtype">int</span> <a class="code" href="stk11xx-sysfs_8c.html#6b58e4f6d2baa9c5ccb3a18e5c64bb65" title="Create the &amp;#39;sys&amp;#39; entries.">stk11xx_create_sysfs_files</a>(<span class="keyword">struct</span> video_device *);
<a name="l00399"></a>00399 <span class="keywordtype">void</span> <a class="code" href="stk11xx-sysfs_8c.html#717ca8ef4a41adb32b2fb33e9c537621" title="Remove the &amp;#39;sys&amp;#39; entries.">stk11xx_remove_sysfs_files</a>(<span class="keyword">struct</span> video_device *);
<a name="l00400"></a>00400 
<a name="l00401"></a>00401 <span class="keywordtype">int</span> <a class="code" href="stk11xx-buf_8c.html#a04b5e0d601d6e4bd6a5dd53579b9628" title="Allocate all ISOC buffers.">stk11xx_allocate_buffers</a>(<span class="keyword">struct</span> usb_stk11xx *);
<a name="l00402"></a>00402 <span class="keywordtype">int</span> <a class="code" href="stk11xx-buf_8c.html#0440ed10dc62dfbe7cec72e328dec04f" title="Reset all ISOC buffers.">stk11xx_reset_buffers</a>(<span class="keyword">struct</span> usb_stk11xx *);
<a name="l00403"></a>00403 <span class="keywordtype">int</span> <a class="code" href="stk11xx-buf_8c.html#cd7e46aba32bcbb5d429b21878d44845" title="Clear current buffers.">stk11xx_clear_buffers</a>(<span class="keyword">struct</span> usb_stk11xx *);
<a name="l00404"></a>00404 <span class="keywordtype">int</span> <a class="code" href="stk11xx-buf_8c.html#3bc8bb033fc9697ba1e8b42be11a6efe" title="Release all buffers.">stk11xx_free_buffers</a>(<span class="keyword">struct</span> usb_stk11xx *);
<a name="l00405"></a>00405 <span class="keywordtype">void</span> <a class="code" href="stk11xx-buf_8c.html#5805bf7c1173f7f6063c1c5934c73e1b" title="Prepare the next image.">stk11xx_next_image</a>(<span class="keyword">struct</span> usb_stk11xx *);
<a name="l00406"></a>00406 <span class="keywordtype">int</span> <a class="code" href="stk11xx-buf_8c.html#42ee71f1080bbad747679c4b1f5040f4" title="Prepare the next frame.">stk11xx_next_frame</a>(<span class="keyword">struct</span> usb_stk11xx *);
<a name="l00407"></a>00407 <span class="keywordtype">int</span> <a class="code" href="stk11xx-buf_8c.html#21bfe8791f1f53fcd64a185dc6fdc686" title="Handler frame.">stk11xx_handle_frame</a>(<span class="keyword">struct</span> usb_stk11xx *);
<a name="l00408"></a>00408 
<a name="l00409"></a>00409 <span class="keywordtype">int</span> <a class="code" href="stk11xx-bayer_8c.html#9ee33d88b9cef4d591b6f426599ac1de" title="Decompress a frame.">stk11xx_decompress</a>(<span class="keyword">struct</span> usb_stk11xx *);
<a name="l00410"></a>00410 
<a name="l00411"></a>00411 
<a name="l00412"></a>00412 <span class="preprocessor">#endif </span>
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Nov 11 13:36:59 2009 for SyntekUSBVideoCamera by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
</body>
</html>