1e7cbe64fSgw /* 2e7cbe64fSgw * CDDL HEADER START 3e7cbe64fSgw * 4e7cbe64fSgw * The contents of this file are subject to the terms of the 5e7cbe64fSgw * Common Development and Distribution License (the "License"). 6e7cbe64fSgw * You may not use this file except in compliance with the License. 7e7cbe64fSgw * 8e7cbe64fSgw * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9e7cbe64fSgw * or http://www.opensolaris.org/os/licensing. 10e7cbe64fSgw * See the License for the specific language governing permissions 11e7cbe64fSgw * and limitations under the License. 12e7cbe64fSgw * 13e7cbe64fSgw * When distributing Covered Code, include this CDDL HEADER in each 14e7cbe64fSgw * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15e7cbe64fSgw * If applicable, add the following below this CDDL HEADER, with the 16e7cbe64fSgw * fields enclosed by brackets "[]" replaced with your own identifying 17e7cbe64fSgw * information: Portions Copyright [yyyy] [name of copyright owner] 18e7cbe64fSgw * 19e7cbe64fSgw * CDDL HEADER END 20e7cbe64fSgw */ 21e7cbe64fSgw 22e7cbe64fSgw /* 23e7cbe64fSgw * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 24e7cbe64fSgw * Use is subject to license terms. 25e7cbe64fSgw */ 26e7cbe64fSgw 27e7cbe64fSgw #pragma ident "%Z%%M% %I% %E% SMI" 28e7cbe64fSgw 29e7cbe64fSgw #include <sys/spa.h> 30e7cbe64fSgw #include <sys/bootconf.h> 31e7cbe64fSgw 32e7cbe64fSgw char * 33*051aabe6Staylor spa_get_bootprop(char *propname) 34e7cbe64fSgw { 35e7cbe64fSgw int proplen; 36*051aabe6Staylor char *value; 37e7cbe64fSgw 38*051aabe6Staylor proplen = BOP_GETPROPLEN(bootops, propname); 39*051aabe6Staylor if (proplen <= 0) 40e7cbe64fSgw return (NULL); 41e7cbe64fSgw 42*051aabe6Staylor value = kmem_zalloc(proplen, KM_SLEEP); 43*051aabe6Staylor if (BOP_GETPROP(bootops, propname, value) == -1) { 44*051aabe6Staylor kmem_free(value, proplen); 45e7cbe64fSgw return (NULL); 46e7cbe64fSgw } 47e7cbe64fSgw 48*051aabe6Staylor return (value); 49e7cbe64fSgw } 50e7cbe64fSgw 51e7cbe64fSgw void 52*051aabe6Staylor spa_free_bootprop(char *propname) 53e7cbe64fSgw { 54*051aabe6Staylor kmem_free(propname, strlen(propname) + 1); 55e7cbe64fSgw } 56