/*
 * Unix SMB/CIFS implementation.
 * server auto-generated by pidl. DO NOT MODIFY!
 */

#include "includes.h"
#include "nterr.h"

#undef DBGC_CLASS
#define DBGC_CLASS DBGC_RPC

/******************************************************************
 api_dfs_GetManagerVersion
 *****************************************************************/

static BOOL api_dfs_GetManagerVersion(pipes_struct *p)
{
	NETDFS_Q_DFS_GETMANAGERVERSION q_u;
	NETDFS_R_DFS_GETMANAGERVERSION r_u;
	prs_struct *data = &p->in_data.data;
	prs_struct *rdata = &p->out_data.rdata;
	
	ZERO_STRUCT(q_u);
	ZERO_STRUCT(r_u);
	
	if (!netdfs_io_q_dfs_GetManagerVersion("", &q_u, data, 0))
		return False;
	
	_dfs_GetManagerVersion(p, &q_u, &r_u);
	
	if (!netdfs_io_r_dfs_GetManagerVersion("", &r_u, rdata, 0))
		return False;
	
	return True;
}
/******************************************************************
 api_dfs_Add
 *****************************************************************/

static BOOL api_dfs_Add(pipes_struct *p)
{
	NETDFS_Q_DFS_ADD q_u;
	NETDFS_R_DFS_ADD r_u;
	prs_struct *data = &p->in_data.data;
	prs_struct *rdata = &p->out_data.rdata;
	
	ZERO_STRUCT(q_u);
	ZERO_STRUCT(r_u);
	
	if (!netdfs_io_q_dfs_Add("", &q_u, data, 0))
		return False;
	
	r_u.status = _dfs_Add(p, &q_u, &r_u);
	
	if (!netdfs_io_r_dfs_Add("", &r_u, rdata, 0))
		return False;
	
	return True;
}
/******************************************************************
 api_dfs_Remove
 *****************************************************************/

static BOOL api_dfs_Remove(pipes_struct *p)
{
	NETDFS_Q_DFS_REMOVE q_u;
	NETDFS_R_DFS_REMOVE r_u;
	prs_struct *data = &p->in_data.data;
	prs_struct *rdata = &p->out_data.rdata;
	
	ZERO_STRUCT(q_u);
	ZERO_STRUCT(r_u);
	
	if (!netdfs_io_q_dfs_Remove("", &q_u, data, 0))
		return False;
	
	r_u.status = _dfs_Remove(p, &q_u, &r_u);
	
	if (!netdfs_io_r_dfs_Remove("", &r_u, rdata, 0))
		return False;
	
	return True;
}
/******************************************************************
 api_dfs_SetInfo
 *****************************************************************/

static BOOL api_dfs_SetInfo(pipes_struct *p)
{
	NETDFS_Q_DFS_SETINFO q_u;
	NETDFS_R_DFS_SETINFO r_u;
	prs_struct *data = &p->in_data.data;
	prs_struct *rdata = &p->out_data.rdata;
	
	ZERO_STRUCT(q_u);
	ZERO_STRUCT(r_u);
	
	if (!netdfs_io_q_dfs_SetInfo("", &q_u, data, 0))
		return False;
	
	r_u.status = _dfs_SetInfo(p, &q_u, &r_u);
	
	if (!netdfs_io_r_dfs_SetInfo("", &r_u, rdata, 0))
		return False;
	
	return True;
}
/******************************************************************
 api_dfs_GetInfo
 *****************************************************************/

static BOOL api_dfs_GetInfo(pipes_struct *p)
{
	NETDFS_Q_DFS_GETINFO q_u;
	NETDFS_R_DFS_GETINFO r_u;
	prs_struct *data = &p->in_data.data;
	prs_struct *rdata = &p->out_data.rdata;
	
	ZERO_STRUCT(q_u);
	ZERO_STRUCT(r_u);
	
	if (!netdfs_io_q_dfs_GetInfo("", &q_u, data, 0))
		return False;
	
	r_u.status = _dfs_GetInfo(p, &q_u, &r_u);
	
	if (!netdfs_io_r_dfs_GetInfo("", &r_u, rdata, 0))
		return False;
	
	return True;
}
/******************************************************************
 api_dfs_Enum
 *****************************************************************/

