~ubuntu-branches/ubuntu/maverick/libvirt/maverick

« back to all changes in this revision

Viewing changes to docs/html/libvirt-bridge.html

  • Committer: Bazaar Package Importer
  • Author(s): Soren Hansen
  • Date: 2008-06-25 18:51:21 UTC
  • mto: (3.1.1 lenny) (1.2.1 upstream) (0.2.1 upstream)
  • mto: This revision was merged to the branch mainline in revision 27.
  • Revision ID: james.westby@ubuntu.com-20080625185121-8dku38gpoluks1bx
Tags: upstream-0.4.4
ImportĀ upstreamĀ versionĀ 0.4.4

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<?xml version="1.0" encoding="ISO-8859-1"?>
2
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
 
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="../libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>Module bridge from libvirt</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">Module bridge from libvirt</h1><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libvirt-virterror.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libvirt-virterror.html">virterror</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The virtualization API</a></th><th align="right"><a href="libvirt-uuid.html">uuid</a></th><td><a accesskey="n" href="libvirt-uuid.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#BR_IFNAME_MAXLEN">BR_IFNAME_MAXLEN</a></pre><pre class="programlisting">#define <a href="#BR_INET_ADDR_MAXLEN">BR_INET_ADDR_MAXLEN</a></pre><pre class="programlisting">Structure <a href="#brControl">brControl</a><br />struct _brControl
4
 
The content of this structure is not made public by the API.
5
 
</pre><pre class="programlisting">int   <a href="#brAddBridge">brAddBridge</a>                  (<a href="libvirt-bridge.html#brControl">brControl</a> * ctl, <br />                                     const char * nameOrFmt, <br />                                  char * name, <br />                                     int maxlen)</pre>
6
 
<pre class="programlisting">int <a href="#brAddInterface">brAddInterface</a>                    (<a href="libvirt-bridge.html#brControl">brControl</a> * ctl, <br />                                     const char * bridge, <br />                                     const char * iface)</pre>
7
 
<pre class="programlisting">int <a href="#brAddTap">brAddTap</a>                        (<a href="libvirt-bridge.html#brControl">brControl</a> * ctl, <br />                                     const char * bridge, <br />                                     char * ifname, <br />                                   int maxlen, <br />                                      int * tapfd)</pre>
8
 
<pre class="programlisting">int <a href="#brDeleteBridge">brDeleteBridge</a>                    (<a href="libvirt-bridge.html#brControl">brControl</a> * ctl, <br />                                     const char * name)</pre>
9
 
<pre class="programlisting">int <a href="#brDeleteInterface">brDeleteInterface</a>              (<a href="libvirt-bridge.html#brControl">brControl</a> * ctl, <br />                                     const char * bridge, <br />                                     const char * iface)</pre>
10
 
<pre class="programlisting">int <a href="#brGetEnableSTP">brGetEnableSTP</a>                    (<a href="libvirt-bridge.html#brControl">brControl</a> * ctl, <br />                                     const char * bridge, <br />                                     int * enable)</pre>
11
 
<pre class="programlisting">int <a href="#brGetForwardDelay">brGetForwardDelay</a>              (<a href="libvirt-bridge.html#brControl">brControl</a> * ctl, <br />                                     const char * bridge, <br />                                     int * delay)</pre>
12
 
<pre class="programlisting">int <a href="#brGetInetAddress">brGetInetAddress</a>                (<a href="libvirt-bridge.html#brControl">brControl</a> * ctl, <br />                                     const char * ifname, <br />                                     char * addr, <br />                                     int maxlen)</pre>
13
 
<pre class="programlisting">int <a href="#brGetInetNetmask">brGetInetNetmask</a>                (<a href="libvirt-bridge.html#brControl">brControl</a> * ctl, <br />                                     const char * ifname, <br />                                     char * addr, <br />                                     int maxlen)</pre>
14
 
<pre class="programlisting">int <a href="#brGetInterfaceUp">brGetInterfaceUp</a>                (<a href="libvirt-bridge.html#brControl">brControl</a> * ctl, <br />                                     const char * ifname, <br />                                     int * up)</pre>
15
 
