Commit 3aabbe2a authored by ikits's avatar ikits
Browse files

documentation update


git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@352 783a27ee-832a-0410-bc00-9f386506c6dd
parent 28d1bcd4
......@@ -25,13 +25,12 @@ GLEW: The OpenGL Extension Wrangler Library
<tr>
<td valign="top">
<table border="0" width="100%" cellpadding="0" cellspacing="0" align="left">
<tr><td align="center"><i>Latest Release: <a href="http://sourceforge.net/project/showfiles.php?group_id=67586&package_id=67942&release_id=287948">1.3.0</a></i></td></tr>
<tr><td align="center"><br></td></tr>
<tr><td align="center"><img src="./glew.png" alt="GLEW Logo" width="97" height="75"></td></tr>
<tr><td align="center"><br></td></tr>
<tr><td align="center">
<table border="0" cellpadding="0" cellspacing="0" align="center">
<tr><td align="center"><a href="index.html">Download</a></td></tr>
<tr><td align="center"><a href="index.html">Home</a></td></tr>
<tr><td align="center"><a href="install.html">Installation</a></td></tr>
<tr><td align="center"><a href="basic.html">Basic Usage</a></td></tr>
<tr><td align="center"><a href="advanced.html">Advanced Usage</a></td></tr>
......@@ -48,15 +47,6 @@ GLEW: The OpenGL Extension Wrangler Library
<td valign="bottom">
<table border="0" width="100%" cellpadding="5" cellspacing="0" align="left">
<tr><td align="center"><i>Last Update: 01-04-05</i></td></tr>
<tr><td align="center">
<a href="http://www.opengl.org"> <img src="./ogl_sm.jpg" width="68"
height="35" border="0" alt="OpenGL Logo" valign="top"></a>
<a href="http://sourceforge.net"> <img
src="http://sourceforge.net/sflogo.php?group_id=67586&amp;type=1"
width="88" height="31" border="0" alt="SourceForge Logo"
valign="bottom"></a>
</td>
</tr>
</table>
</td>
</tr>
......
This diff is collapsed.
<!--
Copyright (C) 2002-2005 Milan Ikits <milan ikits[]ieee org>
Copyright (C) 2002-2005, Marcelo E. Magallon <mmagallo[]debian org>
This documentation may not be modified or redistributed in any
form, except by the copyright holder.
-->
<!doctype html public "-//w3c//dtd html 4.01 transitional//en" "http://www.w3.org/TR/html/4/loose.dtd">
<!-- &nbsp;<img src="new.png" height="12" alt="NEW!"> -->
<html>
<head>
<title>
GLEW: The OpenGL Extension Wrangler Library
</title>
<meta http-equiv="content-type" content="text/html; charset=US-ASCII">
<link href="glew.css" type=text/css rel=stylesheet>
</head>
<body bgcolor="#fff0d0">
<!-- -------------------------------------------------------------------------- -->
<table border="0" width="100%" height="100%" cellpadding="12" cellspacing="8">
<tr>
<td bgcolor="#ffffff" align="left" valign="top" width="200">
<table border="0" width="100%" cellpadding="0" cellspacing="0" align="left">
<tr>
<td valign="top">
<table border="0" width="100%" cellpadding="0" cellspacing="0" align="left">
<tr><td align="center"><br></td></tr>
<tr><td align="center"><img src="./glew.png" alt="GLEW Logo" width="97" height="75"></td></tr>
<tr><td align="center"><br></td></tr>
<tr><td align="center">
<table border="0" cellpadding="0" cellspacing="0" align="center">
<tr><td align="center"><a href="index.html">Home</a></td></tr>
<tr><td align="center"><a href="install.html">Installation</a></td></tr>
<tr><td align="center"><a href="basic.html">Basic Usage</td></tr>
<tr><td align="center"><b>Advanced Usage</b></td></tr>
<tr><td align="center"><a href="credits.html">Credits & Copyright</a></td></tr>
<tr><td align="center"><a href="log.html">Change Log</a></td></tr>
<tr><td align="center"><a href="http://sourceforge.net/projects/glew/">Project Page</a></td></tr>
<tr><td align="center"><a href="http://sourceforge.net/tracker/?group_id=67586">Bug Tracker</a></td></tr>
</table>
<tr><td align="center"><br></tr>
</table>
</td>
</tr>
<tr>
<td valign="bottom">
<table border="0" width="100%" cellpadding="5" cellspacing="0" align="left">
<tr><td align="center"><i>Last Update: 01-04-05</i></td></tr>
</table>
</td>
</tr>
</table>
</td>
<!-- -------------------------------------------------------------------------- -->
<td bgcolor="#ffffff" align="left" valign="top">
<h1>The OpenGL Extension Wrangler Library</h1>
<h2>Automatic Code Generation</h2>
<p>
Starting from release 1.1.0, the source code and parts of the
documentation are automatically generated from the extension
specifications in a two-step process. In the first step,
specification files from the OpenGL registry are downloaded and
parsed. Skeleton descriptors are created for each extension. These
descriptors contain all necessary information for creating the source
code and documentation in a simple and compact format, including the
name of the extension, url link to the specification, tokens, function
declarations, typedefs and struct definitions. In the second step,
the header files as well as the library and glewinfo source are
generated from the descriptor files. The code generation scripts are
located in the <tt>auto</tt> subdirectory.
</p>
<p>
The code generation scripts require GNU make, wget, and perl. On
Windows, the simplest way to get access to these tools is to install
<a href="http://www.cygwin.com/">Cygwin</a>. The makefile in the
<tt>auto</tt> directory provides the following build targets:
</p>
<center>
<table border=0 cellpadding=0 cellspacing=0> <!-- bgcolor="#f0f0f0" -->
<tr><td align="right" valign="top" width="25%"><tt>make</tt></td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td align=left>Create the source files from the descriptors. If the
descriptors do not exist, create them from the spec files. If the spec
files do not exist, download them from the OpenGL repository.</td></tr>
<tr><td align="right" valign="top"><tt>make clean</tt></td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td align=left>Delete the source files.</td></tr>
<tr><td align="right" valign="top"><tt>make clobber</tt></td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td align=left>Delete the source files and the descriptors.</td></tr>
<tr><td align="right" valign="top"><tt>make destroy</tt></td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td align=left>Delete the source files, the descriptors, and the spec files.</td></tr>
<tr><td align="right" valign="top"><tt>make custom</tt></td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td align=left>Create the source files for the extensions
listed in <tt>auto/custom.txt</tt>. See "Custom Code
Generation" below for more details.</td></tr>
</table>
</center>
<h3>Adding a New Extension</h3>
<p>
To add a new extension, create a descriptor file for the extension in
<tt>auto/core</tt> and rerun the code generation scripts by typing
<tt>make clean; make</tt> in the <tt>auto</tt> directory.
</p>
<p>
The format of the descriptor file is given below. Items in
brackets are optional.
</p>
<p class="pre">
&lt;Extension Name&gt;<br>
[&lt;URL of Specification File&gt;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;[&lt;Token Name&gt; &lt;Token Value&gt;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;[&lt;Token Name&gt; &lt;Token Value&gt;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;...<br>
&nbsp;&nbsp;&nbsp;&nbsp;[&lt;Typedef&gt;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;[&lt;Typedef&gt;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;...<br>
&nbsp;&nbsp;&nbsp;&nbsp;[&lt;Function Signature&gt;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;[&lt;Function Signature&gt;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;...<br>
<!-- &nbsp;&nbsp;&nbsp;&nbsp;[&lt;Function Definition&gt;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;[&lt;Function Definition&gt;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;...<br> -->
</p>
<!--
<p>
Note that <tt>Function Definitions</tt> are copied to the header files
without changes and have to be terminated with a semicolon. In
contrast, <tt>Tokens</tt>, <tt>Function signatures</tt>, and
<tt>Typedefs</tt> should not be terminated with a semicolon.
</p>
-->
<p>
Take a look at one of the files in <tt>auto/core</tt> for an
example. Note that typedefs and function signatures should not be
terminated with a semicolon.
</p>
<h3>Custom Code Generation</h3>
<p>
Starting from GLEW 1.3.0, it is possible to control which extensions
to include in the libarary by specifying a list in
<tt>auto/custom.txt</tt>. This is useful when you do not need all the
extensions and would like to reduce the size of the source files.
Type <tt>make clean; make custom</tt> in the <tt>auto</tt> directory
to rerun the scripts with the custom list of extensions.
</p>
<p>
For example, the following is the list of extensions needed to get GLEW and the
utilities to compile.
</p>
<p class="pre">
WGL_ARB_extensions_string<br>
WGL_ARB_multisample<br>
WGL_ARB_pixel_format<br>
WGL_ARB_pbuffer<br>
WGL_EXT_extensions_string<br>
WGL_ATI_pixel_format_float<br>
WGL_NV_float_buffer<br>
</p>
<h2>Multiple Rendering Contexts (GLEW MX)</h2>
<p>Starting with release 1.2.0, thread-safe support for multiple
rendering contexts, possibly with different capabilities, is
available. Since this is not required by most users, it is not added
to the binary releases to maintain compatibility between different
versions. To include multi-context support, you have to do the
following:</p>
<ol>
<li>Compile and use GLEW with the <tt>GLEW_MX</tt> preprocessor token
defined.</li>
<li>For each rendering context, create a <tt>GLEWContext</tt> object
that will be available as long as the rendering context exists.</li>
<li>Define a macro or function called <tt>glewGetContext()</tt> that
returns a pointer to the <tt>GLEWContext</tt> object associated with
the rendering context from which OpenGL/WGL/GLX calls are issued. This
dispatch mechanism is primitive, but generic.
<li>Make sure that you call <tt>glewInit()</tt> after creating the
<tt>GLEWContext</tt> object in each rendering context. Note, that the
<tt>GLEWContext</tt> pointer returned by <tt>glewGetContext()</tt> has
to reside in global or thread-local memory.
</ol>
<p>Note that according to the <a
href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/opengl/ntopnglr_6yer.asp">MSDN
WGL documentation</a>, you have to initialize the entry points for
every rendering context that use pixel formats with different
capabilities For example, the pixel formats provided by the generic
software OpenGL implementation by Microsoft vs. the hardware
accelerated pixel formats have different capabilities. <b>GLEW by
default ignores this requirement, and does not define per-context
entry points (you can however do this using the steps described
above).</b> Assuming a global namespace for the entry points works in
most situations, because typically all hardware accelerated pixel
formats provide the same entry points and capabilities. This means
that unless you use the multi-context version of GLEW, you need to
call <tt>glewInit()</tt> only once in your program, or more precisely,
once per process.</p>
<h2>Separate Namespace</h2>
<p>
To avoid name clashes when linking with libraries that include the
same symbols, extension entry points are declared in a separate
namespace (release 1.1.0 and up). This is achieved by aliasing OpenGL
function names to their GLEW equivalents. For instance,
<tt>glFancyFunction</tt> is simply an alias to
<tt>glewFancyFunction</tt>. The separate namespace does not effect
token and function pointer definitions.
</p>
<h2>Known Issues</h2>
<p>
GLEW requires GLX 1.2 for compatibility with GLUT.
</p>
</td>
</tr>
</table>
</body>
<!--
Copyright (C) 2002-2005 Milan Ikits <milan ikits[]ieee org>
Copyright (C) 2002-2005, Marcelo E. Magallon <mmagallo[]debian org>
This documentation may not be modified or redistributed in any
form, except by the copyright holder.
-->
<!doctype html public "-//w3c//dtd html 4.01 transitional//en" "http://www.w3.org/TR/html/4/loose.dtd">
<!-- &nbsp;<img src="new.png" height="12" alt="NEW!"> -->
<html>
<head>
<title>
GLEW: The OpenGL Extension Wrangler Library
</title>
<meta http-equiv="content-type" content="text/html; charset=US-ASCII">
<link href="glew.css" type=text/css rel=stylesheet>
</head>
<body bgcolor="#fff0d0">
<!-- -------------------------------------------------------------------------- -->
<table border="0" width="100%" height="100%" cellpadding="12" cellspacing="8">
<tr>
<td bgcolor="#ffffff" align="left" valign="top" width="200">
<table border="0" width="100%" cellpadding="0" cellspacing="0" align="left">
<tr>
<td valign="top">
<table border="0" width="100%" cellpadding="0" cellspacing="0" align="left">
<tr><td align="center"><br></td></tr>
<tr><td align="center"><img src="./glew.png" alt="GLEW Logo" width="97" height="75"></td></tr>
<tr><td align="center"><br></td></tr>
<tr><td align="center">
<table border="0" cellpadding="0" cellspacing="0" align="center">
<tr><td align="center"><a href="index.html">Home</a></td></tr>
<tr><td align="center"><a href="install.html">Installation</a></td></tr>
<tr><td align="center"><b>Basic Usage</b></td></tr>
<tr><td align="center"><a href="advanced.html">Advanced Usage</a></td></tr>
<tr><td align="center"><a href="credits.html">Credits & Copyright</a></td></tr>
<tr><td align="center"><a href="log.html">Change Log</a></td></tr>
<tr><td align="center"><a href="http://sourceforge.net/projects/glew/">Project Page</a></td></tr>
<tr><td align="center"><a href="http://sourceforge.net/tracker/?group_id=67586">Bug Tracker</a></td></tr>
</table>
<tr><td align="center"><br></tr>
</table>
</td>
</tr>
<tr>
<td valign="bottom">
<table border="0" width="100%" cellpadding="5" cellspacing="0" align="left">
<tr><td align="center"><i>Last Update: 01-04-05</i></td></tr>
</table>
</td>
</tr>
</table>
</td>
<!-- -------------------------------------------------------------------------- -->
<td bgcolor="#ffffff" align="left" valign="top">
<h1>The OpenGL Extension Wrangler Library</h1>
<h2>Initializing GLEW</h2>
<p>
First you need to create a valid OpenGL rendering context and call
<tt>glewInit()</tt> to initialize the extension entry points. If
<tt>glewInit()</tt> returns <tt>GLEW_OK</tt>, the initialization
succeeded and you can use the available extensions as well as core
OpenGL functionality. For example:
</p>
<p class="pre">
#include &lt;GL/glew.h&gt;<br>
#include &lt;GL/glut.h&gt;<br>
...<br>
glutInit(&amp;argc, argv);<br>
glutCreateWindow("GLEW Test");<br>
GLenum err = glewInit();<br>
if (GLEW_OK != err)<br>
{<br>
&nbsp;&nbsp;/* Problem: glewInit failed, something is seriously wrong. */<br>
&nbsp;&nbsp;fprintf(stderr, "Error: %s\n", glewGetErrorString(err));<br>
&nbsp;&nbsp;...<br>
}<br>
fprintf(stdout, "Status: Using GLEW %s\n", glewGetString(GLEW_VERSION));<br>
</p>
<h2>Checking for Extensions</h2>
<p>
Starting from GLEW 1.1.0, you can find out if a particular extension
is available on your platform by querying globally defined variables
of the form <tt>GLEW_{extension_name}</tt>:
</p>
<p class="pre">
if (GLEW_ARB_vertex_program)<br>
{<br>
&nbsp;&nbsp;/* It is safe to use the ARB_vertex_program extension here. */<br>
&nbsp;&nbsp;glGenProgramsARB(...);<br>
}<br>
</p>
<p>
<b>In GLEW 1.0.x, a global structure was used for this task. To ensure
binary compatibility between releases, the struct was replaced with a
set of variables.</b>
</p>
<p>
You can also check for core OpenGL functionality. For example, to
see if OpenGL 1.3 is supported, do the following:
</p>
<p class="pre">
if (GLEW_VERSION_1_3)<br>
{<br>
&nbsp;&nbsp;/* Yay! OpenGL 1.3 is supported! */<br>
}<br>
</p>
<p>
In general, you can check if <tt>GLEW_{extension_name}</tt> or
<tt>GLEW_VERSION_{version}</tt> is true or false.
</p>
<p>
It is also possible to perform extension checks from string
input. Starting from the 1.3.0 release, use <tt>glewIsSupported</tt>
to check if the required core or extension functionality is
available:
</p>
<p class="pre">
if (glewIsSupported("GL_VERSION_1_4 GL_ARB_point_sprites"))<br>
{<br>
&nbsp;&nbsp;/* Great, we have OpenGL 1.4 + point sprites. */<br>
}<br>
</p>
<p>
For extensions only, <tt>glewGetExtension</tt> provides a slower alternative
(GLEW 1.0.x-1.2.x). <b>Note that in the 1.3.0 release </b>
<tt>glewGetExtension</tt> <b>was replaced with </b>
<tt>glewIsSupported</tt>.
</p>
<p class="pre">
if (glewGetExtension("GL_ARB_fragment_program"))<br>
{<br>
&nbsp;&nbsp;/* Looks like ARB_fragment_program is supported. */<br>
}<br>
</p>
<h2>Experimental Drivers</h2>
<p>
GLEW obtains information on the supported extensions from the graphics
driver. Experimental or pre-release drivers, however, might not
report every available extension through the standard mechanism, in
which case GLEW will report it unsupported. To circumvent this
situation, the <tt>glewExperimental</tt> global switch can be turned
on by setting it to <tt>GL_TRUE</tt> before calling
<tt>glewInit()</tt>, which ensures that all extensions with valid
entry points will be exposed.
</p>
<h2>Platform Specific Extensions</h2>
<p>
Platform specific extensions are separated into two header files:
<tt>wglew.h</tt> and <tt>glxew.h</tt>, which define the available
<tt>WGL</tt> and <tt>GLX</tt> extensions. To determine if a certain
extension is supported, query <tt>WGLEW_{extension name}</tt> or
<tt>GLXEW_{extension_name}</tt>. For example:
</p>
<p class="pre">
#include &lt;GL/wglew.h&gt;<br>
<br>
if (WGLEW_ARB_pbuffer)<br>
{<br>
&nbsp;&nbsp;/* OK, we can use pbuffers. */<br>
}<br>
else<br>
{<br>
&nbsp;&nbsp;/* Sorry, pbuffers will not work on this platform. */<br>
}<br>
</p>
<p>
Alternatively, use <tt>wglewIsSupported</tt> or
<tt>glxewIsSupported</tt> to check for extensions from a string:
</p>
<p class="pre">
if (wglewIsSupported("WGL_ARB_pbuffer"))<br>
{<br>
&nbsp;&nbsp;/* OK, we can use pbuffers. */<br>
}<br>
</p>
<h2>Utilities</h2>
<p>
GLEW provides two command-line utilities: one for creating a list of
available extensions and visuals; and another for verifying extension
entry points.
</p>
<h3>visualinfo: extensions and visuals</h3>
<p>
<tt>visualinfo</tt> is an extended version of <tt>glxinfo</tt>. The
Windows version creates a file called <tt>visualinfo.txt</tt>, which
contains a list of available OpenGL, WGL, and GLU extensions as well
as a table of visuals aka. pixel formats. Pbuffer and MRT capable
visuals are also included. For additional usage information, type
<tt>visualinfo -h</tt>.
</p>
<h3>glewinfo: extension verification utility</h3>
<p>
<tt>glewinfo</tt> allows you to verify the entry points for the
extensions supported on your platform. The Windows version
reports the results to a text file called <tt>glewinfo.txt</tt>. The
Unix version prints the results to <tt>stdout</tt>.
</p>
<p>Windows usage:</p>
<blockquote><pre>glewinfo [-pf &lt;id&gt;]</pre></blockquote>
<p>where <tt>&lt;id&gt;</tt> is the pixel format id for which the
capabilities are displayed.</p>
<p>Unix usage:</p>
<blockquote><pre>glewinfo [-display &lt;dpy&gt;] [-visual &lt;id&gt;]</pre></blockquote>
<p>where <tt>&lt;dpy&gt;</tt> is the X11 display and <tt>&lt;id&gt;</tt> is
the visual id for which the capabilities are displayed.</p>
</td>
</tr>
</table>
</body>
<!--
Copyright (C) 2002-2005 Milan Ikits <milan ikits[]ieee org>
Copyright (C) 2002-2005, Marcelo E. Magallon <mmagallo[]debian org>
This documentation may not be modified or redistributed in any
form, except by the copyright holder.
-->
<!doctype html public "-//w3c//dtd html 4.01 transitional//en" "http://www.w3.org/TR/html/4/loose.dtd">
<!-- &nbsp;<img src="new.png" height="12" alt="NEW!"> -->
<html>
<head>
<title>
GLEW: The OpenGL Extension Wrangler Library
</title>
<meta http-equiv="content-type" content="text/html; charset=US-ASCII">
<link href="glew.css" type=text/css rel=stylesheet>
</head>
<body bgcolor="#fff0d0">
<!-- -------------------------------------------------------------------------- -->
<table border="0" width="100%" height="100%" cellpadding="12" cellspacing="8">
<tr>
<td bgcolor="#ffffff" align="left" valign="top" width="200">
<table border="0" width="100%" cellpadding="0" cellspacing="0" align="left">
<tr>
<td valign="top">
<table border="0" width="100%" cellpadding="0" cellspacing="0" align="left">
<tr><td align="center"><br></td></tr>
<tr><td align="center"><img src="./glew.png" alt="GLEW Logo" width="97" height="75"></td></tr>
<tr><td align="center"><br></td></tr>
<tr><td align="center">
<table border="0" cellpadding="0" cellspacing="0" align="center">
<tr><td align="center"><a href="index.html">Home</a></td></tr>
<tr><td align="center"><a href="install.html">Installation</a></td></tr>
<tr><td align="center"><a href="basic.html">Basic Usage</a></td></tr>
<tr><td align="center"><a href="advanced.html">Advanced Usage</a></td></tr>
<tr><td align="center"><b>Credits & Copyright</b></td></tr>
<tr><td align="center"><a href="log.html">Change Log</a></td></tr>
<tr><td align="center"><a href="http://sourceforge.net/projects/glew/">Project Page</a></td></tr>
<tr><td align="center"><a href="http://sourceforge.net/tracker/?group_id=67586">Bug Tracker</a></td></tr>
</table>
<tr><td align="center"><br></tr>
</table>
</td>
</tr>
<tr>
<td valign="bottom">
<table border="0" width="100%" cellpadding="5" cellspacing="0" align="left">
<tr><td align="center"><i>Last Update: 01-04-05</i></td></tr>
</table>
</td>
</tr>
</table>
</td>
<!-- -------------------------------------------------------------------------- -->
<td bgcolor="#ffffff" align="left" valign="top">
<h1 align="center">The OpenGL Extension Wrangler Library</h1>
<h2>Credits</h2>
<p>
GLEW was developed by <a href="http://www.cs.utah.edu/~ikits/">Milan
Ikits</a> and <a
href="http://wwwvis.informatik.uni-stuttgart.de/~magallon/">Marcelo
Magallon</a>. They also perform occasional maintainance to make sure
that GLEW stays in mint condition. Aaron Lefohn, Joe Kniss, and Chris
Wyman were the first users and also assisted with the design and
debugging process. The acronym GLEW originates from Aaron Lefohn.
Pasi K&auml;rkk&auml;inen identified and fixed several problems with
GLX and SDL. Nate Robins created the <tt>wglinfo</tt> utility, to
which modifications were made by Michael Wimmer.
</p>
<h2>Copyright</h2>
<p>
GLEW is originally derived from the <a
href="http://www.levp.de/3d/">EXTGL</a> project by Lev Povalahev. The
source code is licensed under the modified BSD license, the <a
href="sgi.txt">SGI Free Software License B</a>, and the <a
href="glx.txt">GLX Public License</a>. The automatic code
generation scripts are released under the <a href="gpl.txt">GPL</a>.
</p>
</td>
</tr>
</table>
</body>
......@@ -175,6 +175,6 @@ hr
background-color: maroon;
height: 1px;
border: 0px;
width: 85%;
width: 80%;
align: center;
}
<!--
Copyright (C) 2002-2005 Milan Ikits <milan ikits[]ieee org>
Copyright (C) 2002-2005, Marcelo E. Magallon <mmagallo[]debian org>
This documentation may not be modified or redistributed in any
form, except by the copyright holder.
-->
<!doctype html public "-//w3c//dtd html 4.01 transitional//en" "http://www.w3.org/TR/html/4/loose.dtd">
<!-- &nbsp;<img src="new.png" height="12" alt="NEW!"> -->
<html>