llib-lraidcfg revision 711890bc9379ceea66272dc8d4981812224ea86e
711890bc9379ceea66272dc8d4981812224ea86ejc/*
711890bc9379ceea66272dc8d4981812224ea86ejc * CDDL HEADER START
711890bc9379ceea66272dc8d4981812224ea86ejc *
711890bc9379ceea66272dc8d4981812224ea86ejc * The contents of this file are subject to the terms of the
711890bc9379ceea66272dc8d4981812224ea86ejc * Common Development and Distribution License (the "License").
711890bc9379ceea66272dc8d4981812224ea86ejc * You may not use this file except in compliance with the License.
711890bc9379ceea66272dc8d4981812224ea86ejc *
711890bc9379ceea66272dc8d4981812224ea86ejc * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
711890bc9379ceea66272dc8d4981812224ea86ejc * or http://www.opensolaris.org/os/licensing.
711890bc9379ceea66272dc8d4981812224ea86ejc * See the License for the specific language governing permissions
711890bc9379ceea66272dc8d4981812224ea86ejc * and limitations under the License.
711890bc9379ceea66272dc8d4981812224ea86ejc *
711890bc9379ceea66272dc8d4981812224ea86ejc * When distributing Covered Code, include this CDDL HEADER in each
711890bc9379ceea66272dc8d4981812224ea86ejc * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
711890bc9379ceea66272dc8d4981812224ea86ejc * If applicable, add the following below this CDDL HEADER, with the
711890bc9379ceea66272dc8d4981812224ea86ejc * fields enclosed by brackets "[]" replaced with your own identifying
711890bc9379ceea66272dc8d4981812224ea86ejc * information: Portions Copyright [yyyy] [name of copyright owner]
711890bc9379ceea66272dc8d4981812224ea86ejc *
711890bc9379ceea66272dc8d4981812224ea86ejc * CDDL HEADER END
711890bc9379ceea66272dc8d4981812224ea86ejc */
711890bc9379ceea66272dc8d4981812224ea86ejc/*LINTLIBRARY*/
711890bc9379ceea66272dc8d4981812224ea86ejc/*PROTOLIB1*/
711890bc9379ceea66272dc8d4981812224ea86ejc
711890bc9379ceea66272dc8d4981812224ea86ejc/*
711890bc9379ceea66272dc8d4981812224ea86ejc * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
711890bc9379ceea66272dc8d4981812224ea86ejc * Use is subject to license terms.
711890bc9379ceea66272dc8d4981812224ea86ejc */
711890bc9379ceea66272dc8d4981812224ea86ejc
711890bc9379ceea66272dc8d4981812224ea86ejc#pragma ident "%Z%%M% %I% %E% SMI"
711890bc9379ceea66272dc8d4981812224ea86ejc
711890bc9379ceea66272dc8d4981812224ea86ejc#include <raidcfg.h>
711890bc9379ceea66272dc8d4981812224ea86ejc
711890bc9379ceea66272dc8d4981812224ea86ejcconst char *
711890bc9379ceea66272dc8d4981812224ea86ejcraidcfg_errstr(
711890bc9379ceea66272dc8d4981812224ea86ejc int err_code);
711890bc9379ceea66272dc8d4981812224ea86ejc
711890bc9379ceea66272dc8d4981812224ea86ejcint
711890bc9379ceea66272dc8d4981812224ea86ejcraidcfg_get_controller(
711890bc9379ceea66272dc8d4981812224ea86ejc uint32_t controller_id);
711890bc9379ceea66272dc8d4981812224ea86ejc
711890bc9379ceea66272dc8d4981812224ea86ejcint
711890bc9379ceea66272dc8d4981812224ea86ejcraidcfg_get_array(
711890bc9379ceea66272dc8d4981812224ea86ejc int controller_handle,
711890bc9379ceea66272dc8d4981812224ea86ejc uint64_t target_id,
711890bc9379ceea66272dc8d4981812224ea86ejc uint64_t lun);
711890bc9379ceea66272dc8d4981812224ea86ejc
711890bc9379ceea66272dc8d4981812224ea86ejcint
711890bc9379ceea66272dc8d4981812224ea86ejcraidcfg_get_disk(
711890bc9379ceea66272dc8d4981812224ea86ejc int controller_handle,
711890bc9379ceea66272dc8d4981812224ea86ejc disk_tag_t tag);
711890bc9379ceea66272dc8d4981812224ea86ejc
711890bc9379ceea66272dc8d4981812224ea86ejcint
711890bc9379ceea66272dc8d4981812224ea86ejcraidcfg_open_controller(
711890bc9379ceea66272dc8d4981812224ea86ejc int handle,
711890bc9379ceea66272dc8d4981812224ea86ejc char **plugin_err_str);
711890bc9379ceea66272dc8d4981812224ea86ejc
711890bc9379ceea66272dc8d4981812224ea86ejcint
711890bc9379ceea66272dc8d4981812224ea86ejcraidcfg_close_controller(
711890bc9379ceea66272dc8d4981812224ea86ejc int handle,
711890bc9379ceea66272dc8d4981812224ea86ejc char **plugin_err_str);
711890bc9379ceea66272dc8d4981812224ea86ejc
711890bc9379ceea66272dc8d4981812224ea86ejcint
711890bc9379ceea66272dc8d4981812224ea86ejcraidcfg_get_type(
711890bc9379ceea66272dc8d4981812224ea86ejc int handle);
711890bc9379ceea66272dc8d4981812224ea86ejc
711890bc9379ceea66272dc8d4981812224ea86ejcint
711890bc9379ceea66272dc8d4981812224ea86ejcraidcfg_get_attr(
711890bc9379ceea66272dc8d4981812224ea86ejc int handle,
711890bc9379ceea66272dc8d4981812224ea86ejc void *attr);
711890bc9379ceea66272dc8d4981812224ea86ejc
711890bc9379ceea66272dc8d4981812224ea86ejcint
711890bc9379ceea66272dc8d4981812224ea86ejcraidcfg_get_container(
711890bc9379ceea66272dc8d4981812224ea86ejc int handle);
711890bc9379ceea66272dc8d4981812224ea86ejc
711890bc9379ceea66272dc8d4981812224ea86ejcint
711890bc9379ceea66272dc8d4981812224ea86ejcraidcfg_list_head(
711890bc9379ceea66272dc8d4981812224ea86ejc int handle,
711890bc9379ceea66272dc8d4981812224ea86ejc raid_obj_type_id_t type);
711890bc9379ceea66272dc8d4981812224ea86ejc
711890bc9379ceea66272dc8d4981812224ea86ejcint
711890bc9379ceea66272dc8d4981812224ea86ejcraidcfg_list_next(
711890bc9379ceea66272dc8d4981812224ea86ejc int handle);
711890bc9379ceea66272dc8d4981812224ea86ejc
711890bc9379ceea66272dc8d4981812224ea86ejcint
711890bc9379ceea66272dc8d4981812224ea86ejcraidcfg_set_attr(
711890bc9379ceea66272dc8d4981812224ea86ejc int handle,
711890bc9379ceea66272dc8d4981812224ea86ejc uint32_t set_cmd,
711890bc9379ceea66272dc8d4981812224ea86ejc void *value,
711890bc9379ceea66272dc8d4981812224ea86ejc char **plugin_err_str);
711890bc9379ceea66272dc8d4981812224ea86ejc
711890bc9379ceea66272dc8d4981812224ea86ejcint
711890bc9379ceea66272dc8d4981812224ea86ejcraidcfg_update_fw(
711890bc9379ceea66272dc8d4981812224ea86ejc int handle,
711890bc9379ceea66272dc8d4981812224ea86ejc char *file,
711890bc9379ceea66272dc8d4981812224ea86ejc char **plugin_err_str);
711890bc9379ceea66272dc8d4981812224ea86ejc
711890bc9379ceea66272dc8d4981812224ea86ejcint
711890bc9379ceea66272dc8d4981812224ea86ejcraidcfg_create_array(
711890bc9379ceea66272dc8d4981812224ea86ejc int num_of_comps,
711890bc9379ceea66272dc8d4981812224ea86ejc int *disk_handles,
711890bc9379ceea66272dc8d4981812224ea86ejc uint32_t raid_level,
711890bc9379ceea66272dc8d4981812224ea86ejc uint64_t size,
711890bc9379ceea66272dc8d4981812224ea86ejc uint32_t stripe_size,
711890bc9379ceea66272dc8d4981812224ea86ejc char **plugin_err_str);
711890bc9379ceea66272dc8d4981812224ea86ejc
711890bc9379ceea66272dc8d4981812224ea86ejcint
711890bc9379ceea66272dc8d4981812224ea86ejcraidcfg_delete_array(
711890bc9379ceea66272dc8d4981812224ea86ejc int array_handle,
711890bc9379ceea66272dc8d4981812224ea86ejc char **plugin_err_str);
711890bc9379ceea66272dc8d4981812224ea86ejc
711890bc9379ceea66272dc8d4981812224ea86ejcint
711890bc9379ceea66272dc8d4981812224ea86ejcraidcfg_set_hsp(
711890bc9379ceea66272dc8d4981812224ea86ejc int num,
711890bc9379ceea66272dc8d4981812224ea86ejc raidcfg_hsp_relation_t *hsp_relations,
711890bc9379ceea66272dc8d4981812224ea86ejc char **plugin_err_str);
711890bc9379ceea66272dc8d4981812224ea86ejc
711890bc9379ceea66272dc8d4981812224ea86ejcint
711890bc9379ceea66272dc8d4981812224ea86ejcraidcfg_unset_hsp(
711890bc9379ceea66272dc8d4981812224ea86ejc int num,
711890bc9379ceea66272dc8d4981812224ea86ejc raidcfg_hsp_relation_t *hsp_relations,
711890bc9379ceea66272dc8d4981812224ea86ejc char **plugin_err_str);
711890bc9379ceea66272dc8d4981812224ea86ejc