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