diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2008-07-28 11:40:21 +0100 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2008-07-28 11:40:21 +0100 |
commit | a4fe67df67e356accb79c649fecdd9829e031a27 (patch) | |
tree | 1764d492a1ce5c54515cb20670bfd2d7af08cb4c /docs | |
parent | bfd0dbdd08b8adbbc91975c8fab29100d0f657d7 (diff) | |
download | xen-a4fe67df67e356accb79c649fecdd9829e031a27.tar.gz xen-a4fe67df67e356accb79c649fecdd9829e031a27.tar.bz2 xen-a4fe67df67e356accb79c649fecdd9829e031a27.zip |
xenapi: Update the xenapi document for pci device assignment support.
Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@ab.jp.nec.com>
Diffstat (limited to 'docs')
-rw-r--r-- | docs/xen-api/coversheet.tex | 4 | ||||
-rw-r--r-- | docs/xen-api/revision-history.tex | 9 | ||||
-rw-r--r-- | docs/xen-api/xenapi-coversheet.tex | 4 | ||||
-rw-r--r-- | docs/xen-api/xenapi-datamodel-graph.dot | 7 | ||||
-rw-r--r-- | docs/xen-api/xenapi-datamodel.tex | 1259 |
5 files changed, 1277 insertions, 6 deletions
diff --git a/docs/xen-api/coversheet.tex b/docs/xen-api/coversheet.tex index 5a9478d20f..3d35bf67da 100644 --- a/docs/xen-api/coversheet.tex +++ b/docs/xen-api/coversheet.tex @@ -50,7 +50,7 @@ Gareth Bestor, IBM & Jon Ludlam, XenSource \\ 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 --git a/docs/xen-api/revision-history.tex b/docs/xen-api/revision-history.tex index 21ec02c45f..b65fc82ef5 100644 --- a/docs/xen-api/revision-history.tex +++ b/docs/xen-api/revision-history.tex @@ -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 --git a/docs/xen-api/xenapi-coversheet.tex b/docs/xen-api/xenapi-coversheet.tex index cd71f80ff9..a8ed57a1a1 100644 --- a/docs/xen-api/xenapi-coversheet.tex +++ b/docs/xen-api/xenapi-coversheet.tex @@ -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 --git a/docs/xen-api/xenapi-datamodel-graph.dot b/docs/xen-api/xenapi-datamodel-graph.dot index d1b84fdfda..4004edbf90 100644 --- a/docs/xen-api/xenapi-datamodel-graph.dot +++ b/docs/xen-api/xenapi-datamodel-graph.dot @@ -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 -> VM_guest_metrics [ arrowhead="none" ] 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 @@ VTPM -> VM [ arrowhead="none", arrowtail="crow" ] 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 --git a/docs/xen-api/xenapi-datamodel.tex b/docs/xen-api/xenapi-datamodel.tex index 94f5feb0d5..7589489ae9 100644 --- a/docs/xen-api/xenapi-datamodel.tex +++ b/docs/xen-api/xenapi-datamodel.tex @@ -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 @@ PIF.network & network.PIFs & one-to-many\\ 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 @@ $\mathit{RO}_\mathit{run}$ & {\tt VIFs} & (VIF ref) Set & virtual network inter $\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 \\ @@ -3413,6 +3418,38 @@ 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 +} + + +value of the field +\vspace{0.3cm} +\vspace{0.3cm} +\vspace{0.3cm} \subsubsection{RPC name:~get\_PV\_bootloader} {\bf Overview:} @@ -5480,6 +5517,7 @@ $\mathit{RO}_\mathit{run}$ & {\tt PIFs} & (PIF ref) Set & physical network inte $\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 @@ -6774,6 +6812,38 @@ 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 +} + + +value of the field +\vspace{0.3cm} +\vspace{0.3cm} +\vspace{0.3cm} \subsubsection{RPC name:~get\_host\_CPUs} {\bf Overview:} @@ -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}|} |