int xc_domain_set_hpet(int handle, unsigned int domid, int hpet);
int xc_domain_set_timer_mode(int handle, unsigned int domid, int mode);
int xc_domain_get_acpi_s_state(int handle, unsigned int domid);
+int xc_domain_trigger_power(int handle, unsigned int domid);
#if XEN_SYSCTL_INTERFACE_VERSION >= 6
#define SAFEDIV(a, b) (((b) >= 0) ? (a) / (b) : (a))
external domain_send_s3resume: handle -> domid -> unit = "stub_xc_domain_send_s3resume"
external domain_get_acpi_s_state: handle -> domid -> int = "stub_xc_domain_get_acpi_s_state"
+external domain_trigger_power: handle -> domid -> unit = "stub_xc_domain_trigger_power"
+
(** check if some hvm domain got pv driver or not *)
external hvm_check_pvdriver: handle -> domid -> bool
= "stub_xc_hvm_check_pvdriver"
= "stub_xc_domain_send_s3resume"
external domain_get_acpi_s_state: handle -> domid -> int = "stub_xc_domain_get_acpi_s_state"
+external domain_trigger_power: handle -> domid -> unit
+ = "stub_xc_domain_trigger_power"
+
external hvm_check_pvdriver : handle -> domid -> bool
= "stub_xc_hvm_check_pvdriver"
external version : handle -> version = "stub_xc_version_version"
return rc;
}
+int xc_domain_trigger_power(int handle, unsigned int domid)
+{
+ int ret;
+
+ DECLARE_DOMCTL(XEN_DOMCTL_sendtrigger, domid);
+ domctl.u.sendtrigger.trigger = XEN_DOMCTL_SENDTRIGGER_POWER;
+
+ ret = do_domctl(handle, &domctl);
+ if (ret != 0)
+ xc_error_set("power button failed: %s", xc_error_get());
+ return ret;
+}
+
/*
* Local variables:
* indent-tabs-mode: t
CAMLreturn(Val_unit);
}
+CAMLprim value stub_xc_domain_trigger_power(value handle, value domid)
+{
+ CAMLparam2(handle, domid);
+ xc_domain_trigger_power(_H(handle), _D(domid));
+ CAMLreturn(Val_unit);
+}
+
/*
* Local variables:
* indent-tabs-mode: t