e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock/*
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock * CDDL HEADER START
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock *
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock * The contents of this file are subject to the terms of the
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock * Common Development and Distribution License (the "License").
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock * You may not use this file except in compliance with the License.
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock *
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock * or http://www.opensolaris.org/os/licensing.
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock * See the License for the specific language governing permissions
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock * and limitations under the License.
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock *
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock * When distributing Covered Code, include this CDDL HEADER in each
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock * If applicable, add the following below this CDDL HEADER, with the
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock * fields enclosed by brackets "[]" replaced with your own identifying
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock * information: Portions Copyright [yyyy] [name of copyright owner]
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock *
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock * CDDL HEADER END
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock */
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock/*
49b225e1cfa7bbf7738d4df0a03f18e3283426ebGavin Maltby * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock * Use is subject to license terms.
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock */
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock#include <libsysevent.h>
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock#include <stdio.h>
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrockint
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrockmain(int argc, char **argv)
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock{
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock evchan_t *ch;
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock if (sysevent_evc_bind("channel_dtest", &ch,
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock EVCH_CREAT | EVCH_HOLD_PEND) != 0) {
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock (void) fprintf(stderr, "failed to bind to sysevent channel\n");
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock return (1);
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock }
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock for (;;) {
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock if (sysevent_evc_publish(ch, "class_dtest", "subclass_dtest",
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock "vendor_dtest", "publisher_dtest", NULL, EVCH_SLEEP) != 0) {
49b225e1cfa7bbf7738d4df0a03f18e3283426ebGavin Maltby (void) sysevent_evc_unbind(ch);
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock (void) fprintf(stderr, "failed to publisth sysevent\n");
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock return (1);
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock }
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock sleep(1);
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock }
e04145d08b77ade206d51c2367bebfc06f3e87f8eschrock}