int libxl_name_to_domid(libxl_ctx *ctx, const char *name, uint32_t *domid) { int i, nb_domains; char *domname; libxl_dominfo *dominfo; int ret = ERROR_INVAL; dominfo = libxl_list_domain(ctx, &nb_domains); if (!dominfo) return ERROR_NOMEM; for (i = 0; i < nb_domains; i++) { domname = libxl_domid_to_name(ctx, dominfo[i].domid); if (!domname) continue; if (strcmp(domname, name) == 0) { *domid = dominfo[i].domid; ret = 0; free(domname); break; } free(domname); } free(dominfo); return ret; }
int libxl_name_to_domid(struct libxl_ctx *ctx, const char *name, uint32_t *domid) { int i, nb_domains; char *domname; struct libxl_dominfo *dominfo; dominfo = libxl_list_domain(ctx, &nb_domains); if (!dominfo) return ERROR_NOMEM; for (i = 0; i < nb_domains; i++) { domname = libxl_domid_to_name(ctx, dominfo[i].domid); if (!domname) continue; if (strcmp(domname, name) == 0) { *domid = dominfo[i].domid; return 0; } } return -1; }