1248619Sdes/* 2180750Sdes * CDDL HEADER START 3180750Sdes * 4180750Sdes * This file and its contents are supplied under the terms of the 5180750Sdes * Common Development and Distribution License ("CDDL"), version 1.0. 6180750Sdes * You may only use this file in accordance with the terms of version 7180750Sdes * 1.0 of the CDDL. 8180750Sdes * 9180750Sdes * A full copy of the text of the CDDL should have accompanied this 10180750Sdes * source. A copy of the CDDL is also available via the Internet at 11180750Sdes * http://www.illumos.org/license/CDDL. 12180750Sdes * 13180750Sdes * CDDL HEADER END 14180750Sdes */ 15180750Sdes/* 16290671Sdes * Copyright (c) 2013 by Delphix. All rights reserved. 17180750Sdes */ 18180750Sdes 19180750Sdes#ifndef _SYS_DSL_BOOKMARK_H 20180750Sdes#define _SYS_DSL_BOOKMARK_H 21226046Sdes 22180750Sdes#include <sys/zfs_context.h> 23180750Sdes 24180750Sdes#ifdef __cplusplus 25226046Sdesextern "C" { 26180750Sdes#endif 27180750Sdes 28180750Sdesstruct dsl_pool; 29180750Sdesstruct dsl_dataset; 30180750Sdes 31180750Sdes/* 32180750Sdes * On disk zap object. 33180750Sdes */ 34226046Sdestypedef struct zfs_bookmark_phys { 35180750Sdes uint64_t zbm_guid; /* guid of bookmarked dataset */ 36180750Sdes uint64_t zbm_creation_txg; /* birth transaction group */ 37180750Sdes uint64_t zbm_creation_time; /* bookmark creation time */ 38180750Sdes} zfs_bookmark_phys_t; 39180750Sdes 40226046Sdesint dsl_bookmark_create(nvlist_t *, nvlist_t *); 41180750Sdesint dsl_get_bookmarks(const char *, nvlist_t *, nvlist_t *); 42226046Sdesint dsl_get_bookmarks_impl(dsl_dataset_t *, nvlist_t *, nvlist_t *); 43180750Sdesint dsl_bookmark_destroy(nvlist_t *, nvlist_t *); 44180750Sdesint dsl_bookmark_lookup(struct dsl_pool *, const char *, 45180750Sdes struct dsl_dataset *, zfs_bookmark_phys_t *); 46180750Sdes 47180750Sdes#ifdef __cplusplus 48180750Sdes} 49226046Sdes#endif 50180750Sdes 51180750Sdes#endif /* _SYS_DSL_BOOKMARK_H */ 52180750Sdes