99d5e173470cf967aa87653364ed614299e7b511Tim Haley/*
99d5e173470cf967aa87653364ed614299e7b511Tim Haley * CDDL HEADER START
99d5e173470cf967aa87653364ed614299e7b511Tim Haley *
99d5e173470cf967aa87653364ed614299e7b511Tim Haley * The contents of this file are subject to the terms of the
99d5e173470cf967aa87653364ed614299e7b511Tim Haley * Common Development and Distribution License (the "License").
99d5e173470cf967aa87653364ed614299e7b511Tim Haley * You may not use this file except in compliance with the License.
99d5e173470cf967aa87653364ed614299e7b511Tim Haley *
99d5e173470cf967aa87653364ed614299e7b511Tim Haley * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
99d5e173470cf967aa87653364ed614299e7b511Tim Haley * or http://www.opensolaris.org/os/licensing.
99d5e173470cf967aa87653364ed614299e7b511Tim Haley * See the License for the specific language governing permissions
99d5e173470cf967aa87653364ed614299e7b511Tim Haley * and limitations under the License.
99d5e173470cf967aa87653364ed614299e7b511Tim Haley *
99d5e173470cf967aa87653364ed614299e7b511Tim Haley * When distributing Covered Code, include this CDDL HEADER in each
99d5e173470cf967aa87653364ed614299e7b511Tim Haley * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
99d5e173470cf967aa87653364ed614299e7b511Tim Haley * If applicable, add the following below this CDDL HEADER, with the
99d5e173470cf967aa87653364ed614299e7b511Tim Haley * fields enclosed by brackets "[]" replaced with your own identifying
99d5e173470cf967aa87653364ed614299e7b511Tim Haley * information: Portions Copyright [yyyy] [name of copyright owner]
99d5e173470cf967aa87653364ed614299e7b511Tim Haley *
99d5e173470cf967aa87653364ed614299e7b511Tim Haley * CDDL HEADER END
99d5e173470cf967aa87653364ed614299e7b511Tim Haley */
99d5e173470cf967aa87653364ed614299e7b511Tim Haley/*
99d5e173470cf967aa87653364ed614299e7b511Tim Haley * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
99d5e173470cf967aa87653364ed614299e7b511Tim Haley */
99d5e173470cf967aa87653364ed614299e7b511Tim Haley
99d5e173470cf967aa87653364ed614299e7b511Tim Haley#ifndef _SYS_FS_ZFS_STAT_H
99d5e173470cf967aa87653364ed614299e7b511Tim Haley#define _SYS_FS_ZFS_STAT_H
99d5e173470cf967aa87653364ed614299e7b511Tim Haley
99d5e173470cf967aa87653364ed614299e7b511Tim Haley#ifdef _KERNEL
99d5e173470cf967aa87653364ed614299e7b511Tim Haley#include <sys/isa_defs.h>
99d5e173470cf967aa87653364ed614299e7b511Tim Haley#include <sys/types32.h>
99d5e173470cf967aa87653364ed614299e7b511Tim Haley#include <sys/dmu.h>
99d5e173470cf967aa87653364ed614299e7b511Tim Haley#endif
99d5e173470cf967aa87653364ed614299e7b511Tim Haley
99d5e173470cf967aa87653364ed614299e7b511Tim Haley#ifdef __cplusplus
99d5e173470cf967aa87653364ed614299e7b511Tim Haleyextern "C" {
99d5e173470cf967aa87653364ed614299e7b511Tim Haley#endif
99d5e173470cf967aa87653364ed614299e7b511Tim Haley
99d5e173470cf967aa87653364ed614299e7b511Tim Haley/*
99d5e173470cf967aa87653364ed614299e7b511Tim Haley * A limited number of zpl level stats are retrievable
99d5e173470cf967aa87653364ed614299e7b511Tim Haley * with an ioctl. zfs diff is the current consumer.
99d5e173470cf967aa87653364ed614299e7b511Tim Haley */
99d5e173470cf967aa87653364ed614299e7b511Tim Haleytypedef struct zfs_stat {
99d5e173470cf967aa87653364ed614299e7b511Tim Haley uint64_t zs_gen;
99d5e173470cf967aa87653364ed614299e7b511Tim Haley uint64_t zs_mode;
99d5e173470cf967aa87653364ed614299e7b511Tim Haley uint64_t zs_links;
99d5e173470cf967aa87653364ed614299e7b511Tim Haley uint64_t zs_ctime[2];
99d5e173470cf967aa87653364ed614299e7b511Tim Haley} zfs_stat_t;
99d5e173470cf967aa87653364ed614299e7b511Tim Haley
99d5e173470cf967aa87653364ed614299e7b511Tim Haleyextern int zfs_obj_to_stats(objset_t *osp, uint64_t obj, zfs_stat_t *sb,
99d5e173470cf967aa87653364ed614299e7b511Tim Haley char *buf, int len);
99d5e173470cf967aa87653364ed614299e7b511Tim Haley
99d5e173470cf967aa87653364ed614299e7b511Tim Haley#ifdef __cplusplus
99d5e173470cf967aa87653364ed614299e7b511Tim Haley}
99d5e173470cf967aa87653364ed614299e7b511Tim Haley#endif
99d5e173470cf967aa87653364ed614299e7b511Tim Haley
99d5e173470cf967aa87653364ed614299e7b511Tim Haley#endif /* _SYS_FS_ZFS_STAT_H */