2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar/*
d019449136cec9f203f106de418421095790e4e2Janice Chang * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
faac71c002f7c7a98741f991b25937b24f309df0Jan Kryl * Copyright 2014 Nexenta Systems, Inc. All rights reserved.
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar */
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar/*
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * BSD 3 Clause License
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar *
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * Copyright (c) 2007, The Storage Networking Industry Association.
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar *
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * Redistribution and use in source and binary forms, with or without
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * modification, are permitted provided that the following conditions
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * are met:
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * - Redistributions of source code must retain the above copyright
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * notice, this list of conditions and the following disclaimer.
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar *
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * - Redistributions in binary form must reproduce the above copyright
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * notice, this list of conditions and the following disclaimer in
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * the documentation and/or other materials provided with the
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * distribution.
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar *
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * - Neither the name of The Storage Networking Industry Association (SNIA)
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * nor the names of its contributors may be used to endorse or promote
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * products derived from this software without specific prior written
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * permission.
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar *
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * POSSIBILITY OF SUCH DAMAGE.
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar */
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar#ifndef _NDMPD_PROP_H
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar#define _NDMPD_PROP_H
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar#include <sys/types.h>
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar#include <libscf.h>
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar#ifdef __cplusplus
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdarextern "C" {
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar#endif
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar/* NDMP property parameter flags */
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar#define NDMP_CF_NOTINIT 0x00 /* Not initialized yet */
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar#define NDMP_CF_DEFINED 0x01 /* Defined/read from env */
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar#define NDMP_CF_MODIFIED 0x02 /* Has been modified */
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdartypedef enum {
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar NDMP_DAR_SUPPORT = 0,
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar NDMP_MOVER_NIC,
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar /*
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * Force backing up the directories leading to
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * a modified object for 'dump' format backup.
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar */
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar NDMP_DUMP_PATHNODE_ENV,
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar /*
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * Force backing up the directories leading to
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * a modified object for 'tar' format backup.
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar */
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar NDMP_TAR_PATHNODE_ENV,
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar /*
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * Force to send the file history node entries
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * along with the file history dir entries for
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * all directories containing the changed files
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * to the client for incremental backup.
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar *
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * Note: This variable is added to support BakBone
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * Software's NetVault DMA which expects to get the
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * FH ADD NODES for all upper directories which
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * contain the changed files in incremental backup
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * along with the FH ADD DIRS.
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar */
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar NDMP_FHIST_INCR_ENV,
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar /* Ignore st_ctime when backing up. */
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar NDMP_IGNCTIME_ENV,
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar /* If we should check for the last modification time. */
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar NDMP_INCLMTIME_ENV,
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar /*
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * Environment variable name for the maximum permitted
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * token sequence for token-based backups.
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar */
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar NDMP_MAXSEQ_ENV,
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar /* Environment variable name for the active version. */
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar NDMP_VERSION_ENV,
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar /*
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * Environment variable name for restore path.
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * Suppose that a dircetroy named "/d1/d11" is backed
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * up and there is a file "/d1/d11/d111/f" under that
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * directory and the restore path is "/d1/r1".
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * If restore path mechanism is set to 0 which means
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * partial path restore, then the result will be
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * "/d1/r1/d111/f". If it is set to 1 which means full
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar * path restore, the result will be "/d1/r1/d1/d11/d111/f"
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar */
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar NDMP_FULL_RESTORE_PATH,
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar NDMP_DEBUG_PATH,
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar NDMP_PLUGIN_PATH,
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar NDMP_SOCKET_CSS,
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar NDMP_SOCKET_CRS,
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar NDMP_MOVER_RECSIZE,
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar NDMP_RESTORE_WILDCARD_ENABLE,
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar NDMP_CRAM_MD5_USERNAME,
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar NDMP_CRAM_MD5_PASSWORD,
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar NDMP_CLEARTEXT_USERNAME,
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar NDMP_CLEARTEXT_PASSWORD,
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar NDMP_TCP_PORT,
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar NDMP_BACKUP_QTN,
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar NDMP_RESTORE_QTN,
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar NDMP_OVERWRITE_QTN,
d019449136cec9f203f106de418421095790e4e2Janice Chang NDMP_ZFS_FORCE_OVERRIDE,
1e05b03fa76ee89d509f0c461b36cb865f1e6794Janice Chang NDMP_DRIVE_TYPE,
faac71c002f7c7a98741f991b25937b24f309df0Jan Kryl NDMP_DEBUG_MODE,
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar NDMP_MAXALL
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar} ndmpd_cfg_id_t;
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdarextern int ndmpd_load_prop(void);
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdarextern char *ndmpd_get_prop(ndmpd_cfg_id_t);
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdarextern char *ndmpd_get_prop_default(ndmpd_cfg_id_t, char *);
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdarextern int ndmpd_get_prop_yorn(ndmpd_cfg_id_t);
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar#ifdef __cplusplus
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar}
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar#endif
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar
2654012f83cec5dc15b61dfe3e4a4915f186e7a6Reza Sabdar#endif /* _NDMPD_PROP_H */