\begin{longtable}{|lllp{0.38\textwidth}|}
\hline
\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf session} \\
-\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A session}} \\
+\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
+session.}} \\
\hline
Quals & Field & Type & Description \\
\hline
\subsubsection{RPC name:~login\_with\_password}
{\bf Overview:}
-Attempt to authenticate the user, returning a session\_id if successful
+Attempt to authenticate the user, returning a session\_id if successful.
\noindent {\bf Signature:}
\begin{verbatim} (session ref) login_with_password (string uname, string pwd)\end{verbatim}
\subsubsection{RPC name:~logout}
{\bf Overview:}
-Log out of a session
+Log out of a session.
\noindent {\bf Signature:}
\begin{verbatim} void logout (session_id s)\end{verbatim}
\begin{longtable}{|lllp{0.38\textwidth}|}
\hline
\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf task} \\
-\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A long-running asynchronous task}} \\
+\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
+long-running asynchronous task.}} \\
\hline
Quals & Field & Type & Description \\
\hline
\begin{longtable}{|lllp{0.38\textwidth}|}
\hline
\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VM} \\
-\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A virtual machine (or 'guest').
+\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
+virtual machine (or 'guest').
VM booting is controlled by setting one of the two mutually exclusive
groups: "PV", and "HVM". If HVM.boot is the empty string, then paravirtual
PV/bootloader and PV/kernel are empty, then the behaviour is as if
PV/bootloader was specified as "pygrub".
-When using HVM booting, HVM/boot specifies the order of the boot devices}} \\
+When using HVM booting, HVM/boot specifies the order of the boot devices.}} \\
\hline
Quals & Field & Type & Description \\
\hline
\subsubsection{RPC name:~clone}
{\bf Overview:}
-Clones the specified VM, making a new VM. Clone automatically exploits the capabilities of the underlying storage repository in which the VM's disk images are stored (e.g. Copy on Write). This function can only be called when the VM is in the Halted State.
+Clones the specified VM, making a new VM. Clone automatically exploits the
+capabilities of the underlying storage repository in which the VM's disk
+images are stored (e.g. Copy on Write). This function can only be called
+when the VM is in the Halted State.
\noindent {\bf Signature:}
\begin{verbatim} (VM ref) clone (session_id s, VM ref vm, string new_name)\end{verbatim}
\subsubsection{RPC name:~start}
{\bf Overview:}
-Start the specified VM. This function can only be called with the VM is in the Halted State.
+Start the specified VM. This function can only be called with the VM is in
+the Halted State.
\noindent {\bf Signature:}
\begin{verbatim} void start (session_id s, VM ref vm, bool start_paused)\end{verbatim}
\subsubsection{RPC name:~pause}
{\bf Overview:}
-Pause the specified VM. This can only be called when the specified VM is in the Running state.
+Pause the specified VM. This can only be called when the specified VM is in
+the Running state.
\noindent {\bf Signature:}
\begin{verbatim} void pause (session_id s, VM ref vm)\end{verbatim}
\subsubsection{RPC name:~unpause}
{\bf Overview:}
-Resume the specified VM. This can only be called when the specified VM is in the Paused state.
+Resume the specified VM. This can only be called when the specified VM is
+in the Paused state.
\noindent {\bf Signature:}
\begin{verbatim} void unpause (session_id s, VM ref vm)\end{verbatim}
\subsubsection{RPC name:~clean\_shutdown}
{\bf Overview:}
-Attempt to cleanly shutdown the specified VM. (Note: this may not be supported---e.g. if a guest agent is not installed).
+Attempt to cleanly shutdown the specified VM. (Note: this may not be
+supported---e.g. if a guest agent is not installed).
-Once shutdown has been completed perform poweroff action specified in guest configuration.
+Once shutdown has been completed perform poweroff action specified in guest
+configuration.
This can only be called when the specified VM is in the Running state.
\subsubsection{RPC name:~clean\_reboot}
{\bf Overview:}
-Attempt to cleanly shutdown the specified VM (Note: this may not be supported---e.g. if a guest agent is not installed).
+Attempt to cleanly shutdown the specified VM (Note: this may not be
+supported---e.g. if a guest agent is not installed).
-Once shutdown has been completed perform reboot action specified in guest configuration.
+Once shutdown has been completed perform reboot action specified in guest
+configuration.
This can only be called when the specified VM is in the Running state.
\subsubsection{RPC name:~hard\_shutdown}
{\bf Overview:}
-Stop executing the specified VM without attempting a clean shutdown. Then perform poweroff action specified in VM configuration.
+Stop executing the specified VM without attempting a clean shutdown. Then
+perform poweroff action specified in VM configuration.
\noindent {\bf Signature:}
\begin{verbatim} void hard_shutdown (session_id s, VM ref vm)\end{verbatim}
\subsubsection{RPC name:~hard\_reboot}
{\bf Overview:}
-Stop executing the specified VM without attempting a clean shutdown. Then perform reboot action specified in VM configuration
+Stop executing the specified VM without attempting a clean shutdown. Then
+perform reboot action specified in VM configuration.
\noindent {\bf Signature:}
\begin{verbatim} void hard_reboot (session_id s, VM ref vm)\end{verbatim}
\subsubsection{RPC name:~suspend}
{\bf Overview:}
-Suspend the specified VM to disk. This can only be called when the specified VM is in the Running state.
+Suspend the specified VM to disk. This can only be called when the
+specified VM is in the Running state.
\noindent {\bf Signature:}
\begin{verbatim} void suspend (session_id s, VM ref vm)\end{verbatim}
\subsubsection{RPC name:~resume}
{\bf Overview:}
-Awaken the specified VM and resume it. This can only be called when the specified VM is in the Suspended state.
+Awaken the specified VM and resume it. This can only be called when the
+specified VM is in the Suspended state.
\noindent {\bf Signature:}
\begin{verbatim} void resume (session_id s, VM ref vm, bool start_paused)\end{verbatim}
\subsubsection{RPC name:~add\_VCPUs\_features\_force\_on}
{\bf Overview:}
-Add the given value to the VCPUs/features/force\_on field of the given VM. If the value is already in that Set, then do nothing.
+Add the given value to the VCPUs/features/force\_on field of the given VM.
+If the value is already in that Set, then do nothing.
\noindent {\bf Signature:}
\begin{verbatim} void add_VCPUs_features_force_on (session_id s, VM ref self, cpu_feature value)\end{verbatim}
\subsubsection{RPC name:~remove\_VCPUs\_features\_force\_on}
{\bf Overview:}
-Remove the given value from the VCPUs/features/force\_on field of the given VM. If the value is not in that Set, then do nothing.
+Remove the given value from the VCPUs/features/force\_on field of the given
+VM. If the value is not in that Set, then do nothing.
\noindent {\bf Signature:}
\begin{verbatim} void remove_VCPUs_features_force_on (session_id s, VM ref self, cpu_feature value)\end{verbatim}
\subsubsection{RPC name:~add\_VCPUs\_features\_force\_off}
{\bf Overview:}
-Add the given value to the VCPUs/features/force\_off field of the given VM. If the value is already in that Set, then do nothing.
+Add the given value to the VCPUs/features/force\_off field of the given VM.
+ If the value is already in that Set, then do nothing.
\noindent {\bf Signature:}
\begin{verbatim} void add_VCPUs_features_force_off (session_id s, VM ref self, cpu_feature value)\end{verbatim}
\subsubsection{RPC name:~remove\_VCPUs\_features\_force\_off}
{\bf Overview:}
-Remove the given value from the VCPUs/features/force\_off field of the given VM. If the value is not in that Set, then do nothing.
+Remove the given value from the VCPUs/features/force\_off field of the
+given VM. If the value is not in that Set, then do nothing.
\noindent {\bf Signature:}
\begin{verbatim} void remove_VCPUs_features_force_off (session_id s, VM ref self, cpu_feature value)\end{verbatim}
\subsubsection{RPC name:~destroy}
{\bf Overview:}
-Destroy the specified VM. The VM is completely removed from the system. This function can only be called when the VM is in the Halted State.
+Destroy the specified VM. The VM is completely removed from the system.
+This function can only be called when the VM is in the Halted State.
\noindent {\bf Signature:}
\begin{verbatim} void destroy (session_id s, VM ref self)\end{verbatim}
\begin{longtable}{|lllp{0.38\textwidth}|}
\hline
\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf host} \\
-\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A physical host}} \\
+\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
+physical host.}} \\
\hline
Quals & Field & Type & Description \\
\hline
\subsubsection{RPC name:~disable}
{\bf Overview:}
-Puts the host into a state in which no new VMs can be started. Currently active VMs on the host continue to execute.
+Puts the host into a state in which no new VMs can be started. Currently
+active VMs on the host continue to execute.
\noindent {\bf Signature:}
\begin{verbatim} void disable (session_id s, host ref host)\end{verbatim}
\subsubsection{RPC name:~shutdown}
{\bf Overview:}
-Shutdown the host. (This function can only be called if there are no currently running VMs on the host and it is disabled.)
+Shutdown the host. (This function can only be called if there are no
+currently running VMs on the host and it is disabled.).
\noindent {\bf Signature:}
\begin{verbatim} void shutdown (session_id s, host ref host)\end{verbatim}
\subsubsection{RPC name:~reboot}
{\bf Overview:}
-Reboot the host. (This function can only be called if there are no currently running VMs on the host and it is disabled.)
+Reboot the host. (This function can only be called if there are no
+currently running VMs on the host and it is disabled.).
\noindent {\bf Signature:}
\begin{verbatim} void reboot (session_id s, host ref host)\end{verbatim}
\begin{longtable}{|lllp{0.38\textwidth}|}
\hline
\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf network} \\
-\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A virtual network}} \\
+\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
+virtual network.}} \\
\hline
Quals & Field & Type & Description \\
\hline
\begin{longtable}{|lllp{0.38\textwidth}|}
\hline
\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VIF} \\
-\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A virtual network interface}} \\
+\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
+virtual network interface.}} \\
\hline
Quals & Field & Type & Description \\
\hline
\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf PIF} \\
\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
physical network interface (note separate VLANs are represented as several
-PIFs)}} \\
+PIFs).}} \\
\hline
Quals & Field & Type & Description \\
\hline
\subsubsection{RPC name:~create\_VLAN}
{\bf Overview:}
-Create a VLAN interface from an existing physical interface
+Create a VLAN interface from an existing physical interface.
\noindent {\bf Signature:}
\begin{verbatim} (PIF ref) create_VLAN (session_id s, string device, network ref network, host ref host, int VLAN)\end{verbatim}
\subsubsection{RPC name:~destroy}
{\bf Overview:}
-Destroy the interface (provided it is a synthetic interface like a VLAN; fail if it is a physical interface)
+Destroy the interface (provided it is a synthetic interface like a VLAN;
+fail if it is a physical interface).
\noindent {\bf Signature:}
\begin{verbatim} void destroy (session_id s, PIF ref self)\end{verbatim}
\begin{longtable}{|lllp{0.38\textwidth}|}
\hline
\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf SR} \\
-\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A storage repository}} \\
+\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
+storage repository.}} \\
\hline
Quals & Field & Type & Description \\
\hline
\begin{longtable}{|lllp{0.38\textwidth}|}
\hline
\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VDI} \\
-\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A virtual disk image}} \\
+\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
+virtual disk image.}} \\
\hline
Quals & Field & Type & Description \\
\hline
\subsubsection{RPC name:~snapshot}
{\bf Overview:}
-Take an exact copy of the VDI; the snapshot lives in the same Storage Repository as its parent.
+Take an exact copy of the VDI; the snapshot lives in the same Storage
+Repository as its parent.
\noindent {\bf Signature:}
\begin{verbatim} (VDI ref) snapshot (session_id s, VDI ref vdi)\end{verbatim}
\begin{longtable}{|lllp{0.38\textwidth}|}
\hline
\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VBD} \\
-\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A virtual block device}} \\
+\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
+virtual block device.}} \\
\hline
Quals & Field & Type & Description \\
\hline
\subsubsection{RPC name:~media\_change}
{\bf Overview:}
-Change the media in the device for CDROM-like devices only. For other devices, detach the VBD and attach a new one
+Change the media in the device for CDROM-like devices only. For other
+devices, detach the VBD and attach a new one.
\noindent {\bf Signature:}
\begin{verbatim} void media_change (session_id s, VBD ref vbd, VDI ref vdi)\end{verbatim}
\begin{longtable}{|lllp{0.38\textwidth}|}
\hline
\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf console} \\
-\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A console}} \\
+\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
+console.}} \\
\hline
Quals & Field & Type & Description \\
\hline
\begin{longtable}{|lllp{0.38\textwidth}|}
\hline
\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf user} \\
-\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A user of the system}} \\
+\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
+user of the system.}} \\
\hline
Quals & Field & Type & Description \\
\hline
\subsubsection{RPC name:~return\_failure}
{\bf Overview:}
-Return an API 'successful' failure
+Return an API 'successful' failure.
\noindent {\bf Signature:}
\begin{verbatim} void return_failure (session_id s)\end{verbatim}