summaryrefslogtreecommitdiff
path: root/usr/src/lib/libdladm/common/libdlmgmt.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/lib/libdladm/common/libdlmgmt.c')
-rw-r--r--usr/src/lib/libdladm/common/libdlmgmt.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/usr/src/lib/libdladm/common/libdlmgmt.c b/usr/src/lib/libdladm/common/libdlmgmt.c
index c642567fd5..db107ed094 100644
--- a/usr/src/lib/libdladm/common/libdlmgmt.c
+++ b/usr/src/lib/libdladm/common/libdlmgmt.c
@@ -31,6 +31,7 @@
#include <unistd.h>
#include <string.h>
#include <strings.h>
+#include <zone.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/aggr.h>
@@ -607,3 +608,27 @@ dladm_destroy_conf(dladm_handle_t handle, dladm_conf_t conf)
(void) dladm_door_call(handle, &destroyconf, sizeof (destroyconf),
&retval, sizeof (retval));
}
+
+dladm_status_t
+dladm_zone_boot(dladm_handle_t handle, zoneid_t zoneid)
+{
+ dlmgmt_door_zoneboot_t zoneboot;
+ dlmgmt_zoneboot_retval_t retval;
+
+ zoneboot.ld_cmd = DLMGMT_CMD_ZONEBOOT;
+ zoneboot.ld_zoneid = zoneid;
+ return (dladm_door_call(handle, &zoneboot, sizeof (zoneboot), &retval,
+ sizeof (retval)));
+}
+
+dladm_status_t
+dladm_zone_halt(dladm_handle_t handle, zoneid_t zoneid)
+{
+ dlmgmt_door_zonehalt_t zonehalt;
+ dlmgmt_zonehalt_retval_t retval;
+
+ zonehalt.ld_cmd = DLMGMT_CMD_ZONEHALT;
+ zonehalt.ld_zoneid = zoneid;
+ return (dladm_door_call(handle, &zonehalt, sizeof (zonehalt), &retval,
+ sizeof (retval)));
+}