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 2009 Sun Microsystems, Inc. All rights reserved.
23 * Use is subject to license terms.
24 */
25
26 #ifndef _SYS_DLS_H
27 #define _SYS_DLS_H
28
29 #include <sys/types.h>
30 #include <sys/stream.h>
31 #include <sys/mac_client.h>
32 #include <sys/dls_mgmt.h>
33
34 /*
35 * Data-Link Services Module
36 */
37
38 #ifdef __cplusplus
39 extern "C" {
40 #endif
41
42 /*
43 * Module name.
93
94 extern int dls_promisc(dld_str_t *, uint32_t);
95
96 extern int dls_multicst_add(dld_str_t *, const uint8_t *);
97 extern int dls_multicst_remove(dld_str_t *, const uint8_t *);
98
99 extern mblk_t *dls_header(dld_str_t *, const uint8_t *,
100 uint16_t, uint_t, mblk_t **);
101
102 extern void dls_rx_set(dld_str_t *, dls_rx_t, void *);
103 extern dld_str_t *dls_rx_get(char *, flow_desc_t *, size_t *);
104
105 extern void str_notify(void *, mac_notify_type_t);
106
107 extern int dls_devnet_open(const char *,
108 dls_dl_handle_t *, dev_t *);
109 extern void dls_devnet_close(dls_dl_handle_t);
110 extern boolean_t dls_devnet_rebuild();
111
112 extern int dls_devnet_rename(datalink_id_t, datalink_id_t,
113 const char *);
114 extern int dls_devnet_create(mac_handle_t, datalink_id_t,
115 zoneid_t);
116 extern int dls_devnet_destroy(mac_handle_t, datalink_id_t *,
117 boolean_t);
118 extern int dls_devnet_recreate(mac_handle_t, datalink_id_t);
119 extern int dls_devnet_hold_tmp(datalink_id_t, dls_dl_handle_t *);
120 extern void dls_devnet_rele_tmp(dls_dl_handle_t);
121 extern int dls_devnet_hold_by_dev(dev_t, dls_dl_handle_t *);
122 extern void dls_devnet_rele(dls_dl_handle_t);
123 extern void dls_devnet_prop_task_wait(dls_dl_handle_t);
124
125 extern const char *dls_devnet_mac(dls_dl_handle_t);
126 extern uint16_t dls_devnet_vid(dls_dl_handle_t);
127 extern datalink_id_t dls_devnet_linkid(dls_dl_handle_t);
128 extern int dls_devnet_dev2linkid(dev_t, datalink_id_t *);
129 extern int dls_devnet_phydev(datalink_id_t, dev_t *);
130 extern int dls_devnet_setzid(dls_dl_handle_t, zoneid_t);
131 extern zoneid_t dls_devnet_getzid(dls_dl_handle_t);
132 extern zoneid_t dls_devnet_getownerzid(dls_dl_handle_t);
133 extern boolean_t dls_devnet_islinkvisible(datalink_id_t, zoneid_t);
134
135 extern int dls_mgmt_door_set(boolean_t);
136 extern int dls_mgmt_create(const char *, dev_t, datalink_class_t,
137 uint32_t, boolean_t, datalink_id_t *);
138 extern int dls_mgmt_destroy(datalink_id_t, boolean_t);
139 extern int dls_mgmt_update(const char *, uint32_t, boolean_t,
140 uint32_t *, datalink_id_t *);
141 extern int dls_mgmt_get_linkinfo(datalink_id_t, char *,
142 datalink_class_t *, uint32_t *, uint32_t *);
143 extern int dls_mgmt_get_linkid(const char *, datalink_id_t *);
144 extern datalink_id_t dls_mgmt_get_next(datalink_id_t, datalink_class_t,
145 datalink_media_t, uint32_t);
146 extern int dls_devnet_macname2linkid(const char *,
147 datalink_id_t *);
148
149 #endif /* _KERNEL */
150
|
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 2009 Sun Microsystems, Inc. All rights reserved.
23 * Use is subject to license terms.
24 * Copyright 2011 Joyent, Inc. All rights reserved.
25 */
26
27 #ifndef _SYS_DLS_H
28 #define _SYS_DLS_H
29
30 #include <sys/types.h>
31 #include <sys/stream.h>
32 #include <sys/mac_client.h>
33 #include <sys/dls_mgmt.h>
34
35 /*
36 * Data-Link Services Module
37 */
38
39 #ifdef __cplusplus
40 extern "C" {
41 #endif
42
43 /*
44 * Module name.
94
95 extern int dls_promisc(dld_str_t *, uint32_t);
96
97 extern int dls_multicst_add(dld_str_t *, const uint8_t *);
98 extern int dls_multicst_remove(dld_str_t *, const uint8_t *);
99
100 extern mblk_t *dls_header(dld_str_t *, const uint8_t *,
101 uint16_t, uint_t, mblk_t **);
102
103 extern void dls_rx_set(dld_str_t *, dls_rx_t, void *);
104 extern dld_str_t *dls_rx_get(char *, flow_desc_t *, size_t *);
105
106 extern void str_notify(void *, mac_notify_type_t);
107
108 extern int dls_devnet_open(const char *,
109 dls_dl_handle_t *, dev_t *);
110 extern void dls_devnet_close(dls_dl_handle_t);
111 extern boolean_t dls_devnet_rebuild();
112
113 extern int dls_devnet_rename(datalink_id_t, datalink_id_t,
114 const char *, boolean_t);
115 extern int dls_devnet_create(mac_handle_t, datalink_id_t,
116 zoneid_t);
117 extern int dls_devnet_destroy(mac_handle_t, datalink_id_t *,
118 boolean_t);
119 extern int dls_devnet_recreate(mac_handle_t, datalink_id_t);
120 extern int dls_devnet_hold_tmp(datalink_id_t, dls_dl_handle_t *);
121 extern void dls_devnet_rele_tmp(dls_dl_handle_t);
122 extern int dls_devnet_hold_by_dev(dev_t, dls_dl_handle_t *);
123 extern void dls_devnet_rele(dls_dl_handle_t);
124 extern void dls_devnet_prop_task_wait(dls_dl_handle_t);
125
126 extern const char *dls_devnet_mac(dls_dl_handle_t);
127 extern uint16_t dls_devnet_vid(dls_dl_handle_t);
128 extern datalink_id_t dls_devnet_linkid(dls_dl_handle_t);
129 extern int dls_devnet_dev2linkid(dev_t, datalink_id_t *);
130 extern int dls_devnet_phydev(datalink_id_t, dev_t *);
131 extern int dls_devnet_setzid(dls_dl_handle_t, zoneid_t, boolean_t);
132 extern zoneid_t dls_devnet_getzid(dls_dl_handle_t);
133 extern zoneid_t dls_devnet_getownerzid(dls_dl_handle_t);
134 extern boolean_t dls_devnet_islinkvisible(datalink_id_t, zoneid_t);
135
136 extern int dls_mgmt_door_set(boolean_t);
137 extern int dls_mgmt_create(const char *, dev_t, datalink_class_t,
138 uint32_t, boolean_t, datalink_id_t *);
139 extern int dls_mgmt_destroy(datalink_id_t, boolean_t);
140 extern int dls_mgmt_update(const char *, uint32_t, boolean_t,
141 uint32_t *, datalink_id_t *);
142 extern int dls_mgmt_get_linkinfo(datalink_id_t, char *,
143 datalink_class_t *, uint32_t *, uint32_t *);
144 extern int dls_mgmt_get_linkid(const char *, datalink_id_t *);
145 extern datalink_id_t dls_mgmt_get_next(datalink_id_t, datalink_class_t,
146 datalink_media_t, uint32_t);
147 extern int dls_devnet_macname2linkid(const char *,
148 datalink_id_t *);
149
150 #endif /* _KERNEL */
151
|