xref: /onnv-gate/usr/src/lib/fm/topo/libtopo/common/topo_builtin.h (revision 3062:46d280f5351d)
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