1 // SPDX-License-Identifier: CDDL-1.0 2 /* 3 * This file and its contents are supplied under the terms of the 4 * Common Development and Distribution License ("CDDL"), version 1.0. 5 * You may only use this file in accordance with the terms of version 6 * 1.0 of the CDDL. 7 * 8 * A full copy of the text of the CDDL should have accompanied this 9 * source. A copy of the CDDL is also available via the Internet at 10 * https://opensource.org/license/CDDL-1.0. 11 */ 12 /* 13 * Copyright (c) 2017, Intel Corporation. All rights reserved. 14 */ 15 16 #ifndef _ZFS_PROJECTUTIL_H 17 #define _ZFS_PROJECTUTIL_H 18 19 typedef enum { 20 ZFS_PROJECT_OP_DEFAULT = 0, 21 ZFS_PROJECT_OP_LIST = 1, 22 ZFS_PROJECT_OP_CHECK = 2, 23 ZFS_PROJECT_OP_CLEAR = 3, 24 ZFS_PROJECT_OP_SET = 4, 25 } zfs_project_ops_t; 26 27 typedef struct zfs_project_control { 28 uint64_t zpc_expected_projid; 29 zfs_project_ops_t zpc_op; 30 boolean_t zpc_dironly; 31 boolean_t zpc_ignore_noent; 32 boolean_t zpc_keep_projid; 33 boolean_t zpc_newline; 34 boolean_t zpc_recursive; 35 boolean_t zpc_set_flag; 36 } zfs_project_control_t; 37 38 int zfs_project_handle(const char *name, zfs_project_control_t *zpc); 39 40 #endif /* _ZFS_PROJECTUTIL_H */ 41