xref: /onnv-gate/usr/src/lib/fm/libfmd_snmp/common/problem.h (revision 7275:1157db66a604)
11303Swesolows /*
21303Swesolows  * CDDL HEADER START
31303Swesolows  *
41303Swesolows  * The contents of this file are subject to the terms of the
51303Swesolows  * Common Development and Distribution License (the "License").
61303Swesolows  * You may not use this file except in compliance with the License.
71303Swesolows  *
81303Swesolows  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
91303Swesolows  * or http://www.opensolaris.org/os/licensing.
101303Swesolows  * See the License for the specific language governing permissions
111303Swesolows  * and limitations under the License.
121303Swesolows  *
131303Swesolows  * When distributing Covered Code, include this CDDL HEADER in each
141303Swesolows  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
151303Swesolows  * If applicable, add the following below this CDDL HEADER, with the
161303Swesolows  * fields enclosed by brackets "[]" replaced with your own identifying
171303Swesolows  * information: Portions Copyright [yyyy] [name of copyright owner]
181303Swesolows  *
191303Swesolows  * CDDL HEADER END
201303Swesolows  */
211303Swesolows 
221303Swesolows /*
23*7275Sstephh  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
241303Swesolows  * Use is subject to license terms.
251303Swesolows  */
261303Swesolows 
271303Swesolows #ifndef	_PROBLEM_H
281303Swesolows #define	_PROBLEM_H
291303Swesolows 
301303Swesolows #pragma ident	"%Z%%M%	%I%	%E% SMI"
311303Swesolows 
321303Swesolows #ifdef	__cplusplus
331303Swesolows extern "C" {
341303Swesolows #endif
351303Swesolows 
361303Swesolows #include <sys/types.h>
371303Swesolows #include <libuutil.h>
381303Swesolows #include <libnvpair.h>
391303Swesolows 
401303Swesolows typedef struct sunFmProblem_data {
411303Swesolows 	int		d_valid;
421303Swesolows 	uu_avl_node_t	d_uuid_avl;
431303Swesolows 	const char	*d_aci_uuid;
441303Swesolows 	const char	*d_aci_code;
451303Swesolows 	const char	*d_aci_url;
461303Swesolows 	const char	*d_diag_engine;
471303Swesolows 	struct timeval	d_diag_time;
481303Swesolows 	ulong_t		d_nsuspects;
491303Swesolows 	nvlist_t	**d_suspects;
501303Swesolows 	nvlist_t	*d_aci_event;
51*7275Sstephh 	uint8_t		*d_statuses;
521303Swesolows } sunFmProblem_data_t;
531303Swesolows 
541303Swesolows typedef struct sunFmProblem_update_ctx {
551303Swesolows 	const char	*uc_host;
561303Swesolows 	uint32_t	uc_prog;
571303Swesolows 	int		uc_version;
581303Swesolows 	const char	*uc_index;
591303Swesolows 	uint32_t	uc_type;
601303Swesolows } sunFmProblem_update_ctx_t;
611303Swesolows 
621303Swesolows typedef nvlist_t sunFmFaultEvent_data_t;
63*7275Sstephh typedef uint8_t sunFmFaultStatus_data_t;
641303Swesolows 
651303Swesolows int sunFmProblemTable_init(void);
661303Swesolows int sunFmFaultEventTable_init(void);
671303Swesolows 
681303Swesolows #ifdef	__cplusplus
691303Swesolows }
701303Swesolows #endif
711303Swesolows 
721303Swesolows #endif	/* _PROBLEM_H */
73