zoneadm.h revision 6cfd72c6361fc164bc537fc17e829cccc62b0b1f
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek/*
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek * CDDL HEADER START
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek *
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek * The contents of this file are subject to the terms of the
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek * Common Development and Distribution License (the "License").
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek * You may not use this file except in compliance with the License.
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek *
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek * or http://www.opensolaris.org/os/licensing.
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek * See the License for the specific language governing permissions
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek * and limitations under the License.
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek *
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek * When distributing Covered Code, include this CDDL HEADER in each
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek * If applicable, add the following below this CDDL HEADER, with the
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek * fields enclosed by brackets "[]" replaced with your own identifying
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek * information: Portions Copyright [yyyy] [name of copyright owner]
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek *
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek * CDDL HEADER END
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek */
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek/*
6cfd72c6361fc164bc537fc17e829cccc62b0b1fgjelinek * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek * Use is subject to license terms.
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek */
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek#ifndef _ZONEADM_H
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek#define _ZONEADM_H
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek#pragma ident "%Z%%M% %I% %E% SMI"
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek#define CMD_HELP 0
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek#define CMD_BOOT 1
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek#define CMD_HALT 2
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek#define CMD_READY 3
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek#define CMD_REBOOT 4
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek#define CMD_LIST 5
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek#define CMD_VERIFY 6
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek#define CMD_INSTALL 7
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek#define CMD_UNINSTALL 8
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek#define CMD_MOUNT 9
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek#define CMD_UNMOUNT 10
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek#define CMD_CLONE 11
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek#define CMD_MOVE 12
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek#define CMD_DETACH 13
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek#define CMD_ATTACH 14
555afedfc38adf0cc5fbc1de696dc811973eaacacarlsonj#define CMD_MARK 15
0209230bf1261579beab4f55226bb509e6b850cbgjelinek#define CMD_APPLY 16
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek#define CMD_MIN CMD_HELP
0209230bf1261579beab4f55226bb509e6b850cbgjelinek#define CMD_MAX CMD_APPLY
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek#if !defined(TEXT_DOMAIN) /* should be defined by cc -D */
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek#define TEXT_DOMAIN "SYS_TEST" /* Use this only if it wasn't */
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek#endif
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek#define Z_ERR 1
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek#define Z_USAGE 2
6cfd72c6361fc164bc537fc17e829cccc62b0b1fgjelinek#define Z_FATAL 3
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek#define SW_CMP_NONE 0x0
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek#define SW_CMP_SRC 0x01
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek#define SW_CMP_SILENT 0x02
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek/*
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek * zoneadm.c
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek */
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinekextern char *target_zone;
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinekextern int clone_copy(char *source_zonepath, char *zonepath);
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinekextern char *cmd_to_str(int cmd_num);
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinekextern void zerror(const char *fmt, ...);
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinekextern void zperror(const char *str, boolean_t zonecfg_error);
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinekextern void zperror2(const char *zone, const char *str);
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek/*
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek * zfs.c
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek */
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinekextern int clone_snapshot_zfs(char *snap_name, char *zonepath);
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinekextern int clone_zfs(char *source_zone, char *source_zonepath, char *zonepath);
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinekextern void create_zfs_zonepath(char *zonepath);
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinekextern int destroy_zfs(char *zonepath);
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinekextern boolean_t is_zonepath_zfs(char *zonepath);
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinekextern int move_zfs(char *zonepath, char *new_zonepath);
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinekextern int verify_datasets(zone_dochandle_t handle);
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinekextern int verify_fs_zfs(struct zone_fstab *fstab);
99653d4ee642c6528e88224f12409a5f23060994eschrockextern int init_zfs(void);
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek/*
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek * sw_cmp.c
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek */
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinekextern int sw_cmp(zone_dochandle_t l_handle, zone_dochandle_t s_handle,
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek uint_t flag);
6cfd72c6361fc164bc537fc17e829cccc62b0b1fgjelinekextern int sw_up_to_date(zone_dochandle_t l_handle, zone_dochandle_t s_handle,
6cfd72c6361fc164bc537fc17e829cccc62b0b1fgjelinek char *zonepath);
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek
0b5de56d26c0148ad33bb3a9201091502f24d910gjelinek#endif /* _ZONEADM_H */