linux: implement filesystem-side clone ioctls
[zfs.git] / cmd / zfs / zfs_iter.h
blobd742ec7b2ec43d1c8dd9df12cd02cc32a8b29128
1 /*
2 * CDDL HEADER START
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or https://opensource.org/licenses/CDDL-1.0.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
19 * CDDL HEADER END
23 * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
25 * Copyright 2013 Nexenta Systems, Inc. All rights reserved.
28 #ifndef ZFS_ITER_H
29 #define ZFS_ITER_H
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
35 typedef struct zfs_sort_column {
36 struct zfs_sort_column *sc_next;
37 struct zfs_sort_column *sc_last;
38 zfs_prop_t sc_prop;
39 char *sc_user_prop;
40 boolean_t sc_reverse;
41 } zfs_sort_column_t;
43 int zfs_for_each(int, char **, int options, zfs_type_t,
44 zfs_sort_column_t *, zprop_list_t **, int, zfs_iter_f, void *);
45 int zfs_add_sort_column(zfs_sort_column_t **, const char *, boolean_t);
46 void zfs_free_sort_columns(zfs_sort_column_t *);
47 boolean_t zfs_sort_only_by_fast(const zfs_sort_column_t *);
48 boolean_t zfs_list_only_by_fast(const zprop_list_t *);
50 #ifdef __cplusplus
52 #endif
54 #endif /* ZFS_ITER_H */