xref: /onnv-gate/usr/src/uts/common/sys/sysevent/dev.h (revision 0:68f95e015346)
1*0Sstevel@tonic-gate /*
2*0Sstevel@tonic-gate  * CDDL HEADER START
3*0Sstevel@tonic-gate  *
4*0Sstevel@tonic-gate  * The contents of this file are subject to the terms of the
5*0Sstevel@tonic-gate  * Common Development and Distribution License, Version 1.0 only
6*0Sstevel@tonic-gate  * (the "License").  You may not use this file except in compliance
7*0Sstevel@tonic-gate  * with the License.
8*0Sstevel@tonic-gate  *
9*0Sstevel@tonic-gate  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10*0Sstevel@tonic-gate  * or http://www.opensolaris.org/os/licensing.
11*0Sstevel@tonic-gate  * See the License for the specific language governing permissions
12*0Sstevel@tonic-gate  * and limitations under the License.
13*0Sstevel@tonic-gate  *
14*0Sstevel@tonic-gate  * When distributing Covered Code, include this CDDL HEADER in each
15*0Sstevel@tonic-gate  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16*0Sstevel@tonic-gate  * If applicable, add the following below this CDDL HEADER, with the
17*0Sstevel@tonic-gate  * fields enclosed by brackets "[]" replaced with your own identifying
18*0Sstevel@tonic-gate  * information: Portions Copyright [yyyy] [name of copyright owner]
19*0Sstevel@tonic-gate  *
20*0Sstevel@tonic-gate  * CDDL HEADER END
21*0Sstevel@tonic-gate  */
22*0Sstevel@tonic-gate /*
23*0Sstevel@tonic-gate  * Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
24*0Sstevel@tonic-gate  * Use is subject to license terms.
25*0Sstevel@tonic-gate  */
26*0Sstevel@tonic-gate 
27*0Sstevel@tonic-gate #ifndef	_SYS_SYSEVENT_DEV_H
28*0Sstevel@tonic-gate #define	_SYS_SYSEVENT_DEV_H
29*0Sstevel@tonic-gate 
30*0Sstevel@tonic-gate #pragma ident	"%Z%%M%	%I%	%E% SMI"
31*0Sstevel@tonic-gate 
32*0Sstevel@tonic-gate #include <sys/sysevent/eventdefs.h>
33*0Sstevel@tonic-gate 
34*0Sstevel@tonic-gate #ifdef	__cplusplus
35*0Sstevel@tonic-gate extern "C" {
36*0Sstevel@tonic-gate #endif
37*0Sstevel@tonic-gate 
38*0Sstevel@tonic-gate /*
39*0Sstevel@tonic-gate  * Event schema for EC_DEV_ADD/ESC_DISK
40*0Sstevel@tonic-gate  *
41*0Sstevel@tonic-gate  *	Event Class 	- EC_DEV_ADD
42*0Sstevel@tonic-gate  *	Event Sub-Class - ESC_DISK
43*0Sstevel@tonic-gate  *
44*0Sstevel@tonic-gate  *	Attribute Name	- EV_VERSION
45*0Sstevel@tonic-gate  *	Attribute Type	- DATA_TYPE_INT32
46*0Sstevel@tonic-gate  *	Attribute Value	- event version number
47*0Sstevel@tonic-gate  *
48*0Sstevel@tonic-gate  *	Attribute Name	- DEV_NAME
49*0Sstevel@tonic-gate  *	Attribute Type	- DATA_TYPE_STRING
50*0Sstevel@tonic-gate  *	Attribute Value	- /dev name to the raw device.
51*0Sstevel@tonic-gate  *			  The name does not include the slice number component.
52*0Sstevel@tonic-gate  *
53*0Sstevel@tonic-gate  *	Attribute Name	- DEV_PHYS_PATH
54*0Sstevel@tonic-gate  *	Attribute Type	- DATA_TYPE_STRING
55*0Sstevel@tonic-gate  *	Attribute Value	- physical path of the device without the "/devices"
56*0Sstevel@tonic-gate  *			  prefix.
57*0Sstevel@tonic-gate  *
58*0Sstevel@tonic-gate  *	Attribute Name	- DEV_DRIVER_NAME
59*0Sstevel@tonic-gate  *	Attribute Type	- DATA_TYPE_STRING
60*0Sstevel@tonic-gate  *	Attribute Value	- driver name
61*0Sstevel@tonic-gate  *
62*0Sstevel@tonic-gate  *	Attribute Name	- DEV_INSTANCE
63*0Sstevel@tonic-gate  *	Attribute Type	- DATA_TYPE_INT32
64*0Sstevel@tonic-gate  *	Attribute Value	- driver instance number
65*0Sstevel@tonic-gate  *
66*0Sstevel@tonic-gate  *	Attribute Name	- DEV_PROP_PREFIX<devinfo_node_property>
67*0Sstevel@tonic-gate  *	Attribute Type	- data type of the devinfo_node_property
68*0Sstevel@tonic-gate  *	Attribute Value	- value of the devinfo_node_property
69*0Sstevel@tonic-gate  *
70*0Sstevel@tonic-gate  *
71*0Sstevel@tonic-gate  * Event schema for EC_DEV_ADD/ESC_NETWORK
72*0Sstevel@tonic-gate  *
73*0Sstevel@tonic-gate  *	Event Class 	- EC_DEV_ADD
74*0Sstevel@tonic-gate  *	Event Sub-Class - ESC_NETWORK
75*0Sstevel@tonic-gate  *
76*0Sstevel@tonic-gate  *	Attribute Name	- EV_VERSION
77*0Sstevel@tonic-gate  *	Attribute Type	- DATA_TYPE_INT32
78*0Sstevel@tonic-gate  *	Attribute Value	- event version number
79*0Sstevel@tonic-gate  *
80*0Sstevel@tonic-gate  *	Attribute Name	- DEV_NAME
81*0Sstevel@tonic-gate  *	Attribute Type	- DATA_TYPE_STRING
82*0Sstevel@tonic-gate  *	Attribute Value	- /dev name associated with the device if exists.
83*0Sstevel@tonic-gate  *			  /dev name associated with the driver for DLPI
84*0Sstevel@tonic-gate  *			  Style-2 only drivers.
85*0Sstevel@tonic-gate  *
86*0Sstevel@tonic-gate  *	Attribute Name	- DEV_PHYS_PATH
87*0Sstevel@tonic-gate  *	Attribute Type	- DATA_TYPE_STRING
88*0Sstevel@tonic-gate  *	Attribute Value	- physical path of the device without the "/devices"
89*0Sstevel@tonic-gate  *			  prefix.
90*0Sstevel@tonic-gate  *
91*0Sstevel@tonic-gate  *	Attribute Name	- DEV_DRIVER_NAME
92*0Sstevel@tonic-gate  *	Attribute Type	- DATA_TYPE_STRING
93*0Sstevel@tonic-gate  *	Attribute Value	- driver name
94*0Sstevel@tonic-gate  *
95*0Sstevel@tonic-gate  *	Attribute Name	- DEV_INSTANCE
96*0Sstevel@tonic-gate  *	Attribute Type	- DATA_TYPE_INT32
97*0Sstevel@tonic-gate  *	Attribute Value	- driver instance number
98*0Sstevel@tonic-gate  *
99*0Sstevel@tonic-gate  *	Attribute Name	- DEV_PROP_PREFIX<devinfo_node_property>
100*0Sstevel@tonic-gate  *	Attribute Type	- data type of the devinfo_node_property
101*0Sstevel@tonic-gate  *	Attribute Value	- value of the devinfo_node_property
102*0Sstevel@tonic-gate  *
103*0Sstevel@tonic-gate  *
104*0Sstevel@tonic-gate  * Event schema for EC_DEV_REMOVE/ESC_DISK
105*0Sstevel@tonic-gate  *
106*0Sstevel@tonic-gate  *	Event Class 	- EC_DEV_REMOVE
107*0Sstevel@tonic-gate  *	Event Sub-Class - ESC_DISK
108*0Sstevel@tonic-gate  *
109*0Sstevel@tonic-gate  *	Attribute Name	- EV_VERSION
110*0Sstevel@tonic-gate  *	Attribute Type	- DATA_TYPE_INT32
111*0Sstevel@tonic-gate  *	Attribute Value	- event version number
112*0Sstevel@tonic-gate  *
113*0Sstevel@tonic-gate  *	Attribute Name	- DEV_NAME
114*0Sstevel@tonic-gate  *	Attribute Type	- DATA_TYPE_STRING
115*0Sstevel@tonic-gate  *	Attribute Value	- /dev name to the raw device.
116*0Sstevel@tonic-gate  *			  The name does not include the slice number component.
117*0Sstevel@tonic-gate  *
118*0Sstevel@tonic-gate  *	Attribute Name	- DEV_PHYS_PATH
119*0Sstevel@tonic-gate  *	Attribute Type	- DATA_TYPE_STRING
120*0Sstevel@tonic-gate  *	Attribute Value	- physical path of the device without the "/devices"
121*0Sstevel@tonic-gate  *			  prefix.
122*0Sstevel@tonic-gate  *
123*0Sstevel@tonic-gate  *	Attribute Name	- DEV_DRIVER_NAME
124*0Sstevel@tonic-gate  *	Attribute Type	- DATA_TYPE_STRING
125*0Sstevel@tonic-gate  *	Attribute Value	- driver name
126*0Sstevel@tonic-gate  *
127*0Sstevel@tonic-gate  *	Attribute Name	- DEV_INSTANCE
128*0Sstevel@tonic-gate  *	Attribute Type	- DATA_TYPE_INT32
129*0Sstevel@tonic-gate  *	Attribute Value	- driver instance number
130*0Sstevel@tonic-gate  *
131*0Sstevel@tonic-gate  *
132*0Sstevel@tonic-gate  * Event schema for EC_DEV_REMOVE/ESC_NETWORK
133*0Sstevel@tonic-gate  *
134*0Sstevel@tonic-gate  *	Event Class 	- EC_DEV_REMOVE
135*0Sstevel@tonic-gate  *	Event Sub-Class - ESC_NETWORK
136*0Sstevel@tonic-gate  *
137*0Sstevel@tonic-gate  *	Attribute Name	- EV_VERSION
138*0Sstevel@tonic-gate  *	Attribute Type	- DATA_TYPE_INT32
139*0Sstevel@tonic-gate  *	Attribute Value	- event version number
140*0Sstevel@tonic-gate  *
141*0Sstevel@tonic-gate  *	Attribute Name	- DEV_NAME
142*0Sstevel@tonic-gate  *	Attribute Type	- DATA_TYPE_STRING
143*0Sstevel@tonic-gate  *	Attribute Value	- /dev name associated with the device if exists.
144*0Sstevel@tonic-gate  *			  /dev name associated with the driver for DLPI
145*0Sstevel@tonic-gate  *			  Style-2 only drivers.
146*0Sstevel@tonic-gate  *
147*0Sstevel@tonic-gate  *	Attribute Name	- DEV_PHYS_PATH
148*0Sstevel@tonic-gate  *	Attribute Type	- DATA_TYPE_STRING
149*0Sstevel@tonic-gate  *	Attribute Value	- physical path of the device without the "/devices"
150*0Sstevel@tonic-gate  *			  prefix.
151*0Sstevel@tonic-gate  *
152*0Sstevel@tonic-gate  *	Attribute Name	- DEV_DRIVER_NAME
153*0Sstevel@tonic-gate  *	Attribute Type	- DATA_TYPE_STRING
154*0Sstevel@tonic-gate  *	Attribute Value	- driver name
155*0Sstevel@tonic-gate  *
156*0Sstevel@tonic-gate  *	Attribute Name	- DEV_INSTANCE
157*0Sstevel@tonic-gate  *	Attribute Type	- DATA_TYPE_INT32
158*0Sstevel@tonic-gate  *	Attribute Value	- driver instance number
159*0Sstevel@tonic-gate  *
160*0Sstevel@tonic-gate  *
161*0Sstevel@tonic-gate  * Event schema for EC_DEV_BRANCH/ESC_DEV_BRANCH_ADD or ESC_DEV_BRANCH_REMOVE
162*0Sstevel@tonic-gate  *
163*0Sstevel@tonic-gate  *	Event Class 	- EC_DEV_BRANCH
164*0Sstevel@tonic-gate  *	Event Sub-Class - ESC_DEV_BRANCH_ADD or ESC_DEV_BRANCH_REMOVE
165*0Sstevel@tonic-gate  *
166*0Sstevel@tonic-gate  *	Attribute Name	- EV_VERSION
167*0Sstevel@tonic-gate  *	Attribute Type	- DATA_TYPE_INT32
168*0Sstevel@tonic-gate  *	Attribute Value	- event version number
169*0Sstevel@tonic-gate  *
170*0Sstevel@tonic-gate  *	Attribute Name	- DEV_PHYS_PATH
171*0Sstevel@tonic-gate  *	Attribute Type	- DATA_TYPE_STRING
172*0Sstevel@tonic-gate  *	Attribute Value	- physical path to the root node of the device subtree
173*0Sstevel@tonic-gate  *			  without the "/devices" prefix.
174*0Sstevel@tonic-gate  */
175*0Sstevel@tonic-gate 
176*0Sstevel@tonic-gate #define	EV_VERSION		"version"
177*0Sstevel@tonic-gate #define	DEV_PHYS_PATH		"phys_path"
178*0Sstevel@tonic-gate #define	DEV_NAME		"dev_name"
179*0Sstevel@tonic-gate #define	DEV_DRIVER_NAME		"driver_name"
180*0Sstevel@tonic-gate #define	DEV_INSTANCE		"instance"
181*0Sstevel@tonic-gate #define	DEV_PROP_PREFIX		"prop-"
182*0Sstevel@tonic-gate 
183*0Sstevel@tonic-gate #define	EV_V1			1
184*0Sstevel@tonic-gate 
185*0Sstevel@tonic-gate /* maximum number of devinfo node properties added to the event */
186*0Sstevel@tonic-gate #define	MAX_PROP_COUNT		100
187*0Sstevel@tonic-gate 
188*0Sstevel@tonic-gate /* only properties with size less than PROP_LEN_LIMIT are added to the event */
189*0Sstevel@tonic-gate #define	PROP_LEN_LIMIT		1024
190*0Sstevel@tonic-gate 
191*0Sstevel@tonic-gate #ifdef	__cplusplus
192*0Sstevel@tonic-gate }
193*0Sstevel@tonic-gate #endif
194*0Sstevel@tonic-gate 
195*0Sstevel@tonic-gate #endif /* _SYS_SYSEVENT_DEV_H */
196