#ifndef __SOURCE4_RPC_SERVER_COMMON_PROTO_H__
#define __SOURCE4_RPC_SERVER_COMMON_PROTO_H__

#undef _PRINTF_ATTRIBUTE
#define _PRINTF_ATTRIBUTE(a1, a2) PRINTF_ATTRIBUTE(a1, a2)
/* This file was automatically generated by mkproto.pl. DO NOT EDIT */

/* this file contains prototypes for functions that are private 
 * to this subsystem or library. These functions should not be 
 * used outside this particular subsystem! */


/* The following definitions come from ../../source4/rpc_server/common/server_info.c  */

enum srvsvc_PlatformId dcesrv_common_get_platform_id(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx);
const char *dcesrv_common_get_server_name(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx, const char *server_unc);
uint32_t dcesrv_common_get_server_type(TALLOC_CTX *mem_ctx, struct tevent_context *event_ctx, struct dcesrv_context *dce_ctx);
const char *dcesrv_common_get_lan_root(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx);
uint32_t dcesrv_common_get_users(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx);
uint32_t dcesrv_common_get_disc(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx);
uint32_t dcesrv_common_get_hidden(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx);
uint32_t dcesrv_common_get_announce(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx);
uint32_t dcesrv_common_get_anndelta(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx);
uint32_t dcesrv_common_get_licenses(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx);
const char *dcesrv_common_get_userpath(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx);
bool dcesrv_common_validate_share_name(TALLOC_CTX *mem_ctx, const char *share_name);
struct ldb_context *dcesrv_samdb_connect_session_info(
	TALLOC_CTX *mem_ctx,
	struct dcesrv_call_state *dce_call,
	const struct auth_session_info *call_session_info,
	const struct auth_session_info *call_audit_session_info);
struct ldb_context *dcesrv_samdb_connect_as_system(
	TALLOC_CTX *mem_ctx,
	struct dcesrv_call_state *dce_call);
struct ldb_context *dcesrv_samdb_connect_as_user(
	TALLOC_CTX *mem_ctx,
	struct dcesrv_call_state *dce_call);

/* The following definitions come from ../../source4/rpc_server/common/forward.c  */


/**
 * Forward a RPC call using IRPC to another task
 */
void dcesrv_irpc_forward_rpc_call(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
				  void *r, uint32_t callid,
				  const struct ndr_interface_table *ndr_table,
				  const char *dest_task, const char *opname,
				  uint32_t timeout);

/* The following definitions come from ../../source4/rpc_server/common/loadparm.c  */

#undef _PRINTF_ATTRIBUTE
#define _PRINTF_ATTRIBUTE(a1, a2)

#endif /* __SOURCE4_RPC_SERVER_COMMON_PROTO_H__ */

