diff options
Diffstat (limited to 'usr/src/lib/libdladm/common/libdlmgmt.c')
-rw-r--r-- | usr/src/lib/libdladm/common/libdlmgmt.c | 25 |
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))); +} |