xref: /titanic_41/usr/src/cmd/ndmpd/include/ndmpd_prop.h (revision 5bf01080bcfa76cf44db51961689e2fab5dc0958)
12654012fSReza Sabdar /*
2d0194491SJanice Chang  * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
3*5bf01080SJan Kryl  * Copyright 2014 Nexenta Systems, Inc.  All rights reserved.
42654012fSReza Sabdar  */
52654012fSReza Sabdar 
62654012fSReza Sabdar /*
72654012fSReza Sabdar  * BSD 3 Clause License
82654012fSReza Sabdar  *
92654012fSReza Sabdar  * Copyright (c) 2007, The Storage Networking Industry Association.
102654012fSReza Sabdar  *
112654012fSReza Sabdar  * Redistribution and use in source and binary forms, with or without
122654012fSReza Sabdar  * modification, are permitted provided that the following conditions
132654012fSReza Sabdar  * are met:
142654012fSReza Sabdar  * 	- Redistributions of source code must retain the above copyright
152654012fSReza Sabdar  *	  notice, this list of conditions and the following disclaimer.
162654012fSReza Sabdar  *
172654012fSReza Sabdar  * 	- Redistributions in binary form must reproduce the above copyright
182654012fSReza Sabdar  *	  notice, this list of conditions and the following disclaimer in
192654012fSReza Sabdar  *	  the documentation and/or other materials provided with the
202654012fSReza Sabdar  *	  distribution.
212654012fSReza Sabdar  *
222654012fSReza Sabdar  *	- Neither the name of The Storage Networking Industry Association (SNIA)
232654012fSReza Sabdar  *	  nor the names of its contributors may be used to endorse or promote
242654012fSReza Sabdar  *	  products derived from this software without specific prior written
252654012fSReza Sabdar  *	  permission.
262654012fSReza Sabdar  *
272654012fSReza Sabdar  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
282654012fSReza Sabdar  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
292654012fSReza Sabdar  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
302654012fSReza Sabdar  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
312654012fSReza Sabdar  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
322654012fSReza Sabdar  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
332654012fSReza Sabdar  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
342654012fSReza Sabdar  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
352654012fSReza Sabdar  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
362654012fSReza Sabdar  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
372654012fSReza Sabdar  * POSSIBILITY OF SUCH DAMAGE.
382654012fSReza Sabdar  */
392654012fSReza Sabdar #ifndef	_NDMPD_PROP_H
402654012fSReza Sabdar #define	_NDMPD_PROP_H
412654012fSReza Sabdar 
422654012fSReza Sabdar #include <sys/types.h>
432654012fSReza Sabdar #include <libscf.h>
442654012fSReza Sabdar 
452654012fSReza Sabdar #ifdef __cplusplus
462654012fSReza Sabdar extern "C" {
472654012fSReza Sabdar #endif
482654012fSReza Sabdar 
492654012fSReza Sabdar /* NDMP property parameter flags */
502654012fSReza Sabdar #define	NDMP_CF_NOTINIT		0x00	/* Not initialized yet */
512654012fSReza Sabdar #define	NDMP_CF_DEFINED		0x01	/* Defined/read from env */
522654012fSReza Sabdar #define	NDMP_CF_MODIFIED	0x02	/* Has been modified */
532654012fSReza Sabdar 
542654012fSReza Sabdar typedef enum {
552654012fSReza Sabdar 	NDMP_DAR_SUPPORT = 0,
562654012fSReza Sabdar 	NDMP_MOVER_NIC,
572654012fSReza Sabdar 	/*
582654012fSReza Sabdar 	 * Force backing up the directories leading to
592654012fSReza Sabdar 	 * a modified object for 'dump' format backup.
602654012fSReza Sabdar 	 */
612654012fSReza Sabdar 	NDMP_DUMP_PATHNODE_ENV,
622654012fSReza Sabdar 	/*
632654012fSReza Sabdar 	 * Force backing up the directories leading to
642654012fSReza Sabdar 	 * a modified object for 'tar' format backup.
652654012fSReza Sabdar 	 */
662654012fSReza Sabdar 	NDMP_TAR_PATHNODE_ENV,
672654012fSReza Sabdar 	/*
682654012fSReza Sabdar 	 * Force to send the file history node entries
692654012fSReza Sabdar 	 * along with the file history dir entries for
702654012fSReza Sabdar 	 * all directories containing the changed files
712654012fSReza Sabdar 	 * to the client for incremental backup.
722654012fSReza Sabdar 	 *
732654012fSReza Sabdar 	 * Note: This variable is added to support BakBone
742654012fSReza Sabdar 	 * Software's NetVault DMA which expects to get the
752654012fSReza Sabdar 	 * FH ADD NODES for all upper directories which
762654012fSReza Sabdar 	 * contain the changed files in incremental backup
772654012fSReza Sabdar 	 * along with the FH ADD DIRS.
782654012fSReza Sabdar 	 */
792654012fSReza Sabdar 	NDMP_FHIST_INCR_ENV,
802654012fSReza Sabdar 	/* Ignore st_ctime when backing up. */
812654012fSReza Sabdar 	NDMP_IGNCTIME_ENV,
822654012fSReza Sabdar 	/* If we should check for the last modification time. */
832654012fSReza Sabdar 	NDMP_INCLMTIME_ENV,
842654012fSReza Sabdar 	/*
852654012fSReza Sabdar 	 * Environment variable name for the maximum permitted
862654012fSReza Sabdar 	 * token sequence for token-based backups.
872654012fSReza Sabdar 	 */
882654012fSReza Sabdar 	NDMP_MAXSEQ_ENV,
892654012fSReza Sabdar 	/* Environment variable name for the active version. */
902654012fSReza Sabdar 	NDMP_VERSION_ENV,
912654012fSReza Sabdar 	/*
922654012fSReza Sabdar 	 * Environment variable name for restore path.
932654012fSReza Sabdar 	 * Suppose that a dircetroy named "/d1/d11" is backed
942654012fSReza Sabdar 	 * up and there is a file "/d1/d11/d111/f" under that
952654012fSReza Sabdar 	 * directory and  the restore path is "/d1/r1".
962654012fSReza Sabdar 	 * If restore path mechanism is set to 0 which means
972654012fSReza Sabdar 	 * partial path restore, then the result will be
982654012fSReza Sabdar 	 * "/d1/r1/d111/f". If it is set to 1 which means full
992654012fSReza Sabdar 	 * path restore, the result will be "/d1/r1/d1/d11/d111/f"
1002654012fSReza Sabdar 	 */
1012654012fSReza Sabdar 	NDMP_FULL_RESTORE_PATH,
1022654012fSReza Sabdar 	NDMP_DEBUG_PATH,
1032654012fSReza Sabdar 	NDMP_PLUGIN_PATH,
1042654012fSReza Sabdar 	NDMP_SOCKET_CSS,
1052654012fSReza Sabdar 	NDMP_SOCKET_CRS,
1062654012fSReza Sabdar 	NDMP_MOVER_RECSIZE,
1072654012fSReza Sabdar 	NDMP_RESTORE_WILDCARD_ENABLE,
1082654012fSReza Sabdar 	NDMP_CRAM_MD5_USERNAME,
1092654012fSReza Sabdar 	NDMP_CRAM_MD5_PASSWORD,
1102654012fSReza Sabdar 	NDMP_CLEARTEXT_USERNAME,
1112654012fSReza Sabdar 	NDMP_CLEARTEXT_PASSWORD,
1122654012fSReza Sabdar 	NDMP_TCP_PORT,
1132654012fSReza Sabdar 	NDMP_BACKUP_QTN,
1142654012fSReza Sabdar 	NDMP_RESTORE_QTN,
1152654012fSReza Sabdar 	NDMP_OVERWRITE_QTN,
116d0194491SJanice Chang 	NDMP_ZFS_FORCE_OVERRIDE,
1171e05b03fSJanice Chang 	NDMP_DRIVE_TYPE,
118*5bf01080SJan Kryl 	NDMP_DEBUG_MODE,
1192654012fSReza Sabdar 	NDMP_MAXALL
1202654012fSReza Sabdar } ndmpd_cfg_id_t;
1212654012fSReza Sabdar 
1222654012fSReza Sabdar extern int ndmpd_load_prop(void);
1232654012fSReza Sabdar extern char *ndmpd_get_prop(ndmpd_cfg_id_t);
1242654012fSReza Sabdar extern char *ndmpd_get_prop_default(ndmpd_cfg_id_t, char *);
1252654012fSReza Sabdar extern int ndmpd_get_prop_yorn(ndmpd_cfg_id_t);
1262654012fSReza Sabdar 
1272654012fSReza Sabdar #ifdef	__cplusplus
1282654012fSReza Sabdar }
1292654012fSReza Sabdar #endif
1302654012fSReza Sabdar 
1312654012fSReza Sabdar #endif /* _NDMPD_PROP_H */
132