1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-27 03:21:53 +03:00
samba-mirror/source3/include/rpc_dfs.h
Tim Potter cd68afe312 Removed version number from file header.
Changed "SMB/Netbios" to "SMB/CIFS" in file header.
(This used to be commit 6a58c9bd06)
2002-01-30 06:08:46 +00:00

198 lines
3.8 KiB
C

/*
Unix SMB/CIFS implementation.
Samba parameters and setup
Copyright (C) Andrew Tridgell 1992-2000
Copyright (C) Luke Kenneth Casson Leighton 1996 - 2000
Copyright (C) Shirish Kalele 2000
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef _RPC_DFS_H
#define _RPC_DFS_H
/* NETDFS pipe: calls */
#define DFS_EXIST 0x00
#define DFS_ADD 0x01
#define DFS_REMOVE 0x02
#define DFS_GET_INFO 0x04
#define DFS_ENUM 0x05
/* dfsadd flags */
#define DFSFLAG_ADD_VOLUME 0x00000001
#define DFSFLAG_RESTORE_VOLUME 0x00000002
typedef struct dfs_q_dfs_exist
{
uint32 dummy;
}
DFS_Q_DFS_EXIST;
/* status == 1 if dfs exists. */
typedef struct dfs_r_dfs_exist
{
uint32 status; /* Not a WERROR or NTSTATUS code */
}
DFS_R_DFS_EXIST;
typedef struct dfs_q_dfs_add
{
uint32 ptr_DfsEntryPath;
UNISTR2 DfsEntryPath;
uint32 ptr_ServerName;
UNISTR2 ServerName;
uint32 ptr_ShareName;
UNISTR2 ShareName;
uint32 ptr_Comment;
UNISTR2 Comment;
uint32 Flags;
}
DFS_Q_DFS_ADD;
typedef struct dfs_r_dfs_add
{
WERROR status;
}
DFS_R_DFS_ADD;
/********************************************/
typedef struct dfs_q_dfs_remove
{
UNISTR2 DfsEntryPath;
uint32 ptr_ServerName;
UNISTR2 ServerName;
uint32 ptr_ShareName;
UNISTR2 ShareName;
}
DFS_Q_DFS_REMOVE;
typedef struct dfs_r_dfs_remove
{
WERROR status;
}
DFS_R_DFS_REMOVE;
/********************************************/
typedef struct dfs_info_1
{
uint32 ptr_entrypath;
UNISTR2 entrypath;
}
DFS_INFO_1;
typedef struct dfs_info_2
{
uint32 ptr_entrypath;
UNISTR2 entrypath;
uint32 ptr_comment;
UNISTR2 comment;
uint32 state;
uint32 num_storages;
}
DFS_INFO_2;
typedef struct dfs_storage_info
{
uint32 state;
uint32 ptr_servername;
UNISTR2 servername;
uint32 ptr_sharename;
UNISTR2 sharename;
}
DFS_STORAGE_INFO;
typedef struct dfs_info_3
{
uint32 ptr_entrypath;
UNISTR2 entrypath;
uint32 ptr_comment;
UNISTR2 comment;
uint32 state;
uint32 num_storages;
uint32 ptr_storages;
uint32 num_storage_infos;
DFS_STORAGE_INFO* storages;
}
DFS_INFO_3;
typedef struct dfs_info_ctr
{
uint32 switch_value;
uint32 num_entries;
uint32 ptr_dfs_ctr; /* pointer to dfs info union */
union
{
DFS_INFO_1 *info1;
DFS_INFO_2 *info2;
DFS_INFO_3 *info3;
} dfs;
}
DFS_INFO_CTR;
typedef struct dfs_q_dfs_get_info
{
UNISTR2 uni_path;
uint32 ptr_server;
UNISTR2 uni_server;
uint32 ptr_share;
UNISTR2 uni_share;
uint32 level;
}
DFS_Q_DFS_GET_INFO;
typedef struct dfs_r_dfs_get_info
{
uint32 level;
uint32 ptr_ctr;
DFS_INFO_CTR ctr;
WERROR status;
}
DFS_R_DFS_GET_INFO;
typedef struct dfs_q_dfs_enum
{
uint32 level;
uint32 maxpreflen;
uint32 ptr_buffer;
uint32 level2;
uint32 ptr_num_entries;
uint32 num_entries;
uint32 ptr_num_entries2;
uint32 num_entries2;
ENUM_HND reshnd;
}
DFS_Q_DFS_ENUM;
typedef struct dfs_r_dfs_enum
{
DFS_INFO_CTR *ctr;
uint32 ptr_buffer;
uint32 level;
uint32 level2;
uint32 ptr_num_entries;
uint32 num_entries;
uint32 ptr_num_entries2;
uint32 num_entries2;
ENUM_HND reshnd;
WERROR status;
}
DFS_R_DFS_ENUM;
#endif