#ifndef __SOURCE4_DSDB_SAMDB_LDB_MODULES_AUDIT_UTIL_PROTO_H__
#define __SOURCE4_DSDB_SAMDB_LDB_MODULES_AUDIT_UTIL_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/dsdb/samdb/ldb_modules/audit_util.c  */

bool dsdb_audit_redact_attribute(const char * name);
bool dsdb_audit_is_password_attribute(const char * name);
bool dsdb_audit_is_authentication_information(const char * name);
const struct tsocket_address *dsdb_audit_get_remote_address(
	struct ldb_context *ldb);
const struct dom_sid *dsdb_audit_get_actual_sid(struct ldb_context *ldb);
const char *dsdb_audit_get_ldb_error_string(
	struct ldb_module *module,
	int status);
const struct dom_sid *dsdb_audit_get_user_sid(const struct ldb_module *module);
bool dsdb_audit_is_system_session(const struct ldb_module *module);
const struct GUID *dsdb_audit_get_unique_session_token(
	const struct ldb_module *module);
const struct GUID *dsdb_audit_get_actual_unique_session_token(
	struct ldb_context *ldb);
char *dsdb_audit_get_remote_host(struct ldb_context *ldb, TALLOC_CTX *mem_ctx);
const char* dsdb_audit_get_primary_dn(const struct ldb_request *request);
const struct ldb_message *dsdb_audit_get_message(
	const struct ldb_request *request);
const char *dsdb_audit_get_secondary_dn(const struct ldb_request *request);
const char *dsdb_audit_get_operation_name(const struct ldb_request *request);
const char *dsdb_audit_get_modification_action(unsigned int flags);
struct json_object dsdb_audit_attributes_json(
	enum ldb_request_type operation,
	const struct ldb_message* message);
char *dsdb_audit_log_attributes(
	struct ldb_context *ldb,
	char *buffer,
	enum ldb_request_type operation,
	const struct ldb_message *message);
char *dsdb_audit_operation_human_readable(
	TALLOC_CTX *mem_ctx,
	struct ldb_module *module,
	const struct ldb_request *request,
	const struct ldb_reply *reply);
#undef _PRINTF_ATTRIBUTE
#define _PRINTF_ATTRIBUTE(a1, a2)

#endif /* __SOURCE4_DSDB_SAMDB_LDB_MODULES_AUDIT_UTIL_PROTO_H__ */

