1da6c28aaSamw/* 2da6c28aaSamw * CDDL HEADER START 3da6c28aaSamw * 4da6c28aaSamw * The contents of this file are subject to the terms of the 5da6c28aaSamw * Common Development and Distribution License (the "License"). 6da6c28aaSamw * You may not use this file except in compliance with the License. 7da6c28aaSamw * 8da6c28aaSamw * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9da6c28aaSamw * or http://www.opensolaris.org/os/licensing. 10da6c28aaSamw * See the License for the specific language governing permissions 11da6c28aaSamw * and limitations under the License. 12da6c28aaSamw * 13da6c28aaSamw * When distributing Covered Code, include this CDDL HEADER in each 14da6c28aaSamw * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15da6c28aaSamw * If applicable, add the following below this CDDL HEADER, with the 16da6c28aaSamw * fields enclosed by brackets "[]" replaced with your own identifying 17da6c28aaSamw * information: Portions Copyright [yyyy] [name of copyright owner] 18da6c28aaSamw * 19da6c28aaSamw * CDDL HEADER END 20da6c28aaSamw */ 21da6c28aaSamw/* 22*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 23da6c28aaSamw * Use is subject to license terms. 24da6c28aaSamw */ 25da6c28aaSamw 26da6c28aaSamw#ifndef _NETDFS_NDL_ 27da6c28aaSamw#define _NETDFS_NDL_ 28da6c28aaSamw 29da6c28aaSamw/* 30da6c28aaSamw * NT Distributed File Service (NETDFS) RPC interface definition. 31da6c28aaSamw */ 32da6c28aaSamw 33da6c28aaSamw#include "ndrtypes.ndl" 34da6c28aaSamw 35da6c28aaSamw 368d7e4166Sjose borrego#define NETDFS_ABSTRACT_UUID "4fc742e0-4a10-11cf-8273-00aa004ae673" 37da6c28aaSamw#define NETDFS_ABSTRACT_VERS 3 38da6c28aaSamw 398d7e4166Sjose borrego#define NETDFS_TRANSFER_UUID "8a885d04-1ceb-11c9-9fe8-08002b104860" 40da6c28aaSamw#define NETDFS_TRANSFER_VERS 2 41da6c28aaSamw 42da6c28aaSamw#define NETDFS_OPNUM_GETVER 0x00 43da6c28aaSamw#define NETDFS_OPNUM_ADD 0x01 44da6c28aaSamw#define NETDFS_OPNUM_REMOVE 0x02 45da6c28aaSamw#define NETDFS_OPNUM_SETINFO 0x03 46da6c28aaSamw#define NETDFS_OPNUM_GETINFO 0x04 47da6c28aaSamw#define NETDFS_OPNUM_ENUM 0x05 48*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States#define NETDFS_OPNUM_MOVE 0x06 49*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States#define NETDFS_OPNUM_RENAME 0x07 50da6c28aaSamw#define NETDFS_OPNUM_ADDSTDROOT 0x0c 51da6c28aaSamw#define NETDFS_OPNUM_REMSTDROOT 0x0d 52da6c28aaSamw#define NETDFS_OPNUM_ENUMEX 0x15 53da6c28aaSamw 54da6c28aaSamw#define DFS_MANAGER_VERSION_NT4 0x01 55da6c28aaSamw#define DFS_MANAGER_VERSION_W2K 0x02 56da6c28aaSamw#define DFS_MANAGER_VERSION_W2K3 0x04 57da6c28aaSamw 58*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United Statesstruct netdfs_uuid { 59*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States DWORD data1; 60*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States WORD data2; 61*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States WORD data3; 62*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States BYTE data4[8]; 63*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States}; 64*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United Statestypedef struct netdfs_uuid netdfs_uuid_t; 65da6c28aaSamw 66da6c28aaSamwstruct netdfs_storage_info { 67da6c28aaSamw DWORD state; 68da6c28aaSamw LPTSTR server; 69da6c28aaSamw LPTSTR share; 70da6c28aaSamw}; 71*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United Statestypedef struct netdfs_storage_info netdfs_storage_info_t; 72da6c28aaSamw 73da6c28aaSamw 74*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United Statesstruct netdfs_storage_info1 { 75da6c28aaSamw DWORD state; 76da6c28aaSamw LPTSTR server; 77da6c28aaSamw LPTSTR share; 78*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States DWORD p_class; 79*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States WORD p_rank; 80*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States WORD p_reserved; 81da6c28aaSamw}; 82*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United Statestypedef struct netdfs_storage_info1 netdfs_storage_info1_t; 83da6c28aaSamw 84da6c28aaSamwstruct netdfs_info1 { 85da6c28aaSamw LPTSTR entry_path; 86da6c28aaSamw}; 87*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United Statestypedef struct netdfs_info1 netdfs_info1_t; 88da6c28aaSamw 89da6c28aaSamwstruct netdfs_info2 { 90da6c28aaSamw LPTSTR entry_path; 91da6c28aaSamw LPTSTR comment; 92da6c28aaSamw DWORD state; 93da6c28aaSamw DWORD n_store; 94da6c28aaSamw}; 95*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United Statestypedef struct netdfs_info2 netdfs_info2_t; 96da6c28aaSamw 97da6c28aaSamwstruct netdfs_info3 { 98da6c28aaSamw LPTSTR entry_path; 99da6c28aaSamw LPTSTR comment; 100da6c28aaSamw DWORD state; 101da6c28aaSamw DWORD n_store; 102da6c28aaSamw SIZE_IS(n_store) 103da6c28aaSamw struct netdfs_storage_info *si; 104da6c28aaSamw}; 105*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United Statestypedef struct netdfs_info3 netdfs_info3_t; 106da6c28aaSamw 107da6c28aaSamwstruct netdfs_info4 { 108da6c28aaSamw LPTSTR entry_path; 109da6c28aaSamw LPTSTR comment; 110da6c28aaSamw DWORD state; 111da6c28aaSamw DWORD timeout; 112*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States netdfs_uuid_t guid; 113da6c28aaSamw DWORD n_store; 114da6c28aaSamw SIZE_IS(n_store) 115da6c28aaSamw struct netdfs_storage_info *si; 116da6c28aaSamw}; 117*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United Statestypedef struct netdfs_info4 netdfs_info4_t; 118da6c28aaSamw 119*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United Statesstruct netdfs_info5 { 120*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States LPTSTR entry_path; 121*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States LPTSTR comment; 122*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States DWORD state; 123*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States DWORD timeout; 124*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States netdfs_uuid_t guid; 125*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States DWORD flags; 126*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States DWORD metadata_sz; 127*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States DWORD n_store; 128*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States}; 129*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United Statestypedef struct netdfs_info5 netdfs_info5_t; 130da6c28aaSamw 131da6c28aaSamwstruct netdfs_info6 { 132da6c28aaSamw LPTSTR entry_path; 133da6c28aaSamw LPTSTR comment; 134da6c28aaSamw DWORD state; 135da6c28aaSamw DWORD timeout; 136*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States netdfs_uuid_t guid; 137da6c28aaSamw DWORD flags; 138*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States DWORD metadata_sz; 139da6c28aaSamw DWORD n_store; 140da6c28aaSamw SIZE_IS(n_store) 141*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States struct netdfs_storage_info1 *si; 142da6c28aaSamw}; 143*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United Statestypedef struct netdfs_info6 netdfs_info6_t; 144da6c28aaSamw 145da6c28aaSamwstruct netdfs_info100 { 146da6c28aaSamw LPTSTR comment; 147da6c28aaSamw}; 148*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United Statestypedef struct netdfs_info100 netdfs_info100_t; 149da6c28aaSamw 150da6c28aaSamwstruct netdfs_info101 { 151da6c28aaSamw DWORD state; 152da6c28aaSamw}; 153*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United Statestypedef struct netdfs_info101 netdfs_info101_t; 154da6c28aaSamw 155da6c28aaSamw 156da6c28aaSamwstruct netdfs_info102 { 157da6c28aaSamw DWORD timeout; 158da6c28aaSamw}; 159*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United Statestypedef struct netdfs_info102 netdfs_info102_t; 160da6c28aaSamw 161da6c28aaSamw 162da6c28aaSamwstruct netdfs_info103 { 163*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States DWORD property_flag_mask; 164da6c28aaSamw DWORD property_flags; 165da6c28aaSamw}; 166*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United Statestypedef struct netdfs_info103 netdfs_info103_t; 167da6c28aaSamw 168da6c28aaSamw 169da6c28aaSamwstruct netdfs_info104 { 170da6c28aaSamw DWORD priority_class; 171*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States WORD priority_rank; 172*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States WORD reserved; 173da6c28aaSamw}; 174*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United Statestypedef struct netdfs_info104 netdfs_info104_t; 175da6c28aaSamw 176da6c28aaSamw 177da6c28aaSamwstruct netdfs_info105 { 178da6c28aaSamw LPTSTR comment; 179*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States DWORD state; 180da6c28aaSamw DWORD timeout; 181da6c28aaSamw DWORD property_flag_mask; 182da6c28aaSamw DWORD property_flags; 183da6c28aaSamw}; 184*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United Statestypedef struct netdfs_info105 netdfs_info105_t; 185da6c28aaSamw 186da6c28aaSamw 187da6c28aaSamwstruct netdfs_info106 { 188da6c28aaSamw DWORD storage_state; 189da6c28aaSamw DWORD priority_class; 190da6c28aaSamw DWORD priority_rank; 191da6c28aaSamw}; 192da6c28aaSamw 193da6c28aaSamw 194da6c28aaSamwstruct netdfs_info200 { 195da6c28aaSamw LPTSTR entry_path; 196da6c28aaSamw}; 197da6c28aaSamw 198da6c28aaSamw 199da6c28aaSamwstruct netdfs_info300 { 200da6c28aaSamw DWORD flavor; 201*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States LPTSTR dfsname; 202da6c28aaSamw}; 203*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United Statestypedef struct netdfs_info300 netdfs_info300_t; 204da6c28aaSamw 205da6c28aaSamw 206da6c28aaSamwunion netdfs_info_u { 207da6c28aaSamw CASE(1) struct netdfs_info1 *info1; 208da6c28aaSamw CASE(2) struct netdfs_info2 *info2; 209da6c28aaSamw CASE(3) struct netdfs_info3 *info3; 210da6c28aaSamw CASE(4) struct netdfs_info4 *info4; 211*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States CASE(5) struct netdfs_info5 *info5; 212da6c28aaSamw CASE(6) struct netdfs_info6 *info6; 213da6c28aaSamw CASE(100) struct netdfs_info100 *info100; 214da6c28aaSamw CASE(101) struct netdfs_info101 *info101; 215da6c28aaSamw CASE(102) struct netdfs_info102 *info102; 216da6c28aaSamw CASE(103) struct netdfs_info103 *info103; 217da6c28aaSamw CASE(104) struct netdfs_info104 *info104; 218da6c28aaSamw CASE(105) struct netdfs_info105 *info105; 219da6c28aaSamw CASE(106) struct netdfs_info106 *info106; 220da6c28aaSamw DEFAULT char *nullptr; 221da6c28aaSamw}; 222da6c28aaSamw 223da6c28aaSamw 224da6c28aaSamwstruct netdfs_info { 225da6c28aaSamw DWORD level; 226da6c28aaSamw SWITCH(level) 227da6c28aaSamw union netdfs_info_u iu; 228da6c28aaSamw}; 229*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United Statestypedef struct netdfs_info netdfs_info_t; 230da6c28aaSamw 231da6c28aaSamw 232da6c28aaSamwstruct netdfs_array1 { 233da6c28aaSamw DWORD count; 234da6c28aaSamw SIZE_IS(count) 235da6c28aaSamw struct netdfs_info1 *info1; 236da6c28aaSamw}; 237da6c28aaSamw 238da6c28aaSamwstruct netdfs_array2 { 239da6c28aaSamw DWORD count; 240da6c28aaSamw SIZE_IS(count) 241da6c28aaSamw struct netdfs_info2 *info2; 242da6c28aaSamw}; 243da6c28aaSamw 244da6c28aaSamwstruct netdfs_array3 { 245da6c28aaSamw DWORD count; 246da6c28aaSamw SIZE_IS(count) 247da6c28aaSamw struct netdfs_info3 *info3; 248da6c28aaSamw}; 249da6c28aaSamw 250da6c28aaSamwstruct netdfs_array4 { 251da6c28aaSamw DWORD count; 252da6c28aaSamw SIZE_IS(count) 253da6c28aaSamw struct netdfs_info4 *info4; 254da6c28aaSamw}; 255da6c28aaSamw 256*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United Statesstruct netdfs_array5 { 257*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States DWORD count; 258*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States SIZE_IS(count) 259*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States struct netdfs_info5 *info5; 260*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States}; 261*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 262da6c28aaSamwstruct netdfs_array6 { 263da6c28aaSamw DWORD count; 264da6c28aaSamw SIZE_IS(count) 265da6c28aaSamw struct netdfs_info6 *info6; 266da6c28aaSamw}; 267da6c28aaSamw 268da6c28aaSamwstruct netdfs_array200 { 269da6c28aaSamw DWORD count; 270da6c28aaSamw SIZE_IS(count) 271da6c28aaSamw struct netdfs_info200 *info200; 272da6c28aaSamw}; 273da6c28aaSamw 274da6c28aaSamwstruct netdfs_array300 { 275da6c28aaSamw DWORD count; 276da6c28aaSamw SIZE_IS(count) 277da6c28aaSamw struct netdfs_info300 *info300; 278da6c28aaSamw}; 279da6c28aaSamw 280da6c28aaSamwunion netdfs_enum_info_u { 281da6c28aaSamw CASE(1) struct netdfs_array1 *info1; 282da6c28aaSamw CASE(2) struct netdfs_array2 *info2; 283da6c28aaSamw CASE(3) struct netdfs_array3 *info3; 284da6c28aaSamw CASE(4) struct netdfs_array4 *info4; 285*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States CASE(5) struct netdfs_array5 *info5; 286da6c28aaSamw CASE(6) struct netdfs_array6 *info6; 287da6c28aaSamw CASE(200) struct netdfs_array200 *info200; 288da6c28aaSamw CASE(300) struct netdfs_array300 *info300; 289da6c28aaSamw DEFAULT char *nullptr; 290da6c28aaSamw}; 291da6c28aaSamw 292da6c28aaSamw 293da6c28aaSamwstruct netdfs_enum_info { 294da6c28aaSamw DWORD level; 295*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States DWORD switch_value; 296*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States SWITCH(switch_value) 297da6c28aaSamw union netdfs_enum_info_u iu; 298da6c28aaSamw}; 299da6c28aaSamw 300da6c28aaSamw 301da6c28aaSamw/* 302da6c28aaSamw *********************************************************************** 303da6c28aaSamw * Return server version id 304da6c28aaSamw *********************************************************************** 305da6c28aaSamw */ 306da6c28aaSamwOPERATION(NETDFS_OPNUM_GETVER) 307da6c28aaSamwstruct netdfs_getver { 308da6c28aaSamw OUT DWORD version; 309da6c28aaSamw}; 310da6c28aaSamw 311da6c28aaSamw 312da6c28aaSamw/* 313da6c28aaSamw *********************************************************************** 314da6c28aaSamw * Add a new volume or additional storage for an existing volume at 315da6c28aaSamw * dfs_path. 316da6c28aaSamw *********************************************************************** 317da6c28aaSamw */ 318da6c28aaSamwOPERATION(NETDFS_OPNUM_ADD) 319da6c28aaSamwstruct netdfs_add { 320da6c28aaSamw IN REFERENCE LPTSTR dfs_path; 321da6c28aaSamw IN REFERENCE LPTSTR server; 322da6c28aaSamw IN LPTSTR share; 323da6c28aaSamw IN LPTSTR comment; 324da6c28aaSamw IN DWORD flags; 325da6c28aaSamw OUT DWORD status; 326da6c28aaSamw}; 327*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United Statestypedef struct netdfs_add netdfs_add_t; 328da6c28aaSamw 329da6c28aaSamw 330da6c28aaSamw/* 331da6c28aaSamw *********************************************************************** 332da6c28aaSamw * Remove a volume or additional storage for volume from the DFS at 333da6c28aaSamw * dfs_path. When applied to the last storage in a volume, removes 334da6c28aaSamw * the volume from the DFS. 335da6c28aaSamw *********************************************************************** 336da6c28aaSamw */ 337da6c28aaSamwOPERATION(NETDFS_OPNUM_REMOVE) 338da6c28aaSamwstruct netdfs_remove { 339da6c28aaSamw IN REFERENCE LPTSTR dfs_path; 340da6c28aaSamw IN LPTSTR server; 341da6c28aaSamw IN LPTSTR share; 342da6c28aaSamw OUT DWORD status; 343da6c28aaSamw}; 344da6c28aaSamw 345da6c28aaSamw 346da6c28aaSamw/* 347da6c28aaSamw *********************************************************************** 348da6c28aaSamw * Set information about the volume or storage. If the server and share 349da6c28aaSamw * are specified, the information set is specific to that server and 350da6c28aaSamw * share. Otherwise the information is specific to the volume as a whole. 351da6c28aaSamw * 352da6c28aaSamw * Valid levels are 100-102. 353da6c28aaSamw *********************************************************************** 354da6c28aaSamw */ 355da6c28aaSamwOPERATION(NETDFS_OPNUM_SETINFO) 356da6c28aaSamwstruct netdfs_setinfo { 357da6c28aaSamw IN REFERENCE LPTSTR dfs_path; 358da6c28aaSamw IN LPTSTR server; 359da6c28aaSamw IN LPTSTR share; 360da6c28aaSamw IN DWORD level; 361da6c28aaSamw IN struct netdfs_info info; 362da6c28aaSamw OUT DWORD status; 363da6c28aaSamw}; 364*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United Statestypedef struct netdfs_setinfo netdfs_setinfo_t; 365da6c28aaSamw 366da6c28aaSamw 367da6c28aaSamw/* 368da6c28aaSamw *********************************************************************** 369da6c28aaSamw * Get information about the volume or storage. If the server and share 370da6c28aaSamw * are specified, the information returned is specific to that server 371da6c28aaSamw * and share. Otherwise the information is specific to the volume as a 372da6c28aaSamw * whole. 373da6c28aaSamw * 374da6c28aaSamw * Valid levels are 1-4, 100-102. 375da6c28aaSamw *********************************************************************** 376da6c28aaSamw */ 377da6c28aaSamwOPERATION(NETDFS_OPNUM_GETINFO) 378da6c28aaSamwstruct netdfs_getinfo { 379da6c28aaSamw IN REFERENCE LPTSTR dfs_path; 380da6c28aaSamw IN LPTSTR server; 381da6c28aaSamw IN LPTSTR share; 382da6c28aaSamw IN DWORD level; 383da6c28aaSamw OUT struct netdfs_info info; 384da6c28aaSamw OUT DWORD status; 385da6c28aaSamw}; 386*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United Statestypedef struct netdfs_getinfo netdfs_getinfo_t; 387da6c28aaSamw 388da6c28aaSamw 389da6c28aaSamw/* 390da6c28aaSamw *********************************************************************** 391da6c28aaSamw * Get information about all of the volumes in the DFS. dfs_path is 392da6c28aaSamw * the "server" part of the UNC name used to refer to this particular 393da6c28aaSamw * DFS. 394da6c28aaSamw * 395da6c28aaSamw * Valid levels are 1-3. 396da6c28aaSamw *********************************************************************** 397da6c28aaSamw */ 398da6c28aaSamwOPERATION(NETDFS_OPNUM_ENUM) 399da6c28aaSamwstruct netdfs_enum { 400da6c28aaSamw IN DWORD level; 401da6c28aaSamw IN DWORD pref_max_len; 402da6c28aaSamw INOUT struct netdfs_enum_info *info; 403da6c28aaSamw INOUT DWORD *resume_handle; 404da6c28aaSamw OUT DWORD status; 405da6c28aaSamw}; 406*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United Statestypedef struct netdfs_enum netdfs_enum_t; 407da6c28aaSamw 408da6c28aaSamw 409da6c28aaSamw/* 410da6c28aaSamw *********************************************************************** 411da6c28aaSamw * Rename the current Win32 path in a DFS to a new Win32 path in the 412da6c28aaSamw * same DFS. 413da6c28aaSamw *********************************************************************** 414da6c28aaSamw */ 415da6c28aaSamwOPERATION(NETDFS_OPNUM_RENAME) 416da6c28aaSamwstruct netdfs_rename { 417da6c28aaSamw IN REFERENCE LPTSTR dfs_path; 418da6c28aaSamw IN REFERENCE LPTSTR new_path; 419da6c28aaSamw OUT DWORD status; 420da6c28aaSamw}; 421da6c28aaSamw 422da6c28aaSamw 423da6c28aaSamw/* 424da6c28aaSamw *********************************************************************** 425da6c28aaSamw * Move a DFS volume and all subordinate volumes from one place in the 426da6c28aaSamw * DFS to another place in the DFS. 427da6c28aaSamw *********************************************************************** 428da6c28aaSamw */ 429da6c28aaSamwOPERATION(NETDFS_OPNUM_MOVE) 430da6c28aaSamwstruct netdfs_move { 431da6c28aaSamw IN REFERENCE LPTSTR dfs_path; 432da6c28aaSamw IN REFERENCE LPTSTR new_path; 433*9fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States IN DWORD flags; 434da6c28aaSamw OUT DWORD status; 435da6c28aaSamw}; 436da6c28aaSamw 437da6c28aaSamw 438da6c28aaSamw/* 439da6c28aaSamw *********************************************************************** 440da6c28aaSamw * Add a DFS root share. 441da6c28aaSamw *********************************************************************** 442da6c28aaSamw */ 443da6c28aaSamwOPERATION(NETDFS_OPNUM_ADDSTDROOT) 444da6c28aaSamwstruct netdfs_addstdroot { 445da6c28aaSamw IN REFERENCE LPTSTR server; 446da6c28aaSamw IN REFERENCE LPTSTR share; 447da6c28aaSamw IN REFERENCE LPTSTR comment; 448da6c28aaSamw IN DWORD flags; 449da6c28aaSamw OUT DWORD status; 450da6c28aaSamw}; 451da6c28aaSamw 452da6c28aaSamw/* 453da6c28aaSamw *********************************************************************** 454da6c28aaSamw * Remove a DFS root share. 455da6c28aaSamw *********************************************************************** 456da6c28aaSamw */ 457da6c28aaSamwOPERATION(NETDFS_OPNUM_REMSTDROOT) 458da6c28aaSamwstruct netdfs_remstdroot { 459da6c28aaSamw IN REFERENCE LPTSTR server; 460da6c28aaSamw IN REFERENCE LPTSTR share; 461da6c28aaSamw IN DWORD flags; 462da6c28aaSamw OUT DWORD status; 463da6c28aaSamw}; 464da6c28aaSamw 465da6c28aaSamw 466da6c28aaSamw/* 467da6c28aaSamw *********************************************************************** 468da6c28aaSamw * Get information about all of the volumes in the DFS. dfs_path is 469da6c28aaSamw * the "server" part of the UNC name used to refer to this particular 470da6c28aaSamw * DFS. 471da6c28aaSamw * 472da6c28aaSamw * Valid levels are 1-3. 473da6c28aaSamw *********************************************************************** 474da6c28aaSamw */ 475da6c28aaSamwOPERATION(NETDFS_OPNUM_ENUMEX) 476da6c28aaSamwstruct netdfs_enumex { 477da6c28aaSamw IN REFERENCE LPTSTR dfs_path; 478da6c28aaSamw IN DWORD level; 479da6c28aaSamw IN DWORD pref_max_len; 480da6c28aaSamw INOUT struct netdfs_enum_info *info; 481da6c28aaSamw INOUT DWORD *resume_handle; 482da6c28aaSamw OUT DWORD status; 483da6c28aaSamw}; 484da6c28aaSamw 485da6c28aaSamw 486da6c28aaSamw/* 487da6c28aaSamw *********************************************************************** 488da6c28aaSamw * The NETDFS interface definiton. 489da6c28aaSamw *********************************************************************** 490da6c28aaSamw */ 491da6c28aaSamwINTERFACE(0) 492da6c28aaSamwunion netdfs_interface { 493da6c28aaSamw CASE(NETDFS_OPNUM_GETVER) 494da6c28aaSamw struct netdfs_getver netdfs_getver; 495da6c28aaSamw CASE(NETDFS_OPNUM_ADD) 496da6c28aaSamw struct netdfs_add netdfs_add; 497da6c28aaSamw CASE(NETDFS_OPNUM_REMOVE) 498da6c28aaSamw struct netdfs_remove netdfs_remove; 499da6c28aaSamw CASE(NETDFS_OPNUM_SETINFO) 500da6c28aaSamw struct netdfs_setinfo netdfs_setinfo; 501da6c28aaSamw CASE(NETDFS_OPNUM_GETINFO) 502da6c28aaSamw struct netdfs_getinfo netdfs_getinfo; 503da6c28aaSamw CASE(NETDFS_OPNUM_ENUM) 504da6c28aaSamw struct netdfs_enum netdfs_enum; 505da6c28aaSamw CASE(NETDFS_OPNUM_MOVE) 506da6c28aaSamw struct netdfs_move netdfs_move; 507da6c28aaSamw CASE(NETDFS_OPNUM_RENAME) 508da6c28aaSamw struct netdfs_rename netdfs_rename; 509da6c28aaSamw CASE(NETDFS_OPNUM_ADDSTDROOT) 510da6c28aaSamw struct netdfs_addstdroot netdfs_addstdroot; 511da6c28aaSamw CASE(NETDFS_OPNUM_REMSTDROOT) 512da6c28aaSamw struct netdfs_remstdroot netdfs_remstdroot; 513da6c28aaSamw CASE(NETDFS_OPNUM_ENUMEX) 514da6c28aaSamw struct netdfs_enumex netdfs_enumex; 515da6c28aaSamw}; 516da6c28aaSamwtypedef union netdfs_interface netdfs_interface_t; 517da6c28aaSamwEXTERNTYPEINFO(netdfs_interface) 518da6c28aaSamw 519da6c28aaSamw 520da6c28aaSamw#endif /* _NETDFS_NDL_ */ 521