13062Scindi /* 23062Scindi * CDDL HEADER START 33062Scindi * 43062Scindi * The contents of this file are subject to the terms of the 53062Scindi * Common Development and Distribution License (the "License"). 63062Scindi * You may not use this file except in compliance with the License. 73062Scindi * 83062Scindi * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 93062Scindi * or http://www.opensolaris.org/os/licensing. 103062Scindi * See the License for the specific language governing permissions 113062Scindi * and limitations under the License. 123062Scindi * 133062Scindi * When distributing Covered Code, include this CDDL HEADER in each 143062Scindi * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 153062Scindi * If applicable, add the following below this CDDL HEADER, with the 163062Scindi * fields enclosed by brackets "[]" replaced with your own identifying 173062Scindi * information: Portions Copyright [yyyy] [name of copyright owner] 183062Scindi * 193062Scindi * CDDL HEADER END 203062Scindi */ 213062Scindi /* 22*13131SHyon.Kim@Sun.COM * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. 233062Scindi */ 243062Scindi 253062Scindi #ifndef _FMD_TOPO_H 263062Scindi #define _FMD_TOPO_H 273062Scindi 283062Scindi #ifdef __cplusplus 293062Scindi extern "C" { 303062Scindi #endif 313062Scindi 323062Scindi #include <fm/libtopo.h> 333062Scindi 343062Scindi #include <fmd_list.h> 353062Scindi 363062Scindi extern void fmd_topo_init(void); 373062Scindi extern void fmd_topo_fini(void); 383062Scindi 393062Scindi typedef struct fmd_topo { 403062Scindi fmd_list_t ft_list; 413062Scindi topo_hdl_t *ft_hdl; 424198Seschrock uint32_t ft_refcount; 439728SEric.Schrock@Sun.COM hrtime_t ft_time_begin; 449728SEric.Schrock@Sun.COM hrtime_t ft_time_end; 453062Scindi } fmd_topo_t; 463062Scindi 47*13131SHyon.Kim@Sun.COM extern void fmd_topo_update(void); 484198Seschrock extern fmd_topo_t *fmd_topo_hold(void); 494198Seschrock extern void fmd_topo_addref(fmd_topo_t *); 504198Seschrock extern void fmd_topo_rele(fmd_topo_t *); 514198Seschrock extern void fmd_topo_rele_hdl(topo_hdl_t *); 524198Seschrock 533062Scindi #ifdef __cplusplus 543062Scindi } 553062Scindi #endif 563062Scindi 573062Scindi #endif /* _FMD_TOPO_H */ 58