2N/A/*
2N/A * CDDL HEADER START
2N/A *
2N/A * The contents of this file are subject to the terms of the
2N/A * Common Development and Distribution License (the "License").
2N/A * You may not use this file except in compliance with the License.
2N/A *
2N/A * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2N/A * or http://www.opensolaris.org/os/licensing.
2N/A * See the License for the specific language governing permissions
2N/A * and limitations under the License.
2N/A *
2N/A * When distributing Covered Code, include this CDDL HEADER in each
2N/A * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2N/A * If applicable, add the following below this CDDL HEADER, with the
2N/A * fields enclosed by brackets "[]" replaced with your own identifying
2N/A * information: Portions Copyright [yyyy] [name of copyright owner]
2N/A *
2N/A * CDDL HEADER END
2N/A */
2N/A
2N/A/*
2N/A * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
2N/A */
2N/A
2N/A#ifndef _PROBLEM_H
2N/A#define _PROBLEM_H
2N/A
2N/A#ifdef __cplusplus
2N/Aextern "C" {
2N/A#endif
2N/A
2N/A#include <sys/types.h>
2N/A#include <libuutil.h>
2N/A#include <libnvpair.h>
2N/A
2N/Atypedef struct sunFmProblem_data {
2N/A int d_valid;
2N/A uu_avl_node_t d_uuid_avl;
2N/A const char *d_aci_uuid;
2N/A const char *d_aci_code;
2N/A const char *d_aci_url;
2N/A const char *d_diag_engine;
2N/A struct timeval d_diag_time;
2N/A ulong_t d_nsuspects;
2N/A nvlist_t **d_suspects;
2N/A nvlist_t *d_aci_event;
2N/A uint8_t *d_statuses;
2N/A const char *d_severity;
2N/A boolean_t d_injected;
2N/A} sunFmProblem_data_t;
2N/A
2N/Atypedef struct sunFmProblem_update_ctx {
2N/A const char *uc_host;
2N/A uint32_t uc_prog;
2N/A int uc_version;
2N/A const char *uc_index;
2N/A uint32_t uc_type;
2N/A} sunFmProblem_update_ctx_t;
2N/A
2N/Atypedef nvlist_t sunFmFaultEvent_data_t;
2N/Atypedef uint8_t sunFmFaultStatus_data_t;
2N/A
2N/Aint sunFmProblemTable_init(void);
2N/Aint sunFmFaultEventTable_init(void);
2N/A
2N/A#define CASE_STATE_CLOSED "Closed"
2N/A#define CASE_STATE_SOLVED "Solved"
2N/A#define CASE_STATE_REPAIRED "Repaired"
2N/A#define CASE_STATE_RESOLVED "Resolved"
2N/A#define CASE_STATE_CLOSE_WAIT "Close-Wait"
2N/A
2N/A#ifdef __cplusplus
2N/A}
2N/A#endif
2N/A
2N/A#endif /* _PROBLEM_H */