xref: /onnv-gate/usr/src/uts/common/smbsrv/ndl/netdfs.ndl (revision 11963:061945695ce1)
15331Samw/*
25331Samw * CDDL HEADER START
35331Samw *
45331Samw * The contents of this file are subject to the terms of the
55331Samw * Common Development and Distribution License (the "License").
65331Samw * You may not use this file except in compliance with the License.
75331Samw *
85331Samw * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
95331Samw * or http://www.opensolaris.org/os/licensing.
105331Samw * See the License for the specific language governing permissions
115331Samw * and limitations under the License.
125331Samw *
135331Samw * When distributing Covered Code, include this CDDL HEADER in each
145331Samw * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
155331Samw * If applicable, add the following below this CDDL HEADER, with the
165331Samw * fields enclosed by brackets "[]" replaced with your own identifying
175331Samw * information: Portions Copyright [yyyy] [name of copyright owner]
185331Samw *
195331Samw * CDDL HEADER END
205331Samw */
215331Samw/*
22*11963SAfshin.Ardakani@Sun.COM * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
235331Samw * Use is subject to license terms.
245331Samw */
255331Samw
265331Samw#ifndef _NETDFS_NDL_
275331Samw#define	_NETDFS_NDL_
285331Samw
295331Samw/*
305331Samw * NT Distributed File Service (NETDFS) RPC interface definition.
315331Samw */
325331Samw
335331Samw#include "ndrtypes.ndl"
345331Samw
355331Samw
368334SJose.Borrego@Sun.COM#define	NETDFS_ABSTRACT_UUID		"4fc742e0-4a10-11cf-8273-00aa004ae673"
375331Samw#define	NETDFS_ABSTRACT_VERS		3
385331Samw
398334SJose.Borrego@Sun.COM#define	NETDFS_TRANSFER_UUID		"8a885d04-1ceb-11c9-9fe8-08002b104860"
405331Samw#define	NETDFS_TRANSFER_VERS		2
415331Samw
425331Samw#define	NETDFS_OPNUM_GETVER		0x00
435331Samw#define	NETDFS_OPNUM_ADD		0x01
445331Samw#define	NETDFS_OPNUM_REMOVE		0x02
455331Samw#define	NETDFS_OPNUM_SETINFO		0x03
465331Samw#define	NETDFS_OPNUM_GETINFO		0x04
475331Samw#define	NETDFS_OPNUM_ENUM		0x05
48*11963SAfshin.Ardakani@Sun.COM#define	NETDFS_OPNUM_MOVE		0x06
49*11963SAfshin.Ardakani@Sun.COM#define	NETDFS_OPNUM_RENAME		0x07
505331Samw#define	NETDFS_OPNUM_ADDSTDROOT		0x0c
515331Samw#define	NETDFS_OPNUM_REMSTDROOT		0x0d
525331Samw#define	NETDFS_OPNUM_ENUMEX		0x15
535331Samw
545331Samw#define	DFS_MANAGER_VERSION_NT4		0x01
555331Samw#define	DFS_MANAGER_VERSION_W2K		0x02
565331Samw#define	DFS_MANAGER_VERSION_W2K3	0x04
575331Samw
58*11963SAfshin.Ardakani@Sun.COMstruct netdfs_uuid {
59*11963SAfshin.Ardakani@Sun.COM	DWORD data1;
60*11963SAfshin.Ardakani@Sun.COM	WORD data2;
61*11963SAfshin.Ardakani@Sun.COM	WORD data3;
62*11963SAfshin.Ardakani@Sun.COM	BYTE data4[8];
63*11963SAfshin.Ardakani@Sun.COM};
64*11963SAfshin.Ardakani@Sun.COMtypedef struct netdfs_uuid netdfs_uuid_t;
655331Samw
665331Samwstruct netdfs_storage_info {
675331Samw	DWORD state;
685331Samw	LPTSTR server;
695331Samw	LPTSTR share;
705331Samw};
71*11963SAfshin.Ardakani@Sun.COMtypedef struct netdfs_storage_info netdfs_storage_info_t;
725331Samw
735331Samw
74*11963SAfshin.Ardakani@Sun.COMstruct netdfs_storage_info1 {
755331Samw	DWORD state;
765331Samw	LPTSTR server;
775331Samw	LPTSTR share;
78*11963SAfshin.Ardakani@Sun.COM	DWORD p_class;
79*11963SAfshin.Ardakani@Sun.COM	WORD p_rank;
80*11963SAfshin.Ardakani@Sun.COM	WORD p_reserved;
815331Samw};
82*11963SAfshin.Ardakani@Sun.COMtypedef struct netdfs_storage_info1 netdfs_storage_info1_t;
835331Samw
845331Samwstruct netdfs_info1 {
855331Samw	LPTSTR entry_path;
865331Samw};
87*11963SAfshin.Ardakani@Sun.COMtypedef struct netdfs_info1 netdfs_info1_t;
885331Samw
895331Samwstruct netdfs_info2 {
905331Samw	LPTSTR entry_path;
915331Samw	LPTSTR comment;
925331Samw	DWORD state;
935331Samw	DWORD n_store;
945331Samw};
95*11963SAfshin.Ardakani@Sun.COMtypedef struct netdfs_info2 netdfs_info2_t;
965331Samw
975331Samwstruct netdfs_info3 {
985331Samw	LPTSTR entry_path;
995331Samw	LPTSTR comment;
1005331Samw	DWORD state;
1015331Samw	DWORD n_store;
1025331Samw  SIZE_IS(n_store)
1035331Samw	struct netdfs_storage_info *si;
1045331Samw};
105*11963SAfshin.Ardakani@Sun.COMtypedef struct netdfs_info3 netdfs_info3_t;
1065331Samw
1075331Samwstruct netdfs_info4 {
1085331Samw	LPTSTR entry_path;
1095331Samw	LPTSTR comment;
1105331Samw	DWORD state;
1115331Samw	DWORD timeout;
112*11963SAfshin.Ardakani@Sun.COM	netdfs_uuid_t guid;
1135331Samw	DWORD n_store;
1145331Samw  SIZE_IS(n_store)
1155331Samw	struct netdfs_storage_info *si;
1165331Samw};
117*11963SAfshin.Ardakani@Sun.COMtypedef struct netdfs_info4 netdfs_info4_t;
1185331Samw
119*11963SAfshin.Ardakani@Sun.COMstruct netdfs_info5 {
120*11963SAfshin.Ardakani@Sun.COM	LPTSTR entry_path;
121*11963SAfshin.Ardakani@Sun.COM	LPTSTR comment;
122*11963SAfshin.Ardakani@Sun.COM	DWORD state;
123*11963SAfshin.Ardakani@Sun.COM	DWORD timeout;
124*11963SAfshin.Ardakani@Sun.COM	netdfs_uuid_t guid;
125*11963SAfshin.Ardakani@Sun.COM	DWORD flags;
126*11963SAfshin.Ardakani@Sun.COM	DWORD metadata_sz;
127*11963SAfshin.Ardakani@Sun.COM	DWORD n_store;
128*11963SAfshin.Ardakani@Sun.COM};
129*11963SAfshin.Ardakani@Sun.COMtypedef struct netdfs_info5 netdfs_info5_t;
1305331Samw
1315331Samwstruct netdfs_info6 {
1325331Samw	LPTSTR entry_path;
1335331Samw	LPTSTR comment;
1345331Samw	DWORD state;
1355331Samw	DWORD timeout;
136*11963SAfshin.Ardakani@Sun.COM	netdfs_uuid_t guid;
1375331Samw	DWORD flags;
138*11963SAfshin.Ardakani@Sun.COM	DWORD metadata_sz;
1395331Samw	DWORD n_store;
1405331Samw  SIZE_IS(n_store)
141*11963SAfshin.Ardakani@Sun.COM	struct netdfs_storage_info1 *si;
1425331Samw};
143*11963SAfshin.Ardakani@Sun.COMtypedef struct netdfs_info6 netdfs_info6_t;
1445331Samw
1455331Samwstruct netdfs_info100 {
1465331Samw	LPTSTR comment;
1475331Samw};
148*11963SAfshin.Ardakani@Sun.COMtypedef struct netdfs_info100 netdfs_info100_t;
1495331Samw
1505331Samwstruct netdfs_info101 {
1515331Samw	DWORD state;
1525331Samw};
153*11963SAfshin.Ardakani@Sun.COMtypedef struct netdfs_info101 netdfs_info101_t;
1545331Samw
1555331Samw
1565331Samwstruct netdfs_info102 {
1575331Samw	DWORD timeout;
1585331Samw};
159*11963SAfshin.Ardakani@Sun.COMtypedef struct netdfs_info102 netdfs_info102_t;
1605331Samw
1615331Samw
1625331Samwstruct netdfs_info103 {
163*11963SAfshin.Ardakani@Sun.COM	DWORD property_flag_mask;
1645331Samw	DWORD property_flags;
1655331Samw};
166*11963SAfshin.Ardakani@Sun.COMtypedef struct netdfs_info103 netdfs_info103_t;
1675331Samw
1685331Samw
1695331Samwstruct netdfs_info104 {
1705331Samw	DWORD priority_class;
171*11963SAfshin.Ardakani@Sun.COM	WORD priority_rank;
172*11963SAfshin.Ardakani@Sun.COM	WORD reserved;
1735331Samw};
174*11963SAfshin.Ardakani@Sun.COMtypedef struct netdfs_info104 netdfs_info104_t;
1755331Samw
1765331Samw
1775331Samwstruct netdfs_info105 {
1785331Samw	LPTSTR comment;
179*11963SAfshin.Ardakani@Sun.COM	DWORD state;
1805331Samw	DWORD timeout;
1815331Samw	DWORD property_flag_mask;
1825331Samw	DWORD property_flags;
1835331Samw};
184*11963SAfshin.Ardakani@Sun.COMtypedef struct netdfs_info105 netdfs_info105_t;
1855331Samw
1865331Samw
1875331Samwstruct netdfs_info106 {
1885331Samw	DWORD storage_state;
1895331Samw	DWORD priority_class;
1905331Samw	DWORD priority_rank;
1915331Samw};
1925331Samw
1935331Samw
1945331Samwstruct netdfs_info200 {
1955331Samw	LPTSTR entry_path;
1965331Samw};
1975331Samw
1985331Samw
1995331Samwstruct netdfs_info300 {
2005331Samw	DWORD flavor;
201*11963SAfshin.Ardakani@Sun.COM	LPTSTR dfsname;
2025331Samw};
203*11963SAfshin.Ardakani@Sun.COMtypedef struct netdfs_info300 netdfs_info300_t;
2045331Samw
2055331Samw
2065331Samwunion netdfs_info_u {
2075331Samw        CASE(1) struct netdfs_info1 *info1;
2085331Samw	CASE(2) struct netdfs_info2 *info2;
2095331Samw	CASE(3) struct netdfs_info3 *info3;
2105331Samw	CASE(4) struct netdfs_info4 *info4;
211*11963SAfshin.Ardakani@Sun.COM	CASE(5) struct netdfs_info5 *info5;
2125331Samw	CASE(6) struct netdfs_info6 *info6;
2135331Samw	CASE(100) struct netdfs_info100 *info100;
2145331Samw	CASE(101) struct netdfs_info101 *info101;
2155331Samw	CASE(102) struct netdfs_info102 *info102;
2165331Samw	CASE(103) struct netdfs_info103 *info103;
2175331Samw	CASE(104) struct netdfs_info104 *info104;
2185331Samw	CASE(105) struct netdfs_info105 *info105;
2195331Samw	CASE(106) struct netdfs_info106 *info106;
2205331Samw	DEFAULT char *nullptr;
2215331Samw};
2225331Samw
2235331Samw
2245331Samwstruct netdfs_info {
2255331Samw	DWORD level;
2265331Samw  SWITCH(level)
2275331Samw	union netdfs_info_u iu;
2285331Samw};
229*11963SAfshin.Ardakani@Sun.COMtypedef struct netdfs_info netdfs_info_t;
2305331Samw
2315331Samw
2325331Samwstruct netdfs_array1 {
2335331Samw	DWORD count;
2345331Samw  SIZE_IS(count)
2355331Samw	struct netdfs_info1 *info1;
2365331Samw};
2375331Samw
2385331Samwstruct netdfs_array2 {
2395331Samw	DWORD count;
2405331Samw  SIZE_IS(count)
2415331Samw	struct netdfs_info2 *info2;
2425331Samw};
2435331Samw
2445331Samwstruct netdfs_array3 {
2455331Samw	DWORD count;
2465331Samw  SIZE_IS(count)
2475331Samw	struct netdfs_info3 *info3;
2485331Samw};
2495331Samw
2505331Samwstruct netdfs_array4 {
2515331Samw	DWORD count;
2525331Samw  SIZE_IS(count)
2535331Samw	struct netdfs_info4 *info4;
2545331Samw};
2555331Samw
256*11963SAfshin.Ardakani@Sun.COMstruct netdfs_array5 {
257*11963SAfshin.Ardakani@Sun.COM	DWORD count;
258*11963SAfshin.Ardakani@Sun.COM  SIZE_IS(count)
259*11963SAfshin.Ardakani@Sun.COM	struct netdfs_info5 *info5;
260*11963SAfshin.Ardakani@Sun.COM};
261*11963SAfshin.Ardakani@Sun.COM
2625331Samwstruct netdfs_array6 {
2635331Samw	DWORD count;
2645331Samw  SIZE_IS(count)
2655331Samw	struct netdfs_info6 *info6;
2665331Samw};
2675331Samw
2685331Samwstruct netdfs_array200 {
2695331Samw	DWORD count;
2705331Samw  SIZE_IS(count)
2715331Samw	struct netdfs_info200 *info200;
2725331Samw};
2735331Samw
2745331Samwstruct netdfs_array300 {
2755331Samw	DWORD count;
2765331Samw  SIZE_IS(count)
2775331Samw	struct netdfs_info300 *info300;
2785331Samw};
2795331Samw
2805331Samwunion netdfs_enum_info_u {
2815331Samw	CASE(1) struct netdfs_array1 *info1;
2825331Samw	CASE(2) struct netdfs_array2 *info2;
2835331Samw	CASE(3) struct netdfs_array3 *info3;
2845331Samw	CASE(4) struct netdfs_array4 *info4;
285*11963SAfshin.Ardakani@Sun.COM	CASE(5) struct netdfs_array5 *info5;
2865331Samw	CASE(6) struct netdfs_array6 *info6;
2875331Samw	CASE(200) struct netdfs_array200 *info200;
2885331Samw	CASE(300) struct netdfs_array300 *info300;
2895331Samw	DEFAULT char *nullptr;
2905331Samw};
2915331Samw
2925331Samw
2935331Samwstruct netdfs_enum_info {
2945331Samw	DWORD level;
295*11963SAfshin.Ardakani@Sun.COM	DWORD switch_value;
296*11963SAfshin.Ardakani@Sun.COM  SWITCH(switch_value)
2975331Samw	union netdfs_enum_info_u iu;
2985331Samw};
2995331Samw
3005331Samw
3015331Samw/*
3025331Samw ***********************************************************************
3035331Samw * Return server version id
3045331Samw ***********************************************************************
3055331Samw */
3065331SamwOPERATION(NETDFS_OPNUM_GETVER)
3075331Samwstruct netdfs_getver {
3085331Samw	OUT		DWORD version;
3095331Samw};
3105331Samw
3115331Samw
3125331Samw/*
3135331Samw ***********************************************************************
3145331Samw * Add a new volume or additional storage for an existing volume at
3155331Samw * dfs_path.
3165331Samw ***********************************************************************
3175331Samw */
3185331SamwOPERATION(NETDFS_OPNUM_ADD)
3195331Samwstruct netdfs_add {
3205331Samw	IN REFERENCE	LPTSTR dfs_path;
3215331Samw	IN REFERENCE	LPTSTR server;
3225331Samw	IN		LPTSTR share;
3235331Samw	IN		LPTSTR comment;
3245331Samw	IN		DWORD flags;
3255331Samw	OUT		DWORD status;
3265331Samw};
327*11963SAfshin.Ardakani@Sun.COMtypedef struct netdfs_add netdfs_add_t;
3285331Samw
3295331Samw
3305331Samw/*
3315331Samw ***********************************************************************
3325331Samw * Remove a volume or additional storage for volume from the DFS at
3335331Samw * dfs_path. When applied to the last storage in a volume, removes
3345331Samw * the volume from the DFS.
3355331Samw ***********************************************************************
3365331Samw */
3375331SamwOPERATION(NETDFS_OPNUM_REMOVE)
3385331Samwstruct netdfs_remove {
3395331Samw	IN REFERENCE	LPTSTR dfs_path;
3405331Samw	IN		LPTSTR server;
3415331Samw	IN		LPTSTR share;
3425331Samw	OUT		DWORD status;
3435331Samw};
3445331Samw
3455331Samw
3465331Samw/*
3475331Samw ***********************************************************************
3485331Samw * Set information about the volume or storage. If the server and share
3495331Samw * are specified, the information set is specific to that server and
3505331Samw * share. Otherwise the information is specific to the volume as a whole.
3515331Samw *
3525331Samw * Valid levels are 100-102.
3535331Samw ***********************************************************************
3545331Samw */
3555331SamwOPERATION(NETDFS_OPNUM_SETINFO)
3565331Samwstruct netdfs_setinfo {
3575331Samw	IN REFERENCE	LPTSTR dfs_path;
3585331Samw	IN		LPTSTR server;
3595331Samw	IN		LPTSTR share;
3605331Samw	IN		DWORD level;
3615331Samw	IN		struct netdfs_info info;
3625331Samw	OUT		DWORD status;
3635331Samw};
364*11963SAfshin.Ardakani@Sun.COMtypedef struct netdfs_setinfo netdfs_setinfo_t;
3655331Samw
3665331Samw
3675331Samw/*
3685331Samw ***********************************************************************
3695331Samw * Get information about the volume or storage. If the server and share
3705331Samw * are specified, the information returned is specific to that server
3715331Samw * and share. Otherwise the information is specific to the volume as a
3725331Samw * whole.
3735331Samw *
3745331Samw * Valid levels are 1-4, 100-102.
3755331Samw ***********************************************************************
3765331Samw */
3775331SamwOPERATION(NETDFS_OPNUM_GETINFO)
3785331Samwstruct netdfs_getinfo {
3795331Samw	IN REFERENCE	LPTSTR dfs_path;
3805331Samw	IN		LPTSTR server;
3815331Samw	IN		LPTSTR share;
3825331Samw	IN		DWORD level;
3835331Samw	OUT		struct netdfs_info info;
3845331Samw	OUT		DWORD status;
3855331Samw};
386*11963SAfshin.Ardakani@Sun.COMtypedef struct netdfs_getinfo netdfs_getinfo_t;
3875331Samw
3885331Samw
3895331Samw/*
3905331Samw ***********************************************************************
3915331Samw * Get information about all of the volumes in the DFS. dfs_path is
3925331Samw * the "server" part of the UNC name used to refer to this particular
3935331Samw * DFS.
3945331Samw *
3955331Samw * Valid levels are 1-3.
3965331Samw ***********************************************************************
3975331Samw */
3985331SamwOPERATION(NETDFS_OPNUM_ENUM)
3995331Samwstruct netdfs_enum {
4005331Samw	IN		DWORD level;
4015331Samw	IN		DWORD pref_max_len;
4025331Samw	INOUT		struct netdfs_enum_info *info;
4035331Samw	INOUT		DWORD *resume_handle;
4045331Samw	OUT		DWORD status;
4055331Samw};
406*11963SAfshin.Ardakani@Sun.COMtypedef struct netdfs_enum netdfs_enum_t;
4075331Samw
4085331Samw
4095331Samw/*
4105331Samw ***********************************************************************
4115331Samw * Rename the current Win32 path in a DFS to a new Win32 path in the
4125331Samw * same DFS.
4135331Samw ***********************************************************************
4145331Samw */
4155331SamwOPERATION(NETDFS_OPNUM_RENAME)
4165331Samwstruct netdfs_rename {
4175331Samw	IN REFERENCE	LPTSTR dfs_path;
4185331Samw	IN REFERENCE	LPTSTR new_path;
4195331Samw	OUT		DWORD status;
4205331Samw};
4215331Samw
4225331Samw
4235331Samw/*
4245331Samw ***********************************************************************
4255331Samw * Move a DFS volume and all subordinate volumes from one place in the
4265331Samw * DFS to another place in the DFS.
4275331Samw ***********************************************************************
4285331Samw */
4295331SamwOPERATION(NETDFS_OPNUM_MOVE)
4305331Samwstruct netdfs_move {
4315331Samw	IN REFERENCE	LPTSTR dfs_path;
4325331Samw	IN REFERENCE	LPTSTR new_path;
433*11963SAfshin.Ardakani@Sun.COM	IN		DWORD flags;
4345331Samw	OUT		DWORD status;
4355331Samw};
4365331Samw
4375331Samw
4385331Samw/*
4395331Samw ***********************************************************************
4405331Samw * Add a DFS root share.
4415331Samw ***********************************************************************
4425331Samw */
4435331SamwOPERATION(NETDFS_OPNUM_ADDSTDROOT)
4445331Samwstruct netdfs_addstdroot {
4455331Samw	IN REFERENCE	LPTSTR server;
4465331Samw	IN REFERENCE	LPTSTR share;
4475331Samw	IN REFERENCE	LPTSTR comment;
4485331Samw	IN		DWORD flags;
4495331Samw	OUT		DWORD status;
4505331Samw};
4515331Samw
4525331Samw/*
4535331Samw ***********************************************************************
4545331Samw * Remove a DFS root share.
4555331Samw ***********************************************************************
4565331Samw */
4575331SamwOPERATION(NETDFS_OPNUM_REMSTDROOT)
4585331Samwstruct netdfs_remstdroot {
4595331Samw	IN REFERENCE	LPTSTR server;
4605331Samw	IN REFERENCE	LPTSTR share;
4615331Samw	IN		DWORD flags;
4625331Samw	OUT		DWORD status;
4635331Samw};
4645331Samw
4655331Samw
4665331Samw/*
4675331Samw ***********************************************************************
4685331Samw * Get information about all of the volumes in the DFS. dfs_path is
4695331Samw * the "server" part of the UNC name used to refer to this particular
4705331Samw * DFS.
4715331Samw *
4725331Samw * Valid levels are 1-3.
4735331Samw ***********************************************************************
4745331Samw */
4755331SamwOPERATION(NETDFS_OPNUM_ENUMEX)
4765331Samwstruct netdfs_enumex {
4775331Samw	IN REFERENCE	LPTSTR dfs_path;
4785331Samw	IN		DWORD level;
4795331Samw	IN		DWORD pref_max_len;
4805331Samw	INOUT		struct netdfs_enum_info *info;
4815331Samw	INOUT		DWORD *resume_handle;
4825331Samw	OUT		DWORD status;
4835331Samw};
4845331Samw
4855331Samw
4865331Samw/*
4875331Samw ***********************************************************************
4885331Samw * The NETDFS interface definiton.
4895331Samw ***********************************************************************
4905331Samw */
4915331SamwINTERFACE(0)
4925331Samwunion netdfs_interface {
4935331Samw	CASE(NETDFS_OPNUM_GETVER)
4945331Samw		struct netdfs_getver		netdfs_getver;
4955331Samw	CASE(NETDFS_OPNUM_ADD)
4965331Samw		struct netdfs_add		netdfs_add;
4975331Samw	CASE(NETDFS_OPNUM_REMOVE)
4985331Samw		struct netdfs_remove		netdfs_remove;
4995331Samw	CASE(NETDFS_OPNUM_SETINFO)
5005331Samw		struct netdfs_setinfo		netdfs_setinfo;
5015331Samw	CASE(NETDFS_OPNUM_GETINFO)
5025331Samw		struct netdfs_getinfo		netdfs_getinfo;
5035331Samw	CASE(NETDFS_OPNUM_ENUM)
5045331Samw		struct netdfs_enum		netdfs_enum;
5055331Samw	CASE(NETDFS_OPNUM_MOVE)
5065331Samw		struct netdfs_move		netdfs_move;
5075331Samw	CASE(NETDFS_OPNUM_RENAME)
5085331Samw		struct netdfs_rename		netdfs_rename;
5095331Samw	CASE(NETDFS_OPNUM_ADDSTDROOT)
5105331Samw		struct netdfs_addstdroot	netdfs_addstdroot;
5115331Samw	CASE(NETDFS_OPNUM_REMSTDROOT)
5125331Samw		struct netdfs_remstdroot	netdfs_remstdroot;
5135331Samw	CASE(NETDFS_OPNUM_ENUMEX)
5145331Samw		struct netdfs_enumex		netdfs_enumex;
5155331Samw};
5165331Samwtypedef union netdfs_interface	netdfs_interface_t;
5175331SamwEXTERNTYPEINFO(netdfs_interface)
5185331Samw
5195331Samw
5205331Samw#endif /* _NETDFS_NDL_ */
521