xref: /illumos-gate/usr/src/lib/fm/libfmd_agent/common/fmd_agent_impl.h (revision e4b86885570d77af552e9cf94f142f4d744fb8c8)
1*e4b86885SCheng Sean Ye /*
2*e4b86885SCheng Sean Ye  * CDDL HEADER START
3*e4b86885SCheng Sean Ye  *
4*e4b86885SCheng Sean Ye  * The contents of this file are subject to the terms of the
5*e4b86885SCheng Sean Ye  * Common Development and Distribution License (the "License").
6*e4b86885SCheng Sean Ye  * You may not use this file except in compliance with the License.
7*e4b86885SCheng Sean Ye  *
8*e4b86885SCheng Sean Ye  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9*e4b86885SCheng Sean Ye  * or http://www.opensolaris.org/os/licensing.
10*e4b86885SCheng Sean Ye  * See the License for the specific language governing permissions
11*e4b86885SCheng Sean Ye  * and limitations under the License.
12*e4b86885SCheng Sean Ye  *
13*e4b86885SCheng Sean Ye  * When distributing Covered Code, include this CDDL HEADER in each
14*e4b86885SCheng Sean Ye  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15*e4b86885SCheng Sean Ye  * If applicable, add the following below this CDDL HEADER, with the
16*e4b86885SCheng Sean Ye  * fields enclosed by brackets "[]" replaced with your own identifying
17*e4b86885SCheng Sean Ye  * information: Portions Copyright [yyyy] [name of copyright owner]
18*e4b86885SCheng Sean Ye  *
19*e4b86885SCheng Sean Ye  * CDDL HEADER END
20*e4b86885SCheng Sean Ye  */
21*e4b86885SCheng Sean Ye 
22*e4b86885SCheng Sean Ye /*
23*e4b86885SCheng Sean Ye  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
24*e4b86885SCheng Sean Ye  * Use is subject to license terms.
25*e4b86885SCheng Sean Ye  */
26*e4b86885SCheng Sean Ye 
27*e4b86885SCheng Sean Ye #ifndef	_FMD_AGENT_IMPL_H
28*e4b86885SCheng Sean Ye #define	_FMD_AGENT_IMPL_H
29*e4b86885SCheng Sean Ye 
30*e4b86885SCheng Sean Ye #include <inttypes.h>
31*e4b86885SCheng Sean Ye #include <libnvpair.h>
32*e4b86885SCheng Sean Ye #include <sys/types.h>
33*e4b86885SCheng Sean Ye #include <sys/processor.h>
34*e4b86885SCheng Sean Ye #include <fmd_agent.h>
35*e4b86885SCheng Sean Ye 
36*e4b86885SCheng Sean Ye #ifdef	__cplusplus
37*e4b86885SCheng Sean Ye extern "C" {
38*e4b86885SCheng Sean Ye #endif
39*e4b86885SCheng Sean Ye 
40*e4b86885SCheng Sean Ye struct fmd_agent_hdl {
41*e4b86885SCheng Sean Ye 	int 	agent_devfd;
42*e4b86885SCheng Sean Ye 	int	agent_version;
43*e4b86885SCheng Sean Ye 	int	agent_errno;
44*e4b86885SCheng Sean Ye 	nvlist_t *agent_ioc_versions;
45*e4b86885SCheng Sean Ye };
46*e4b86885SCheng Sean Ye 
47*e4b86885SCheng Sean Ye extern int fmd_agent_nvl_ioctl(fmd_agent_hdl_t *, int, uint32_t, nvlist_t *,
48*e4b86885SCheng Sean Ye     nvlist_t **);
49*e4b86885SCheng Sean Ye extern int fmd_agent_version(fmd_agent_hdl_t *, const char *, uint32_t *);
50*e4b86885SCheng Sean Ye extern int fmd_agent_seterrno(fmd_agent_hdl_t *, int);
51*e4b86885SCheng Sean Ye 
52*e4b86885SCheng Sean Ye #ifdef	__cplusplus
53*e4b86885SCheng Sean Ye }
54*e4b86885SCheng Sean Ye #endif
55*e4b86885SCheng Sean Ye 
56*e4b86885SCheng Sean Ye #endif	/* _FMD_AGENT_IMPL_H */
57