4b22b9337f359bfd063322244f5336cc7c6ffcfars * CDDL HEADER START
4b22b9337f359bfd063322244f5336cc7c6ffcfars * The contents of this file are subject to the terms of the
4b22b9337f359bfd063322244f5336cc7c6ffcfars * Common Development and Distribution License (the "License").
4b22b9337f359bfd063322244f5336cc7c6ffcfars * You may not use this file except in compliance with the License.
4b22b9337f359bfd063322244f5336cc7c6ffcfars * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4b22b9337f359bfd063322244f5336cc7c6ffcfars * See the License for the specific language governing permissions
4b22b9337f359bfd063322244f5336cc7c6ffcfars * and limitations under the License.
4b22b9337f359bfd063322244f5336cc7c6ffcfars * When distributing Covered Code, include this CDDL HEADER in each
4b22b9337f359bfd063322244f5336cc7c6ffcfars * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4b22b9337f359bfd063322244f5336cc7c6ffcfars * If applicable, add the following below this CDDL HEADER, with the
4b22b9337f359bfd063322244f5336cc7c6ffcfars * fields enclosed by brackets "[]" replaced with your own identifying
4b22b9337f359bfd063322244f5336cc7c6ffcfars * information: Portions Copyright [yyyy] [name of copyright owner]
4b22b9337f359bfd063322244f5336cc7c6ffcfars * CDDL HEADER END
4b22b9337f359bfd063322244f5336cc7c6ffcfars * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
4b22b9337f359bfd063322244f5336cc7c6ffcfars * Use is subject to license terms.
4b22b9337f359bfd063322244f5336cc7c6ffcfars * Loads the HBA Library. Must be called before calling any HBA library
4b22b9337f359bfd063322244f5336cc7c6ffcfars * functions
4b22b9337f359bfd063322244f5336cc7c6ffcfars * Return values:
4b22b9337f359bfd063322244f5336cc7c6ffcfars * HBA_STATUS_OK library properly loaded
4b22b9337f359bfd063322244f5336cc7c6ffcfars * HBA_STATUS_ERROR library loaded incorrectly
4b22b9337f359bfd063322244f5336cc7c6ffcfars /* Make sure that library has not been already loaded */
4b22b9337f359bfd063322244f5336cc7c6ffcfars if (loadCount++ > 0) {
4b22b9337f359bfd063322244f5336cc7c6ffcfars log(LOG_DEBUG, ROUTINE, "Library already loaded %d time."
4b22b9337f359bfd063322244f5336cc7c6ffcfars /* Initialize the read-write lock */
return (HBA_STATUS_ERROR);
return (HBA_STATUS_ERROR);
if (atLeastOneHBA) {
return (HBA_STATUS_OK);
} else if (atLeastOneFailure) {
return (HBA_STATUS_ERROR);
return (HBA_STATUS_OK);