xref: /illumos-gate/usr/src/uts/common/fs/zfs/sys/dmu_send.h (revision eb633035)
13b2aab18SMatthew Ahrens /*
23b2aab18SMatthew Ahrens  * CDDL HEADER START
33b2aab18SMatthew Ahrens  *
43b2aab18SMatthew Ahrens  * The contents of this file are subject to the terms of the
53b2aab18SMatthew Ahrens  * Common Development and Distribution License (the "License").
63b2aab18SMatthew Ahrens  * You may not use this file except in compliance with the License.
73b2aab18SMatthew Ahrens  *
83b2aab18SMatthew Ahrens  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
93b2aab18SMatthew Ahrens  * or http://www.opensolaris.org/os/licensing.
103b2aab18SMatthew Ahrens  * See the License for the specific language governing permissions
113b2aab18SMatthew Ahrens  * and limitations under the License.
123b2aab18SMatthew Ahrens  *
133b2aab18SMatthew Ahrens  * When distributing Covered Code, include this CDDL HEADER in each
143b2aab18SMatthew Ahrens  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
153b2aab18SMatthew Ahrens  * If applicable, add the following below this CDDL HEADER, with the
163b2aab18SMatthew Ahrens  * fields enclosed by brackets "[]" replaced with your own identifying
173b2aab18SMatthew Ahrens  * information: Portions Copyright [yyyy] [name of copyright owner]
183b2aab18SMatthew Ahrens  *
193b2aab18SMatthew Ahrens  * CDDL HEADER END
203b2aab18SMatthew Ahrens  */
213b2aab18SMatthew Ahrens 
223b2aab18SMatthew Ahrens /*
233b2aab18SMatthew Ahrens  * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
24643da460SMax Grossman  * Copyright (c) 2012, 2014 by Delphix. All rights reserved.
253b2aab18SMatthew Ahrens  * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
26a2afb611SJerry Jelinek  * Copyright (c) 2013, Joyent, Inc. All rights reserved.
27c3d26abcSMatthew Ahrens  * Copyright (c) 2014 Integros [integros.com]
283b2aab18SMatthew Ahrens  */
293b2aab18SMatthew Ahrens 
303b2aab18SMatthew Ahrens #ifndef _DMU_SEND_H
313b2aab18SMatthew Ahrens #define	_DMU_SEND_H
323b2aab18SMatthew Ahrens 
333b2aab18SMatthew Ahrens #include <sys/inttypes.h>
343b2aab18SMatthew Ahrens #include <sys/spa.h>
353b2aab18SMatthew Ahrens 
363b2aab18SMatthew Ahrens struct vnode;
373b2aab18SMatthew Ahrens struct dsl_dataset;
383b2aab18SMatthew Ahrens struct drr_begin;
393b2aab18SMatthew Ahrens struct avl_tree;
409c3fd121SMatthew Ahrens struct dmu_replay_record;
413b2aab18SMatthew Ahrens 
429c3fd121SMatthew Ahrens int dmu_send(const char *tosnap, const char *fromsnap, boolean_t embedok,
43*eb633035STom Caputi     boolean_t large_block_ok, boolean_t compressok, boolean_t rawok, int outfd,
44*eb633035STom Caputi     uint64_t resumeobj, uint64_t resumeoff, struct vnode *vp, offset_t *off);
453b2aab18SMatthew Ahrens int dmu_send_estimate(struct dsl_dataset *ds, struct dsl_dataset *fromds,
465602294fSDan Kimmel     boolean_t stream_compressed, uint64_t *sizep);
47643da460SMax Grossman int dmu_send_estimate_from_txg(struct dsl_dataset *ds, uint64_t fromtxg,
485602294fSDan Kimmel     boolean_t stream_compressed, uint64_t *sizep);
493b2aab18SMatthew Ahrens int dmu_send_obj(const char *pool, uint64_t tosnap, uint64_t fromsnap,
505602294fSDan Kimmel     boolean_t embedok, boolean_t large_block_ok, boolean_t compressok,
51*eb633035STom Caputi     boolean_t rawok, int outfd, struct vnode *vp, offset_t *off);
523b2aab18SMatthew Ahrens 
533b2aab18SMatthew Ahrens #endif /* _DMU_SEND_H */
54