static BOOL api_dfs_Enum(pipes_struct *p)
{
	NETDFS_Q_DFS_ENUM q_u;
	NETDFS_R_DFS_ENUM r_u;
	prs_struct *data = &p->in_data.data;
	prs_struct *rdata = &p->out_data.rdata;
	
	ZERO_STRUCT(q_u);
	ZERO_STRUCT(r_u);
	
	if (!netdfs_io_q_dfs_Enum("", &q_u, data, 0))
		return False;
	
	r_u.status = _dfs_Enum(p, &q_u, &r_u);
	
	if (!netdfs_io_r_dfs_Enum("", &r_u, rdata, 0))
		return False;
	
	return True;
}
/******************************************************************
 api_dfs_Rename
 *****************************************************************/

static BOOL api_dfs_Rename(pipes_struct *p)
{
	NETDFS_Q_DFS_RENAME q_u;
	NETDFS_R_DFS_RENAME r_u;
	prs_struct *data = &p->in_data.data;
	prs_struct *rdata = &p->out_data.rdata;
	
	ZERO_STRUCT(q_u);
	ZERO_STRUCT(r_u);
	
	if (!netdfs_io_q_dfs_Rename("", &q_u, data, 0))
		return False;
	
	r_u.status = _dfs_Rename(p, &q_u, &r_u);
	
	if (!netdfs_io_r_dfs_Rename("", &r_u, rdata, 0))
		return False;
	
	return True;
}
/******************************************************************
 api_dfs_Move
 *****************************************************************/

static BOOL api_dfs_Move(pipes_struct *p)
{
	NETDFS_Q_DFS_MOVE q_u;
	NETDFS_R_DFS_MOVE r_u;
	prs_struct *data = &p->in_data.data;
	prs_struct *rdata = &p->out_data.rdata;
	
	ZERO_STRUCT(q_u);
	ZERO_STRUCT(r_u);
	
	if (!netdfs_io_q_dfs_Move("", &q_u, data, 0))
		return False;
	
	r_u.status = _dfs_Move(p, &q_u, &r_u);
	
	if (!netdfs_io_r_dfs_Move("", &r_u, rdata, 0))
		return False;
	
	return True;
}
/******************************************************************
 api_dfs_ManagerGetConfigInfo
 *****************************************************************/

static BOOL api_dfs_ManagerGetConfigInfo(pipes_struct *p)
{
	NETDFS_Q_DFS_MANAGERGETCONFIGINFO q_u;
	NETDFS_R_DFS_MANAGERGETCONFIGINFO r_u;
	prs_struct *data = &p->in_data.data;
	prs_struct *rdata = &p->out_data.rdata;
	
	ZERO_STRUCT(q_u);
	ZERO_STRUCT(r_u);
	
	if (!netdfs_io_q_dfs_ManagerGetConfigInfo("", &q_u, data, 0))
		return False;
	
	r_u.status = _dfs_ManagerGetConfigInfo(p, &q_u, &r_u);
	
	if (!netdfs_io_r_dfs_ManagerGetConfigInfo("", &r_u, rdata, 0))
		return False;
	
	return True;
}
/******************************************************************
 api_dfs_ManagerSendSiteInfo
 *****************************************************************/

static BOOL api_dfs_ManagerSendSiteInfo(pipes_struct *p)
{
	NETDFS_Q_DFS_MANAGERSENDSITEINFO q_u;
	NETDFS_R_DFS_MANAGERSENDSITEINFO r_u;
	prs_struct *data = &p->in_data.data;
	prs_struct *rdata = &p->out_data.rdata;
	
	ZERO_STRUCT(q_u);
	ZERO_STRUCT(r_u);
	
	if (!netdfs_io_q_dfs_ManagerSendSiteInfo("", &q_u, data, 0))
		return False;
	
	r_u.status = _dfs_ManagerSendSiteInfo(p, &q_u, &r_u);
	
	if (!netdfs_io_r_dfs_ManagerSendSiteInfo("", &r_u, rdata, 0))
		return False;
	
	return True;
}
/******************************************************************
 api_dfs_AddFtRoot
 *****************************************************************/

static BOOL api_dfs_AddFtRoot(pipes_struct *p)
{
	NETDFS_Q_DFS_ADDFTROOT q_u;
	NETDFS_R_DFS_ADDFTROOT r_u;
	prs_struct *data = &p->in_data.data;
	prs_struct *rdata = &p->out_data.rdata;
	
	ZERO_STRUCT(q_u);
	ZERO_STRUCT(r_u);
	
	if (!netdfs_io_q_dfs_AddFtRoot("", &q_u, data, 0))
		return False;
	
	r_u.status = _dfs_AddFtRoot(p, &q_u, &r_u);
	
	if (!netdfs_io_r_dfs_AddFtRoot("", &r_u, rdata, 0))
		return False;
	
	return True;
}
/******************************************************************
 api_dfs_RemoveFtRoot
 *****************************************************************/