<pre class="programlisting">int <a href="#brInit">brInit</a>                    (<a href="libvirt-bridge.html#brControl">brControl</a> ** ctlp)</pre>
16
 
<pre class="programlisting">int <a href="#brSetEnableSTP">brSetEnableSTP</a>                    (<a href="libvirt-bridge.html#brControl">brControl</a> * ctl, <br />                                     const char * bridge, <br />                                     int enable)</pre>
17
 
<pre class="programlisting">int <a href="#brSetForwardDelay">brSetForwardDelay</a>              (<a href="libvirt-bridge.html#brControl">brControl</a> * ctl, <br />                                     const char * bridge, <br />                                     int delay)</pre>
18
 
<pre class="programlisting">int <a href="#brSetInetAddress">brSetInetAddress</a>                (<a href="libvirt-bridge.html#brControl">brControl</a> * ctl, <br />                                     const char * ifname, <br />                                     const char * addr)</pre>
19
 
<pre class="programlisting">int <a href="#brSetInetNetmask">brSetInetNetmask</a>                (<a href="libvirt-bridge.html#brControl">brControl</a> * ctl, <br />                                     const char * ifname, <br />                                     const char * addr)</pre>
20
 
<pre class="programlisting">int <a href="#brSetInterfaceUp">brSetInterfaceUp</a>                (<a href="libvirt-bridge.html#brControl">brControl</a> * ctl, <br />                                     const char * ifname, <br />                                     int up)</pre>
21
 
<pre class="programlisting">void        <a href="#brShutdown">brShutdown</a>                    (<a href="libvirt-bridge.html#brControl">brControl</a> * ctl)</pre>
22
 
<h2>Description</h2>
23
 
<h3><a name="BR_IFNAME_MAXLEN" id="BR_IFNAME_MAXLEN"></a>Macro: BR_IFNAME_MAXLEN</h3><pre>#define BR_IFNAME_MAXLEN</pre><p>maximum size in byte of the name for an interface</p>
24
 
<h3><a name="BR_INET_ADDR_MAXLEN" id="BR_INET_ADDR_MAXLEN"></a>Macro: BR_INET_ADDR_MAXLEN</h3><pre>#define BR_INET_ADDR_MAXLEN</pre><p>maximum size in bytes for an inet addess name</p>
25
 
<h3><a name="brControl" id="brControl">Structure brControl</a></h3><pre class="programlisting">Structure brControl<br />struct _brControl {
26
 
The content of this structure is not made public by the API.
27
 
}</pre><h3><a name="brAddBridge" id="brAddBridge"></a>Function: brAddBridge</h3><pre class="programlisting">int brAddBridge                     (<a href="libvirt-bridge.html#brControl">brControl</a> * ctl, <br />                                     const char * nameOrFmt, <br />                                  char * name, <br />                                     int maxlen)<br />
28
 
</pre><p>This function register a new bridge, @nameOrFmt can be either a fixed name or a name template with '%d' for dynamic name allocation. in either case the final name for the bridge will be stored in @name.</p>
29
 
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctl</tt></i>:</span></td><td>bridge control pointer</td></tr><tr><td><span class="term"><i><tt>nameOrFmt</tt></i>:</span></td><td>the bridge name (or name template)</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>pointer to @maxlen bytes to store the bridge name</td></tr><tr><td><span class="term"><i><tt>maxlen</tt></i>:</span></td><td>size of @name array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success or an errno code in case of failure.</td></tr></tbody></table></div><h3><a name="brAddInterface" id="brAddInterface"></a>Function: brAddInterface</h3><pre class="programlisting">int  brAddInterface                  (<a href="libvirt-bridge.html#brControl">brControl</a> * ctl, <br />                                     const char * bridge, <br />                                     const char * iface)<br />
30
 
