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