static BOOL api_dfs_RemoveFtRoot(pipes_struct *p)
{
	NETDFS_Q_DFS_REMOVEFTROOT q_u;
	NETDFS_R_DFS_REMOVEFTROOT r_u;
	prs_struct *data = &p->in_data.data;
	prs_struct *rdata = &p->out_data.rdata;
	
	ZERO_STRUCT(q_u);
	ZERO_STRUCT(r_u);
	
	if (!netdfs_io_q_dfs_RemoveFtRoot("", &q_u, data, 0))
		return False;
	
	r_u.status = _dfs_RemoveFtRoot(p, &q_u, &r_u);
	
	if (!netdfs_io_r_dfs_RemoveFtRoot("", &r_u, rdata, 0))
		return False;
	
	return True;
}
/******************************************************************
 api_dfs_AddStdRoot
 *****************************************************************/

static BOOL api_dfs_AddStdRoot(pipes_struct *p)
{
	NETDFS_Q_DFS_ADDSTDROOT q_u;
	NETDFS_R_DFS_ADDSTDROOT r_u;
	prs_struct *data = &p->in_data.data;
	prs_struct *rdata = &p->out_data.rdata;
	
	ZERO_STRUCT(q_u);
	ZERO_STRUCT(r_u);
	
	if (!netdfs_io_q_dfs_AddStdRoot("", &q_u, data, 0))
		return False;
	
	r_u.status = _dfs_AddStdRoot(p, &q_u, &r_u);
	
	if (!netdfs_io_r_dfs_AddStdRoot("", &r_u, rdata, 0))
		return False;
	
	return True;
}
/******************************************************************
 api_dfs_RemoveStdRoot
 *****************************************************************/

static BOOL api_dfs_RemoveStdRoot(pipes_struct *p)
{
	NETDFS_Q_DFS_REMOVESTDROOT q_u;
	NETDFS_R_DFS_REMOVESTDROOT r_u;
	prs_struct *data = &p->in_data.data;
	prs_struct *rdata = &p->out_data.rdata;
	
	ZERO_STRUCT(q_u);
	ZERO_STRUCT(r_u);
	
	if (!netdfs_io_q_dfs_RemoveStdRoot("", &q_u, data, 0))
		return False;
	
	r_u.status = _dfs_RemoveStdRoot(p, &q_u, &r_u);
	
	if (!netdfs_io_r_dfs_RemoveStdRoot("", &r_u, rdata, 0))
		return False;
	
	return True;
}
/******************************************************************
 api_dfs_ManagerInitialize
 *****************************************************************/

static BOOL api_dfs_ManagerInitialize(pipes_struct *p)
{
	NETDFS_Q_DFS_MANAGERINITIALIZE q_u;
	NETDFS_R_DFS_MANAGERINITIALIZE r_u;
	prs_struct *data = &p->in_data.data;
	prs_struct *rdata = &p->out_data.rdata;
	
	ZERO_STRUCT(q_u);
	ZERO_STRUCT(r_u);
	
	if (!netdfs_io_q_dfs_ManagerInitialize("", &q_u, data, 0))
		return False;
	
	r_u.status = _dfs_ManagerInitialize(p, &q_u, &r_u);
	
	if (!netdfs_io_r_dfs_ManagerInitialize("", &r_u, rdata, 0))
		return False;
	
	return True;
}
/******************************************************************
 api_dfs_AddStdRootForced
 *****************************************************************/

static BOOL api_dfs_AddStdRootForced(pipes_struct *p)
{
	NETDFS_Q_DFS_ADDSTDROOTFORCED q_u;
	NETDFS_R_DFS_ADDSTDROOTFORCED r_u;
	prs_struct *data = &p->in_data.data;
	prs_struct *rdata = &p->out_data.rdata;
	
	ZERO_STRUCT(q_u);
	ZERO_STRUCT(r_u);
	
	if (!netdfs_io_q_dfs_AddStdRootForced("", &q_u, data, 0))
		return False;
	
	r_u.status = _dfs_AddStdRootForced(p, &q_u, &r_u);
	
	if (!netdfs_io_r_dfs_AddStdRootForced("", &r_u, rdata, 0))
		return False;
	
	return True;
}
/******************************************************************
 api_dfs_GetDcAddress
 *****************************************************************/

