Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > b7b6877999d0754e8ed227e0b2f603dc > files > 57

syntek-1.3.1-6mdv2010.0.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              "v1.3.1"                    </span>
<a name="l00040"></a><a class="code" href="stk11xx_8h.html#deb97232a92a9bf74cc96d45637116ae">00040</a> <span class="preprocessor">#define DRIVER_VERSION_NUM          0x010301                    </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="l00055"></a><a class="code" href="stk11xx_8h.html#08f8051e3d5cafd2f39bc274921db312">00055</a> <span class="preprocessor">#define USB_STK_0501_PRODUCT_ID     0x0501                      </span>
<a name="l00064"></a><a class="code" href="stk11xx_8h.html#02acd2788e2df6e66e06dff1b96b88b7">00064</a> <span class="preprocessor">#define VID_HARDWARE_STK11XX        88</span>
<a name="l00065"></a>00065 <span class="preprocessor"></span>
<a name="l00066"></a>00066 
<a name="l00067"></a>00067 
<a name="l00068"></a>00068 
<a name="l00082"></a><a class="code" href="stk11xx_8h.html#ac10237297a8b2b0665e56179c99b64f">00082</a> <span class="preprocessor">#define MAX_ISO_BUFS                16</span>
<a name="l00083"></a><a class="code" href="stk11xx_8h.html#e588d0730bf3cd5f13c3888a6b1b6d5a">00083</a> <span class="preprocessor"></span><span class="preprocessor">#define ISO_FRAMES_PER_DESC         10</span>
<a name="l00084"></a><a class="code" href="stk11xx_8h.html#95e294179b485a466ddd6520f56e9431">00084</a> <span class="preprocessor"></span><span class="preprocessor">#define ISO_MAX_FRAME_SIZE          3 * 1024</span>
<a name="l00085"></a><a class="code" href="stk11xx_8h.html#845fc3faad4ba5aedfae60d91db77736">00085</a> <span class="preprocessor"></span><span class="preprocessor">#define ISO_BUFFER_SIZE             (ISO_FRAMES_PER_DESC * ISO_MAX_FRAME_SIZE)</span>
<a name="l00086"></a>00086 <span class="preprocessor"></span>
<a name="l00087"></a>00087 
<a name="l00095"></a><a class="code" href="stk11xx_8h.html#aece77d67ce4d8f6c8e27269d33c9d89">00095</a> <span class="preprocessor">#define STK11XX_MAX_IMAGES          10</span>
<a name="l00096"></a><a class="code" href="stk11xx_8h.html#c866eee120e8f291a6130a26d252a425">00096</a> <span class="preprocessor"></span><span class="preprocessor">#define STK11XX_FRAME_SIZE          (1280 * 1024 * 4)</span>
<a name="l00097"></a>00097 <span class="preprocessor"></span>
<a name="l00098"></a>00098 
<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="l00110"></a><a class="code" href="stk11xx_8h.html#4ac4c54762be94083880d2988060a7c4">00110</a> <span class="preprocessor">#define DRIVER_SUPPORT              "Syntek USB Camera : STK-1135"</span>
<a name="l00111"></a>00111 <span class="preprocessor"></span>
<a name="l00132"></a>00132 <span class="preprocessor">#ifndef CONFIG_STK11XX_DEBUG</span>
<a name="l00133"></a><a class="code" href="stk11xx_8h.html#1958f6738c21fdcb362bee81312aa5de">00133</a> <span class="preprocessor"></span><span class="preprocessor">#define CONFIG_STK11XX_DEBUG            0</span>
<a name="l00134"></a>00134 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00135"></a>00135 <span class="preprocessor"></span>
<a name="l00136"></a>00136 <span class="preprocessor">#if CONFIG_STK11XX_DEBUG</span>
<a name="l00137"></a>00137 <span class="preprocessor"></span>
<a name="l00138"></a>00138 <span class="preprocessor">#define STK_INFO(str, args...)          printk(KERN_INFO PREFIX str, ##args)</span>
<a name="l00139"></a>00139 <span class="preprocessor"></span><span class="preprocessor">#define STK_ERROR(str, args...)         printk(KERN_ERR PREFIX str, ##args)</span>
<a name="l00140"></a>00140 <span class="preprocessor"></span><span class="preprocessor">#define STK_WARNING(str, args...)       printk(KERN_WARNING PREFIX str, ##args)</span>
<a name="l00141"></a>00141 <span class="preprocessor"></span><span class="preprocessor">#define STK_DEBUG(str, args...)         printk(KERN_DEBUG PREFIX str, ##args)</span>
<a name="l00142"></a>00142 <span class="preprocessor"></span>
<a name="l00143"></a>00143 <span class="preprocessor">#else</span>
<a name="l00144"></a>00144 <span class="preprocessor"></span>
<a name="l00145"></a><a class="code" href="stk11xx_8h.html#55d1b4af8174ee2f44f9ea2e18f6392d">00145</a> <span class="preprocessor">#define STK_INFO(str, args...)          printk(KERN_INFO PREFIX str, ##args)</span>
<a name="l00146"></a><a class="code" href="stk11xx_8h.html#2548285f2eade14f8e93c9b611e622d7">00146</a> <span class="preprocessor"></span><span class="preprocessor">#define STK_ERROR(str, args...)         printk(KERN_ERR PREFIX str, ##args)</span>
<a name="l00147"></a><a class="code" href="stk11xx_8h.html#ea1169d7c9eeeea59745f7c1e9a8de56">00147</a> <span class="preprocessor"></span><span class="preprocessor">#define STK_WARNING(str, args...)       printk(KERN_WARNING PREFIX str, ##args)</span>
<a name="l00148"></a><a class="code" href="stk11xx_8h.html#6a7ffe6803607fae5d467b1b4f5515f2">00148</a> <span class="preprocessor"></span><span class="preprocessor">#define STK_DEBUG(str, args...)         do { } while(0)</span>
<a name="l00149"></a>00149 <span class="preprocessor"></span>
<a name="l00150"></a>00150 <span class="preprocessor">#endif</span>
<a name="l00151"></a>00151 <span class="preprocessor"></span>
<a name="l00152"></a>00152 
<a name="l00161"></a>00161 <span class="preprocessor">#ifndef CONFIG_STK11XX_DEBUG_STREAM</span>
<a name="l00162"></a><a class="code" href="stk11xx_8h.html#8051a3a79feead28d859beeb87145878">00162</a> <span class="preprocessor"></span><span class="preprocessor">#define CONFIG_STK11XX_DEBUG_STREAM     0</span>
<a name="l00163"></a>00163 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00164"></a>00164 <span class="preprocessor"></span>
<a name="l00165"></a>00165 <span class="preprocessor">#if CONFIG_STK11XX_DEBUG_STREAM</span>
<a name="l00166"></a>00166 <span class="preprocessor"></span>
<a name="l00167"></a>00167 <span class="preprocessor">#define STK_STREAM(str, args...)        printk(KERN_DEBUG PREFIX str, ##args)</span>
<a name="l00168"></a>00168 <span class="preprocessor"></span>
<a name="l00169"></a>00169 <span class="preprocessor">#else</span>
<a name="l00170"></a>00170 <span class="preprocessor"></span>
<a name="l00171"></a><a class="code" href="stk11xx_8h.html#649dee4d247234a95351c9d56205623b">00171</a> <span class="preprocessor">#define STK_STREAM(str, args...)        do { } while(0)</span>
<a name="l00172"></a>00172 <span class="preprocessor"></span>
<a name="l00173"></a>00173 <span class="preprocessor">#endif</span>
<a name="l00174"></a>00174 <span class="preprocessor"></span>
<a name="l00175"></a>00175 
<a name="l00176"></a>00176 
<a name="l00180"></a><a class="code" href="stk11xx_8h.html#98c8219ab2b3b778f7305d0facd7e6f0">00180</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
<a name="l00181"></a>00181     SYNTEK_STK_M811 = 1,
<a name="l00182"></a>00182     SYNTEK_STK_A311 = 2,
<a name="l00183"></a>00183     SYNTEK_STK_A821 = 3,
<a name="l00184"></a>00184     SYNTEK_STK_6A31 = 4,
<a name="l00185"></a>00185     SYNTEK_STK_6A33 = 5,
<a name="l00186"></a>00186     SYNTEK_STK_6A51 = 6,
<a name="l00187"></a>00187     SYNTEK_STK_6A54 = 7
<a name="l00188"></a>00188 } <a class="code" href="stk11xx_8h.html#98c8219ab2b3b778f7305d0facd7e6f0">T_SYNTEK_DEVICE</a>;
<a name="l00189"></a>00189 
<a name="l00190"></a>00190 
<a name="l00194"></a><a class="code" href="stk11xx_8h.html#5400cbd98f5ec8f3d24ec55313e274f1">00194</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
<a name="l00195"></a><a class="code" href="stk11xx_8h.html#5400cbd98f5ec8f3d24ec55313e274f1896c4ee082ee0fa3eed44795b4a78e9e">00195</a>     <a class="code" href="stk11xx_8h.html#5400cbd98f5ec8f3d24ec55313e274f1896c4ee082ee0fa3eed44795b4a78e9e">STK11XX_VGA</a>,                        
<a name="l00196"></a><a class="code" href="stk11xx_8h.html#5400cbd98f5ec8f3d24ec55313e274f13f5de5bc8e126ddba84831bfdf8fdaa8">00196</a>     <a class="code" href="stk11xx_8h.html#5400cbd98f5ec8f3d24ec55313e274f13f5de5bc8e126ddba84831bfdf8fdaa8">STK11XX_SXGA</a>,                       
<a name="l00197"></a><a class="code" href="stk11xx_8h.html#5400cbd98f5ec8f3d24ec55313e274f1a3d8892408ae0c6388d749887ea9b6f7">00197</a>     <a class="code" href="stk11xx_8h.html#5400cbd98f5ec8f3d24ec55313e274f1a3d8892408ae0c6388d749887ea9b6f7">STK11XX_UXGA</a>                        
<a name="l00198"></a>00198 } <a class="code" href="stk11xx_8h.html#5400cbd98f5ec8f3d24ec55313e274f1">T_STK11XX_VIDEOMODE</a>;
<a name="l00199"></a>00199 
<a name="l00200"></a>00200 
<a name="l00204"></a><a class="code" href="stk11xx_8h.html#0d648b0f385f0e07baec23e3f03b27a6">00204</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
<a name="l00205"></a>00205     STK11XX_80x60,
<a name="l00206"></a>00206     STK11XX_128x96,
<a name="l00207"></a>00207     STK11XX_160x120,
<a name="l00208"></a>00208     STK11XX_213x160,
<a name="l00209"></a>00209     STK11XX_320x240,
<a name="l00210"></a>00210     STK11XX_640x480,
<a name="l00211"></a>00211     STK11XX_800x600,
<a name="l00212"></a>00212     STK11XX_1024x768,
<a name="l00213"></a>00213     STK11XX_1280x1024,
<a name="l00214"></a>00214     STK11XX_NBR_SIZES
<a name="l00215"></a>00215 } <a class="code" href="stk11xx_8h.html#0d648b0f385f0e07baec23e3f03b27a6">T_STK11XX_RESOLUTION</a>;
<a name="l00216"></a>00216 
<a name="l00217"></a>00217 
<a name="l00221"></a><a class="code" href="stk11xx_8h.html#03341f90cb66feda805e4a0afa363ddc">00221</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
<a name="l00222"></a>00222     STK11XX_PALETTE_RGB24,
<a name="l00223"></a>00223     STK11XX_PALETTE_RGB32,
<a name="l00224"></a>00224     STK11XX_PALETTE_BGR24,
<a name="l00225"></a>00225     STK11XX_PALETTE_BGR32,
<a name="l00226"></a>00226     STK11XX_PALETTE_UYVY,
<a name="l00227"></a>00227     STK11XX_PALETTE_YUYV
<a name="l00228"></a>00228 } <a class="code" href="stk11xx_8h.html#03341f90cb66feda805e4a0afa363ddc">T_STK11XX_PALETTE</a>;
<a name="l00229"></a>00229 
<a name="l00230"></a>00230 
<a name="l00234"></a>00234 <span class="keyword">struct </span>stk11xx_iso_buf {
<a name="l00235"></a>00235     <span class="keywordtype">void</span> *data;
<a name="l00236"></a>00236     <span class="keywordtype">int</span> length;
<a name="l00237"></a>00237     <span class="keywordtype">int</span> read;
<a name="l00238"></a>00238     <span class="keyword">struct </span>urb *urb;
<a name="l00239"></a>00239 };
<a name="l00240"></a>00240 
<a name="l00241"></a>00241 
<a name="l00245"></a>00245 <span class="keyword">struct </span>stk11xx_frame_buf {
<a name="l00246"></a>00246     <span class="keywordtype">int</span> errors;
<a name="l00247"></a>00247     <span class="keywordtype">void</span> *data;
<a name="l00248"></a>00248     <span class="keyword">volatile</span> <span class="keywordtype">int</span> filled;
<a name="l00249"></a>00249     <span class="keyword">struct </span>stk11xx_frame_buf *next;
<a name="l00250"></a>00250 };
<a name="l00251"></a>00251 
<a name="l00252"></a>00252 
<a name="l00256"></a>00256 <span class="keyword">struct </span>stk11xx_image_buf {
<a name="l00257"></a>00257     <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> offset;               
<a name="l00258"></a>00258     <span class="keywordtype">int</span> vma_use_count;                  
<a name="l00259"></a>00259 };
<a name="l00260"></a>00260 
<a name="l00261"></a>00261 
<a name="l00265"></a>00265 <span class="keyword">struct </span>stk11xx_coord {
<a name="l00266"></a>00266     <span class="keywordtype">int</span> x;                              
<a name="l00267"></a>00267     <span class="keywordtype">int</span> y;                              
<a name="l00268"></a>00268 };
<a name="l00269"></a>00269 
<a name="l00270"></a>00270 
<a name="l00274"></a>00274 <span class="keyword">struct </span>stk11xx_video {
<a name="l00275"></a>00275     <span class="keywordtype">int</span> <a class="code" href="stk11xx-usb_8c.html#681bb2c58cd55763494a71a1935b6de4">fps</a>;                            
<a name="l00276"></a>00276     <span class="keywordtype">int</span> <a class="code" href="stk11xx-usb_8c.html#f3e3271e8fbc9f3863a2989d0105b070">brightness</a>;                     
<a name="l00277"></a>00277     <span class="keywordtype">int</span> <a class="code" href="stk11xx-usb_8c.html#f7a235a0e8630e9c6cf86db22ec293e8">contrast</a>;                       
<a name="l00278"></a>00278     <span class="keywordtype">int</span> <a class="code" href="stk11xx-usb_8c.html#52018367adcbc28f741c69a2f8a369bb">whiteness</a>;                      
<a name="l00279"></a>00279     <span class="keywordtype">int</span> <a class="code" href="stk11xx-usb_8c.html#a68e842dd7ce4ebaf9792928e4a990f0">colour</a>;                         
<a name="l00280"></a>00280     <span class="keywordtype">int</span> depth;                          
<a name="l00281"></a>00281     <span class="keywordtype">int</span> palette;                        
<a name="l00282"></a>00282     <span class="keywordtype">int</span> hue;                            
<a name="l00283"></a>00283     <span class="keywordtype">int</span> <a class="code" href="stk11xx-usb_8c.html#16f641fad5b6a3a19b62c1486d413728">hflip</a>;                          
<a name="l00284"></a>00284     <span class="keywordtype">int</span> <a class="code" href="stk11xx-usb_8c.html#5cd2e203aadee84bf52b7c8abf5af815">vflip</a>;                          
<a name="l00285"></a>00285 };
<a name="l00286"></a>00286 
<a name="l00287"></a>00287 
<a name="l00291"></a>00291 <span class="keyword">struct </span>usb_stk11xx {
<a name="l00292"></a>00292     <span class="keyword">struct </span>video_device *vdev;          
<a name="l00293"></a>00293     <span class="keyword">struct </span>usb_device *udev;            
<a name="l00294"></a>00294     <span class="keyword">struct </span>usb_interface *interface;    
<a name="l00296"></a>00296     <span class="keywordtype">int</span> release;                        
<a name="l00297"></a>00297     <span class="keywordtype">int</span> webcam_model;                   
<a name="l00298"></a>00298     <span class="keywordtype">int</span> webcam_type;                    
<a name="l00300"></a>00300     <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *int_in_buffer;       
<a name="l00301"></a>00301     <span class="keywordtype">size_t</span> int_in_size;                 
<a name="l00302"></a>00302     __u8 int_in_endpointAddr;           
<a name="l00304"></a>00304     <span class="keywordtype">size_t</span> isoc_in_size;                
<a name="l00305"></a>00305     __u8 isoc_in_endpointAddr;          
<a name="l00307"></a>00307     <span class="keywordtype">int</span> watchdog;                       
<a name="l00309"></a>00309     <span class="keyword">struct </span>stk11xx_video vsettings;     
<a name="l00311"></a>00311     <span class="keywordtype">int</span> error_status;
<a name="l00312"></a>00312 
<a name="l00313"></a>00313     <span class="keywordtype">int</span> vopen;                          
<a name="l00314"></a>00314     <span class="keywordtype">int</span> visoc_errors;                   
<a name="l00315"></a>00315     <span class="keywordtype">int</span> vframes_error;                  
<a name="l00316"></a>00316     <span class="keywordtype">int</span> vframes_dumped;                 
<a name="l00319"></a>00319     spinlock_t spinlock;                
<a name="l00320"></a>00320     <span class="keyword">struct </span>semaphore mutex;             
<a name="l00321"></a>00321     wait_queue_head_t wait_frame;       
<a name="l00324"></a>00324     <span class="comment">// 1: isoc</span>
<a name="l00325"></a>00325     <span class="keywordtype">char</span> isoc_init_ok;
<a name="l00326"></a>00326     <span class="keyword">struct </span>stk11xx_iso_buf isobuf[<a class="code" href="stk11xx_8h.html#ac10237297a8b2b0665e56179c99b64f">MAX_ISO_BUFS</a>];
<a name="l00327"></a>00327 
<a name="l00328"></a>00328     <span class="comment">// 2: frame</span>
<a name="l00329"></a>00329     <span class="keywordtype">int</span> frame_size;
<a name="l00330"></a>00330     <span class="keyword">struct </span>stk11xx_frame_buf *framebuf;
<a name="l00331"></a>00331     <span class="keyword">struct </span>stk11xx_frame_buf *empty_frames, *empty_frames_tail;
<a name="l00332"></a>00332     <span class="keyword">struct </span>stk11xx_frame_buf *full_frames, *full_frames_tail;
<a name="l00333"></a>00333     <span class="keyword">struct </span>stk11xx_frame_buf *fill_frame;
<a name="l00334"></a>00334     <span class="keyword">struct </span>stk11xx_frame_buf *read_frame;
<a name="l00335"></a>00335 
<a name="l00336"></a>00336     <span class="comment">// 3: image</span>
<a name="l00337"></a>00337     <span class="keywordtype">int</span> view_size;
<a name="l00338"></a>00338     <span class="keywordtype">int</span> image_size;
<a name="l00339"></a>00339     <span class="keywordtype">void</span> *image_data;
<a name="l00340"></a>00340     <span class="keyword">struct </span>stk11xx_image_buf images[<a class="code" href="stk11xx_8h.html#aece77d67ce4d8f6c8e27269d33c9d89">STK11XX_MAX_IMAGES</a>];
<a name="l00341"></a>00341     <span class="keywordtype">int</span> image_used[<a class="code" href="stk11xx_8h.html#aece77d67ce4d8f6c8e27269d33c9d89">STK11XX_MAX_IMAGES</a>];
<a name="l00342"></a>00342     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nbuffers;
<a name="l00343"></a>00343     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> len_per_image;
<a name="l00344"></a>00344     <span class="keywordtype">int</span> image_read_pos;
<a name="l00345"></a>00345     <span class="keywordtype">int</span> fill_image;
<a name="l00346"></a>00346     <span class="keywordtype">int</span> resolution;
<a name="l00347"></a>00347     <span class="keyword">struct </span>stk11xx_coord view;
<a name="l00348"></a>00348     <span class="keyword">struct </span>stk11xx_coord image;
<a name="l00349"></a>00349 };
<a name="l00350"></a>00350 
<a name="l00351"></a>00351 
<a name="l00356"></a><a class="code" href="stk11xx_8h.html#563c7087d02e5ac0f5c3a8124b36f231">00356</a> <span class="preprocessor">#define STK11XX_PERCENT(x,y) ( ((int)x * (int)y) / 100)</span>
<a name="l00357"></a>00357 <span class="preprocessor"></span>
<a name="l00358"></a>00358 
<a name="l00363"></a><a class="code" href="stk11xx_8h.html#19aafceb483b5079bf16bebe1733b922">00363</a> <span class="preprocessor">#define to_stk11xx_dev(d) container_of(d, struct usb_stk11xx, kref)</span>
<a name="l00364"></a>00364 <span class="preprocessor"></span>
<a name="l00365"></a>00365 
<a name="l00366"></a>00366 <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="l00367"></a>00367 
<a name="l00368"></a>00368     
<a name="l00369"></a>00369 <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="l00370"></a>00370 <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="l00371"></a>00371 <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="l00372"></a>00372 <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="l00373"></a>00373 <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="l00374"></a>00374 <span class="preprocessor">#if LINUX_VERSION_CODE &lt; KERNEL_VERSION(2,6,19)</span>
<a name="l00375"></a>00375 <span class="preprocessor"></span><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 *, <span class="keyword">struct</span> pt_regs *);
<a name="l00376"></a>00376 <span class="preprocessor">#else</span>
<a name="l00377"></a>00377 <span class="preprocessor"></span><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="preprocessor">#endif</span>
<a name="l00379"></a>00379 <span class="preprocessor"></span><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="l00380"></a>00380 
<a name="l00381"></a>00381 <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="l00382"></a>00382 <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="l00383"></a>00383 <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="l00384"></a>00384 <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="l00385"></a>00385 <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="l00386"></a>00386 <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="l00387"></a>00387 <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="l00388"></a>00388 <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="l00389"></a>00389 <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="l00390"></a>00390 <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="l00391"></a>00391 <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="l00392"></a>00392 <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="l00393"></a>00393 <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="l00394"></a>00394 
<a name="l00395"></a>00395 <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="l00396"></a>00396 <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="l00397"></a>00397 <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="l00398"></a>00398 
<a name="l00399"></a>00399 <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="l00400"></a>00400 <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="l00401"></a>00401 
<a name="l00402"></a>00402 <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="l00403"></a>00403 <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="l00404"></a>00404 <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="l00405"></a>00405 <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="l00406"></a>00406 <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="l00407"></a>00407 <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="l00408"></a>00408 <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="l00409"></a>00409 
<a name="l00410"></a>00410 <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="l00411"></a>00411 
<a name="l00412"></a>00412 
<a name="l00413"></a>00413 <span class="preprocessor">#endif </span>
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Sep 20 12:18:50 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>