bhyveDomainDefPostParse(virDomainDefPtr def,
virCapsPtr caps ATTRIBUTE_UNUSED,
unsigned int parseFlags ATTRIBUTE_UNUSED,
- void *opaque ATTRIBUTE_UNUSED)
+ void *opaque ATTRIBUTE_UNUSED,
+ void *parseOpaque ATTRIBUTE_UNUSED)
{
/* Add an implicit PCI root controller */
if (virDomainDefMaybeAddController(def, VIR_DOMAIN_CONTROLLER_TYPE_PCI, 0,
virDomainDefPostParse(virDomainDefPtr def,
virCapsPtr caps,
unsigned int parseFlags,
- virDomainXMLOptionPtr xmlopt)
+ virDomainXMLOptionPtr xmlopt,
+ void *parseOpaque)
{
int ret;
struct virDomainDefPostParseDeviceIteratorData data = {
/* call the domain config callback */
if (xmlopt->config.domainPostParseCallback) {
ret = xmlopt->config.domainPostParseCallback(def, caps, parseFlags,
- xmlopt->config.priv);
+ xmlopt->config.priv,
+ parseOpaque);
if (ret < 0)
return ret;
}
goto error;
/* callback to fill driver specific domain aspects */
- if (virDomainDefPostParse(def, caps, flags, xmlopt) < 0)
+ if (virDomainDefPostParse(def, caps, flags, xmlopt, NULL) < 0)
goto error;
/* valdiate configuration */
typedef virDomainXMLOption *virDomainXMLOptionPtr;
/* Called once after everything else has been parsed, for adjusting
- * overall domain defaults. */
+ * overall domain defaults.
+ * @parseOpaque is opaque data passed by virDomainDefParse* caller,
+ * @opaque is opaque data set by driver (usually pointer to driver
+ * private data). */
typedef int (*virDomainDefPostParseCallback)(virDomainDefPtr def,
virCapsPtr caps,
unsigned int parseFlags,
- void *opaque);
+ void *opaque,
+ void *parseOpaque);
/* Called once per device, for adjusting per-device settings while
* leaving the overall domain otherwise unchanged. */
typedef int (*virDomainDeviceDefPostParseCallback)(virDomainDeviceDefPtr dev,
virDomainXMLOptionGetNamespace(virDomainXMLOptionPtr xmlopt)
ATTRIBUTE_NONNULL(1);
-int
-virDomainDefPostParse(virDomainDefPtr def,
- virCapsPtr caps,
- unsigned int parseFlags,
- virDomainXMLOptionPtr xmlopt);
+int virDomainDefPostParse(virDomainDefPtr def,
+ virCapsPtr caps,
+ unsigned int parseFlags,
+ virDomainXMLOptionPtr xmlopt,
+ void *parseOpaque);
int virDomainDefValidate(virDomainDefPtr def,
virCapsPtr caps,
libxlDomainDefPostParse(virDomainDefPtr def,
virCapsPtr caps ATTRIBUTE_UNUSED,
unsigned int parseFlags ATTRIBUTE_UNUSED,
- void *opaque ATTRIBUTE_UNUSED)
+ void *opaque ATTRIBUTE_UNUSED,
+ void *parseOpaque ATTRIBUTE_UNUSED)
{
/* Xen PV domains always have a PV console, so add one to the domain config
* via post-parse callback if not explicitly specified in the XML. */
virLXCDomainDefPostParse(virDomainDefPtr def,
virCapsPtr caps,
unsigned int parseFlags ATTRIBUTE_UNUSED,
- void *opaque ATTRIBUTE_UNUSED)
+ void *opaque ATTRIBUTE_UNUSED,
+ void *parseOpaque ATTRIBUTE_UNUSED)
{
/* check for emulator and create a default one if needed */
if (!def->emulator &&
lxcSetCapDrop(vmdef, properties);
if (virDomainDefPostParse(vmdef, caps, VIR_DOMAIN_DEF_PARSE_ABI_UPDATE,
- xmlopt) < 0)
+ xmlopt, NULL) < 0)
goto cleanup;
goto cleanup;
openvzDomainDefPostParse(virDomainDefPtr def,
virCapsPtr caps ATTRIBUTE_UNUSED,
unsigned int parseFlags ATTRIBUTE_UNUSED,
- void *opaque ATTRIBUTE_UNUSED)
+ void *opaque ATTRIBUTE_UNUSED,
+ void *parseOpaque ATTRIBUTE_UNUSED)
{
/* fill the init path */
if (def->os.type == VIR_DOMAIN_OSTYPE_EXE && !def->os.init) {
phypDomainDefPostParse(virDomainDefPtr def ATTRIBUTE_UNUSED,
virCapsPtr caps ATTRIBUTE_UNUSED,
unsigned int parseFlags ATTRIBUTE_UNUSED,
- void *opaque ATTRIBUTE_UNUSED)
+ void *opaque ATTRIBUTE_UNUSED,
+ void *parseOpaque ATTRIBUTE_UNUSED)
{
return 0;
}
qemuDomainDefPostParse(virDomainDefPtr def,
virCapsPtr caps,
unsigned int parseFlags,
- void *opaque)
+ void *opaque,
+ void *parseOpaque ATTRIBUTE_UNUSED)
{
virQEMUDriverPtr driver = opaque;
virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver);
return -1;
}
- if (virDomainDefPostParse(vmdef, caps, parse_flags, xmlopt) < 0)
+ if (virDomainDefPostParse(vmdef, caps, parse_flags, xmlopt, NULL) < 0)
return -1;
return 0;
return -1;
}
- if (virDomainDefPostParse(vmdef, caps, parse_flags, xmlopt) < 0)
+ if (virDomainDefPostParse(vmdef, caps, parse_flags, xmlopt, NULL) < 0)
return -1;
return 0;
return -1;
}
- if (virDomainDefPostParse(vmdef, caps, parse_flags, xmlopt) < 0)
+ if (virDomainDefPostParse(vmdef, caps, parse_flags, xmlopt, NULL) < 0)
return -1;
return 0;
VIR_FREE(nics);
- if (virDomainDefPostParse(def, caps, 0, xmlopt) < 0)
+ if (virDomainDefPostParse(def, caps, 0, xmlopt, NULL) < 0)
goto error;
if (cmd->num_args || cmd->num_env) {
umlDomainDefPostParse(virDomainDefPtr def ATTRIBUTE_UNUSED,
virCapsPtr caps ATTRIBUTE_UNUSED,
unsigned int parseFlags ATTRIBUTE_UNUSED,
- void *opaque ATTRIBUTE_UNUSED)
+ void *opaque ATTRIBUTE_UNUSED,
+ void *parseOpaque ATTRIBUTE_UNUSED)
{
return 0;
}
vboxDomainDefPostParse(virDomainDefPtr def ATTRIBUTE_UNUSED,
virCapsPtr caps ATTRIBUTE_UNUSED,
unsigned int parseFlags ATTRIBUTE_UNUSED,
- void *opaque ATTRIBUTE_UNUSED)
+ void *opaque ATTRIBUTE_UNUSED,
+ void *parseOpaque ATTRIBUTE_UNUSED)
{
return 0;
}
vmwareDomainDefPostParse(virDomainDefPtr def ATTRIBUTE_UNUSED,
virCapsPtr caps ATTRIBUTE_UNUSED,
unsigned int parseFlags ATTRIBUTE_UNUSED,
- void *opaque ATTRIBUTE_UNUSED)
+ void *opaque ATTRIBUTE_UNUSED,
+ void *parseOpaque ATTRIBUTE_UNUSED)
{
return 0;
}
virVMXDomainDefPostParse(virDomainDefPtr def ATTRIBUTE_UNUSED,
virCapsPtr caps ATTRIBUTE_UNUSED,
unsigned int parseFlags ATTRIBUTE_UNUSED,
- void *opaque ATTRIBUTE_UNUSED)
+ void *opaque ATTRIBUTE_UNUSED,
+ void *parseOpaque ATTRIBUTE_UNUSED)
{
return 0;
}
}
if (virDomainDefPostParse(def, caps, VIR_DOMAIN_DEF_PARSE_ABI_UPDATE,
- xmlopt) < 0)
+ xmlopt, NULL) < 0)
goto cleanup;
success = true;
vzDomainDefPostParse(virDomainDefPtr def,
virCapsPtr caps ATTRIBUTE_UNUSED,
unsigned int parseFlags ATTRIBUTE_UNUSED,
- void *opaque ATTRIBUTE_UNUSED)
+ void *opaque ATTRIBUTE_UNUSED,
+ void *parseOpaque ATTRIBUTE_UNUSED)
{
if (vzDomainDefAddDefaultInputDevices(def) < 0)
return -1;
xenDomainDefPostParse(virDomainDefPtr def,
virCapsPtr caps ATTRIBUTE_UNUSED,
unsigned int parseFlags ATTRIBUTE_UNUSED,
- void *opaque ATTRIBUTE_UNUSED)
+ void *opaque ATTRIBUTE_UNUSED,
+ void *parseOpaque ATTRIBUTE_UNUSED)
{
if (!def->memballoon) {
virDomainMemballoonDefPtr memballoon;
xenapiDomainDefPostParse(virDomainDefPtr def,
virCapsPtr caps ATTRIBUTE_UNUSED,
unsigned int parseFlags ATTRIBUTE_UNUSED,
- void *opaque ATTRIBUTE_UNUSED)
+ void *opaque ATTRIBUTE_UNUSED,
+ void *parseOpaque ATTRIBUTE_UNUSED)
{
/* add implicit input device */
if (xenDomainDefAddImplicitInputDevice(def) < 0)
}
if (virDomainDefPostParse(def, caps, VIR_DOMAIN_DEF_PARSE_ABI_UPDATE,
- xmlopt) < 0)
+ xmlopt, NULL) < 0)
goto error;
return def;
goto cleanup;
if (virDomainDefPostParse(def, caps, VIR_DOMAIN_DEF_PARSE_ABI_UPDATE,
- xmlopt) < 0)
+ xmlopt, NULL) < 0)
goto cleanup;
return def;
goto cleanup;
if (virDomainDefPostParse(def, caps, VIR_DOMAIN_DEF_PARSE_ABI_UPDATE,
- xmlopt) < 0)
+ xmlopt, NULL) < 0)
goto cleanup;
return def;