static BOOL api_dfs_GetDcAddress(pipes_struct *p)
{
	NETDFS_Q_DFS_GETDCADDRESS q_u;
	NETDFS_R_DFS_GETDCADDRESS r_u;
	prs_struct *data = &p->in_data.data;
	prs_struct *rdata = &p->out_data.rdata;
	
	ZERO_STRUCT(q_u);
	ZERO_STRUCT(r_u);
	
	if (!netdfs_io_q_dfs_GetDcAddress("", &q_u, data, 0))
		return False;
	
	r_u.status = _dfs_GetDcAddress(p, &q_u, &r_u);
	
	if (!netdfs_io_r_dfs_GetDcAddress("", &r_u, rdata, 0))
		return False;
	
	return True;
}
/******************************************************************
 api_dfs_SetDcAddress
 *****************************************************************/

static BOOL api_dfs_SetDcAddress(pipes_struct *p)
{
	NETDFS_Q_DFS_SETDCADDRESS q_u;
	NETDFS_R_DFS_SETDCADDRESS r_u;
	prs_struct *data = &p->in_data.data;
	prs_struct *rdata = &p->out_data.rdata;
	
	ZERO_STRUCT(q_u);
	ZERO_STRUCT(r_u);
	
	if (!netdfs_io_q_dfs_SetDcAddress("", &q_u, data, 0))
		return False;
	
	r_u.status = _dfs_SetDcAddress(p, &q_u, &r_u);
	
	if (!netdfs_io_r_dfs_SetDcAddress("", &r_u, rdata, 0))
		return False;
	
	return True;
}
/******************************************************************
 api_dfs_FlushFtTable
 *****************************************************************/

static BOOL api_dfs_FlushFtTable(pipes_struct *p)
{
	NETDFS_Q_DFS_FLUSHFTTABLE q_u;
	NETDFS_R_DFS_FLUSHFTTABLE r_u;
	prs_struct *data = &p->in_data.data;
	prs_struct *rdata = &p->out_data.rdata;
	
	ZERO_STRUCT(q_u);
	ZERO_STRUCT(r_u);
	
	if (!netdfs_io_q_dfs_FlushFtTable("", &q_u, data, 0))
		return False;
	
	r_u.status = _dfs_FlushFtTable(p, &q_u, &r_u);
	
	if (!netdfs_io_r_dfs_FlushFtTable("", &r_u, rdata, 0))
		return False;
	
	return True;
}
/******************************************************************
 api_dfs_Add2
 *****************************************************************/

static BOOL api_dfs_Add2(pipes_struct *p)
{
	NETDFS_Q_DFS_ADD2 q_u;
	NETDFS_R_DFS_ADD2 r_u;
	prs_struct *data = &p->in_data.data;
	prs_struct *rdata = &p->out_data.rdata;
	
	ZERO_STRUCT(q_u);
	ZERO_STRUCT(r_u);
	
	if (!netdfs_io_q_dfs_Add2("", &q_u, data, 0))
		return False;
	
	r_u.status = _dfs_Add2(p, &q_u, &r_u);
	
	if (!netdfs_io_r_dfs_Add2("", &r_u, rdata, 0))
		return False;
	
	return True;
}
/******************************************************************
 api_dfs_Remove2
 *****************************************************************/

static BOOL api_dfs_Remove2(pipes_struct *p)
{
	NETDFS_Q_DFS_REMOVE2 q_u;
	NETDFS_R_DFS_REMOVE2 r_u;
	prs_struct *data = &p->in_data.data;
	prs_struct *rdata = &p->out_data.rdata;
	
	ZERO_STRUCT(q_u);
	ZERO_STRUCT(r_u);
	
	if (!netdfs_io_q_dfs_Remove2("", &q_u, data, 0))
		return False;
	
	r_u.status = _dfs_Remove2(p, &q_u, &r_u);
	
	if (!netdfs_io_r_dfs_Remove2("", &r_u, rdata, 0))
		return False;
	
	return True;
}
/******************************************************************
 api_dfs_EnumEx
 *****************************************************************/

