c4494f778c4dd46e3752491b5a4f6dcf7bfd4b5b
[zfs.git] / lib / libspl / include / sys / sysevent / eventdefs.h
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 2007 Sun Microsystems, Inc.  All rights reserved.
23  * Use is subject to license terms.
24  */
25
26 #ifndef _SYS_SYSEVENT_EVENTDEFS_H
27 #define _SYS_SYSEVENT_EVENTDEFS_H
28
29
30
31 #ifdef  __cplusplus
32 extern "C" {
33 #endif
34
35 /*
36  * eventdefs.h contains public definitions for sysevent types (classes
37  * and subclasses).  All additions/removal/changes are subject
38  * to PSARC approval.
39  */
40
41 /* Sysevent Class definitions */
42 #define EC_NONE         "EC_none"
43 #define EC_PRIV         "EC_priv"
44 #define EC_PLATFORM     "EC_platform"   /* events private to platform */
45 #define EC_DR           "EC_dr" /* Dynamic reconfiguration event class */
46 #define EC_ENV          "EC_env"        /* Environmental monitor event class */
47 #define EC_DOMAIN       "EC_domain"     /* Domain event class */
48 #define EC_AP_DRIVER    "EC_ap_driver"  /* Alternate Pathing event class */
49 #define EC_IPMP         "EC_ipmp"       /* IP Multipathing event class */
50 #define EC_DEV_ADD      "EC_dev_add"    /* device add event class */
51 #define EC_DEV_REMOVE   "EC_dev_remove" /* device remove event class */
52 #define EC_DEV_BRANCH   "EC_dev_branch" /* device tree branch event class */
53 #define EC_FM           "EC_fm"         /* FMA error report event */
54 #define EC_ZFS          "EC_zfs"        /* ZFS event */
55
56 /*
57  * The following event class is reserved for exclusive use
58  * by Sun Cluster software.
59  */
60 #define EC_CLUSTER      "EC_Cluster"
61
62 /*
63  * The following classes are exclusively reserved for use by the
64  * Solaris Volume Manager (SVM)
65  */
66 #define EC_SVM_CONFIG   "EC_SVM_Config"
67 #define EC_SVM_STATE    "EC_SVM_State"
68
69 /*
70  * EC_SVM_CONFIG subclass definitions - supporting attributes (name/value pairs)
71  * are found in sys/sysevent/svm.h
72  */
73 #define ESC_SVM_CREATE          "ESC_SVM_Create"
74 #define ESC_SVM_DELETE          "ESC_SVM_Delete"
75 #define ESC_SVM_ADD             "ESC_SVM_Add"
76 #define ESC_SVM_REMOVE          "ESC_SVM_Remove"
77 #define ESC_SVM_REPLACE         "ESC_SVM_Replace"
78 #define ESC_SVM_GROW            "ESC_SVM_Grow"
79 #define ESC_SVM_RENAME_SRC      "ESC_SVM_Rename_Src"
80 #define ESC_SVM_RENAME_DST      "ESC_SVM_Rename_Dst"
81 #define ESC_SVM_MEDIATOR_ADD    "ESC_SVM_Mediator_Add"
82 #define ESC_SVM_MEDIATOR_DELETE "ESC_SVM_Mediator_Delete"
83 #define ESC_SVM_HOST_ADD        "ESC_SVM_Host_Add"
84 #define ESC_SVM_HOST_DELETE     "ESC_SVM_Host_Delete"
85 #define ESC_SVM_DRIVE_ADD       "ESC_SVM_Drive_Add"
86 #define ESC_SVM_DRIVE_DELETE    "ESC_SVM_Drive_Delete"
87 #define ESC_SVM_DETACH          "ESC_SVM_Detach"
88 #define ESC_SVM_DETACHING       "ESC_SVM_Detaching"
89 #define ESC_SVM_ATTACH          "ESC_SVM_Attach"
90 #define ESC_SVM_ATTACHING       "ESC_SVM_Attaching"
91
92 /*
93  * EC_SVM_STATE subclass definitions - supporting attributes (name/value pairs)
94  * are found in sys/sysevent/svm.h
95  */
96 #define ESC_SVM_INIT_START      "ESC_SVM_Init_Start"
97 #define ESC_SVM_INIT_FAILED     "ESC_SVM_Init_Failed"
98 #define ESC_SVM_INIT_FATAL      "ESC_SVM_Init_Fatal"
99 #define ESC_SVM_INIT_SUCCESS    "ESC_SVM_Init_Success"
100 #define ESC_SVM_IOERR           "ESC_SVM_Ioerr"
101 #define ESC_SVM_ERRED           "ESC_SVM_Erred"
102 #define ESC_SVM_LASTERRED       "ESC_SVM_Lasterred"
103 #define ESC_SVM_OK              "ESC_SVM_Ok"
104 #define ESC_SVM_ENABLE          "ESC_SVM_Enable"
105 #define ESC_SVM_RESYNC_START    "ESC_SVM_Resync_Start"
106 #define ESC_SVM_RESYNC_FAILED   "ESC_SVM_Resync_Failed"
107 #define ESC_SVM_RESYNC_SUCCESS  "ESC_SVM_Resync_Success"
108 #define ESC_SVM_RESYNC_DONE     "ESC_SVM_Resync_Done"
109 #define ESC_SVM_HOTSPARED       "ESC_SVM_Hotspared"
110 #define ESC_SVM_HS_FREED        "ESC_SVM_HS_Freed"
111 #define ESC_SVM_HS_CHANGED      "ESC_SVM_HS_Changed"
112 #define ESC_SVM_TAKEOVER        "ESC_SVM_Takeover"
113 #define ESC_SVM_RELEASE         "ESC_SVM_Release"
114 #define ESC_SVM_OPEN_FAIL       "ESC_SVM_Open_Fail"
115 #define ESC_SVM_OFFLINE         "ESC_SVM_Offline"
116 #define ESC_SVM_ONLINE          "ESC_SVM_Online"
117 #define ESC_SVM_CHANGE          "ESC_SVM_Change"
118 #define ESC_SVM_EXCHANGE        "ESC_SVM_Exchange"
119 #define ESC_SVM_REGEN_START     "ESC_SVM_Regen_Start"
120 #define ESC_SVM_REGEN_DONE      "ESC_SVM_Regen_Done"
121 #define ESC_SVM_REGEN_FAILED    "ESC_SVM_Regen_Failed"
122
123 /*
124  * EC_DR subclass definitions - supporting attributes (name/value pairs)
125  * are found in sys/sysevent/dr.h
126  */
127
128 /* Attachment point state change */
129 #define ESC_DR_AP_STATE_CHANGE  "ESC_dr_ap_state_change"
130 #define ESC_DR_REQ              "ESC_dr_req"    /* Request DR */
131 #define ESC_DR_TARGET_STATE_CHANGE      "ESC_dr_target_state_change"
132
133 /*
134  * EC_ENV subclass definitions - supporting attributes (name/value pairs)
135  * are found in sys/sysevent/env.h
136  */
137 #define ESC_ENV_TEMP    "ESC_env_temp"  /* Temperature change event subclass */
138 #define ESC_ENV_FAN     "ESC_env_fan"   /* Fan status change event subclass */
139 #define ESC_ENV_POWER   "ESC_env_power" /* Power supply change event subclass */
140 #define ESC_ENV_LED     "ESC_env_led"   /* LED change event subclass */
141
142 /*
143  * EC_DOMAIN subclass definitions - supporting attributes (name/value pairs)
144  * are found in sys/sysevent/domain.h
145  */
146
147 /* Domain state change */
148 #define ESC_DOMAIN_STATE_CHANGE         "ESC_domain_state_change"
149 /* Domain loghost name change */
150 #define ESC_DOMAIN_LOGHOST_CHANGE       "ESC_domain_loghost_change"
151
152 /*
153  * EC_AP_DRIVER subclass definitions - supporting attributes (name/value pairs)
154  * are found in sys/sysevent/ap_driver.h
155  */
156
157 /* Alternate Pathing path switch */
158 #define ESC_AP_DRIVER_PATHSWITCH        "ESC_ap_driver_pathswitch"
159 /* Alternate Pathing database commit */
160 #define ESC_AP_DRIVER_COMMIT            "ESC_ap_driver_commit"
161 /* Alternate Pathing physical path status change */
162 #define ESC_AP_DRIVER_PHYS_PATH_STATUS_CHANGE   \
163         "ESC_ap_driver_phys_path_status_change"
164
165 /*
166  * EC_IPMP subclass definitions - supporting attributes (name/value pairs)
167  * are found in sys/sysevent/ipmp.h
168  */
169
170 /* IPMP group has changed state */
171 #define ESC_IPMP_GROUP_STATE            "ESC_ipmp_group_state"
172
173 /* IPMP group has been created or removed */
174 #define ESC_IPMP_GROUP_CHANGE           "ESC_ipmp_group_change"
175
176 /* IPMP group has had an interface added or removed */
177 #define ESC_IPMP_GROUP_MEMBER_CHANGE    "ESC_ipmp_group_member_change"
178
179 /* Interface within an IPMP group has changed state or type */
180 #define ESC_IPMP_IF_CHANGE              "ESC_ipmp_if_change"
181
182
183 /*
184  * EC_DEV_ADD and EC_DEV_REMOVE subclass definitions - supporting attributes
185  * (name/value pairs) are found in sys/sysevent/dev.h
186  */
187 #define ESC_DISK        "disk"          /* disk device */
188 #define ESC_NETWORK     "network"       /* network interface */
189 #define ESC_PRINTER     "printer"       /* printer device */
190 #define ESC_LOFI        "lofi"          /* lofi device */
191
192 /*
193  * EC_DEV_BRANCH subclass definitions - supporting attributes (name/value pairs)
194  * are found in sys/sysevent/dev.h
195  */
196
197 /* device tree branch added */
198 #define ESC_DEV_BRANCH_ADD      "ESC_dev_branch_add"
199
200 /* device tree branch removed */
201 #define ESC_DEV_BRANCH_REMOVE   "ESC_dev_branch_remove"
202
203 /* FMA Fault and Error event protocol subclass */
204 #define ESC_FM_ERROR            "ESC_FM_error"
205 #define ESC_FM_ERROR_REPLAY     "ESC_FM_error_replay"
206
207 /* Service processor subclass definitions */
208 #define ESC_PLATFORM_SP_RESET   "ESC_platform_sp_reset"
209
210 /*
211  * EC_ACPIEV subclass definitions
212  */
213 #define EC_ACPIEV                       "EC_acpiev"
214 #define ESC_ACPIEV_ADD                  "ESC_acpiev_add"
215 #define ESC_ACPIEV_REMOVE               "ESC_acpiev_remove"
216 #define ESC_ACPIEV_WARN                 "ESC_acpiev_warn"
217 #define ESC_ACPIEV_LOW                  "ESC_acpiev_low"
218 #define ESC_ACPIEV_STATE_CHANGE         "ESC_acpiev_state_change"
219
220 /*
221  * ZFS subclass definitions.  supporting attributes (name/value paris) are found
222  * in sys/fs/zfs.h
223  */
224 #define ESC_ZFS_RESILVER_START  "ESC_ZFS_resilver_start"
225 #define ESC_ZFS_RESILVER_FINISH "ESC_ZFS_resilver_finish"
226 #define ESC_ZFS_VDEV_REMOVE     "ESC_ZFS_vdev_remove"
227 #define ESC_ZFS_POOL_DESTROY    "ESC_ZFS_pool_destroy"
228 #define ESC_ZFS_VDEV_CLEAR      "ESC_ZFS_vdev_clear"
229 #define ESC_ZFS_VDEV_CHECK      "ESC_ZFS_vdev_check"
230
231 #ifdef  __cplusplus
232 }
233 #endif
234
235 #endif /* _SYS_SYSEVENT_EVENTDEFS_H */