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) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
23 */
24
25 #ifndef _DLS_MGMT_H
26 #define _DLS_MGMT_H
27
28 #include <sys/types.h>
29 #include <sys/param.h>
30 #include <sys/zone.h>
31
32 /*
33 * Data-Link Services Module
34 */
35
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
39
40 typedef enum {
41 DATALINK_CLASS_PHYS = 0x01,
42 DATALINK_CLASS_VLAN = 0x02,
148 boolean_t ld_novanity;
149 uint32_t ld_media;
150 uint32_t ld_padding;
151 char ld_devname[MAXNAMELEN];
152 } dlmgmt_upcall_arg_update_t;
153
154 typedef struct dlmgmt_upcall_arg_getattr {
155 int ld_cmd;
156 datalink_id_t ld_linkid;
157 char ld_attr[MAXLINKATTRLEN];
158 } dlmgmt_upcall_arg_getattr_t;
159
160 typedef struct dlmgmt_door_getname {
161 int ld_cmd;
162 datalink_id_t ld_linkid;
163 } dlmgmt_door_getname_t;
164
165 typedef struct dlmgmt_door_getlinkid {
166 int ld_cmd;
167 char ld_link[MAXLINKNAMELEN];
168 } dlmgmt_door_getlinkid_t;
169
170 typedef struct dlmgmt_door_getnext_s {
171 int ld_cmd;
172 datalink_id_t ld_linkid;
173 datalink_class_t ld_class;
174 uint32_t ld_flags;
175 datalink_media_t ld_dmedia;
176 } dlmgmt_door_getnext_t;
177
178 typedef struct dlmgmt_door_linkprop_init {
179 int ld_cmd;
180 datalink_id_t ld_linkid;
181 } dlmgmt_door_linkprop_init_t;
182
183 typedef struct dlmgmt_door_setzoneid {
184 int ld_cmd;
185 datalink_id_t ld_linkid;
186 zoneid_t ld_zoneid;
187 } dlmgmt_door_setzoneid_t;
|
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) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
23 * Copyright (c) 2011, Joyent Inc. All rights reserved.
24 */
25
26 #ifndef _DLS_MGMT_H
27 #define _DLS_MGMT_H
28
29 #include <sys/types.h>
30 #include <sys/param.h>
31 #include <sys/zone.h>
32
33 /*
34 * Data-Link Services Module
35 */
36
37 #ifdef __cplusplus
38 extern "C" {
39 #endif
40
41 typedef enum {
42 DATALINK_CLASS_PHYS = 0x01,
43 DATALINK_CLASS_VLAN = 0x02,
149 boolean_t ld_novanity;
150 uint32_t ld_media;
151 uint32_t ld_padding;
152 char ld_devname[MAXNAMELEN];
153 } dlmgmt_upcall_arg_update_t;
154
155 typedef struct dlmgmt_upcall_arg_getattr {
156 int ld_cmd;
157 datalink_id_t ld_linkid;
158 char ld_attr[MAXLINKATTRLEN];
159 } dlmgmt_upcall_arg_getattr_t;
160
161 typedef struct dlmgmt_door_getname {
162 int ld_cmd;
163 datalink_id_t ld_linkid;
164 } dlmgmt_door_getname_t;
165
166 typedef struct dlmgmt_door_getlinkid {
167 int ld_cmd;
168 char ld_link[MAXLINKNAMELEN];
169 zoneid_t ld_zoneid;
170 } dlmgmt_door_getlinkid_t;
171
172 typedef struct dlmgmt_door_getnext_s {
173 int ld_cmd;
174 datalink_id_t ld_linkid;
175 datalink_class_t ld_class;
176 uint32_t ld_flags;
177 datalink_media_t ld_dmedia;
178 } dlmgmt_door_getnext_t;
179
180 typedef struct dlmgmt_door_linkprop_init {
181 int ld_cmd;
182 datalink_id_t ld_linkid;
183 } dlmgmt_door_linkprop_init_t;
184
185 typedef struct dlmgmt_door_setzoneid {
186 int ld_cmd;
187 datalink_id_t ld_linkid;
188 zoneid_t ld_zoneid;
189 } dlmgmt_door_setzoneid_t;
|