</devices>
</domain></pre>
+ <p>
+ In each of these directives, the top-level element name (parallel, serial,
+ console, channel) describes how the device is presented to the guest. The
+ guest interface is configured by the <code>target</code> element.
+ </p>
- <dl>
- <dt><code>parallel</code></dt>
- <dd>Represents a parallel port</dd>
- <dt><code>serial</code></dt>
- <dd>Represents a serial port</dd>
- <dt><code>console</code></dt>
- <dd>Represents the primary console. This can be the paravirtualized
- console with Xen guests, or duplicates the primary serial port
- for fully virtualized guests without a paravirtualized console.</dd>
- <dt><code>source</code></dt>
- <dd>The attributes available for the <code>source</code> element
- vary according to the <code>type</code> attribute on the parent
- tag. Allowed variations will be described below</dd>
- <dt><code>target</code></dt>
- <dd>The port number of the character device is specified via the
- <code>port</code> attribute, numbered starting from 1. There is
- usually only one console device, and 0, 1 or 2 serial devices
- or parallel devices.
- </dl>
+ <p>
+ The interface presented to the host is given in the <code>type</code>
+ attribute of the top-level element. The host interface is
+ configured by the <code>source</code> element.
+ </p>
+
+ <h5><a name="elementsCharGuestInterface">Guest interface</a></h5>
+
+ <p>
+ A character device presents itself to the guest as one of the following
+ types.
+ </p>
+
+ <h6><a name="elementCharParallel">Parallel port</a></h6>
+
+ <pre>
+ ...
+ <parallel type='pty'>
+ <source path='/dev/pts/2'/>
+ <target port='0'/>
+ </parallel>
+ ...</pre>
+
+ <p>
+ <code>target</code> can have a <code>port</code> attribute, which
+ specifies the port number. Ports are numbered starting from 1. There are
+ usually 0, 1 or 2 parallel ports.
+ </p>
+
+ <h6><a name="elementCharSerial">Serial port</a></h6>
+
+ <pre>
+ ...
+ <serial type='pty'>
+ <source path='/dev/pts/3'/>
+ <target port='0'/>
+ </serial>
+ ...</pre>
+
+ <p>
+ <code>target</code> can have a <code>port</code> attribute, which
+ specifies the port number. Ports are numbered starting from 1. There are
+ usually 0, 1 or 2 serial ports.
+ </p>
+
+ <h6><a name="elementCharConsole">Console</a></h6>
+
+ <p>
+ This represents the primary console. This can be the paravirtualized
+ console with Xen guests, or duplicates the primary serial port for fully
+ virtualized guests without a paravirtualized console.
+ </p>
+
+ <pre>
+ ...
+ <console type='pty'>
+ <source path='/dev/pts/4'/>
+ <target port='0'/>
+ </console>
+ ...</pre>
+
+ <p>
+ If the console is presented as a serial port, the <code>target</code>
+ element has the same attributes as for a serial port. There is usually
+ only 1 console.
+ </p>
+
+ <h5><a name="elementsCharHostInterface">Host interface</a></h5>
+
+ <p>
+ A character device presents itself to the host as one of the following
+ types.
+ </p>
- <h5><a name="elementsCharSTDIO">Domain logfile</a></h5>
+ <h6><a name="elementsCharSTDIO">Domain logfile</a></h6>
<p>
This disables all input on the character device, and sends output
...</pre>
- <h5><a name="elementsCharFle">Device logfile</a></h5>
+ <h6><a name="elementsCharFle">Device logfile</a></h6>
<p>
A file is opened and all data sent to the character
</serial>
...</pre>
- <h5><a name="elementsCharVC">Virtual console</a></h5>
+ <h6><a name="elementsCharVC">Virtual console</a></h6>
<p>
Connects the character device to the graphical framebuffer in
</serial>
...</pre>
- <h5><a name="elementsCharNull">Null device</a></h5>
+ <h6><a name="elementsCharNull">Null device</a></h6>
<p>
Connects the character device to the void. No data is ever
</serial>
...</pre>
- <h5><a name="elementsCharPTY">Pseudo TTY</a></h5>
+ <h6><a name="elementsCharPTY">Pseudo TTY</a></h6>
<p>
A Pseudo TTY is allocated using /dev/ptmx. A suitable client
with existing syntax for <console> tags.
</p>
- <h5><a name="elementsCharHost">Host device proxy</a></h5>
+ <h6><a name="elementsCharHost">Host device proxy</a></h6>
<p>
The character device is passed through to the underlying
</serial>
...</pre>
- <h5><a name="elementsCharPipe">Named pipe</a></h5>
+ <h6><a name="elementsCharPipe">Named pipe</a></h6>
<p>
The character device writes output to a named pipe. See pipe(7) for
</serial>
...</pre>
- <h5><a name="elementsCharTCP">TCP client/server</a></h5>
+ <h6><a name="elementsCharTCP">TCP client/server</a></h6>
<p>
The character device acts as a TCP client connecting to a
</serial>
...</pre>
- <h5><a name="elementsCharUDP">UDP network console</a></h5>
+ <h6><a name="elementsCharUDP">UDP network console</a></h6>
<p>
The character device acts as a UDP netconsole service,
</serial>
...</pre>
- <h5><a name="elementsCharUNIX">UNIX domain socket client/server</a></h5>
+ <h6><a name="elementsCharUNIX">UNIX domain socket client/server</a></h6>
<p>
The character device acts as a UNIX domain socket server,