static BOOL api_dfs_EnumEx(pipes_struct *p)
{
	NETDFS_Q_DFS_ENUMEX q_u;
	NETDFS_R_DFS_ENUMEX r_u;
	prs_struct *data = &p->in_data.data;
	prs_struct *rdata = &p->out_data.rdata;
	
	ZERO_STRUCT(q_u);
	ZERO_STRUCT(r_u);
	
	if (!netdfs_io_q_dfs_EnumEx("", &q_u, data, 0))
		return False;
	
	r_u.status = _dfs_EnumEx(p, &q_u, &r_u);
	
	if (!netdfs_io_r_dfs_EnumEx("", &r_u, rdata, 0))
		return False;
	
	return True;
}
/******************************************************************
 api_dfs_SetInfo2
 *****************************************************************/

static BOOL api_dfs_SetInfo2(pipes_struct *p)
{
	NETDFS_Q_DFS_SETINFO2 q_u;
	NETDFS_R_DFS_SETINFO2 r_u;
	prs_struct *data = &p->in_data.data;
	prs_struct *rdata = &p->out_data.rdata;
	
	ZERO_STRUCT(q_u);
	ZERO_STRUCT(r_u);
	
	if (!netdfs_io_q_dfs_SetInfo2("", &q_u, data, 0))
		return False;
	
	r_u.status = _dfs_SetInfo2(p, &q_u, &r_u);
	
	if (!netdfs_io_r_dfs_SetInfo2("", &r_u, rdata, 0))
		return False;
	
	return True;
}

/* Tables */
static struct api_struct api_netdfs_cmds[] = 
{
	{"DFS_GETMANAGERVERSION", DFS_GETMANAGERVERSION, api_dfs_GetManagerVersion},
	{"DFS_ADD", DFS_ADD, api_dfs_Add},
	{"DFS_REMOVE", DFS_REMOVE, api_dfs_Remove},
	{"DFS_SETINFO", DFS_SETINFO, api_dfs_SetInfo},
	{"DFS_GETINFO", DFS_GETINFO, api_dfs_GetInfo},
	{"DFS_ENUM", DFS_ENUM, api_dfs_Enum},
	{"DFS_RENAME", DFS_RENAME, api_dfs_Rename},
	{"DFS_MOVE", DFS_MOVE, api_dfs_Move},
	{"DFS_MANAGERGETCONFIGINFO", DFS_MANAGERGETCONFIGINFO, api_dfs_ManagerGetConfigInfo},
	{"DFS_MANAGERSENDSITEINFO", DFS_MANAGERSENDSITEINFO, api_dfs_ManagerSendSiteInfo},
	{"DFS_ADDFTROOT", DFS_ADDFTROOT, api_dfs_AddFtRoot},
	{"DFS_REMOVEFTROOT", DFS_REMOVEFTROOT, api_dfs_RemoveFtRoot},
	{"DFS_ADDSTDROOT", DFS_ADDSTDROOT, api_dfs_AddStdRoot},
	{"DFS_REMOVESTDROOT", DFS_REMOVESTDROOT, api_dfs_RemoveStdRoot},
	{"DFS_MANAGERINITIALIZE", DFS_MANAGERINITIALIZE, api_dfs_ManagerInitialize},
	{"DFS_ADDSTDROOTFORCED", DFS_ADDSTDROOTFORCED, api_dfs_AddStdRootForced},
	{"DFS_GETDCADDRESS", DFS_GETDCADDRESS, api_dfs_GetDcAddress},
	{"DFS_SETDCADDRESS", DFS_SETDCADDRESS, api_dfs_SetDcAddress},
	{"DFS_FLUSHFTTABLE", DFS_FLUSHFTTABLE, api_dfs_FlushFtTable},
	{"DFS_ADD2", DFS_ADD2, api_dfs_Add2},
	{"DFS_REMOVE2", DFS_REMOVE2, api_dfs_Remove2},
	{"DFS_ENUMEX", DFS_ENUMEX, api_dfs_EnumEx},
	{"DFS_SETINFO2", DFS_SETINFO2, api_dfs_SetInfo2},
};

void netdfs_get_pipe_fns(struct api_struct **fns, int *n_fns)
{
	*fns = api_netdfs_cmds;
	*n_fns = sizeof(api_netdfs_cmds) / sizeof(struct api_struct);
}

NTSTATUS rpc_netdfs_init(void)
{
	return rpc_pipe_register_commands(SMB_RPC_INTERFACE_VERSION, "netdfs", "netdfs", api_netdfs_cmds, sizeof(api_netdfs_cmds) / sizeof(struct api_struct));
}
