root/usr/src/lib/fm/libfmd_snmp/common/fmd_snmp.h
/*
 * CDDL HEADER START
 *
 * The contents of this file are subject to the terms of the
 * Common Development and Distribution License (the "License").
 * You may not use this file except in compliance with the License.
 *
 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
 * or http://www.opensolaris.org/os/licensing.
 * See the License for the specific language governing permissions
 * and limitations under the License.
 *
 * When distributing Covered Code, include this CDDL HEADER in each
 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
 * If applicable, add the following below this CDDL HEADER, with the
 * fields enclosed by brackets "[]" replaced with your own identifying
 * information: Portions Copyright [yyyy] [name of copyright owner]
 *
 * CDDL HEADER END
 */

/*
 * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
 */

#ifndef _FMD_SNMP_H
#define _FMD_SNMP_H

#ifdef  __cplusplus
extern "C" {
#endif

/*
 * These values are derived from, and must remain consistent with, the
 * MIB definitions in SUN-FM-MIB.
 */
#define MODNAME_STR     "sunFM"
#define SUNFM_OID       1, 3, 6, 1, 4, 1, 42, 2, 195, 1

#define SUNFMPROBLEMTABLE_OID           SUNFM_OID, 1

#define SUNFMPROBLEM_COL_UUIDINDEX      1
#define SUNFMPROBLEM_COL_UUID           2
#define SUNFMPROBLEM_COL_CODE           3
#define SUNFMPROBLEM_COL_URL            4
#define SUNFMPROBLEM_COL_DIAGENGINE     5
#define SUNFMPROBLEM_COL_DIAGTIME       6
#define SUNFMPROBLEM_COL_SUSPECTCOUNT   7

#define SUNFMPROBLEM_COLMIN             SUNFMPROBLEM_COL_UUID
#define SUNFMPROBLEM_COLMAX             SUNFMPROBLEM_COL_SUSPECTCOUNT

#define SUNFMFAULTEVENTTABLE_OID        SUNFM_OID, 2

#define SUNFMFAULTEVENT_COL_UUIDINDEX   1
#define SUNFMFAULTEVENT_COL_INDEX       2
#define SUNFMFAULTEVENT_COL_PROBLEMUUID 3
#define SUNFMFAULTEVENT_COL_CLASS       4
#define SUNFMFAULTEVENT_COL_CERTAINTY   5
#define SUNFMFAULTEVENT_COL_ASRU        6
#define SUNFMFAULTEVENT_COL_FRU         7
#define SUNFMFAULTEVENT_COL_RESOURCE    8
#define SUNFMFAULTEVENT_COL_STATUS      9
#define SUNFMFAULTEVENT_COL_LOCATION    10

#define SUNFMFAULTEVENT_COLMIN          SUNFMFAULTEVENT_COL_PROBLEMUUID
#define SUNFMFAULTEVENT_COLMAX          SUNFMFAULTEVENT_COL_LOCATION

#define SUNFMFAULTEVENT_STATE_OTHER     1
#define SUNFMFAULTEVENT_STATE_FAULTY    2
#define SUNFMFAULTEVENT_STATE_REMOVED   3
#define SUNFMFAULTEVENT_STATE_REPLACED  4
#define SUNFMFAULTEVENT_STATE_REPAIRED  5
#define SUNFMFAULTEVENT_STATE_ACQUITTED 6

#define SUNFMMODULETABLE_OID            SUNFM_OID, 3

#define SUNFMMODULE_COL_INDEX           1
#define SUNFMMODULE_COL_NAME            2
#define SUNFMMODULE_COL_VERSION         3
#define SUNFMMODULE_COL_STATUS          4
#define SUNFMMODULE_COL_DESCRIPTION     5

#define SUNFMMODULE_COLMIN              SUNFMMODULE_COL_NAME
#define SUNFMMODULE_COLMAX              SUNFMMODULE_COL_DESCRIPTION

#define SUNFMMODULE_STATE_OTHER         1
#define SUNFMMODULE_STATE_ACTIVE        2
#define SUNFMMODULE_STATE_FAILED        3

#define SUNFMRESOURCECOUNT_OID          SUNFM_OID, 4

#define SUNFMRESOURCETABLE_OID          SUNFM_OID, 5

#define SUNFMRESOURCE_COL_INDEX         1
#define SUNFMRESOURCE_COL_FMRI          2
#define SUNFMRESOURCE_COL_STATUS        3
#define SUNFMRESOURCE_COL_DIAGNOSISUUID 4

#define SUNFMRESOURCE_COLMIN            SUNFMRESOURCE_COL_FMRI
#define SUNFMRESOURCE_COLMAX            SUNFMRESOURCE_COL_DIAGNOSISUUID

#define SUNFMRESOURCE_STATE_OTHER       1
#define SUNFMRESOURCE_STATE_OK          2
#define SUNFMRESOURCE_STATE_DEGRADED    3
#define SUNFMRESOURCE_STATE_UNKNOWN     4
#define SUNFMRESOURCE_STATE_FAULTED     5

#define SUNFMTRAPS_OID                  SUNFM_OID, 7, 0
#define SUNFMPROBLEMTRAP_OID            SUNFMTRAPS_OID, 1

#define SNMP_URL_MSG    "snmp-url"

/*
 * Definitions from SUN-IREPORT-MIB
 */
#define SUNIREPORT_OID  1, 3, 6, 1, 4, 1, 42, 2, 197, 1

#define SUNIREPORTNOTIFICATIONENTRY     SUNIREPORT_OID, 1

#define SUNIREPORTHOSTNAME_OID          SUNIREPORTNOTIFICATIONENTRY, 1
#define SUNIREPORTMSGID_OID             SUNIREPORTNOTIFICATIONENTRY, 2
#define SUNIREPORTDESCRIPTION_OID       SUNIREPORTNOTIFICATIONENTRY, 3
#define SUNIREPORTTIME_OID              SUNIREPORTNOTIFICATIONENTRY, 4
#define SUNIREPORTSMFFMRI_OID           SUNIREPORTNOTIFICATIONENTRY, 5
#define SUNIREPORTSMFFROMSTATE_OID      SUNIREPORTNOTIFICATIONENTRY, 6
#define SUNIREPORTSMFTOSTATE_OID        SUNIREPORTNOTIFICATIONENTRY, 7
#define SUNIREPORTTRANSITIONREASON_OID  SUNIREPORTNOTIFICATIONENTRY, 8

#define SUNIREPORTTRAPS_OID             SUNIREPORT_OID, 2, 0
#define SUNIREPORTTRAP_OID              SUNIREPORTTRAPS_OID, 1


extern int      init_sunFM(void);

#ifdef  __cplusplus
}
#endif

#endif  /* _FMD_SNMP_H */