piclenvsetup.c revision 7c478bd95313f5f23a4c958a745db2134aa03244
8b81e2b204cc9eb316d169b3c5e3f6d36a820e26neil_a_wilson * CDDL HEADER START
8b81e2b204cc9eb316d169b3c5e3f6d36a820e26neil_a_wilson * The contents of this file are subject to the terms of the
8b81e2b204cc9eb316d169b3c5e3f6d36a820e26neil_a_wilson * Common Development and Distribution License, Version 1.0 only
8b81e2b204cc9eb316d169b3c5e3f6d36a820e26neil_a_wilson * (the "License"). You may not use this file except in compliance
8b81e2b204cc9eb316d169b3c5e3f6d36a820e26neil_a_wilson * with the License.
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8b81e2b204cc9eb316d169b3c5e3f6d36a820e26neil_a_wilson * See the License for the specific language governing permissions
8b81e2b204cc9eb316d169b3c5e3f6d36a820e26neil_a_wilson * and limitations under the License.
8b81e2b204cc9eb316d169b3c5e3f6d36a820e26neil_a_wilson * When distributing Covered Code, include this CDDL HEADER in each
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac * If applicable, add the following below this CDDL HEADER, with the
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac * fields enclosed by brackets "[]" replaced with your own identifying
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac * information: Portions Copyright [yyyy] [name of copyright owner]
8b81e2b204cc9eb316d169b3c5e3f6d36a820e26neil_a_wilson * CDDL HEADER END
8b81e2b204cc9eb316d169b3c5e3f6d36a820e26neil_a_wilson * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
05b42f00b813c3dc70cbb80d62089f9cc0f6f549ludovicp * Use is subject to license terms.
8b81e2b204cc9eb316d169b3c5e3f6d36a820e26neil_a_wilson#pragma ident "%Z%%M% %I% %E% SMI"
8b81e2b204cc9eb316d169b3c5e3f6d36a820e26neil_a_wilson * This file contains code for setting up environmental related nodes
8b81e2b204cc9eb316d169b3c5e3f6d36a820e26neil_a_wilson * and properties in the PICL tree.
8b81e2b204cc9eb316d169b3c5e3f6d36a820e26neil_a_wilson * Volatile property read/write function typedef
8b81e2b204cc9eb316d169b3c5e3f6d36a820e26neil_a_wilsontypedef int ptree_vol_rdfunc_t(ptree_rarg_t *parg, void *buf);
8b81e2b204cc9eb316d169b3c5e3f6d36a820e26neil_a_wilsontypedef int ptree_vol_wrfunc_t(ptree_warg_t *parg, const void *buf);
8b81e2b204cc9eb316d169b3c5e3f6d36a820e26neil_a_wilson * Sensor node data structure
8b81e2b204cc9eb316d169b3c5e3f6d36a820e26neil_a_wilsontypedef struct {
} fan_node_t;
static void delete_sensor_nodes_and_props(void);
static void delete_fan_nodes_and_props(void);
for (i = 0; i < NSENSORS; ++i) {
return (PICL_SUCCESS);
return (PICL_FAILURE);
int i, ret;
for (i = 0; i < NFANS; ++i) {
if (ret < 0) {
return (PICL_NOTWRITABLE);
return (PICL_INVALIDARG);
return (PICL_SUCCESS);
return (PICL_FAILURE);
for (i = 0; i < NFANS; ++i) {
return (PICL_SUCCESS);
return (PICL_FAILURE);
int err;
return (err);
return (err);
int err;
return (err);
return (err);
int err;
for (i = 0; i < NSENSORS; ++i) {
if (env_debug)
if (env_debug)
nodename);
return (err);
return (PICL_SUCCESS);
* Note that deleiing/destroying a node deletes/destroys
for (i = 0; i < NSENSORS; ++i) {
int err;
for (i = 0; i < NFANS; ++i) {
if (env_debug)
if (env_debug)
nodename);
return (err);
return (PICL_SUCCESS);
* Note that deleiing/destroying a node deletes/destroys
for (i = 0; i < NFANS; ++i) {
case PICL_PTYPE_INT : {
case PICL_PTYPE_CHARSTRING : {
return (PICL_FAILURE);
return (PICL_SUCCESS);
env_picl_setup_tuneables(void)
int err;
return (PICL_FAILURE);
return (PICL_FAILURE);
return (PICL_FAILURE);
for (i = 0; i < ntuneables; i++) {
read_buf);
return (PICL_SUCCESS);
env_picl_destroy(void)
env_picl_setup(void)
int err;
for (i = 0; i < NSENSORS; ++i) {
for (i = 0; i < NFANS; ++i) {
* Parse the envmodel.conf file and populate the PICL tree