</pre><p>Adds an interface to a bridge</p>
31
 
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctl</tt></i>:</span></td><td>bridge control pointer</td></tr><tr><td><span class="term"><i><tt>bridge</tt></i>:</span></td><td>the bridge name</td></tr><tr><td><span class="term"><i><tt>iface</tt></i>:</span></td><td>the network interface name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success or an errno code in case of failure.</td></tr></tbody></table></div><h3><a name="brAddTap" id="brAddTap"></a>Function: brAddTap</h3><pre class="programlisting">int       brAddTap                        (<a href="libvirt-bridge.html#brControl">brControl</a> * ctl, <br />                                     const char * bridge, <br />                                     char * ifname, <br />                                   int maxlen, <br />                                      int * tapfd)<br />
32
 
</pre><p>This function reates a new tap device on a bridge. @ifname can be either a fixed name or a name template with '%d' for dynamic name allocation. in either case the final name for the bridge will be stored in @ifname and the associated file descriptor in @tapfd.</p>
33
 
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctl</tt></i>:</span></td><td>bridge control pointer</td></tr><tr><td><span class="term"><i><tt>bridge</tt></i>:</span></td><td>the bridge name</td></tr><tr><td><span class="term"><i><tt>ifname</tt></i>:</span></td><td>the interface name (or name template)</td></tr><tr><td><span class="term"><i><tt>maxlen</tt></i>:</span></td><td>size of @ifname array</td></tr><tr><td><span class="term"><i><tt>tapfd</tt></i>:</span></td><td>file descriptor return value for the new tap device</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success or an errno code in case of failure.</td></tr></tbody></table></div><h3><a name="brDeleteBridge" id="brDeleteBridge"></a>Function: brDeleteBridge</h3><pre class="programlisting">int  brDeleteBridge                  (<a href="libvirt-bridge.html#brControl">brControl</a> * ctl, <br />                                     const char * name)<br />
34
 
</pre><p>Remove a bridge from the layer.</p>
35
 
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctl</tt></i>:</span></td><td>bridge control pointer</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the bridge name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success or an errno code in case of failure.</td></tr></tbody></table></div><h3><a name="brDeleteInterface" id="brDeleteInterface"></a>Function: brDeleteInterface</h3><pre class="programlisting">int   brDeleteInterface               (<a href="libvirt-bridge.html#brControl">brControl</a> * ctl, <br />                                     const char * bridge, <br />                                     const char * iface)<br />
36
 
</pre><p>Removes an interface from a bridge</p>
37
 
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctl</tt></i>:</span></td><td>bridge control pointer</td></tr><tr><td><span class="term"><i><tt>bridge</tt></i>:</span></td><td>the bridge name</td></tr><tr><td><span class="term"><i><tt>iface</tt></i>:</span></td><td>the network interface name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success or an errno code in case of failure.</td></tr></tbody></table></div><h3><a name="brGetEnableSTP" id="brGetEnableSTP"></a>Function: brGetEnableSTP</h3><pre class="programlisting">int     brGetEnableSTP                  (<a href="libvirt-bridge.html#brControl">brControl</a> * ctl, <br />                                     const char * bridge, <br />                                     int * enable)<br />
38
 
</pre><p></p>
39
 
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctl</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>bridge</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>enable</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td></td></tr></tbody></table></div><h3><a name="brGetForwardDelay" id="brGetForwardDelay"></a>Function: brGetForwardDelay</h3><pre class="programlisting">int   brGetForwardDelay               (<a href="libvirt-bridge.html#brControl">brControl</a> * ctl, <br />                                     const char * bridge, <br />                                     int * delay)<br />
40
 
</pre><p></p>
41
 
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctl</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>bridge</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>delay</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td></td></tr></tbody></table></div><h3><a name="brGetInetAddress" id="brGetInetAddress"></a>Function: brGetInetAddress</h3><pre class="programlisting">int       brGetInetAddress                (<a href="libvirt-bridge.html#brControl">brControl</a> * ctl, <br />                                     const char * ifname, <br />                                     char * addr, <br />                                     int maxlen)<br />
42
 
