From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andres Lagar-Cavilla Subject: [PATCH 7/7] libxenlight meta-resend: get state for one domain Date: Thu, 03 Dec 2009 12:08:19 -0500 Message-ID: <4B17F083.5030904@lagarcavilla.com> References: <4B16ABF9.9000408@lagarcavilla.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------020801060207050108010907" Return-path: In-Reply-To: <4B16ABF9.9000408@lagarcavilla.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Stefano Stabellini , Vincent Hanquez , xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org This is a multi-part message in MIME format. --------------020801060207050108010907 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Simple function to get the dominfo state of a single domain. Signed-off-by: Andres Lagar-Cavilla --------------020801060207050108010907 Content-Type: text/x-patch; name="07_get_state_one_domain.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="07_get_state_one_domain.patch" # HG changeset patch # User Andres Lagar-Cavilla # Date 1259857202 18000 # Node ID 3588737e991624290d499c2804959af14b8128de # Parent 7315ca037a680d18a6c23d030139b5389a73000b Simple function to get the dominfo state of a single domain. Signed-off-by: Andres Lagar-Cavilla diff -r 7315ca037a68 -r 3588737e9916 libxl.c --- a/libxl.c +++ b/libxl.c @@ -334,6 +334,31 @@ static int libxl_save_device_model(struc return 0; } +xc_dominfo_t *libxl_domain_info(struct libxl_ctx *ctx, uint32_t domid) +{ + xc_dominfo_t *info; + int rc; + + info = (xc_dominfo_t *) calloc(1, sizeof(xc_dominfo_t)); + if (!info) { + return NULL; + } + rc = xc_domain_getinfo(ctx->xch, domid, 1, info); + if (rc != 1) { + free(info); + XL_LOG_ERRNO(ctx, XL_LOG_ERROR, "Failed to get info for domain %u", + domid); + return NULL; + } + if (info->domid != domid) { + free(info); + XL_LOG(ctx, XL_LOG_ERROR, "Failed to get info for domain %u" + ", seems to not exist anymore", domid); + return NULL; + } + + return info; +} int libxl_domain_suspend(struct libxl_ctx *ctx, libxl_domain_suspend_info *info, uint32_t domid, int fd) { diff -r 7315ca037a68 -r 3588737e9916 libxl.h --- a/libxl.h +++ b/libxl.h @@ -276,6 +276,7 @@ int libxl_console_attach(struct libxl_ct struct libxl_dominfo * libxl_domain_list(struct libxl_ctx *ctx, int *nb_domain); xc_dominfo_t * libxl_domain_infolist(struct libxl_ctx *ctx, int *nb_domain); +xc_dominfo_t * libxl_domain_info(struct libxl_ctx *ctx, uint32_t domid); typedef struct libxl_device_model_starting libxl_device_model_starting; int libxl_create_device_model(struct libxl_ctx *ctx, --------------020801060207050108010907 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --------------020801060207050108010907--