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 http://www.opensolaris.org/os/licensing.
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]
23 * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
27 #ifndef _LIBZFS_JNI_POOL_H
28 #define _LIBZFS_JNI_POOL_H
30 #pragma ident "%Z%%M% %I% %E% SMI"
33 #include <libnvpair.h>
35 #include <libzfs_jni_ipool.h>
36 #include <libzfs_jni_util.h>
46 typedef struct DeviceStatsBean
{
47 jmethodID method_setSize
;
48 jmethodID method_setReplacementSize
;
49 jmethodID method_setUsed
;
50 jmethodID method_setReadBytes
;
51 jmethodID method_setWriteBytes
;
52 jmethodID method_setReadOperations
;
53 jmethodID method_setWriteOperations
;
54 jmethodID method_setReadErrors
;
55 jmethodID method_setWriteErrors
;
56 jmethodID method_setChecksumErrors
;
57 jmethodID method_setDeviceState
;
58 jmethodID method_setDeviceStatus
;
61 typedef struct PoolStatsBean
{
62 DeviceStatsBean_t super
;
63 jmethodID method_setPoolState
;
64 jmethodID method_setPoolStatus
;
65 jmethodID method_setPoolVersion
;
72 void new_DeviceStats(JNIEnv
*, DeviceStatsBean_t
*, zjni_Object_t
*);
73 void new_PoolStats(JNIEnv
*, PoolStatsBean_t
*, zjni_Object_t
*);
74 nvlist_t
*zjni_get_root_vdev(zpool_handle_t
*);
75 nvlist_t
*zjni_get_vdev(zpool_handle_t
*, nvlist_t
*, uint64_t, uint64_t *);
76 jobject
zjni_get_VirtualDevice_from_vdev(
77 JNIEnv
*, zpool_handle_t
*, nvlist_t
*, uint64_t *p_vdev_id
);
78 jobject
zjni_get_VirtualDevices_from_vdev(
79 JNIEnv
*, zpool_handle_t
*, nvlist_t
*, uint64_t *p_vdev_id
);
80 int zjni_create_add_ImportablePool(nvlist_t
*, void *);
81 int populate_DeviceStatsBean(
82 JNIEnv
*, nvlist_t
*, DeviceStatsBean_t
*, zjni_Object_t
*);
83 jobject
zjni_pool_state_to_obj(JNIEnv
*, pool_state_t
);
84 jobject
zjni_pool_status_to_obj(JNIEnv
*, zpool_status_t
);
90 #endif /* _LIBZFS_JNI_POOL_H */