</pre><p>Function to get the IP address of an interface, it should handle IPV4 and IPv6. The returned string for addr would be of the form "ddd.ddd.ddd.ddd" assuming the common IPv4 format.</p>
43
 
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctl</tt></i>:</span></td><td>bridge control pointer</td></tr><tr><td><span class="term"><i><tt>ifname</tt></i>:</span></td><td>the interface name</td></tr><tr><td><span class="term"><i><tt>addr</tt></i>:</span></td><td>the array for the string representation of the IP adress</td></tr><tr><td><span class="term"><i><tt>maxlen</tt></i>:</span></td><td>size of @addr in bytes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success or an errno code in case of failure.</td></tr></tbody></table></div><h3><a name="brGetInetNetmask" id="brGetInetNetmask"></a>Function: brGetInetNetmask</h3><pre class="programlisting">int     brGetInetNetmask                (<a href="libvirt-bridge.html#brControl">brControl</a> * ctl, <br />                                     const char * ifname, <br />                                     char * addr, <br />                                     int maxlen)<br />
44
 
</pre><p>Function to get the netmask of an interface, it should handle IPV4 and IPv6. The returned string for addr would be of the form "ddd.ddd.ddd.ddd" assuming the common IPv4 format.</p>
45
 
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctl</tt></i>:</span></td><td>bridge control pointer</td></tr><tr><td><span class="term"><i><tt>ifname</tt></i>:</span></td><td>the interface name</td></tr><tr><td><span class="term"><i><tt>addr</tt></i>:</span></td><td>the array for the string representation of the netmask</td></tr><tr><td><span class="term"><i><tt>maxlen</tt></i>:</span></td><td>size of @addr in bytes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success or an errno code in case of failure.</td></tr></tbody></table></div><h3><a name="brGetInterfaceUp" id="brGetInterfaceUp"></a>Function: brGetInterfaceUp</h3><pre class="programlisting">int       brGetInterfaceUp                (<a href="libvirt-bridge.html#brControl">brControl</a> * ctl, <br />                                     const char * ifname, <br />                                     int * up)<br />
46
 
</pre><p>Function to query if an interface is activated (1) or not (0)</p>
47
 
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctl</tt></i>:</span></td><td>bridge control pointer</td></tr><tr><td><span class="term"><i><tt>ifname</tt></i>:</span></td><td>the interface name</td></tr><tr><td><span class="term"><i><tt>up</tt></i>:</span></td><td>where to store the status</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success or an errno code in case of failure.</td></tr></tbody></table></div><h3><a name="brInit" id="brInit"></a>Function: brInit</h3><pre class="programlisting">int      brInit                  (<a href="libvirt-bridge.html#brControl">brControl</a> ** ctlp)<br />
48
 
</pre><p>Initialize a new bridge layer. In case of success @ctlp will contain a pointer to the new bridge structure.</p>
49
 
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctlp</tt></i>:</span></td><td>pointer to bridge control return value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, an error code otherwise.</td></tr></tbody></table></div><h3><a name="brSetEnableSTP" id="brSetEnableSTP"></a>Function: brSetEnableSTP</h3><pre class="programlisting">int       brSetEnableSTP                  (<a href="libvirt-bridge.html#brControl">brControl</a> * ctl, <br />                                     const char * bridge, <br />                                     int enable)<br />
50
 
</pre><p>Control whether the bridge participates in the spanning tree protocol, in general don't disable it without good reasons.</p>
51
 
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctl</tt></i>:</span></td><td>bridge control pointer</td></tr><tr><td><span class="term"><i><tt>bridge</tt></i>:</span></td><td>the bridge name</td></tr><tr><td><span class="term"><i><tt>enable</tt></i>:</span></td><td>1 to enable, 0 to disable</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success or an errno code in case of failure.</td></tr></tbody></table></div><h3><a name="brSetForwardDelay" id="brSetForwardDelay"></a>Function: brSetForwardDelay</h3><pre class="programlisting">int    brSetForwardDelay               (<a href="libvirt-bridge.html#brControl">brControl</a> * ctl, <br />                                     const char * bridge, <br />                                     int delay)<br />
52
 
