libzfs_jni_property.c revision fa9e4066f08beec538e775443c5be79dd423fcab
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2005 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#pragma ident "%Z%%M% %I% %E% SMI"
#include "libzfs_jni_property.h"
#include "libzfs_jni_util.h"
#include <strings.h>
/*
* Function prototypes
*/
/*
* Static data
*/
zfs_prop_t props_boolean[] = {
};
zfs_prop_t props_long[] = {
/* ZFS_PROP_RATIO, */
};
zfs_prop_t props_string[] = {
/* ZFS_PROP_TYPE, */
};
/*
* Static functions
*/
static jobject
{
char source[ZFS_MAXNAMELEN];
if (result == 0) {
ZFSJNI_PACKAGE_DATA "BooleanProperty");
if (srctype == ZFS_SRC_INHERITED) {
} else {
ZFSJNI_PACKAGE_DATA "Property$Lineage;)V");
}
}
return (propertyObject);
}
static jobject
{
char propbuf[ZFS_MAXPROPLEN];
char source[ZFS_MAXNAMELEN];
if (result == 0) {
ZFSJNI_PACKAGE_DATA "ChecksumProperty");
if (srctype == ZFS_SRC_INHERITED) {
source);
(*env)->GetMethodID(
"(L" ZFSJNI_PACKAGE_DATA
"String;)V");
} else {
(*env)->GetMethodID(
"(L" ZFSJNI_PACKAGE_DATA
"ChecksumProperty$Checksum;L"
"Property$Lineage;)V");
}
}
}
return (propertyObject);
}
static jobject
{
char propbuf[ZFS_MAXPROPLEN];
char source[ZFS_MAXNAMELEN];
if (result == 0) {
ZFSJNI_PACKAGE_DATA "CompressionProperty");
if (srctype == ZFS_SRC_INHERITED) {
source);
(*env)->GetMethodID(
"<init>",
"(L" ZFSJNI_PACKAGE_DATA
"CompressionProperty$Compression;Ljava/"
} else {
srctype);
(*env)->GetMethodID(
"<init>",
"(L" ZFSJNI_PACKAGE_DATA
"CompressionProperty$Compression;L"
"Property$Lineage;)V");
}
}
}
return (propertyObject);
}
static jobject
{
char propbuf[ZFS_MAXPROPLEN];
char source[ZFS_MAXNAMELEN];
if (result == 0) {
ZFSJNI_PACKAGE_DATA "DateProperty");
if (srctype == ZFS_SRC_INHERITED) {
source);
} else {
srctype);
ZFSJNI_PACKAGE_DATA "Property$Lineage;)V");
}
}
}
return (propertyObject);
}
static jobject
{
char propbuf[ZFS_MAXPROPLEN];
char source[ZFS_MAXNAMELEN];
if (result == 0) {
ZFSJNI_PACKAGE_DATA "LongProperty");
if (srctype == ZFS_SRC_INHERITED) {
} else {
srctype);
ZFSJNI_PACKAGE_DATA "Property$Lineage;)V");
}
}
}
return (propertyObject);
}
static jobject
{
char propbuf[ZFS_MAXPROPLEN];
char source[ZFS_MAXNAMELEN];
if (result == 0) {
ZFSJNI_PACKAGE_DATA "RecordSizeProperty");
if (srctype == ZFS_SRC_INHERITED) {
(*env)->GetMethodID(
"String;)V");
} else {
(*env)->GetMethodID(
"Property$Lineage;)V");
}
}
}
return (propertyObject);
}
static jobject
{
char propbuf[ZFS_MAXPROPLEN];
char source[ZFS_MAXNAMELEN];
if (result == 0) {
"StringProperty");
if (srctype == ZFS_SRC_INHERITED) {
} else {
ZFSJNI_PACKAGE_DATA "Property$Lineage;)V");
}
}
return (propertyObject);
}
static jobject
{
char propbuf[ZFS_MAXPROPLEN];
char source[ZFS_MAXNAMELEN];
if (result == 0) {
if (srctype == ZFS_SRC_INHERITED) {
} else {
ZFSJNI_PACKAGE_DATA "Property$Lineage;)V");
}
}
return (propertyObject);
}
static jobject
{
char propbuf[ZFS_MAXPROPLEN];
char source[ZFS_MAXNAMELEN];
if (result == 0) {
if (srctype == ZFS_SRC_INHERITED) {
} else {
ZFSJNI_PACKAGE_DATA "Property$Lineage;)V");
}
}
return (propertyObject);
}
static jobject
{
ZFSJNI_PACKAGE_DATA "ChecksumProperty$Checksum;");
return (*env)->CallStaticObjectMethod(
}
static jobject
{
ZFSJNI_PACKAGE_DATA "CompressionProperty$Compression;");
return (*env)->CallStaticObjectMethod(
}
/*
* Package-private functions
*/
{
int i;
for (i = 0; props_boolean[i] != ZFS_PROP_INVAL; i++) {
if (prop == props_boolean[i]) {
}
}
for (i = 0; props_long[i] != ZFS_PROP_INVAL; i++) {
if (prop == props_long[i]) {
}
}
for (i = 0; props_string[i] != ZFS_PROP_INVAL; i++) {
if (prop == props_string[i]) {
}
}
if (prop == ZFS_PROP_MOUNTPOINT) {
return (create_default_MountPointProperty(env));
}
if (prop == ZFS_PROP_SHARENFS) {
return (create_default_ShareNFSProperty(env));
}
if (prop == ZFS_PROP_CHECKSUM) {
return (create_default_ChecksumProperty(env));
}
if (prop == ZFS_PROP_COMPRESSION) {
return (create_default_CompressionProperty(env));
}
if (prop == ZFS_PROP_RECORDSIZE) {
return (create_default_RecordSizeProperty(env));
}
return (NULL);
}
zjni_get_property_from_name(const char *name)
{
return (prop);
}
}
return (ZFS_PROP_INVAL);
}
{
char *field;
switch (srctype) {
case ZFS_SRC_NONE:
field = "ZFS_PROP_LINEAGE_NOTINHERITABLE";
break;
case ZFS_SRC_DEFAULT:
field = "ZFS_PROP_LINEAGE_DEFAULT";
break;
case ZFS_SRC_LOCAL:
field = "ZFS_PROP_LINEAGE_LOCAL";
break;
case ZFS_SRC_TEMPORARY:
field = "ZFS_PROP_LINEAGE_TEMPORARY";
break;
default:
case ZFS_SRC_INHERITED:
field = "ZFS_PROP_LINEAGE_INHERITED";
break;
}
}
{
int i;
/* Create an array list for the properties */
zjni_ArrayList_t proplist_obj = {0};
for (i = 0; props_boolean[i] != ZFS_PROP_INVAL; i++) {
/* Create property and add to list */
/* Does this property apply to this object? */
(*env)->CallBooleanMethod(
} else {
return (NULL);
}
#ifdef DEBUG
zfs_get_name(zhp));
#endif
}
}
for (i = 0; props_long[i] != ZFS_PROP_INVAL; i++) {
/* Create property and add to list */
/* Does this property apply to this object? */
(*env)->CallBooleanMethod(
} else {
return (NULL);
}
#ifdef DEBUG
zfs_get_name(zhp));
#endif
}
}
for (i = 0; props_string[i] != ZFS_PROP_INVAL; i++) {
/* Create property and add to list */
/* Does this property apply to this object? */
(*env)->CallBooleanMethod(
} else {
return (NULL);
}
#ifdef DEBUG
zfs_get_name(zhp));
#endif
}
}
/* Does this property apply to this object? */
} else {
return (NULL);
}
#ifdef DEBUG
zfs_get_name(zhp));
#endif
}
/* Does this property apply to this object? */
} else {
return (NULL);
}
#ifdef DEBUG
zfs_get_name(zhp));
#endif
}
/* Does this property apply to this object? */
} else {
return (NULL);
}
#ifdef DEBUG
zfs_get_name(zhp));
#endif
}
/* Does this property apply to this object? */
} else {
return (NULL);
}
#ifdef DEBUG
zfs_get_name(zhp));
#endif
}
/* Does this property apply to this object? */
} else {
return (NULL);
}
#ifdef DEBUG
zfs_get_name(zhp));
#endif
}
/* Does this property apply to this object? */
} else {
return (NULL);
}
#ifdef DEBUG
zfs_get_name(zhp));
#endif
}
return (zjni_Collection_to_array(
ZFSJNI_PACKAGE_DATA "Property"));
}
static jobject
{
if (!zfs_prop_readonly(prop)) {
ZFSJNI_PACKAGE_DATA "BooleanProperty");
ZFSJNI_PACKAGE_DATA "Property$Lineage;)V");
}
return (propertyObject);
}
static jobject
{
if (!zfs_prop_readonly(prop)) {
ZFSJNI_PACKAGE_DATA "LongProperty");
ZFSJNI_PACKAGE_DATA "Property$Lineage;)V");
}
return (propertyObject);
}
static jobject
{
char propbuf[ZFS_MAXPROPLEN];
ZFSJNI_PACKAGE_DATA "StringProperty");
ZFSJNI_PACKAGE_DATA "Property$Lineage;)V");
}
return (propertyObject);
}
static jobject
{
char propbuf[ZFS_MAXPROPLEN];
ZFSJNI_PACKAGE_DATA "Property$Lineage;)V");
return (propertyObject);
}
static jobject
{
char propbuf[ZFS_MAXPROPLEN];
ZFSJNI_PACKAGE_DATA "Property$Lineage;)V");
return (propertyObject);
}
static jobject
{
char propbuf[ZFS_MAXPROPLEN];
ZFSJNI_PACKAGE_DATA "Property$Lineage;)V");
return (propertyObject);
}
static jobject
{
char propbuf[ZFS_MAXPROPLEN];
ZFSJNI_PACKAGE_DATA "Property$Lineage;)V");
return (propertyObject);
}
static jobject
{
ZFSJNI_PACKAGE_DATA "RecordSizeProperty");
ZFSJNI_PACKAGE_DATA "Property$Lineage;)V");
return (propertyObject);
}