diff options
author | Ewan Mellor <ewan@xensource.com> | 2007-04-11 21:55:05 +0100 |
---|---|---|
committer | Ewan Mellor <ewan@xensource.com> | 2007-04-11 21:55:05 +0100 |
commit | 3e1494d7748aa644ad3fd4e9098fe22339dc1ebe (patch) | |
tree | 83d65eea71934f013b557c6b43a297c2044bcccf | |
parent | f6fe1a09917542899f949f03ee91e2b7e34c384f (diff) | |
download | xen-3e1494d7748aa644ad3fd4e9098fe22339dc1ebe.tar.gz xen-3e1494d7748aa644ad3fd4e9098fe22339dc1ebe.tar.bz2 xen-3e1494d7748aa644ad3fd4e9098fe22339dc1ebe.zip |
Added documentation and bindings for host_cpu.features.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
-rw-r--r-- | docs/xen-api/xenapi-datamodel.tex | 35 | ||||
-rw-r--r-- | tools/libxen/include/xen_host_cpu.h | 8 | ||||
-rw-r--r-- | tools/libxen/src/xen_host_cpu.c | 21 |
3 files changed, 63 insertions, 1 deletions
diff --git a/docs/xen-api/xenapi-datamodel.tex b/docs/xen-api/xenapi-datamodel.tex index a631be8a35..353fb1cc12 100644 --- a/docs/xen-api/xenapi-datamodel.tex +++ b/docs/xen-api/xenapi-datamodel.tex @@ -6634,7 +6634,8 @@ $\mathit{RO}_\mathit{run}$ & {\tt vendor} & string & the vendor of the physical $\mathit{RO}_\mathit{run}$ & {\tt speed} & int & the speed of the physical CPU \\ $\mathit{RO}_\mathit{run}$ & {\tt modelname} & string & the model name of the physical CPU \\ $\mathit{RO}_\mathit{run}$ & {\tt stepping} & string & the stepping of the physical CPU \\ -$\mathit{RO}_\mathit{run}$ & {\tt flags} & string & the flags of the physical CPU \\ +$\mathit{RO}_\mathit{run}$ & {\tt flags} & string & the flags of the physical CPU (a decoded version of the features field) \\ +$\mathit{RO}_\mathit{run}$ & {\tt features} & string & the physical CPU feature bitmap \\ $\mathit{RO}_\mathit{run}$ & {\tt utilisation} & float & the current CPU utilisation \\ \hline \end{longtable} @@ -6916,6 +6917,38 @@ value of the field \vspace{0.3cm} \vspace{0.3cm} \vspace{0.3cm} +\subsubsection{RPC name:~get\_features} + +{\bf Overview:} +Get the features field of the given host\_cpu. + + \noindent {\bf Signature:} +\begin{verbatim} string get_features (session_id s, host_cpu 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\_cpu 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\_utilisation} {\bf Overview:} diff --git a/tools/libxen/include/xen_host_cpu.h b/tools/libxen/include/xen_host_cpu.h index 8b6d37f5e3..b484793782 100644 --- a/tools/libxen/include/xen_host_cpu.h +++ b/tools/libxen/include/xen_host_cpu.h @@ -70,6 +70,7 @@ typedef struct xen_host_cpu_record char *modelname; char *stepping; char *flags; + char *features; double utilisation; } xen_host_cpu_record; @@ -223,6 +224,13 @@ xen_host_cpu_get_flags(xen_session *session, char **result, xen_host_cpu host_cp /** + * Get the features field of the given host_cpu. + */ +extern bool +xen_host_cpu_get_features(xen_session *session, char **result, xen_host_cpu host_cpu); + + +/** * Get the utilisation field of the given host_cpu. */ extern bool diff --git a/tools/libxen/src/xen_host_cpu.c b/tools/libxen/src/xen_host_cpu.c index c03241dc84..9509c570e4 100644 --- a/tools/libxen/src/xen_host_cpu.c +++ b/tools/libxen/src/xen_host_cpu.c @@ -61,6 +61,9 @@ static const struct_member xen_host_cpu_record_struct_members[] = { .key = "flags", .type = &abstract_type_string, .offset = offsetof(xen_host_cpu_record, flags) }, + { .key = "features", + .type = &abstract_type_string, + .offset = offsetof(xen_host_cpu_record, features) }, { .key = "utilisation", .type = &abstract_type_float, .offset = offsetof(xen_host_cpu_record, utilisation) } @@ -90,6 +93,7 @@ xen_host_cpu_record_free(xen_host_cpu_record *record) free(record->modelname); free(record->stepping); free(record->flags); + free(record->features); free(record); } @@ -252,6 +256,23 @@ xen_host_cpu_get_flags(xen_session *session, char **result, xen_host_cpu host_cp bool +xen_host_cpu_get_features(xen_session *session, char **result, xen_host_cpu host_cpu) +{ + abstract_value param_values[] = + { + { .type = &abstract_type_string, + .u.string_val = host_cpu } + }; + + abstract_type result_type = abstract_type_string; + + *result = NULL; + XEN_CALL_("host_cpu.get_features"); + return session->ok; +} + + +bool xen_host_cpu_get_utilisation(xen_session *session, double *result, xen_host_cpu host_cpu) { abstract_value param_values[] = |