</pre><p>Set the bridge forward delay</p>
53
 
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctl</tt></i>:</span></td><td>bridge control pointer</td></tr><tr><td><span class="term"><i><tt>bridge</tt></i>:</span></td><td>the bridge name</td></tr><tr><td><span class="term"><i><tt>delay</tt></i>:</span></td><td>delay in seconds</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success or an errno code in case of failure.</td></tr></tbody></table></div><h3><a name="brSetInetAddress" id="brSetInetAddress"></a>Function: brSetInetAddress</h3><pre class="programlisting">int brSetInetAddress                (<a href="libvirt-bridge.html#brControl">brControl</a> * ctl, <br />                                     const char * ifname, <br />                                     const char * addr)<br />
54
 
</pre><p>Function to bind the interface to an IP address, it should handle IPV4 and IPv6. The string for addr would be of the form "ddd.ddd.ddd.ddd" assuming the common IPv4 format.</p>
55
 
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctl</tt></i>:</span></td><td>bridge control pointer</td></tr><tr><td><span class="term"><i><tt>ifname</tt></i>:</span></td><td>the interface name</td></tr><tr><td><span class="term"><i><tt>addr</tt></i>:</span></td><td>the string representation of the IP adress</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success or an errno code in case of failure.</td></tr></tbody></table></div><h3><a name="brSetInetNetmask" id="brSetInetNetmask"></a>Function: brSetInetNetmask</h3><pre class="programlisting">int     brSetInetNetmask                (<a href="libvirt-bridge.html#brControl">brControl</a> * ctl, <br />                                     const char * ifname, <br />                                     const char * addr)<br />
56
 
</pre><p>Function to set the netmask of an interface, it should handle IPV4 and IPv6 forms. The string for addr would be of the form "ddd.ddd.ddd.ddd" assuming the common IPv4 format.</p>
57
 
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctl</tt></i>:</span></td><td>bridge control pointer</td></tr><tr><td><span class="term"><i><tt>ifname</tt></i>:</span></td><td>the interface name</td></tr><tr><td><span class="term"><i><tt>addr</tt></i>:</span></td><td>the string representation of the netmask</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success or an errno code in case of failure.</td></tr></tbody></table></div><h3><a name="brSetInterfaceUp" id="brSetInterfaceUp"></a>Function: brSetInterfaceUp</h3><pre class="programlisting">int       brSetInterfaceUp                (<a href="libvirt-bridge.html#brControl">brControl</a> * ctl, <br />                                     const char * ifname, <br />                                     int up)<br />
58
 
</pre><p>Function to control if an interface is activated (up, 1) or not (down, 0)</p>
59
 
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctl</tt></i>:</span></td><td>bridge control pointer</td></tr><tr><td><span class="term"><i><tt>ifname</tt></i>:</span></td><td>the interface name</td></tr><tr><td><span class="term"><i><tt>up</tt></i>:</span></td><td>1 for up, 0 for down</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success or an errno code in case of failure.</td></tr></tbody></table></div><h3><a name="brShutdown" id="brShutdown"></a>Function: brShutdown</h3><pre class="programlisting">void      brShutdown                      (<a href="libvirt-bridge.html#brControl">brControl</a> * ctl)<br />
60
 
</pre><p>Shutdown the bridge layer and deallocate the associated structures</p>
61
 
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctl</tt></i>:</span></td><td>pointer to a bridge control</td></tr></tbody></table></div></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="../index.html">Home</a></li><li><a href="../html/index.html">API Menu</a></li><li><a href="../examples/index.html">C code examples</a></li><li><a href="../ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&amp;component=libvirt&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr">Open bugs</a></li><li><a href="http://virt-manager.et.redhat.com/">virt-manager</a></li><li><a href="http://search.cpan.org/~danberr/Sys-Virt-0.1.0/">Perl bindings</a></li><li><a href="http://et.redhat.com/~rjones/ocaml-libvirt/">OCaml bindings</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>