]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - sys/cddl/contrib/opensolaris/uts/common/sys/sysevent/dev.h
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.git] / sys / cddl / contrib / opensolaris / uts / common / sys / sysevent / dev.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 2006 Sun Microsystems, Inc.  All rights reserved.
23  * Use is subject to license terms.
24  */
25
26 #ifndef _SYS_SYSEVENT_DEV_H
27 #define _SYS_SYSEVENT_DEV_H
28
29 #pragma ident   "%Z%%M% %I%     %E% SMI"
30
31 #include <sys/sysevent/eventdefs.h>
32
33 #ifdef  __cplusplus
34 extern "C" {
35 #endif
36
37 /*
38  * Event schema for EC_DEV_ADD/ESC_DISK
39  *
40  *      Event Class     - EC_DEV_ADD
41  *      Event Sub-Class - ESC_DISK
42  *
43  *      Attribute Name  - EV_VERSION
44  *      Attribute Type  - DATA_TYPE_INT32
45  *      Attribute Value - event version number
46  *
47  *      Attribute Name  - DEV_NAME
48  *      Attribute Type  - DATA_TYPE_STRING
49  *      Attribute Value - /dev name to the raw device.
50  *                        The name does not include the slice number component.
51  *
52  *      Attribute Name  - DEV_PHYS_PATH
53  *      Attribute Type  - DATA_TYPE_STRING
54  *      Attribute Value - physical path of the device without the "/devices"
55  *                        prefix.
56  *
57  *      Attribute Name  - DEV_DRIVER_NAME
58  *      Attribute Type  - DATA_TYPE_STRING
59  *      Attribute Value - driver name
60  *
61  *      Attribute Name  - DEV_INSTANCE
62  *      Attribute Type  - DATA_TYPE_INT32
63  *      Attribute Value - driver instance number
64  *
65  *      Attribute Name  - DEV_PROP_PREFIX<devinfo_node_property>
66  *      Attribute Type  - data type of the devinfo_node_property
67  *      Attribute Value - value of the devinfo_node_property
68  *
69  *
70  * Event schema for EC_DEV_ADD/ESC_NETWORK
71  *
72  *      Event Class     - EC_DEV_ADD
73  *      Event Sub-Class - ESC_NETWORK
74  *
75  *      Attribute Name  - EV_VERSION
76  *      Attribute Type  - DATA_TYPE_INT32
77  *      Attribute Value - event version number
78  *
79  *      Attribute Name  - DEV_NAME
80  *      Attribute Type  - DATA_TYPE_STRING
81  *      Attribute Value - /dev name associated with the device if exists.
82  *                        /dev name associated with the driver for DLPI
83  *                        Style-2 only drivers.
84  *
85  *      Attribute Name  - DEV_PHYS_PATH
86  *      Attribute Type  - DATA_TYPE_STRING
87  *      Attribute Value - physical path of the device without the "/devices"
88  *                        prefix.
89  *
90  *      Attribute Name  - DEV_DRIVER_NAME
91  *      Attribute Type  - DATA_TYPE_STRING
92  *      Attribute Value - driver name
93  *
94  *      Attribute Name  - DEV_INSTANCE
95  *      Attribute Type  - DATA_TYPE_INT32
96  *      Attribute Value - driver instance number
97  *
98  *      Attribute Name  - DEV_PROP_PREFIX<devinfo_node_property>
99  *      Attribute Type  - data type of the devinfo_node_property
100  *      Attribute Value - value of the devinfo_node_property
101  *
102  *
103  * Event schema for EC_DEV_ADD/ESC_PRINTER
104  *
105  *      Event Class     - EC_DEV_ADD
106  *      Event Sub-Class - ESC_PRINTER
107  *
108  *      Attribute Name  - EV_VERSION
109  *      Attribute Type  - DATA_TYPE_INT32
110  *      Attribute Value - event version number
111  *
112  *      Attribute Name  - DEV_NAME
113  *      Attribute Type  - DATA_TYPE_STRING
114  *      Attribute Value - /dev/printers name associated with the device
115  *                        if exists.
116  *                        /dev name associated with the device if it exists
117  *
118  *      Attribute Name  - DEV_PHYS_PATH
119  *      Attribute Type  - DATA_TYPE_STRING
120  *      Attribute Value - physical path of the device without the "/devices"
121  *                        prefix.
122  *
123  *      Attribute Name  - DEV_DRIVER_NAME
124  *      Attribute Type  - DATA_TYPE_STRING
125  *      Attribute Value - driver name
126  *
127  *      Attribute Name  - DEV_INSTANCE
128  *      Attribute Type  - DATA_TYPE_INT32
129  *      Attribute Value - driver instance number
130  *
131  *      Attribute Name  - DEV_PROP_PREFIX<devinfo_node_property>
132  *      Attribute Type  - data type of the devinfo_node_property
133  *      Attribute Value - value of the devinfo_node_property
134  *
135  *
136  * Event schema for EC_DEV_REMOVE/ESC_DISK
137  *
138  *      Event Class     - EC_DEV_REMOVE
139  *      Event Sub-Class - ESC_DISK
140  *
141  *      Attribute Name  - EV_VERSION
142  *      Attribute Type  - DATA_TYPE_INT32
143  *      Attribute Value - event version number
144  *
145  *      Attribute Name  - DEV_NAME
146  *      Attribute Type  - DATA_TYPE_STRING
147  *      Attribute Value - /dev name to the raw device.
148  *                        The name does not include the slice number component.
149  *
150  *      Attribute Name  - DEV_PHYS_PATH
151  *      Attribute Type  - DATA_TYPE_STRING
152  *      Attribute Value - physical path of the device without the "/devices"
153  *                        prefix.
154  *
155  *      Attribute Name  - DEV_DRIVER_NAME
156  *      Attribute Type  - DATA_TYPE_STRING
157  *      Attribute Value - driver name
158  *
159  *      Attribute Name  - DEV_INSTANCE
160  *      Attribute Type  - DATA_TYPE_INT32
161  *      Attribute Value - driver instance number
162  *
163  *
164  * Event schema for EC_DEV_REMOVE/ESC_NETWORK
165  *
166  *      Event Class     - EC_DEV_REMOVE
167  *      Event Sub-Class - ESC_NETWORK
168  *
169  *      Attribute Name  - EV_VERSION
170  *      Attribute Type  - DATA_TYPE_INT32
171  *      Attribute Value - event version number
172  *
173  *      Attribute Name  - DEV_NAME
174  *      Attribute Type  - DATA_TYPE_STRING
175  *      Attribute Value - /dev name associated with the device if exists.
176  *                        /dev name associated with the driver for DLPI
177  *                        Style-2 only drivers.
178  *
179  *      Attribute Name  - DEV_PHYS_PATH
180  *      Attribute Type  - DATA_TYPE_STRING
181  *      Attribute Value - physical path of the device without the "/devices"
182  *                        prefix.
183  *
184  *      Attribute Name  - DEV_DRIVER_NAME
185  *      Attribute Type  - DATA_TYPE_STRING
186  *      Attribute Value - driver name
187  *
188  *      Attribute Name  - DEV_INSTANCE
189  *      Attribute Type  - DATA_TYPE_INT32
190  *      Attribute Value - driver instance number
191  *
192  *
193  * Event schema for EC_DEV_REMOVE/ESC_PRINTER
194  *
195  *      Event Class     - EC_DEV_REMOVE
196  *      Event Sub-Class - ESC_PRINTER
197  *
198  *      Attribute Name  - EV_VERSION
199  *      Attribute Type  - DATA_TYPE_INT32
200  *      Attribute Value - event version number
201  *
202  *      Attribute Name  - DEV_NAME
203  *      Attribute Type  - DATA_TYPE_STRING
204  *      Attribute Value - /dev/printers name associated with the device
205  *                        if exists.
206  *                        /dev name associated with the device if it exists
207  *
208  *      Attribute Name  - DEV_PHYS_PATH
209  *      Attribute Type  - DATA_TYPE_STRING
210  *      Attribute Value - physical path of the device without the "/devices"
211  *                        prefix.
212  *
213  *      Attribute Name  - DEV_DRIVER_NAME
214  *      Attribute Type  - DATA_TYPE_STRING
215  *      Attribute Value - driver name
216  *
217  *      Attribute Name  - DEV_INSTANCE
218  *      Attribute Type  - DATA_TYPE_INT32
219  *      Attribute Value - driver instance number
220  *
221  *
222  * Event schema for EC_DEV_BRANCH/ESC_DEV_BRANCH_ADD or ESC_DEV_BRANCH_REMOVE
223  *
224  *      Event Class     - EC_DEV_BRANCH
225  *      Event Sub-Class - ESC_DEV_BRANCH_ADD or ESC_DEV_BRANCH_REMOVE
226  *
227  *      Attribute Name  - EV_VERSION
228  *      Attribute Type  - DATA_TYPE_INT32
229  *      Attribute Value - event version number
230  *
231  *      Attribute Name  - DEV_PHYS_PATH
232  *      Attribute Type  - DATA_TYPE_STRING
233  *      Attribute Value - physical path to the root node of the device subtree
234  *                        without the "/devices" prefix.
235  */
236
237 #define EV_VERSION              "version"
238 #define DEV_PHYS_PATH           "phys_path"
239 #define DEV_NAME                "dev_name"
240 #define DEV_DRIVER_NAME         "driver_name"
241 #define DEV_INSTANCE            "instance"
242 #define DEV_PROP_PREFIX         "prop-"
243
244 #define EV_V1                   1
245
246 /* maximum number of devinfo node properties added to the event */
247 #define MAX_PROP_COUNT          100
248
249 /* only properties with size less than PROP_LEN_LIMIT are added to the event */
250 #define PROP_LEN_LIMIT          1024
251
252 #ifdef  __cplusplus
253 }
254 #endif
255
256 #endif /* _SYS_SYSEVENT_DEV_H */