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  * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
23  * Copyright 2015 Nexenta Systems, Inc.  All rights reserved.
24  */
25 
26 #ifndef   _SYS_SYSEVENT_EVENTDEFS_H
27 #define   _SYS_SYSEVENT_EVENTDEFS_H
28 
29 #ifdef    __cplusplus
30 extern "C" {
31 #endif
32 
33 /*
34  * eventdefs.h contains public definitions for sysevent types (classes
35  * and subclasses).  All additions/removal/changes are subject
36  * to PSARC approval.
37  */
38 
39 /* Sysevent Class definitions */
40 #define   EC_NONE             "EC_none"
41 #define   EC_PRIV             "EC_priv"
42 #define   EC_PLATFORM         "EC_platform"       /* events private to platform */
43 #define   EC_DR               "EC_dr"   /* Dynamic reconfiguration event class */
44 #define   EC_ENV              "EC_env"  /* Environmental monitor event class */
45 #define   EC_DOMAIN "EC_domain"         /* Domain event class */
46 #define   EC_AP_DRIVER        "EC_ap_driver"      /* Alternate Pathing event class */
47 #define   EC_IPMP             "EC_ipmp" /* IP Multipathing event class */
48 #define   EC_DEV_ADD          "EC_dev_add"        /* device add event class */
49 #define   EC_DEV_REMOVE       "EC_dev_remove"     /* device remove event class */
50 #define   EC_DEV_BRANCH       "EC_dev_branch"     /* device tree branch event class */
51 #define   EC_DEV_STATUS       "EC_dev_status"     /* device status event class */
52 #define   EC_FM               "EC_fm"             /* FMA error report event */
53 #define   EC_ZFS              "EC_zfs"  /* ZFS event */
54 #define   EC_DATALINK         "EC_datalink"       /* datalink event */
55 #define   EC_VRRP             "EC_vrrp" /* VRRP event */
56 
57 /*
58  * The following event class is reserved for exclusive use
59  * by Sun Cluster software.
60  */
61 #define   EC_CLUSTER          "EC_Cluster"
62 
63 /*
64  * The following classes are exclusively reserved for use by the
65  * Solaris Volume Manager (SVM)
66  */
67 #define   EC_SVM_CONFIG       "EC_SVM_Config"
68 #define   EC_SVM_STATE        "EC_SVM_State"
69 
70 /*
71  * EC_SVM_CONFIG subclass definitions - supporting attributes (name/value pairs)
72  * are found in sys/sysevent/svm.h
73  */
74 #define   ESC_SVM_CREATE                "ESC_SVM_Create"
75 #define   ESC_SVM_DELETE                "ESC_SVM_Delete"
76 #define   ESC_SVM_ADD                   "ESC_SVM_Add"
77 #define   ESC_SVM_REMOVE                "ESC_SVM_Remove"
78 #define   ESC_SVM_REPLACE               "ESC_SVM_Replace"
79 #define   ESC_SVM_GROW                  "ESC_SVM_Grow"
80 #define   ESC_SVM_RENAME_SRC  "ESC_SVM_Rename_Src"
81 #define   ESC_SVM_RENAME_DST  "ESC_SVM_Rename_Dst"
82 #define   ESC_SVM_MEDIATOR_ADD          "ESC_SVM_Mediator_Add"
83 #define   ESC_SVM_MEDIATOR_DELETE       "ESC_SVM_Mediator_Delete"
84 #define   ESC_SVM_HOST_ADD    "ESC_SVM_Host_Add"
85 #define   ESC_SVM_HOST_DELETE "ESC_SVM_Host_Delete"
86 #define   ESC_SVM_DRIVE_ADD   "ESC_SVM_Drive_Add"
87 #define   ESC_SVM_DRIVE_DELETE          "ESC_SVM_Drive_Delete"
88 #define   ESC_SVM_DETACH                "ESC_SVM_Detach"
89 #define   ESC_SVM_DETACHING   "ESC_SVM_Detaching"
90 #define   ESC_SVM_ATTACH                "ESC_SVM_Attach"
91 #define   ESC_SVM_ATTACHING   "ESC_SVM_Attaching"
92 
93 /*
94  * EC_SVM_STATE subclass definitions - supporting attributes (name/value pairs)
95  * are found in sys/sysevent/svm.h
96  */
97 #define   ESC_SVM_INIT_START  "ESC_SVM_Init_Start"
98 #define   ESC_SVM_INIT_FAILED "ESC_SVM_Init_Failed"
99 #define   ESC_SVM_INIT_FATAL  "ESC_SVM_Init_Fatal"
100 #define   ESC_SVM_INIT_SUCCESS          "ESC_SVM_Init_Success"
101 #define   ESC_SVM_IOERR                 "ESC_SVM_Ioerr"
102 #define   ESC_SVM_ERRED                 "ESC_SVM_Erred"
103 #define   ESC_SVM_LASTERRED   "ESC_SVM_Lasterred"
104 #define   ESC_SVM_OK                    "ESC_SVM_Ok"
105 #define   ESC_SVM_ENABLE                "ESC_SVM_Enable"
106 #define   ESC_SVM_RESYNC_START          "ESC_SVM_Resync_Start"
107 #define   ESC_SVM_RESYNC_FAILED         "ESC_SVM_Resync_Failed"
108 #define   ESC_SVM_RESYNC_SUCCESS        "ESC_SVM_Resync_Success"
109 #define   ESC_SVM_RESYNC_DONE "ESC_SVM_Resync_Done"
110 #define   ESC_SVM_HOTSPARED   "ESC_SVM_Hotspared"
111 #define   ESC_SVM_HS_FREED    "ESC_SVM_HS_Freed"
112 #define   ESC_SVM_HS_CHANGED  "ESC_SVM_HS_Changed"
113 #define   ESC_SVM_TAKEOVER    "ESC_SVM_Takeover"
114 #define   ESC_SVM_RELEASE               "ESC_SVM_Release"
115 #define   ESC_SVM_OPEN_FAIL   "ESC_SVM_Open_Fail"
116 #define   ESC_SVM_OFFLINE               "ESC_SVM_Offline"
117 #define   ESC_SVM_ONLINE                "ESC_SVM_Online"
118 #define   ESC_SVM_CHANGE                "ESC_SVM_Change"
119 #define   ESC_SVM_EXCHANGE    "ESC_SVM_Exchange"
120 #define   ESC_SVM_REGEN_START "ESC_SVM_Regen_Start"
121 #define   ESC_SVM_REGEN_DONE  "ESC_SVM_Regen_Done"
122 #define   ESC_SVM_REGEN_FAILED          "ESC_SVM_Regen_Failed"
123 
124 /*
125  * EC_DR subclass definitions - supporting attributes (name/value pairs)
126  * are found in sys/sysevent/dr.h
127  */
128 
129 /* Attachment point state change */
130 #define   ESC_DR_AP_STATE_CHANGE        "ESC_dr_ap_state_change"
131 #define   ESC_DR_REQ                    "ESC_dr_req"        /* Request DR */
132 #define   ESC_DR_TARGET_STATE_CHANGE    "ESC_dr_target_state_change"
133 
134 /*
135  * EC_ENV subclass definitions - supporting attributes (name/value pairs)
136  * are found in sys/sysevent/env.h
137  */
138 #define   ESC_ENV_TEMP        "ESC_env_temp"      /* Temperature change event subclass */
139 #define   ESC_ENV_FAN         "ESC_env_fan"       /* Fan status change event subclass */
140 #define   ESC_ENV_POWER       "ESC_env_power"     /* Power supply change event subclass */
141 #define   ESC_ENV_LED         "ESC_env_led"       /* LED change event subclass */
142 
143 /*
144  * EC_DOMAIN subclass definitions - supporting attributes (name/value pairs)
145  * are found in sys/sysevent/domain.h
146  */
147 
148 /* Domain state change */
149 #define   ESC_DOMAIN_STATE_CHANGE                 "ESC_domain_state_change"
150 /* Domain loghost name change */
151 #define   ESC_DOMAIN_LOGHOST_CHANGE     "ESC_domain_loghost_change"
152 
153 /*
154  * EC_AP_DRIVER subclass definitions - supporting attributes (name/value pairs)
155  * are found in sys/sysevent/ap_driver.h
156  */
157 
158 /* Alternate Pathing path switch */
159 #define   ESC_AP_DRIVER_PATHSWITCH      "ESC_ap_driver_pathswitch"
160 /* Alternate Pathing database commit */
161 #define   ESC_AP_DRIVER_COMMIT                    "ESC_ap_driver_commit"
162 /* Alternate Pathing physical path status change */
163 #define   ESC_AP_DRIVER_PHYS_PATH_STATUS_CHANGE   \
164           "ESC_ap_driver_phys_path_status_change"
165 
166 /*
167  * EC_IPMP subclass definitions - supporting attributes (name/value pairs)
168  * are found in sys/sysevent/ipmp.h
169  */
170 
171 /* IPMP group has changed state */
172 #define   ESC_IPMP_GROUP_STATE                    "ESC_ipmp_group_state"
173 
174 /* IPMP group has been created or removed */
175 #define   ESC_IPMP_GROUP_CHANGE                   "ESC_ipmp_group_change"
176 
177 /* IPMP group has had an interface added or removed */
178 #define   ESC_IPMP_GROUP_MEMBER_CHANGE  "ESC_ipmp_group_member_change"
179 
180 /* Interface within an IPMP group has changed state or type */
181 #define   ESC_IPMP_IF_CHANGE            "ESC_ipmp_if_change"
182 
183 /* IPMP probe has changed state */
184 #define   ESC_IPMP_PROBE_STATE                    "ESC_ipmp_probe_state"
185 
186 /*
187  * EC_DEV_ADD and EC_DEV_REMOVE subclass definitions - supporting attributes
188  * (name/value pairs) are found in sys/sysevent/dev.h
189  */
190 #define   ESC_DISK  "disk"              /* disk device */
191 #define   ESC_NETWORK         "network" /* network interface */
192 #define   ESC_PRINTER         "printer" /* printer device */
193 #define   ESC_LOFI  "lofi"              /* lofi device */
194 
195 /*
196  * EC_DEV_BRANCH subclass definitions - supporting attributes (name/value pairs)
197  * are found in sys/sysevent/dev.h
198  */
199 
200 /* device tree branch added */
201 #define   ESC_DEV_BRANCH_ADD  "ESC_dev_branch_add"
202 
203 /* device tree branch removed */
204 #define   ESC_DEV_BRANCH_REMOVE         "ESC_dev_branch_remove"
205 
206 /*
207  * EC_DEV_STATUS subclass definitions
208  *
209  * device capacity dynamically changed
210  */
211 #define   ESC_DEV_DLE                   "ESC_dev_dle"
212 
213 /* LUN has received an eject request from the user */
214 #define   ESC_DEV_EJECT_REQUEST         "ESC_dev_eject_request"
215 
216 /* FMA Fault and Error event protocol subclass */
217 #define   ESC_FM_ERROR                  "ESC_FM_error"
218 #define   ESC_FM_ERROR_REPLAY "ESC_FM_error_replay"
219 
220 /* Service processor subclass definitions */
221 #define   ESC_PLATFORM_SP_RESET         "ESC_platform_sp_reset"
222 
223 /*
224  * EC_PWRCTL subclass definitions
225  */
226 #define   EC_PWRCTL                     "EC_pwrctl"
227 #define   ESC_PWRCTL_ADD                          "ESC_pwrctl_add"
228 #define   ESC_PWRCTL_REMOVE             "ESC_pwrctl_remove"
229 #define   ESC_PWRCTL_WARN                         "ESC_pwrctl_warn"
230 #define   ESC_PWRCTL_LOW                          "ESC_pwrctl_low"
231 #define   ESC_PWRCTL_STATE_CHANGE                 "ESC_pwrctl_state_change"
232 #define   ESC_PWRCTL_POWER_BUTTON                 "ESC_pwrctl_power_button"
233 #define   ESC_PWRCTL_BRIGHTNESS_UP      "ESC_pwrctl_brightness_up"
234 #define   ESC_PWRCTL_BRIGHTNESS_DOWN    "ESC_pwrctl_brightness_down"
235 
236 /* EC_ACPIEV subclass definitions */
237 #define   EC_ACPIEV                     "EC_acpiev"
238 #define   ESC_ACPIEV_DISPLAY_SWITCH     "ESC_acpiev_display_switch"
239 #define   ESC_ACPIEV_SCREEN_LOCK                  "ESC_acpiev_screen_lock"
240 #define   ESC_ACPIEV_SLEEP              "ESC_acpiev_sleep"
241 #define   ESC_ACPIEV_AUDIO_MUTE                   "ESC_acpiev_audio_mute"
242 #define   ESC_ACPIEV_WIFI                         "ESC_acpiev_wifi"
243 #define   ESC_ACPIEV_TOUCHPAD           "ESC_acpiev_touchpad"
244 
245 /*
246  * ZFS subclass definitions.  supporting attributes (name/value paris) are found
247  * in sys/fs/zfs.h
248  */
249 #define   ESC_ZFS_RESILVER_START                  "ESC_ZFS_resilver_start"
250 #define   ESC_ZFS_RESILVER_FINISH                 "ESC_ZFS_resilver_finish"
251 #define   ESC_ZFS_VDEV_REMOVE           "ESC_ZFS_vdev_remove"
252 #define   ESC_ZFS_VDEV_REMOVE_AUX                 "ESC_ZFS_vdev_remove_aux"
253 #define   ESC_ZFS_VDEV_REMOVE_DEV                 "ESC_ZFS_vdev_remove_dev"
254 #define   ESC_ZFS_POOL_CREATE           "ESC_ZFS_pool_create"
255 #define   ESC_ZFS_POOL_DESTROY                    "ESC_ZFS_pool_destroy"
256 #define   ESC_ZFS_POOL_IMPORT           "ESC_ZFS_pool_import"
257 #define   ESC_ZFS_VDEV_ADD              "ESC_ZFS_vdev_add"
258 #define   ESC_ZFS_VDEV_ATTACH           "ESC_ZFS_vdev_attach"
259 #define   ESC_ZFS_VDEV_CLEAR            "ESC_ZFS_vdev_clear"
260 #define   ESC_ZFS_VDEV_CHECK            "ESC_ZFS_vdev_check"
261 #define   ESC_ZFS_VDEV_ONLINE           "ESC_ZFS_vdev_online"
262 #define   ESC_ZFS_CONFIG_SYNC           "ESC_ZFS_config_sync"
263 #define   ESC_ZFS_SCRUB_START           "ESC_ZFS_scrub_start"
264 #define   ESC_ZFS_SCRUB_FINISH                    "ESC_ZFS_scrub_finish"
265 #define   ESC_ZFS_VDEV_SPARE            "ESC_ZFS_vdev_spare"
266 #define   ESC_ZFS_BOOTFS_VDEV_ATTACH    "ESC_ZFS_bootfs_vdev_attach"
267 #define   ESC_ZFS_POOL_REGUID           "ESC_ZFS_pool_reguid"
268 #define   ESC_ZFS_VDEV_AUTOEXPAND                 "ESC_ZFS_vdev_autoexpand"
269 
270 /*
271  * datalink subclass definitions.
272  */
273 #define   ESC_DATALINK_PHYS_ADD         "ESC_datalink_phys_add"       /* new physical link */
274 
275 /*
276  * VRRP subclass definitions. Supporting attributes (name/value paris) are
277  * found in sys/sysevent/vrrp.h
278  */
279 #define   ESC_VRRP_STATE_CHANGE         "ESC_vrrp_state_change"
280 
281 #ifdef    __cplusplus
282 }
283 #endif
284 
285 #endif /* _SYS_SYSEVENT_EVENTDEFS_H */
286