11414Scindi /* 21414Scindi * CDDL HEADER START 31414Scindi * 41414Scindi * The contents of this file are subject to the terms of the 51541Stimh * Common Development and Distribution License (the "License"). 61541Stimh * You may not use this file except in compliance with the License. 71414Scindi * 81414Scindi * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 91414Scindi * or http://www.opensolaris.org/os/licensing. 101414Scindi * See the License for the specific language governing permissions 111414Scindi * and limitations under the License. 121414Scindi * 131414Scindi * When distributing Covered Code, include this CDDL HEADER in each 141414Scindi * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 151414Scindi * If applicable, add the following below this CDDL HEADER, with the 161414Scindi * fields enclosed by brackets "[]" replaced with your own identifying 171414Scindi * information: Portions Copyright [yyyy] [name of copyright owner] 181414Scindi * 191414Scindi * CDDL HEADER END 201414Scindi */ 211414Scindi 221414Scindi /* 231414Scindi * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 241414Scindi * Use is subject to license terms. 251414Scindi */ 261414Scindi 271414Scindi #ifndef _TOPO_BUILTIN_H 281414Scindi #define _TOPO_BUILTIN_H 291414Scindi 301414Scindi #pragma ident "%Z%%M% %I% %E% SMI" 311414Scindi 321414Scindi #ifdef __cplusplus 331414Scindi extern "C" { 341414Scindi #endif 351414Scindi 361414Scindi #include <topo_tree.h> 371414Scindi #include <topo_module.h> 381414Scindi 391414Scindi /* 401414Scindi * topo_builtin.h 411414Scindi * 421414Scindi * This header file provides prototypes for any built-in scheme enumerators 431414Scindi * that are compiled directly into topo. Prototypes for their init and 441414Scindi * fini routines can be added here and corresponding linkage information to 451414Scindi * these functions should be added to the table found in topo_builtin.c. 461414Scindi */ 471414Scindi 481414Scindi typedef struct topo_builtin { 491414Scindi const char *bltin_name; 50*3062Scindi topo_version_t bltin_version; 51*3062Scindi int (*bltin_init)(topo_mod_t *, topo_version_t version); 521414Scindi void (*bltin_fini)(topo_mod_t *); 531414Scindi } topo_builtin_t; 541414Scindi 551414Scindi extern int topo_builtin_create(topo_hdl_t *, const char *); 561414Scindi 571414Scindi #ifdef __cplusplus 581414Scindi } 591414Scindi #endif 601414Scindi 611414Scindi #endif /* _TOPO_BUILTIN_H */ 62