xref: /titanic_41/usr/src/uts/common/sys/sysevent/svm.h (revision 7c478bd95313f5f23a4c958a745db2134aa03244)
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, Version 1.0 only
6  * (the "License").  You may not use this file except in compliance
7  * with the License.
8  *
9  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10  * or http://www.opensolaris.org/os/licensing.
11  * See the License for the specific language governing permissions
12  * and limitations under the License.
13  *
14  * When distributing Covered Code, include this CDDL HEADER in each
15  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16  * If applicable, add the following below this CDDL HEADER, with the
17  * fields enclosed by brackets "[]" replaced with your own identifying
18  * information: Portions Copyright [yyyy] [name of copyright owner]
19  *
20  * CDDL HEADER END
21  */
22 /*
23  * Copyright 2000-2002 Sun Microsystems, Inc.  All rights reserved.
24  * Use is subject to license terms.
25  */
26 
27 #ifndef	_SYS_SYSEVENT_SVM_H
28 #define	_SYS_SYSEVENT_SVM_H
29 
30 #pragma ident	"%Z%%M%	%I%	%E% SMI"
31 
32 #include <sys/sysevent.h>
33 
34 #ifdef	__cplusplus
35 extern "C" {
36 #endif
37 
38 /*
39  * svm.h contains the publicly defined sysevent attribute names and values
40  * for all SVM type sysevents.  Additions/removals/changes are subject to
41  * PSARC approval.
42  */
43 
44 /*
45  * svm sysevent version
46  */
47 #define	SVM_VERSION0	0
48 #define	SVM_VERSION	SVM_VERSION0
49 
50 /*
51  * Event type EC_SVM_CONFIG/EC_SVM_STATE event schema
52  *	Event Class 	- EC_SVM_CONFIG | EC_SVM_STATE
53  *	Event Sub-Class - ESC_SVM_CREATE/ESC_SVM_DELETE/ESC_SVM_ADD/
54  *			  ESC_SVM_REMOVE/ESC_SVM_REPLACE/ESC_SVM_GROW/
55  *			  ESC_SVM_RENAME_SRC/ESC_SVM_RENAME_DST/
56  *			  ESC_SVM_MEDIATOR_ADD/ESC_SVM_MEDIATOR_DELETE/
57  *			  ESC_SVM_HOST_ADD/ESC_SVM_HOST_DELETE/
58  *			  ESC_SVM_DRIVE_ADD/ESC_SVM_DRIVE_DELETE/
59  *			  ESC_SVM_DETACH/ESC_SVM_DETACHING/ESC_SVM_ATTACH/
60  *			  ESC_SVM_ATTACHING |
61  *			  ESC_SVM_INIT_START/ESC_SVM_INIT_FAILED/
62  *			  ESC_SVM_INIT_FATAL/ESC_SVM_INIT_SUCCESS/
63  *			  ESC_SVM_IOERR/ESC_SVM_ERRED/ESC_SVM_LASTERRED/
64  *			  ESC_SVM_OK/ESC_SVM_ENABLE/ESC_SVM_RESYNC_START/
65  *			  ESC_SVM_RESYNC_FAILED/ESC_SVM_RESYNC_SUCCESS/
66  *			  ESC_SVM_RESYNC_DONE/ESC_SVM_HOTSPARED/
67  *			  ESC_SVM_HS_FREED/ESC_SVM_HS_CHANGED/
68  *			  ESC_SVM_TAKEOVER/ESC_SVM_RELEASE/ESC_SVM_OPEN_FAIL/
69  *			  ESC_SVM_OFFLINE/ESC_SVM_ONLINE/ESC_SVM_CHANGE/
70  *			  ESC_SVM_EXCHANGE/ESC_SVM_REGEN_START/
71  *			  ESC_SVM_REGEN_DONE/ESC_SVM_REGEN_FAILED/
72  *	Attribute Name	- SVM_TAG
73  *	Attribute Type	- SE_DATA_TYPE_UINT32
74  *	Attribute Value	- [Device Tag]]
75  *	Attribute Name	- SVM_SET_NO
76  *	Attribute Type	- SE_DATA_TYPE_UINT32 - uint_t
77  *	Attribute Value	- [Device Set Number]
78  *	Attribute Name	- SVM_DEV_ID
79  *	Attribute Type	- SE_DATA_TYPE_UINT32 - ulong_t
80  *	Attribute Value	- [Device ID]
81  *	Attribute Name	- SVM_DEV_NAME
82  *	Attribute Type	- SE_DATA_TYPE_STRING
83  *	Attribute Value	- [Device Name]
84  */
85 #define	SVM_VERSION_NO	"svm_version"	/* event version number */
86 #define	SVM_TAG		"svm_tag"	/* device tag */
87 #define	SVM_SET_NO	"svm_set_no"	/* device set number */
88 #define	SVM_DEV_ID	"svm_dev_id"	/* device event occured on */
89 #define	SVM_DEV_NAME	"svm_dev_name"	/* device name */
90 
91 /*
92  * sys event originator
93  */
94 #define	EP_SVM		"svm"
95 
96 /*
97  * Device TAG definitions
98  */
99 #define	SVM_TAG_METADEVICE	 1
100 #define	SVM_TAG_MIRROR		 2
101 #define	SVM_TAG_STRIPE		 3
102 #define	SVM_TAG_RAID5		 4
103 #define	SVM_TAG_TRANS		 5
104 #define	SVM_TAG_REPLICA		 6
105 #define	SVM_TAG_HSP		 7
106 #define	SVM_TAG_HS		 8
107 #define	SVM_TAG_SET		 9
108 #define	SVM_TAG_DRIVE		10
109 #define	SVM_TAG_HOST		11
110 #define	SVM_TAG_MEDIATOR	12
111 
112 #ifdef	__cplusplus
113 }
114 #endif
115 
116 #endif /* _SYS_SYSEVENT_SVM_H */
117