1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 * or http://www.opensolaris.org/os/licensing. 10 * See the License for the specific language governing permissions 11 * and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21 22 /* 23 * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. 24 */ 25 26 #include "../common/sw_impl.h" 27 28 static const fmd_prop_t swde_props[] = { 29 { "enable", FMD_TYPE_BOOL, "true" }, 30 { NULL, 0, NULL } 31 }; 32 33 static const fmd_hdl_ops_t swde_ops = { 34 sw_recv, /* fmdo_recv - provided by common code */ 35 sw_timeout, /* fmdo_timeout - provided by common code */ 36 swde_close, /* fmdo_close */ 37 NULL, /* fmdo_stats */ 38 NULL, /* fmdo_gc */ 39 NULL, /* fmdo_send */ 40 NULL /* fmdo_topo */ 41 }; 42 43 const fmd_hdl_info_t swde_info = { 44 "Software Diagnosis engine", "0.1", &swde_ops, swde_props 45 }; 46 47 /* 48 * Subsidiary diagnosis "modules" that we host. 49 */ 50 static const struct sw_subinfo *subde[SW_SUB_MAX] = { 51 &smf_diag_info, 52 &panic_diag_info 53 }; 54 55 void 56 _fmd_init(fmd_hdl_t *hdl) 57 { 58 if (sw_fmd_init(hdl, &swde_info, &subde)) 59 swde_case_init(hdl); 60 } 61 62 void 63 _fmd_fini(fmd_hdl_t *hdl) 64 { 65 swde_case_fini(hdl); 66 sw_fmd_fini(hdl); 67 } 68