static void checkpoint_devices_setup(libxl__egc *egc, libxl__checkpoint_devices_state *cds) { int i, rc; STATE_AO_GC(cds->ao); libxl__multidev_begin(ao, &cds->multidev); cds->multidev.callback = all_devices_setup_cb; for (i = 0; i < cds->num_devices; i++) { libxl__checkpoint_device *dev = cds->devs[i]; dev->ops_index = -1; libxl__multidev_prepare_with_aodev(&cds->multidev, &dev->aodev); dev->aodev.rc = ERROR_CHECKPOINT_DEVICE_NOT_SUPPORTED; dev->aodev.callback = device_setup_iterate; device_setup_iterate(egc,&dev->aodev); } rc = 0; libxl__multidev_prepared(egc, &cds->multidev, rc); }
static void remus_devices_setup(libxl__egc *egc, libxl__remus_devices_state *rds) { int i, rc; STATE_AO_GC(rds->ao); libxl__multidev_begin(ao, &rds->multidev); rds->multidev.callback = all_devices_setup_cb; for (i = 0; i < rds->num_devices; i++) { libxl__remus_device *dev = rds->devs[i]; dev->ops_index = -1; libxl__multidev_prepare_with_aodev(&rds->multidev, &dev->aodev); dev->aodev.rc = ERROR_REMUS_DEVICE_NOT_SUPPORTED; dev->aodev.callback = device_setup_iterate; device_setup_iterate(egc,&dev->aodev); } rc = 0; libxl__multidev_prepared(egc, &rds->multidev, rc); }