text: /*
   * 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));
  }
  