#ifndef __SOURCE4_AUTH_KERBEROS_KERBEROS_UTIL_H__
#define __SOURCE4_AUTH_KERBEROS_KERBEROS_UTIL_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/auth/kerberos/kerberos_util.c  */

krb5_error_code principal_from_credentials(TALLOC_CTX *parent_ctx,
				struct cli_credentials *credentials,
				struct smb_krb5_context *smb_krb5_context,
				krb5_principal *princ,
				enum credentials_obtained *obtained,
				const char **error_string);
krb5_error_code smb_krb5_create_principals_array(TALLOC_CTX *mem_ctx,
						 krb5_context context,
						 const char *account_name,
						 const char *realm,
						 uint32_t num_spns,
						 const char *spns[],
						 uint32_t *pnum_principals,
						 krb5_principal **pprincipals,
						 const char **error_string);

/**
 * Return a freshly allocated ccache (destroyed by destructor on child
 * of parent_ctx), for a given set of client credentials
 */
krb5_error_code smb_krb5_get_keytab_container(TALLOC_CTX *mem_ctx,
				struct smb_krb5_context *smb_krb5_context,
				krb5_keytab opt_keytab,
				const char *keytab_name,
				struct keytab_container **ktc);
krb5_error_code smb_krb5_remove_obsolete_keytab_entries(TALLOC_CTX *mem_ctx,
							krb5_context context,
							krb5_keytab keytab,
							uint32_t num_principals,
							krb5_principal *principals,
							krb5_kvno kvno,
							bool *found_previous,
							const char **error_string);
krb5_error_code smb_krb5_is_exact_entry_in_keytab(TALLOC_CTX *mem_ctx,
						  krb5_context context,
						  krb5_keytab keytab,
						  krb5_keytab_entry *to_match,
						  bool *found,
						  const char **error_string);
#undef _PRINTF_ATTRIBUTE
#define _PRINTF_ATTRIBUTE(a1, a2)

#endif /* __SOURCE4_AUTH_KERBEROS_KERBEROS_UTIL_H__ */

