This change refactors the existing character device documentation to make it explicit which directives configure the guest interface, and which configure the host interface. * docs/formatdomain.html.in: Do it. --- docs/formatdomain.html.in | 117 ++++++++++++++++++++++++++++++++++----------- 1 files changed, 88 insertions(+), 29 deletions(-) diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in index 72bd7b9..be35ad0 100644 --- a/docs/formatdomain.html.in +++ b/docs/formatdomain.html.in @@ -789,28 +789,87 @@ qemu-kvm -net nic,model=? /dev/null </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 @@ -825,7 +884,7 @@ qemu-kvm -net nic,model=? /dev/null ...</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 @@ -840,7 +899,7 @@ qemu-kvm -net nic,model=? /dev/null </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 @@ -855,7 +914,7 @@ qemu-kvm -net nic,model=? /dev/null </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 @@ -869,7 +928,7 @@ qemu-kvm -net nic,model=? /dev/null </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 @@ -892,7 +951,7 @@ qemu-kvm -net nic,model=? /dev/null 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 @@ -910,7 +969,7 @@ qemu-kvm -net nic,model=? /dev/null </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 @@ -925,7 +984,7 @@ qemu-kvm -net nic,model=? /dev/null </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 @@ -973,7 +1032,7 @@ qemu-kvm -net nic,model=? /dev/null </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, @@ -989,7 +1048,7 @@ qemu-kvm -net nic,model=? /dev/null </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, -- 1.6.2.5 -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list