# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1217241621 -3600
# Node ID fa8a396191547a493edf9ce80a1d98aae10f2b43
# Parent 7a35ab9dba8a9331494a8147512505bf73f434ff
xenapi: Update the xenapi document for pci device assignment support.
Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@xxxxxxxxxxxxx>
---
docs/xen-api/coversheet.tex | 4
docs/xen-api/revision-history.tex | 9
docs/xen-api/xenapi-coversheet.tex | 4
docs/xen-api/xenapi-datamodel-graph.dot | 7
docs/xen-api/xenapi-datamodel.tex | 1259 ++++++++++++++++++++++++++++++++
5 files changed, 1277 insertions(+), 6 deletions(-)
diff -r 7a35ab9dba8a -r fa8a39619154 docs/xen-api/coversheet.tex
--- a/docs/xen-api/coversheet.tex Mon Jul 28 11:39:32 2008 +0100
+++ b/docs/xen-api/coversheet.tex Mon Jul 28 11:40:21 2008 +0100
@@ -50,7 +50,7 @@ Hollis Blanchard, IBM & Alastair Tse, Xe
Hollis Blanchard, IBM & Alastair Tse, XenSource \\
Mike Day, IBM & Daniel Veillard, Red Hat \\
Jim Fehlig, Novell & Tom Wilkie, University of Cambridge \\
-Jon Harrop, XenSource & \\
+Jon Harrop, XenSource & Yosuke Iwamatsu, NEC \\
\end{tabular}
\end{large}
@@ -60,4 +60,4 @@ Jon Harrop, XenSource & \\
\legalnotice{}
\newpage
-\pagestyle{fancy}
\ No newline at end of file
+\pagestyle{fancy}
diff -r 7a35ab9dba8a -r fa8a39619154 docs/xen-api/revision-history.tex
--- a/docs/xen-api/revision-history.tex Mon Jul 28 11:39:32 2008 +0100
+++ b/docs/xen-api/revision-history.tex Mon Jul 28 11:40:21 2008 +0100
@@ -47,5 +47,14 @@
\end{flushleft}
\end{minipage}\\
\hline
+ 1.0.6 & 24th Jul. 08 & Y. Iwamatsu &
+ \begin{minipage}[t]{7cm}
+ \begin{flushleft}
+ Added definitions of new classes DPCI and PPCI. Updated the table
+ and the diagram representing relationships between classes.
+ Added host.PPCIs and VM.DPCIs fields.
+ \end{flushleft}
+ \end{minipage}\\
+ \hline
\end{tabular}
\end{center}
diff -r 7a35ab9dba8a -r fa8a39619154 docs/xen-api/xenapi-coversheet.tex
--- a/docs/xen-api/xenapi-coversheet.tex Mon Jul 28 11:39:32 2008 +0100
+++ b/docs/xen-api/xenapi-coversheet.tex Mon Jul 28 11:40:21 2008 +0100
@@ -17,12 +17,12 @@
\newcommand{\coversheetlogo}{xen.eps}
%% Document date
-\newcommand{\datestring}{11th February 2008}
+\newcommand{\datestring}{24th July 2008}
\newcommand{\releasestatement}{Stable Release}
%% Document revision
-\newcommand{\revstring}{API Revision 1.0.5}
+\newcommand{\revstring}{API Revision 1.0.6}
%% Document authors
\newcommand{\docauthors}{
diff -r 7a35ab9dba8a -r fa8a39619154 docs/xen-api/xenapi-datamodel-graph.dot
--- a/docs/xen-api/xenapi-datamodel-graph.dot Mon Jul 28 11:39:32 2008 +0100
+++ b/docs/xen-api/xenapi-datamodel-graph.dot Mon Jul 28 11:40:21 2008 +0100
@@ -14,7 +14,7 @@ fontname="Verdana";
node [ shape=box ]; session VM host network VIF PIF SR VDI VBD PBD user
XSPolicy ACMPolicy;
node [shape=ellipse]; PIF_metrics VIF_metrics VM_metrics VBD_metrics
PBD_metrics VM_guest_metrics host_metrics;
-node [shape=box]; host_cpu console
+node [shape=box]; DPCI PPCI host_cpu console
session -> host [ arrowhead="none" ]
session -> user [ arrowhead="none" ]
VM -> VM_metrics [ arrowhead="none" ]
@@ -22,7 +22,7 @@ VM -> console [ arrowhead="crow" ]
VM -> console [ arrowhead="crow" ]
host -> PBD [ arrowhead="crow", arrowtail="none" ]
host -> host_metrics [ arrowhead="none" ]
-host -> host_cpu [ arrowhead="none" ]
+host -> host_cpu [ arrowhead="crow", arrowtail="none" ]
VIF -> VM [ arrowhead="none", arrowtail="crow" ]
VIF -> network [ arrowhead="none", arrowtail="crow" ]
VIF -> VIF_metrics [ arrowhead="none" ]
@@ -38,4 +38,7 @@ VBD -> VBD_metrics [ arrowhead="none" ]
VBD -> VBD_metrics [ arrowhead="none" ]
XSPolicy -> host [ arrowhead="none" ]
XSPolicy -> ACMPolicy [ arrowhead="none" ]
+DPCI -> VM [ arrowhead="none", arrowtail="crow" ]
+DPCI -> PPCI [ arrowhead="none" ]
+PPCI -> host [ arrowhead="none", arrowtail="crow" ]
}
diff -r 7a35ab9dba8a -r fa8a39619154 docs/xen-api/xenapi-datamodel.tex
--- a/docs/xen-api/xenapi-datamodel.tex Mon Jul 28 11:39:32 2008 +0100
+++ b/docs/xen-api/xenapi-datamodel.tex Mon Jul 28 11:40:21 2008 +0100
@@ -44,6 +44,8 @@ Name & Description \\
{\tt crashdump} & A VM crashdump \\
{\tt VTPM} & A virtual TPM device \\
{\tt console} & A console \\
+{\tt DPCI} & A pass-through PCI device \\
+{\tt PPCI} & A physical PCI device \\
{\tt user} & A user of the system \\
{\tt debug} & A basic class for testing \\
{\tt XSPolicy} & A class for handling Xen Security Policies \\
@@ -70,6 +72,8 @@ SR.VDIs & VDI.SR & many-to-one\\
SR.VDIs & VDI.SR & many-to-one\\
VTPM.VM & VM.VTPMs & one-to-many\\
console.VM & VM.consoles & one-to-many\\
+DPCI.VM & VM.DPCIs & one-to-many\\
+PPCI.host & host.PPCIs & one-to-many\\
host.resident\_VMs & VM.resident\_on & many-to-one\\
host.host\_CPUs & host\_cpu.host & many-to-one\\
\hline
@@ -1402,6 +1406,7 @@ Quals & Field & Type & Description \\
$\mathit{RO}_\mathit{run}$ & {\tt VBDs} & (VBD ref) Set & virtual block
devices \\
$\mathit{RO}_\mathit{run}$ & {\tt crash\_dumps} & (crashdump ref) Set & crash
dumps associated with this VM \\
$\mathit{RO}_\mathit{run}$ & {\tt VTPMs} & (VTPM ref) Set & virtual TPMs \\
+$\mathit{RO}_\mathit{run}$ & {\tt DPCIs} & (DPCI ref) Set & pass-through PCI
devices \\
$\mathit{RW}$ & {\tt PV/bootloader} & string & name of or path to bootloader
\\
$\mathit{RW}$ & {\tt PV/kernel} & string & path to the kernel \\
$\mathit{RW}$ & {\tt PV/ramdisk} & string & path to the initrd \\
@@ -3406,6 +3411,38 @@ Get the VTPMs field of the given VM.
\noindent {\bf Return Type:}
{\tt
(VTPM ref) Set
+}
+
+
+value of the field
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
+\subsubsection{RPC name:~get\_DPCIs}
+
+{\bf Overview:}
+Get the DPCIs field of the given VM.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} ((DPCI ref) Set) get_DPCIs (session_id s, VM ref
self)\end{verbatim}
+
+
+\noindent{\bf Arguments:}
+
+
+\vspace{0.3cm}
+\begin{tabular}{|c|c|p{7cm}|}
+ \hline
+{\bf type} & {\bf name} & {\bf description} \\ \hline
+{\tt VM ref } & self & reference to the object \\ \hline
+
+\end{tabular}
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+(DPCI ref) Set
}
@@ -5480,6 +5517,7 @@ Quals & Field & Type & Description \\
$\mathit{RW}$ & {\tt suspend\_image\_sr} & SR ref & The SR in which VDIs for
suspend images are created \\
$\mathit{RW}$ & {\tt crash\_dump\_sr} & SR ref & The SR in which VDIs for
crash dumps are created \\
$\mathit{RO}_\mathit{run}$ & {\tt PBDs} & (PBD ref) Set & physical
blockdevices \\
+$\mathit{RO}_\mathit{run}$ & {\tt PPCIs} & (PPCI ref) Set & physical PCI
devices \\
$\mathit{RO}_\mathit{run}$ & {\tt host\_CPUs} & (host\_cpu ref) Set & The
physical CPUs on this host \\
$\mathit{RO}_\mathit{run}$ & {\tt metrics} & host\_metrics ref & metrics
associated with this host \\
\hline
@@ -6767,6 +6805,38 @@ Get the PBDs field of the given host.
\noindent {\bf Return Type:}
{\tt
(PBD ref) Set
+}
+
+
+value of the field
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
+\subsubsection{RPC name:~get\_PPCIs}
+
+{\bf Overview:}
+Get the PPCIs field of the given host.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} ((PPCI ref) Set) get_PPCIs (session_id s, host ref
self)\end{verbatim}
+
+
+\noindent{\bf Arguments:}
+
+
+\vspace{0.3cm}
+\begin{tabular}{|c|c|p{7cm}|}
+ \hline
+{\bf type} & {\bf name} & {\bf description} \\ \hline
+{\tt host ref } & self & reference to the object \\ \hline
+
+\end{tabular}
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+(PPCI ref) Set
}
@@ -14464,6 +14534,1195 @@ all fields from the object
\vspace{1cm}
\newpage
+\section{Class: DPCI}
+\subsection{Fields for class: DPCI}
+\begin{longtable}{|lllp{0.38\textwidth}|}
+\hline
+\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf DPCI} \\
+\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
+pass-through PCI device.}} \\
+\hline
+Quals & Field & Type & Description \\
+\hline
+$\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object
reference \\
+$\mathit{RO}_\mathit{inst}$ & {\tt VM} & VM ref & the virtual machine \\
+$\mathit{RO}_\mathit{inst}$ & {\tt PPCI} & PPCI ref & the physical PCI device
\\
+$\mathit{RO}_\mathit{inst}$ & {\tt hotplug\_slot} & int & the slot number to
which this PCI device is inserted \\
+$\mathit{RO}_\mathit{run}$ & {\tt virtual\_domain} & int & the virtual domain
number \\
+$\mathit{RO}_\mathit{run}$ & {\tt virtual\_bus} & int & the virtual bus
number \\
+$\mathit{RO}_\mathit{run}$ & {\tt virtual\_slot} & int & the virtual slot
number \\
+$\mathit{RO}_\mathit{run}$ & {\tt virtual\_func} & int & the virtual func
number \\
+$\mathit{RO}_\mathit{run}$ & {\tt virtual\_name} & string & the virtual PCI
name \\
+\hline
+\end{longtable}
+\subsection{RPCs associated with class: DPCI}
+\subsubsection{RPC name:~get\_all}
+
+{\bf Overview:}
+Return a list of all the DPCIs known to the system.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} ((DPCI ref) Set) get_all (session_id s)\end{verbatim}
+
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+(DPCI ref) Set
+}
+
+
+references to all objects
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
+\subsubsection{RPC name:~get\_uuid}
+
+{\bf Overview:}
+Get the uuid field of the given DPCI.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} string get_uuid (session_id s, DPCI ref self)\end{verbatim}
+
+
+\noindent{\bf Arguments:}
+
+
+\vspace{0.3cm}
+\begin{tabular}{|c|c|p{7cm}|}
+ \hline
+{\bf type} & {\bf name} & {\bf description} \\ \hline
+{\tt DPCI ref } & self & reference to the object \\ \hline
+
+\end{tabular}
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+string
+}
+
+
+value of the field
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
+\subsubsection{RPC name:~get\_VM}
+
+{\bf Overview:}
+Get the VM field of the given DPCI.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} (VM ref) get_VM (session_id s, DPCI ref self)\end{verbatim}
+
+
+\noindent{\bf Arguments:}
+
+
+\vspace{0.3cm}
+\begin{tabular}{|c|c|p{7cm}|}
+ \hline
+{\bf type} & {\bf name} & {\bf description} \\ \hline
+{\tt DPCI ref } & self & reference to the object \\ \hline
+
+\end{tabular}
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+VM ref
+}
+
+
+value of the field
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
+\subsubsection{RPC name:~get\_PPCI}
+
+{\bf Overview:}
+Get the PPCI field of the given DPCI.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} (PPCI ref) get_PPCI (session_id s, DPCI ref
self)\end{verbatim}
+
+
+\noindent{\bf Arguments:}
+
+
+\vspace{0.3cm}
+\begin{tabular}{|c|c|p{7cm}|}
+ \hline
+{\bf type} & {\bf name} & {\bf description} \\ \hline
+{\tt DPCI ref } & self & reference to the object \\ \hline
+
+\end{tabular}
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+PPCI ref
+}
+
+
+value of the field
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
+\subsubsection{RPC name:~get\_hotplug\_slot}
+
+{\bf Overview:}
+Get the hotplug\_slot field of the given DPCI.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} int get_hotplug_slot (session_id s, DPCI ref
self)\end{verbatim}
+
+
+\noindent{\bf Arguments:}
+
+
+\vspace{0.3cm}
+\begin{tabular}{|c|c|p{7cm}|}
+ \hline
+{\bf type} & {\bf name} & {\bf description} \\ \hline
+{\tt DPCI ref } & self & reference to the object \\ \hline
+
+\end{tabular}
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+int
+}
+
+
+value of the field
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
+\subsubsection{RPC name:~get\_virtual\_domain}
+
+{\bf Overview:}
+Get the virtual\_domain field of the given DPCI.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} int get_virtual_domain (session_id s, DPCI ref
self)\end{verbatim}
+
+
+\noindent{\bf Arguments:}
+
+
+\vspace{0.3cm}
+\begin{tabular}{|c|c|p{7cm}|}
+ \hline
+{\bf type} & {\bf name} & {\bf description} \\ \hline
+{\tt DPCI ref } & self & reference to the object \\ \hline
+
+\end{tabular}
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+int
+}
+
+
+value of the field
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
+\subsubsection{RPC name:~get\_virtual\_bus}
+
+{\bf Overview:}
+Get the virtual\_bus field of the given DPCI.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} int get_virtual_bus (session_id s, DPCI ref
self)\end{verbatim}
+
+
+\noindent{\bf Arguments:}
+
+
+\vspace{0.3cm}
+\begin{tabular}{|c|c|p{7cm}|}
+ \hline
+{\bf type} & {\bf name} & {\bf description} \\ \hline
+{\tt DPCI ref } & self & reference to the object \\ \hline
+
+\end{tabular}
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+int
+}
+
+
+value of the field
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
+\subsubsection{RPC name:~get\_virtual\_slot}
+
+{\bf Overview:}
+Get the virtual\_slot field of the given DPCI.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} int get_virtual_slot (session_id s, DPCI ref
self)\end{verbatim}
+
+
+\noindent{\bf Arguments:}
+
+
+\vspace{0.3cm}
+\begin{tabular}{|c|c|p{7cm}|}
+ \hline
+{\bf type} & {\bf name} & {\bf description} \\ \hline
+{\tt DPCI ref } & self & reference to the object \\ \hline
+
+\end{tabular}
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+int
+}
+
+
+value of the field
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
+\subsubsection{RPC name:~get\_virtual\_func}
+
+{\bf Overview:}
+Get the virtual\_func field of the given DPCI.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} int get_virtual_func (session_id s, DPCI ref
self)\end{verbatim}
+
+
+\noindent{\bf Arguments:}
+
+
+\vspace{0.3cm}
+\begin{tabular}{|c|c|p{7cm}|}
+ \hline
+{\bf type} & {\bf name} & {\bf description} \\ \hline
+{\tt DPCI ref } & self & reference to the object \\ \hline
+
+\end{tabular}
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+int
+}
+
+
+value of the field
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
+\subsubsection{RPC name:~get\_virtual\_name}
+
+{\bf Overview:}
+Get the virtual\_name field of the given DPCI.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} string get_virtual_name (session_id s, DPCI ref
self)\end{verbatim}
+
+
+\noindent{\bf Arguments:}
+
+
+\vspace{0.3cm}
+\begin{tabular}{|c|c|p{7cm}|}
+ \hline
+{\bf type} & {\bf name} & {\bf description} \\ \hline
+{\tt DPCI ref } & self & reference to the object \\ \hline
+
+\end{tabular}
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+string
+}
+
+
+value of the field
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
+\subsubsection{RPC name:~create}
+
+{\bf Overview:}
+Create a new DPCI instance, and return its handle.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} (DPCI ref) create (session_id s, DPCI record
args)\end{verbatim}
+
+
+\noindent{\bf Arguments:}
+
+
+\vspace{0.3cm}
+\begin{tabular}{|c|c|p{7cm}|}
+ \hline
+{\bf type} & {\bf name} & {\bf description} \\ \hline
+{\tt DPCI record } & args & All constructor arguments \\ \hline
+
+\end{tabular}
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+DPCI ref
+}
+
+
+reference to the newly created object
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
+\subsubsection{RPC name:~destroy}
+
+{\bf Overview:}
+Destroy the specified DPCI instance.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} void destroy (session_id s, DPCI ref self)\end{verbatim}
+
+
+\noindent{\bf Arguments:}
+
+
+\vspace{0.3cm}
+\begin{tabular}{|c|c|p{7cm}|}
+ \hline
+{\bf type} & {\bf name} & {\bf description} \\ \hline
+{\tt DPCI ref } & self & reference to the object \\ \hline
+
+\end{tabular}
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+void
+}
+
+
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
+\subsubsection{RPC name:~get\_by\_uuid}
+
+{\bf Overview:}
+Get a reference to the DPCI instance with the specified UUID.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} (DPCI ref) get_by_uuid (session_id s, string
uuid)\end{verbatim}
+
+
+\noindent{\bf Arguments:}
+
+
+\vspace{0.3cm}
+\begin{tabular}{|c|c|p{7cm}|}
+ \hline
+{\bf type} & {\bf name} & {\bf description} \\ \hline
+{\tt string } & uuid & UUID of object to return \\ \hline
+
+\end{tabular}
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+DPCI ref
+}
+
+
+reference to the object
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
+\subsubsection{RPC name:~get\_record}
+
+{\bf Overview:}
+Get a record containing the current state of the given DPCI.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} (DPCI record) get_record (session_id s, DPCI ref
self)\end{verbatim}
+
+
+\noindent{\bf Arguments:}
+
+
+\vspace{0.3cm}
+\begin{tabular}{|c|c|p{7cm}|}
+ \hline
+{\bf type} & {\bf name} & {\bf description} \\ \hline
+{\tt DPCI ref } & self & reference to the object \\ \hline
+
+\end{tabular}
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+DPCI record
+}
+
+
+all fields from the object
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
+
+\vspace{1cm}
+\newpage
+\section{Class: PPCI}
+\subsection{Fields for class: PPCI}
+\begin{longtable}{|lllp{0.38\textwidth}|}
+\hline
+\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf PPCI} \\
+\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
+physical PCI device.}} \\
+\hline
+Quals & Field & Type & Description \\
+\hline
+$\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object
reference \\
+$\mathit{RO}_\mathit{run}$ & {\tt host} & host ref & the physical machine to
which this PPCI is connected \\
+$\mathit{RO}_\mathit{run}$ & {\tt domain} & int & the domain number \\
+$\mathit{RO}_\mathit{run}$ & {\tt bus} & int & the bus number \\
+$\mathit{RO}_\mathit{run}$ & {\tt slot} & int & the slot number \\
+$\mathit{RO}_\mathit{run}$ & {\tt func} & int & the func number \\
+$\mathit{RO}_\mathit{run}$ & {\tt name} & string & the PCI name \\
+$\mathit{RO}_\mathit{run}$ & {\tt vendor\_id} & int & the vendor ID \\
+$\mathit{RO}_\mathit{run}$ & {\tt vendor\_name} & string & the vendor name \\
+$\mathit{RO}_\mathit{run}$ & {\tt device\_id} & int & the device ID \\
+$\mathit{RO}_\mathit{run}$ & {\tt device\_name} & string & the device name \\
+$\mathit{RO}_\mathit{run}$ & {\tt revision\_id} & int & the revision ID \\
+$\mathit{RO}_\mathit{run}$ & {\tt class\_code} & int & the class code \\
+$\mathit{RO}_\mathit{run}$ & {\tt class\_name} & string & the class name \\
+$\mathit{RO}_\mathit{run}$ & {\tt subsystem\_vendor\_id} & int & the
subsystem vendor ID \\
+$\mathit{RO}_\mathit{run}$ & {\tt subsystem\_vendor\_name} & string & the
subsystem vendor name \\
+$\mathit{RO}_\mathit{run}$ & {\tt subsystem\_id} & int & the subsystem ID \\
+$\mathit{RO}_\mathit{run}$ & {\tt subsystem\_name} & string & the subsystem
name \\
+$\mathit{RO}_\mathit{run}$ & {\tt driver} & string & the driver name \\
+\hline
+\end{longtable}
+\subsection{RPCs associated with class: PPCI}
+\subsubsection{RPC name:~get\_all}
+
+{\bf Overview:}
+Return a list of all the PPCIs known to the system.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} ((PPCI ref) Set) get_all (session_id s)\end{verbatim}
+
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+(PPCI ref) Set
+}
+
+
+references to all objects
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
+\subsubsection{RPC name:~get\_uuid}
+
+{\bf Overview:}
+Get the uuid field of the given PPCI.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} string get_uuid (session_id s, PPCI ref self)\end{verbatim}
+
+
+\noindent{\bf Arguments:}
+
+
+\vspace{0.3cm}
+\begin{tabular}{|c|c|p{7cm}|}
+ \hline
+{\bf type} & {\bf name} & {\bf description} \\ \hline
+{\tt PPCI ref } & self & reference to the object \\ \hline
+
+\end{tabular}
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+string
+}
+
+
+value of the field
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
+\subsubsection{RPC name:~get\_host}
+
+{\bf Overview:}
+Get the host field of the given PPCI.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} (host ref) get_host (session_id s, PPCI ref
self)\end{verbatim}
+
+
+\noindent{\bf Arguments:}
+
+
+\vspace{0.3cm}
+\begin{tabular}{|c|c|p{7cm}|}
+ \hline
+{\bf type} & {\bf name} & {\bf description} \\ \hline
+{\tt PPCI ref } & self & reference to the object \\ \hline
+
+\end{tabular}
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+host ref
+}
+
+
+value of the field
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
+\subsubsection{RPC name:~get\_domain}
+
+{\bf Overview:}
+Get the domain field of the given PPCI.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} int get_domain (session_id s, PPCI ref self)\end{verbatim}
+
+
+\noindent{\bf Arguments:}
+
+
+\vspace{0.3cm}
+\begin{tabular}{|c|c|p{7cm}|}
+ \hline
+{\bf type} & {\bf name} & {\bf description} \\ \hline
+{\tt PPCI ref } & self & reference to the object \\ \hline
+
+\end{tabular}
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+int
+}
+
+
+value of the field
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
+\subsubsection{RPC name:~get\_bus}
+
+{\bf Overview:}
+Get the bus field of the given PPCI.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} int get_bus (session_id s, PPCI ref self)\end{verbatim}
+
+
+\noindent{\bf Arguments:}
+
+
+\vspace{0.3cm}
+\begin{tabular}{|c|c|p{7cm}|}
+ \hline
+{\bf type} & {\bf name} & {\bf description} \\ \hline
+{\tt PPCI ref } & self & reference to the object \\ \hline
+
+\end{tabular}
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+int
+}
+
+
+value of the field
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
+\subsubsection{RPC name:~get\_slot}
+
+{\bf Overview:}
+Get the slot field of the given PPCI.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} int get_slot (session_id s, PPCI ref self)\end{verbatim}
+
+
+\noindent{\bf Arguments:}
+
+
+\vspace{0.3cm}
+\begin{tabular}{|c|c|p{7cm}|}
+ \hline
+{\bf type} & {\bf name} & {\bf description} \\ \hline
+{\tt PPCI ref } & self & reference to the object \\ \hline
+
+\end{tabular}
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+int
+}
+
+
+value of the field
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
+\subsubsection{RPC name:~get\_func}
+
+{\bf Overview:}
+Get the func field of the given PPCI.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} int get_func (session_id s, PPCI ref self)\end{verbatim}
+
+
+\noindent{\bf Arguments:}
+
+
+\vspace{0.3cm}
+\begin{tabular}{|c|c|p{7cm}|}
+ \hline
+{\bf type} & {\bf name} & {\bf description} \\ \hline
+{\tt PPCI ref } & self & reference to the object \\ \hline
+
+\end{tabular}
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+int
+}
+
+
+value of the field
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
+\subsubsection{RPC name:~get\_name}
+
+{\bf Overview:}
+Get the name field of the given PPCI.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} string get_name (session_id s, PPCI ref self)\end{verbatim}
+
+
+\noindent{\bf Arguments:}
+
+
+\vspace{0.3cm}
+\begin{tabular}{|c|c|p{7cm}|}
+ \hline
+{\bf type} & {\bf name} & {\bf description} \\ \hline
+{\tt PPCI ref } & self & reference to the object \\ \hline
+
+\end{tabular}
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+string
+}
+
+
+value of the field
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
+\subsubsection{RPC name:~get\_vendor\_id}
+
+{\bf Overview:}
+Get the vendor\_id field of the given PPCI.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} int get_vendor_id (session_id s, PPCI ref self)\end{verbatim}
+
+
+\noindent{\bf Arguments:}
+
+
+\vspace{0.3cm}
+\begin{tabular}{|c|c|p{7cm}|}
+ \hline
+{\bf type} & {\bf name} & {\bf description} \\ \hline
+{\tt PPCI ref } & self & reference to the object \\ \hline
+
+\end{tabular}
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+int
+}
+
+
+value of the field
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
+\subsubsection{RPC name:~get\_vendor\_name}
+
+{\bf Overview:}
+Get the vendor\_name field of the given PPCI.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} string get_vendor_name (session_id s, PPCI ref
self)\end{verbatim}
+
+
+\noindent{\bf Arguments:}
+
+
+\vspace{0.3cm}
+\begin{tabular}{|c|c|p{7cm}|}
+ \hline
+{\bf type} & {\bf name} & {\bf description} \\ \hline
+{\tt PPCI ref } & self & reference to the object \\ \hline
+
+\end{tabular}
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+string
+}
+
+
+value of the field
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
+\subsubsection{RPC name:~get\_device\_id}
+
+{\bf Overview:}
+Get the device\_id field of the given PPCI.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} int get_device_id (session_id s, PPCI ref self)\end{verbatim}
+
+
+\noindent{\bf Arguments:}
+
+
+\vspace{0.3cm}
+\begin{tabular}{|c|c|p{7cm}|}
+ \hline
+{\bf type} & {\bf name} & {\bf description} \\ \hline
+{\tt PPCI ref } & self & reference to the object \\ \hline
+
+\end{tabular}
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+int
+}
+
+
+value of the field
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
+\subsubsection{RPC name:~get\_device\_name}
+
+{\bf Overview:}
+Get the device\_name field of the given PPCI.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} string get_device_name (session_id s, PPCI ref
self)\end{verbatim}
+
+
+\noindent{\bf Arguments:}
+
+
+\vspace{0.3cm}
+\begin{tabular}{|c|c|p{7cm}|}
+ \hline
+{\bf type} & {\bf name} & {\bf description} \\ \hline
+{\tt PPCI ref } & self & reference to the object \\ \hline
+
+\end{tabular}
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+string
+}
+
+
+value of the field
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
+\subsubsection{RPC name:~get\_revision\_id}
+
+{\bf Overview:}
+Get the revision\_id field of the given PPCI.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} int get_revision_id (session_id s, PPCI ref
self)\end{verbatim}
+
+
+\noindent{\bf Arguments:}
+
+
+\vspace{0.3cm}
+\begin{tabular}{|c|c|p{7cm}|}
+ \hline
+{\bf type} & {\bf name} & {\bf description} \\ \hline
+{\tt PPCI ref } & self & reference to the object \\ \hline
+
+\end{tabular}
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+int
+}
+
+
+value of the field
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
+\subsubsection{RPC name:~get\_class\_code}
+
+{\bf Overview:}
+Get the class\_code field of the given PPCI.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} int get_class_code (session_id s, PPCI ref self)\end{verbatim}
+
+
+\noindent{\bf Arguments:}
+
+
+\vspace{0.3cm}
+\begin{tabular}{|c|c|p{7cm}|}
+ \hline
+{\bf type} & {\bf name} & {\bf description} \\ \hline
+{\tt PPCI ref } & self & reference to the object \\ \hline
+
+\end{tabular}
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+int
+}
+
+
+value of the field
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
+\subsubsection{RPC name:~get\_class\_name}
+
+{\bf Overview:}
+Get the class\_name field of the given PPCI.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} string get_class_name (session_id s, PPCI ref
self)\end{verbatim}
+
+
+\noindent{\bf Arguments:}
+
+
+\vspace{0.3cm}
+\begin{tabular}{|c|c|p{7cm}|}
+ \hline
+{\bf type} & {\bf name} & {\bf description} \\ \hline
+{\tt PPCI ref } & self & reference to the object \\ \hline
+
+\end{tabular}
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+string
+}
+
+
+value of the field
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
+\subsubsection{RPC name:~get\_subsystem\_vendor\_id}
+
+{\bf Overview:}
+Get the subsystem\_vendor\_id field of the given PPCI.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} int get_subsystem_vendor_id (session_id s, PPCI ref
self)\end{verbatim}
+
+
+\noindent{\bf Arguments:}
+
+
+\vspace{0.3cm}
+\begin{tabular}{|c|c|p{7cm}|}
+ \hline
+{\bf type} & {\bf name} & {\bf description} \\ \hline
+{\tt PPCI ref } & self & reference to the object \\ \hline
+
+\end{tabular}
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+int
+}
+
+
+value of the field
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
+\subsubsection{RPC name:~get\_subsystem\_vendor\_name}
+
+{\bf Overview:}
+Get the subsystem\_vendor\_name field of the given PPCI.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} string get_subsystem_vendor_name (session_id s, PPCI ref
self)\end{verbatim}
+
+
+\noindent{\bf Arguments:}
+
+
+\vspace{0.3cm}
+\begin{tabular}{|c|c|p{7cm}|}
+ \hline
+{\bf type} & {\bf name} & {\bf description} \\ \hline
+{\tt PPCI ref } & self & reference to the object \\ \hline
+
+\end{tabular}
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+string
+}
+
+
+value of the field
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
+\subsubsection{RPC name:~get\_subsystem\_id}
+
+{\bf Overview:}
+Get the subsystem\_id field of the given PPCI.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} int get_subsystem_id (session_id s, PPCI ref
self)\end{verbatim}
+
+
+\noindent{\bf Arguments:}
+
+
+\vspace{0.3cm}
+\begin{tabular}{|c|c|p{7cm}|}
+ \hline
+{\bf type} & {\bf name} & {\bf description} \\ \hline
+{\tt PPCI ref } & self & reference to the object \\ \hline
+
+\end{tabular}
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+int
+}
+
+
+value of the field
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
+\subsubsection{RPC name:~get\_subsystem\_name}
+
+{\bf Overview:}
+Get the subsystem\_name field of the given PPCI.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} string get_subsystem_name (session_id s, PPCI ref
self)\end{verbatim}
+
+
+\noindent{\bf Arguments:}
+
+
+\vspace{0.3cm}
+\begin{tabular}{|c|c|p{7cm}|}
+ \hline
+{\bf type} & {\bf name} & {\bf description} \\ \hline
+{\tt PPCI ref } & self & reference to the object \\ \hline
+
+\end{tabular}
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+string
+}
+
+
+value of the field
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
+\subsubsection{RPC name:~get\_driver}
+
+{\bf Overview:}
+Get the driver field of the given PPCI.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} string get_driver (session_id s, PPCI ref self)\end{verbatim}
+
+
+\noindent{\bf Arguments:}
+
+
+\vspace{0.3cm}
+\begin{tabular}{|c|c|p{7cm}|}
+ \hline
+{\bf type} & {\bf name} & {\bf description} \\ \hline
+{\tt PPCI ref } & self & reference to the object \\ \hline
+
+\end{tabular}
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+string
+}
+
+
+value of the field
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
+\subsubsection{RPC name:~get\_by\_uuid}
+
+{\bf Overview:}
+Get a reference to the PPCI instance with the specified UUID.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} (PPCI ref) get_by_uuid (session_id s, string
uuid)\end{verbatim}
+
+
+\noindent{\bf Arguments:}
+
+
+\vspace{0.3cm}
+\begin{tabular}{|c|c|p{7cm}|}
+ \hline
+{\bf type} & {\bf name} & {\bf description} \\ \hline
+{\tt string } & uuid & UUID of object to return \\ \hline
+
+\end{tabular}
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+PPCI ref
+}
+
+
+reference to the object
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
+\subsubsection{RPC name:~get\_record}
+
+{\bf Overview:}
+Get a record containing the current state of the given PPCI.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} (PPCI record) get_record (session_id s, PPCI ref
self)\end{verbatim}
+
+
+\noindent{\bf Arguments:}
+
+
+\vspace{0.3cm}
+\begin{tabular}{|c|c|p{7cm}|}
+ \hline
+{\bf type} & {\bf name} & {\bf description} \\ \hline
+{\tt PPCI ref } & self & reference to the object \\ \hline
+
+\end{tabular}
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+PPCI record
+}
+
+
+all fields from the object
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
+
+\vspace{1cm}
+\newpage
\section{Class: user}
\subsection{Fields for class: user}
\begin{longtable}{|lllp{0.38\textwidth}|}
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|