11ba4a712SPawel Jakub Dawidek /*
21ba4a712SPawel Jakub Dawidek  * CDDL HEADER START
31ba4a712SPawel Jakub Dawidek  *
41ba4a712SPawel Jakub Dawidek  * The contents of this file are subject to the terms of the
51ba4a712SPawel Jakub Dawidek  * Common Development and Distribution License (the "License").
61ba4a712SPawel Jakub Dawidek  * You may not use this file except in compliance with the License.
71ba4a712SPawel Jakub Dawidek  *
81ba4a712SPawel Jakub Dawidek  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
91ba4a712SPawel Jakub Dawidek  * or http://www.opensolaris.org/os/licensing.
101ba4a712SPawel Jakub Dawidek  * See the License for the specific language governing permissions
111ba4a712SPawel Jakub Dawidek  * and limitations under the License.
121ba4a712SPawel Jakub Dawidek  *
131ba4a712SPawel Jakub Dawidek  * When distributing Covered Code, include this CDDL HEADER in each
141ba4a712SPawel Jakub Dawidek  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
151ba4a712SPawel Jakub Dawidek  * If applicable, add the following below this CDDL HEADER, with the
161ba4a712SPawel Jakub Dawidek  * fields enclosed by brackets "[]" replaced with your own identifying
171ba4a712SPawel Jakub Dawidek  * information: Portions Copyright [yyyy] [name of copyright owner]
181ba4a712SPawel Jakub Dawidek  *
191ba4a712SPawel Jakub Dawidek  * CDDL HEADER END
201ba4a712SPawel Jakub Dawidek  */
211ba4a712SPawel Jakub Dawidek 
2210b9d77bSPawel Jakub Dawidek /*
232f7f0f41SMartin Matuska  * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
241ba4a712SPawel Jakub Dawidek  * Copyright 2016 Nexenta Systems, Inc.
251ba4a712SPawel Jakub Dawidek  * Copyright 2017 Joyent, Inc.
261ba4a712SPawel Jakub Dawidek  */
271ba4a712SPawel Jakub Dawidek 
281ba4a712SPawel Jakub Dawidek #ifndef	_SYS_SYSEVENT_EVENTDEFS_H
291ba4a712SPawel Jakub Dawidek #define	_SYS_SYSEVENT_EVENTDEFS_H
301ba4a712SPawel Jakub Dawidek 
311ba4a712SPawel Jakub Dawidek #ifdef	__cplusplus
321ba4a712SPawel Jakub Dawidek extern "C" {
331ba4a712SPawel Jakub Dawidek #endif
341ba4a712SPawel Jakub Dawidek 
351ba4a712SPawel Jakub Dawidek /*
361ba4a712SPawel Jakub Dawidek  * eventdefs.h contains public definitions for sysevent types (classes
371ba4a712SPawel Jakub Dawidek  * and subclasses).  All additions/removal/changes are subject
381ba4a712SPawel Jakub Dawidek  * to PSARC approval.
391ba4a712SPawel Jakub Dawidek  */
401ba4a712SPawel Jakub Dawidek 
411ba4a712SPawel Jakub Dawidek /* Sysevent Class definitions */
421ba4a712SPawel Jakub Dawidek #define	EC_NONE		"EC_none"
431ba4a712SPawel Jakub Dawidek #define	EC_PRIV		"EC_priv"
441ba4a712SPawel Jakub Dawidek #define	EC_PLATFORM	"EC_platform"	/* events private to platform */
451ba4a712SPawel Jakub Dawidek #define	EC_DR		"EC_dr"	/* Dynamic reconfiguration event class */
461ba4a712SPawel Jakub Dawidek #define	EC_ENV		"EC_env"	/* Environmental monitor event class */
471ba4a712SPawel Jakub Dawidek #define	EC_DOMAIN	"EC_domain"	/* Domain event class */
481ba4a712SPawel Jakub Dawidek #define	EC_AP_DRIVER	"EC_ap_driver"	/* Alternate Pathing event class */
491ba4a712SPawel Jakub Dawidek #define	EC_IPMP		"EC_ipmp"	/* IP Multipathing event class */
501ba4a712SPawel Jakub Dawidek #define	EC_DEV_ADD	"EC_dev_add"	/* device add event class */
511ba4a712SPawel Jakub Dawidek #define	EC_DEV_REMOVE	"EC_dev_remove"	/* device remove event class */
521ba4a712SPawel Jakub Dawidek #define	EC_DEV_BRANCH	"EC_dev_branch"	/* device tree branch event class */
531ba4a712SPawel Jakub Dawidek #define	EC_DEV_STATUS	"EC_dev_status"	/* device status event class */
541ba4a712SPawel Jakub Dawidek #define	EC_FM		"EC_fm"		/* FMA error report event */
5510b9d77bSPawel Jakub Dawidek #define	EC_ZFS		"EC_zfs"	/* ZFS event */
561ba4a712SPawel Jakub Dawidek #define	EC_DATALINK	"EC_datalink"	/* datalink event */
571ba4a712SPawel Jakub Dawidek #define	EC_VRRP		"EC_vrrp"	/* VRRP event */
581ba4a712SPawel Jakub Dawidek 
591ba4a712SPawel Jakub Dawidek /*
601ba4a712SPawel Jakub Dawidek  * The following event class is reserved for exclusive use
611ba4a712SPawel Jakub Dawidek  * by Sun Cluster software.
621ba4a712SPawel Jakub Dawidek  */
631ba4a712SPawel Jakub Dawidek #define	EC_CLUSTER	"EC_Cluster"
641ba4a712SPawel Jakub Dawidek 
651ba4a712SPawel Jakub Dawidek /*
661ba4a712SPawel Jakub Dawidek  * EC_DR subclass definitions - supporting attributes (name/value pairs)
671ba4a712SPawel Jakub Dawidek  * are found in sys/sysevent/dr.h
681ba4a712SPawel Jakub Dawidek  */
691ba4a712SPawel Jakub Dawidek 
701ba4a712SPawel Jakub Dawidek /* Attachment point state change */
711ba4a712SPawel Jakub Dawidek #define	ESC_DR_AP_STATE_CHANGE	"ESC_dr_ap_state_change"
721ba4a712SPawel Jakub Dawidek #define	ESC_DR_REQ		"ESC_dr_req"	/* Request DR */
731ba4a712SPawel Jakub Dawidek #define	ESC_DR_TARGET_STATE_CHANGE	"ESC_dr_target_state_change"
741ba4a712SPawel Jakub Dawidek 
751ba4a712SPawel Jakub Dawidek /*
761ba4a712SPawel Jakub Dawidek  * EC_ENV subclass definitions - supporting attributes (name/value pairs)
771ba4a712SPawel Jakub Dawidek  * are found in sys/sysevent/env.h
781ba4a712SPawel Jakub Dawidek  */
791ba4a712SPawel Jakub Dawidek #define	ESC_ENV_TEMP	"ESC_env_temp"	/* Temperature change event subclass */
801ba4a712SPawel Jakub Dawidek #define	ESC_ENV_FAN	"ESC_env_fan"	/* Fan status change event subclass */
811ba4a712SPawel Jakub Dawidek #define	ESC_ENV_POWER	"ESC_env_power"	/* Power supply change event subclass */
821ba4a712SPawel Jakub Dawidek #define	ESC_ENV_LED	"ESC_env_led"	/* LED change event subclass */
831ba4a712SPawel Jakub Dawidek 
841ba4a712SPawel Jakub Dawidek /*
851ba4a712SPawel Jakub Dawidek  * EC_DOMAIN subclass definitions - supporting attributes (name/value pairs)
861ba4a712SPawel Jakub Dawidek  * are found in sys/sysevent/domain.h
871ba4a712SPawel Jakub Dawidek  */
881ba4a712SPawel Jakub Dawidek 
891ba4a712SPawel Jakub Dawidek /* Domain state change */
901ba4a712SPawel Jakub Dawidek #define	ESC_DOMAIN_STATE_CHANGE		"ESC_domain_state_change"
911ba4a712SPawel Jakub Dawidek /* Domain loghost name change */
921ba4a712SPawel Jakub Dawidek #define	ESC_DOMAIN_LOGHOST_CHANGE	"ESC_domain_loghost_change"
931ba4a712SPawel Jakub Dawidek 
941ba4a712SPawel Jakub Dawidek /*
951ba4a712SPawel Jakub Dawidek  * EC_AP_DRIVER subclass definitions - supporting attributes (name/value pairs)
961ba4a712SPawel Jakub Dawidek  * are found in sys/sysevent/ap_driver.h
971ba4a712SPawel Jakub Dawidek  */
981ba4a712SPawel Jakub Dawidek 
991ba4a712SPawel Jakub Dawidek /* Alternate Pathing path switch */
1001ba4a712SPawel Jakub Dawidek #define	ESC_AP_DRIVER_PATHSWITCH	"ESC_ap_driver_pathswitch"
1011ba4a712SPawel Jakub Dawidek /* Alternate Pathing database commit */
1021ba4a712SPawel Jakub Dawidek #define	ESC_AP_DRIVER_COMMIT		"ESC_ap_driver_commit"
1031ba4a712SPawel Jakub Dawidek /* Alternate Pathing physical path status change */
1041ba4a712SPawel Jakub Dawidek #define	ESC_AP_DRIVER_PHYS_PATH_STATUS_CHANGE	\
1051ba4a712SPawel Jakub Dawidek 	"ESC_ap_driver_phys_path_status_change"
1061ba4a712SPawel Jakub Dawidek 
1071ba4a712SPawel Jakub Dawidek /*
1081ba4a712SPawel Jakub Dawidek  * EC_IPMP subclass definitions - supporting attributes (name/value pairs)
1091ba4a712SPawel Jakub Dawidek  * are found in sys/sysevent/ipmp.h
1101ba4a712SPawel Jakub Dawidek  */
1111ba4a712SPawel Jakub Dawidek 
1121ba4a712SPawel Jakub Dawidek /* IPMP group has changed state */
1131ba4a712SPawel Jakub Dawidek #define	ESC_IPMP_GROUP_STATE		"ESC_ipmp_group_state"
1141ba4a712SPawel Jakub Dawidek 
1151ba4a712SPawel Jakub Dawidek /* IPMP group has been created or removed */
1161ba4a712SPawel Jakub Dawidek #define	ESC_IPMP_GROUP_CHANGE		"ESC_ipmp_group_change"
1171ba4a712SPawel Jakub Dawidek 
1181ba4a712SPawel Jakub Dawidek /* IPMP group has had an interface added or removed */
1191ba4a712SPawel Jakub Dawidek #define	ESC_IPMP_GROUP_MEMBER_CHANGE	"ESC_ipmp_group_member_change"
1201ba4a712SPawel Jakub Dawidek 
1211ba4a712SPawel Jakub Dawidek /* Interface within an IPMP group has changed state or type */
1221ba4a712SPawel Jakub Dawidek #define	ESC_IPMP_IF_CHANGE		"ESC_ipmp_if_change"
1231ba4a712SPawel Jakub Dawidek 
1241ba4a712SPawel Jakub Dawidek /* IPMP probe has changed state */
1251ba4a712SPawel Jakub Dawidek #define	ESC_IPMP_PROBE_STATE		"ESC_ipmp_probe_state"
1261ba4a712SPawel Jakub Dawidek 
1271ba4a712SPawel Jakub Dawidek /*
1281ba4a712SPawel Jakub Dawidek  * EC_DEV_ADD and EC_DEV_REMOVE subclass definitions - supporting attributes
1291ba4a712SPawel Jakub Dawidek  * (name/value pairs) are found in sys/sysevent/dev.h
1301ba4a712SPawel Jakub Dawidek  */
1311ba4a712SPawel Jakub Dawidek #define	ESC_DISK	"disk"		/* disk device */
1321ba4a712SPawel Jakub Dawidek #define	ESC_NETWORK	"network"	/* network interface */
1331ba4a712SPawel Jakub Dawidek #define	ESC_PRINTER	"printer"	/* printer device */
1341ba4a712SPawel Jakub Dawidek #define	ESC_LOFI	"lofi"		/* lofi device */
1351ba4a712SPawel Jakub Dawidek 
1361ba4a712SPawel Jakub Dawidek /*
1371ba4a712SPawel Jakub Dawidek  * EC_DEV_BRANCH subclass definitions - supporting attributes (name/value pairs)
1381ba4a712SPawel Jakub Dawidek  * are found in sys/sysevent/dev.h
1391ba4a712SPawel Jakub Dawidek  */
1401ba4a712SPawel Jakub Dawidek 
1411ba4a712SPawel Jakub Dawidek /* device tree branch added */
1421ba4a712SPawel Jakub Dawidek #define	ESC_DEV_BRANCH_ADD	"ESC_dev_branch_add"
1431ba4a712SPawel Jakub Dawidek 
1441ba4a712SPawel Jakub Dawidek /* device tree branch removed */
1451ba4a712SPawel Jakub Dawidek #define	ESC_DEV_BRANCH_REMOVE	"ESC_dev_branch_remove"
1461ba4a712SPawel Jakub Dawidek 
1471ba4a712SPawel Jakub Dawidek /*
1481ba4a712SPawel Jakub Dawidek  * EC_DEV_STATUS subclass definitions
1491ba4a712SPawel Jakub Dawidek  *
1501ba4a712SPawel Jakub Dawidek  * device capacity dynamically changed
1511ba4a712SPawel Jakub Dawidek  */
1521ba4a712SPawel Jakub Dawidek #define	ESC_DEV_DLE		"ESC_dev_dle"
1531ba4a712SPawel Jakub Dawidek 
1541ba4a712SPawel Jakub Dawidek /* LUN has received an eject request from the user */
1551ba4a712SPawel Jakub Dawidek #define	ESC_DEV_EJECT_REQUEST	"ESC_dev_eject_request"
1561ba4a712SPawel Jakub Dawidek 
1571ba4a712SPawel Jakub Dawidek /* FMA Fault and Error event protocol subclass */
1581ba4a712SPawel Jakub Dawidek #define	ESC_FM_ERROR		"ESC_FM_error"
1591ba4a712SPawel Jakub Dawidek #define	ESC_FM_ERROR_REPLAY	"ESC_FM_error_replay"
1601ba4a712SPawel Jakub Dawidek 
1611ba4a712SPawel Jakub Dawidek /* Service processor subclass definitions */
1621ba4a712SPawel Jakub Dawidek #define	ESC_PLATFORM_SP_RESET	"ESC_platform_sp_reset"
1631ba4a712SPawel Jakub Dawidek 
1641ba4a712SPawel Jakub Dawidek /*
1651ba4a712SPawel Jakub Dawidek  * EC_PWRCTL subclass definitions
1661ba4a712SPawel Jakub Dawidek  */
1671ba4a712SPawel Jakub Dawidek #define	EC_PWRCTL			"EC_pwrctl"
1681ba4a712SPawel Jakub Dawidek #define	ESC_PWRCTL_ADD			"ESC_pwrctl_add"
1691ba4a712SPawel Jakub Dawidek #define	ESC_PWRCTL_REMOVE		"ESC_pwrctl_remove"
1701ba4a712SPawel Jakub Dawidek #define	ESC_PWRCTL_WARN			"ESC_pwrctl_warn"
1711ba4a712SPawel Jakub Dawidek #define	ESC_PWRCTL_LOW			"ESC_pwrctl_low"
1721ba4a712SPawel Jakub Dawidek #define	ESC_PWRCTL_STATE_CHANGE		"ESC_pwrctl_state_change"
1731ba4a712SPawel Jakub Dawidek #define	ESC_PWRCTL_POWER_BUTTON		"ESC_pwrctl_power_button"
1741ba4a712SPawel Jakub Dawidek #define	ESC_PWRCTL_BRIGHTNESS_UP	"ESC_pwrctl_brightness_up"
1751ba4a712SPawel Jakub Dawidek #define	ESC_PWRCTL_BRIGHTNESS_DOWN	"ESC_pwrctl_brightness_down"
1761ba4a712SPawel Jakub Dawidek 
1771ba4a712SPawel Jakub Dawidek /* EC_ACPIEV subclass definitions */
1781ba4a712SPawel Jakub Dawidek #define	EC_ACPIEV			"EC_acpiev"
1791ba4a712SPawel Jakub Dawidek #define	ESC_ACPIEV_DISPLAY_SWITCH	"ESC_acpiev_display_switch"
1801ba4a712SPawel Jakub Dawidek #define	ESC_ACPIEV_SCREEN_LOCK		"ESC_acpiev_screen_lock"
1811ba4a712SPawel Jakub Dawidek #define	ESC_ACPIEV_SLEEP		"ESC_acpiev_sleep"
1821ba4a712SPawel Jakub Dawidek #define	ESC_ACPIEV_AUDIO_MUTE		"ESC_acpiev_audio_mute"
18310b9d77bSPawel Jakub Dawidek #define	ESC_ACPIEV_WIFI			"ESC_acpiev_wifi"
18410b9d77bSPawel Jakub Dawidek #define	ESC_ACPIEV_TOUCHPAD		"ESC_acpiev_touchpad"
1851ba4a712SPawel Jakub Dawidek 
1861ba4a712SPawel Jakub Dawidek /*
1871ba4a712SPawel Jakub Dawidek  * ZFS subclass definitions.  supporting attributes (name/value paris) are found
1881ba4a712SPawel Jakub Dawidek  * in sys/fs/zfs.h
1891ba4a712SPawel Jakub Dawidek  */
1901ba4a712SPawel Jakub Dawidek #define	ESC_ZFS_RESILVER_START		"ESC_ZFS_resilver_start"
1911ba4a712SPawel Jakub Dawidek #define	ESC_ZFS_RESILVER_FINISH		"ESC_ZFS_resilver_finish"
1921ba4a712SPawel Jakub Dawidek #define	ESC_ZFS_VDEV_REMOVE		"ESC_ZFS_vdev_remove"
1931ba4a712SPawel Jakub Dawidek #define	ESC_ZFS_VDEV_REMOVE_AUX		"ESC_ZFS_vdev_remove_aux"
1941ba4a712SPawel Jakub Dawidek #define	ESC_ZFS_VDEV_REMOVE_DEV		"ESC_ZFS_vdev_remove_dev"
1951ba4a712SPawel Jakub Dawidek #define	ESC_ZFS_POOL_CREATE		"ESC_ZFS_pool_create"
1961ba4a712SPawel Jakub Dawidek #define	ESC_ZFS_POOL_DESTROY		"ESC_ZFS_pool_destroy"
1971ba4a712SPawel Jakub Dawidek #define	ESC_ZFS_POOL_IMPORT		"ESC_ZFS_pool_import"
1981ba4a712SPawel Jakub Dawidek #define	ESC_ZFS_VDEV_ADD		"ESC_ZFS_vdev_add"
1991ba4a712SPawel Jakub Dawidek #define	ESC_ZFS_VDEV_ATTACH		"ESC_ZFS_vdev_attach"
2001ba4a712SPawel Jakub Dawidek #define	ESC_ZFS_VDEV_CLEAR		"ESC_ZFS_vdev_clear"
2011ba4a712SPawel Jakub Dawidek #define	ESC_ZFS_VDEV_CHECK		"ESC_ZFS_vdev_check"
2021ba4a712SPawel Jakub Dawidek #define	ESC_ZFS_VDEV_ONLINE		"ESC_ZFS_vdev_online"
2031ba4a712SPawel Jakub Dawidek #define	ESC_ZFS_CONFIG_SYNC		"ESC_ZFS_config_sync"
2041ba4a712SPawel Jakub Dawidek #define	ESC_ZFS_SCRUB_START		"ESC_ZFS_scrub_start"
2051ba4a712SPawel Jakub Dawidek #define	ESC_ZFS_SCRUB_FINISH		"ESC_ZFS_scrub_finish"
20610b9d77bSPawel Jakub Dawidek #define	ESC_ZFS_SCRUB_ABORT		"ESC_ZFS_scrub_abort"
20710b9d77bSPawel Jakub Dawidek #define	ESC_ZFS_SCRUB_RESUME		"ESC_ZFS_scrub_resume"
20810b9d77bSPawel Jakub Dawidek #define	ESC_ZFS_SCRUB_PAUSED		"ESC_ZFS_scrub_paused"
20910b9d77bSPawel Jakub Dawidek #define	ESC_ZFS_VDEV_SPARE		"ESC_ZFS_vdev_spare"
21010b9d77bSPawel Jakub Dawidek #define	ESC_ZFS_BOOTFS_VDEV_ATTACH	"ESC_ZFS_bootfs_vdev_attach"
2111ba4a712SPawel Jakub Dawidek #define	ESC_ZFS_POOL_REGUID		"ESC_ZFS_pool_reguid"
2121ba4a712SPawel Jakub Dawidek #define	ESC_ZFS_HISTORY_EVENT		"ESC_ZFS_history_event"
21310b9d77bSPawel Jakub Dawidek #define	ESC_ZFS_VDEV_AUTOEXPAND		"ESC_ZFS_vdev_autoexpand"
21410b9d77bSPawel Jakub Dawidek 
21510b9d77bSPawel Jakub Dawidek /*
2161ba4a712SPawel Jakub Dawidek  * datalink subclass definitions.
2171ba4a712SPawel Jakub Dawidek  */
2181ba4a712SPawel Jakub Dawidek #define	ESC_DATALINK_PHYS_ADD	"ESC_datalink_phys_add"	/* new physical link */
2191ba4a712SPawel Jakub Dawidek 
2201ba4a712SPawel Jakub Dawidek /*
2211ba4a712SPawel Jakub Dawidek  * VRRP subclass definitions. Supporting attributes (name/value paris) are
2221ba4a712SPawel Jakub Dawidek  * found in sys/sysevent/vrrp.h
2231ba4a712SPawel Jakub Dawidek  */
2241ba4a712SPawel Jakub Dawidek #define	ESC_VRRP_STATE_CHANGE	"ESC_vrrp_state_change"
2251ba4a712SPawel Jakub Dawidek 
2261ba4a712SPawel Jakub Dawidek #ifdef	__cplusplus
2271ba4a712SPawel Jakub Dawidek }
2281ba4a712SPawel Jakub Dawidek #endif
2291ba4a712SPawel Jakub Dawidek 
2301ba4a712SPawel Jakub Dawidek #endif /* _SYS_SYSEVENT_EVENTDEFS_H */
2311ba4a712SPawel Jakub Dawidek