1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License, Version 1.0 only 6 * (the "License"). You may not use this file except in compliance 7 * with the License. 8 * 9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10 * or http://www.opensolaris.org/os/licensing. 11 * See the License for the specific language governing permissions 12 * and limitations under the License. 13 * 14 * When distributing Covered Code, include this CDDL HEADER in each 15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16 * If applicable, add the following below this CDDL HEADER, with the 17 * fields enclosed by brackets "[]" replaced with your own identifying 18 * information: Portions Copyright [yyyy] [name of copyright owner] 19 * 20 * CDDL HEADER END 21 */ 22 /* 23 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 24 * Use is subject to license terms. 25 * 26 * ident "%Z%%M% %I% %E% SMI" 27 */ 28 29 package com.sun.solaris.service.pools; 30 31 /** 32 * A thin layer over the libpool(3LIB) interface so that Java can be 33 * used to manipulate resource pools. For more information on this 34 * facility refer to the manpage and the developer documentation. 35 * 36 * Most of the functionality in this class is not intended to be 37 * exposed to users of the package. The other classes in the package 38 * provide appropriate Java abstractions for using this functionality. 39 * 40 * Refer to the package documentation and the documentation of the 41 * other publicly visible classes for more details. 42 */ 43 public class PoolInternal { 44 static { 45 System.loadLibrary("jpool"); PoolInternal.init()46 PoolInternal.init(); 47 } 48 init()49 final static native void init(); pool_version(long ver)50 final static native long pool_version(long ver); get_POX_NATIVE()51 final static native int get_POX_NATIVE(); get_POX_TEXT()52 final static native int get_POX_TEXT(); get_POC_INVAL()53 final static native int get_POC_INVAL(); get_POC_UINT()54 final static native int get_POC_UINT(); get_POC_INT()55 final static native int get_POC_INT(); get_POC_DOUBLE()56 final static native int get_POC_DOUBLE(); get_POC_BOOL()57 final static native int get_POC_BOOL(); get_POC_STRING()58 final static native int get_POC_STRING(); get_POV_NONE()59 final static native int get_POV_NONE(); get_POV_LOOSE()60 final static native int get_POV_LOOSE(); get_POV_STRICT()61 final static native int get_POV_STRICT(); get_POV_RUNTIME()62 final static native int get_POV_RUNTIME(); get_POF_INVALID()63 final static native int get_POF_INVALID(); get_POF_VALID()64 final static native int get_POF_VALID(); get_POF_DESTROY()65 final static native int get_POF_DESTROY(); pool_error()66 public final static native int pool_error(); pool_strerror(int error)67 public final static native String pool_strerror(int error); pool_strerror_sys()68 public final static native String pool_strerror_sys(); pool_resource_type_list(long types, long numtypes)69 public final static native int pool_resource_type_list(long types, 70 long numtypes); pool_get_status()71 public final static native int pool_get_status(); pool_set_status(int state)72 public final static native int pool_set_status(int state); pool_conf_alloc()73 final static native long pool_conf_alloc(); pool_conf_free(long conf)74 final static native void pool_conf_free(long conf); pool_conf_status(long conf)75 final static native int pool_conf_status(long conf); pool_conf_close(long conf)76 final static native int pool_conf_close(long conf); pool_conf_remove(long conf)77 final static native int pool_conf_remove(long conf); pool_conf_open(long conf, String location, int oflags)78 final static native int pool_conf_open(long conf, String location, 79 int oflags); pool_conf_rollback(long conf)80 final static native int pool_conf_rollback(long conf); pool_conf_commit(long conf, int active)81 final static native int pool_conf_commit(long conf, int active); pool_conf_export(long conf, String location, int fmt)82 final static native int pool_conf_export(long conf, String location, 83 int fmt); pool_conf_validate(long conf, int level)84 final static native int pool_conf_validate(long conf, int level); pool_conf_update(long conf)85 final static native int pool_conf_update(long conf); pool_get_pool(long conf, String name)86 final static native long pool_get_pool(long conf, String name); pool_query_pools(long conf, java.util.List props)87 final static native java.util.List pool_query_pools(long conf, 88 java.util.List props); pool_get_resource(long conf, String type, String name)89 final static native long pool_get_resource(long conf, String type, 90 String name); pool_query_resources(long conf, java.util.List props)91 final static native java.util.List pool_query_resources(long conf, 92 java.util.List props); pool_query_components(long conf, java.util.List props)93 final static native java.util.List pool_query_components(long conf, 94 java.util.List props); pool_conf_location(long conf)95 final static native String pool_conf_location(long conf); pool_conf_info(long conf, int deep)96 final static native String pool_conf_info(long conf, int deep); pool_resource_create(long conf, String type, String name)97 final static native long pool_resource_create(long conf, 98 String type, String name); pool_resource_destroy(long conf, long res)99 final static native int pool_resource_destroy(long conf, long res); pool_resource_transfer(long conf, long src, long tgt, long size)100 final static native int pool_resource_transfer(long conf, 101 long src, long tgt, long size); pool_resource_xtransfer(long conf, long src, long tgt, java.util.List components)102 final static native int pool_resource_xtransfer(long conf, 103 long src, long tgt, java.util.List components); pool_query_resource_components( long conf, long res, java.util.List props)104 final static native java.util.List pool_query_resource_components( 105 long conf, long res, java.util.List props); pool_resource_info(long conf, long res, int deep)106 final static native String pool_resource_info(long conf, long res, 107 int deep); pool_create(long conf, String name)108 final static native long pool_create(long conf, String name); pool_destroy(long conf, long pool)109 final static native int pool_destroy(long conf, long pool); pool_associate(long conf, long pool, long res)110 final static native int pool_associate(long conf, long pool, 111 long res); pool_dissociate(long conf, long pool, long res)112 final static native int pool_dissociate(long conf, long pool, 113 long res); pool_info(long conf, long pool, int deep)114 final static native String pool_info(long conf, long pool, int deep); pool_query_pool_resources( long conf, long pool, java.util.List props)115 final static native java.util.List pool_query_pool_resources( 116 long conf, long pool, java.util.List props); pool_get_owning_resource(long conf, long comp)117 final static native long pool_get_owning_resource(long conf, 118 long comp); pool_component_info(long conf, long comp, int deep)119 final static native String pool_component_info(long conf, 120 long comp, int deep); pool_get_property(long conf, long elem, String name, long val)121 final static native int pool_get_property(long conf, long elem, 122 String name, long val); pool_put_property(long conf, long elem, String name, long val)123 final static native int pool_put_property(long conf, long elem, 124 String name, long val); pool_rm_property(long conf, long elem, String name)125 final static native int pool_rm_property(long conf, long elem, 126 String name); pool_walk_properties(long conf, long elem, long user, long callback)127 final static native int pool_walk_properties(long conf, long elem, 128 long user, long callback); pool_conf_to_elem(long conf)129 final static native long pool_conf_to_elem(long conf); pool_to_elem(long conf, long pool)130 final static native long pool_to_elem(long conf, long pool); pool_resource_to_elem(long conf, long res)131 final static native long pool_resource_to_elem(long conf, long res); pool_component_to_elem(long conf, long comp)132 final static native long pool_component_to_elem(long conf, long comp); pool_value_get_uint64(long pv, long result)133 final static native int pool_value_get_uint64(long pv, long result); pool_value_get_int64(long pv, long result)134 final static native int pool_value_get_int64(long pv, long result); pool_value_get_double(long pv, long result)135 final static native int pool_value_get_double(long pv, long result); pool_value_get_bool(long pv, long result)136 final static native int pool_value_get_bool(long pv, long result); pool_value_get_string(long pv, long result)137 final static native int pool_value_get_string(long pv, long result); pool_value_get_type(long pv)138 final static native int pool_value_get_type(long pv); pool_value_set_uint64(long pv, long val)139 final static native void pool_value_set_uint64(long pv, long val); pool_value_set_int64(long pv, long val)140 final static native void pool_value_set_int64(long pv, long val); pool_value_set_double(long pv, double val)141 final static native void pool_value_set_double(long pv, double val); pool_value_set_bool(long pv, short val)142 final static native void pool_value_set_bool(long pv, short val); pool_value_set_string(long pv, String val)143 final static native int pool_value_set_string(long pv, String val); pool_value_get_name(long pv)144 final static native String pool_value_get_name(long pv); pool_value_set_name(long pv, String val)145 final static native int pool_value_set_name(long pv, String val); pool_value_alloc()146 final static native long pool_value_alloc(); pool_value_free(long pv)147 final static native void pool_value_free(long pv); pool_static_location()148 public final static native String pool_static_location(); pool_dynamic_location()149 public final static native String pool_dynamic_location(); pool_set_binding(String name, int idtype, int id)150 public final static native int pool_set_binding(String name, 151 int idtype, int id); pool_get_binding(int pid)152 public final static native String pool_get_binding(int pid); pool_get_resource_binding( String type, int pid)153 public final static native String pool_get_resource_binding( 154 String type, int pid); pool_walk_pools(long conf, long user, long callback)155 final static native int pool_walk_pools(long conf, long user, 156 long callback); pool_walk_resources(long conf, long pool, long user, long callback)157 final static native int pool_walk_resources(long conf, long pool, 158 long user, long callback); pool_walk_components(long conf, long res, long user, long callback)159 final static native int pool_walk_components(long conf, long res, 160 long user, long callback); 161 /* 162 * enums and constants 163 */ 164 public final static int POOL_VER_CURRENT = 1; 165 public final static int POOL_VER_NONE = 0; 166 public final static int PO_TRUE = 1; 167 public final static int PO_FALSE = 0; 168 public final static int PO_SUCCESS = 0; 169 public final static int PO_FAIL = -1; 170 public final static int POE_OK = 0; 171 public final static int POE_BAD_PROP_TYPE = 1; 172 public final static int POE_INVALID_CONF = 2; 173 public final static int POE_NOTSUP = 3; 174 public final static int POE_INVALID_SEARCH = 4; 175 public final static int POE_BADPARAM = 5; 176 public final static int POE_PUTPROP = 6; 177 public final static int POE_DATASTORE = 7; 178 public final static int POE_SYSTEM = 8; 179 public final static int POE_ACCESS = 9; 180 public final static int PO_RDONLY = 0x0; 181 public final static int PO_RDWR = 0x1; 182 public final static int PO_CREAT = 0x2; 183 public final static int PO_DISCO = 0x4; 184 public final static int PO_UPDATE = 0x8; 185 public final static String POA_IMPORTANCE = "importance based"; 186 public final static String POA_SURPLUS_TO_DEFAULT = 187 "surplus to default"; 188 public final static int POU_SYSTEM = 0x1; 189 public final static int POU_POOL = 0x2; 190 public final static int POU_PSET = 0x4; 191 public final static int POU_CPU = 0x8; 192 public final static int POX_NATIVE = get_POX_NATIVE(); 193 public final static int POX_TEXT = get_POX_TEXT(); 194 public final static int POC_INVAL = get_POC_INVAL(); 195 public final static int POC_UINT = get_POC_UINT(); 196 public final static int POC_INT = get_POC_INT(); 197 public final static int POC_DOUBLE = get_POC_DOUBLE(); 198 public final static int POC_BOOL = get_POC_BOOL(); 199 public final static int POC_STRING = get_POC_STRING(); 200 public final static int POV_NONE = get_POV_NONE(); 201 public final static int POV_LOOSE = get_POV_LOOSE(); 202 public final static int POV_STRICT = get_POV_STRICT(); 203 public final static int POV_RUNTIME = get_POV_RUNTIME(); 204 public final static int POF_INVALID = get_POF_INVALID(); 205 public final static int POF_VALID = get_POF_VALID(); 206 public final static int POF_DESTROY = get_POF_DESTROY(); 207 } 208