#ifndef __kcm_protos_h__
#define __kcm_protos_h__
#include <stdarg.h>
#if !defined(__GNUC__) && !defined(__attribute__)
#define __attribute__(x)
#endif
#ifdef __cplusplus
extern "C" {
#endif
krb5_error_code
kcm_access (
krb5_context ,
kcm_client *,
kcm_operation ,
kcm_ccache );
void
kcm_cache_remove_session (pid_t );
krb5_error_code
kcm_ccache_acquire (
krb5_context ,
kcm_ccache ,
time_t *);
krb5_error_code
kcm_ccache_destroy (
krb5_context ,
const char *);
krb5_error_code
kcm_ccache_destroy_client (
krb5_context ,
kcm_client *,
const char *);
krb5_error_code
kcm_ccache_enqueue_default (
krb5_context ,
kcm_ccache ,
krb5_creds *);
struct kcm_creds *
kcm_ccache_find_cred_uuid (
krb5_context ,
kcm_ccache ,
kcmuuid_t );
char *
kcm_ccache_first_name (kcm_client *);
krb5_error_code
kcm_ccache_get_uuids (
krb5_context ,
kcm_client *,
kcm_operation ,
krb5_storage *);
krb5_error_code
kcm_ccache_new (
krb5_context ,
const char *,
kcm_ccache *);
krb5_error_code
kcm_ccache_new_client (
krb5_context ,
kcm_client *,
const char *,
kcm_ccache *);
char *kcm_ccache_nextid (
pid_t ,
uid_t );
krb5_error_code
kcm_ccache_refresh (
krb5_context ,
kcm_ccache ,
time_t *);
krb5_error_code
kcm_ccache_remove_cred (
krb5_context ,
kcm_ccache ,
krb5_flags ,
const krb5_creds *);
krb5_error_code
kcm_ccache_remove_cred_internal (
krb5_context ,
kcm_ccache ,
krb5_flags ,
const krb5_creds *);
krb5_error_code
kcm_ccache_remove_creds (
krb5_context ,
kcm_ccache );
krb5_error_code
kcm_ccache_remove_creds_internal (
krb5_context ,
kcm_ccache );
krb5_error_code
kcm_ccache_resolve (
krb5_context ,
const char *,
kcm_ccache *);
krb5_error_code
kcm_ccache_resolve_by_uuid (
krb5_context ,
kcmuuid_t ,
kcm_ccache *);
krb5_error_code
kcm_ccache_resolve_client (
krb5_context ,
kcm_client *,
kcm_operation ,
const char *,
kcm_ccache *);
krb5_error_code
kcm_ccache_retrieve_cred (
krb5_context ,
kcm_ccache ,
krb5_flags ,
const krb5_creds *,
krb5_creds **);
krb5_error_code
kcm_ccache_retrieve_cred_internal (
krb5_context ,
kcm_ccache ,
krb5_flags ,
const krb5_creds *,
krb5_creds **);
krb5_error_code
kcm_ccache_store_cred (
krb5_context ,
kcm_ccache ,
krb5_creds *,
int );
krb5_error_code
kcm_ccache_store_cred_internal (
krb5_context ,
kcm_ccache ,
krb5_creds *,
kcmuuid_t ,
int );
krb5_error_code
kcm_chmod (
krb5_context ,
kcm_client *,
kcm_ccache ,
uint16_t );
krb5_error_code
kcm_chown (
krb5_context ,
kcm_client *,
kcm_ccache ,
uid_t );
void
kcm_configure (
int ,
char **);
krb5_error_code
kcm_debug_ccache (krb5_context );
krb5_error_code
kcm_debug_events (krb5_context );
krb5_error_code
kcm_dispatch (
krb5_context ,
kcm_client *,
krb5_data *,
krb5_data *);
krb5_error_code
kcm_internal_ccache (
krb5_context ,
kcm_ccache ,
krb5_ccache );
int
kcm_is_same_session (
kcm_client *,
uid_t ,
pid_t );
void
kcm_log (
int ,
const char *,
...)
__attribute__ ((format (printf, 2, 3)));
char*
kcm_log_msg (
int ,
const char *,
...)
__attribute__ ((format (printf, 2, 3)));
char*
kcm_log_msg_va (
int ,
const char *,
va_list )
__attribute__ ((format (printf, 2, 0)));
const char *
kcm_op2string (kcm_operation );
void
kcm_openlog (void);
krb5_error_code
kcm_release_ccache (
krb5_context ,
kcm_ccache );
krb5_error_code
kcm_retain_ccache (
krb5_context ,
kcm_ccache );
void
kcm_service (
void *,
const heim_idata *,
const heim_icred ,
heim_ipc_complete ,
heim_sipc_call );
void
kcm_session_add (pid_t );
void
kcm_session_setup_handler (void);
void
kcm_update_expire_time (kcm_ccache );
krb5_error_code
kcm_zero_ccache_data (
krb5_context ,
kcm_ccache );
krb5_error_code
kcm_zero_ccache_data_internal (
krb5_context ,
kcm_ccache );
void
kcm_parse_cache_data(krb5_context context, krb5_data *data);
void
kcm_unparse_cache_data(krb5_context context, krb5_data *data);
krb5_error_code
kcm_store_io(krb5_context context,
krb5_uuid uuid,
void *ptr,
size_t length,
krb5_data *data,
bool encrypt);
krb5_error_code
kcm_create_key(krb5_uuid uuid);
void kcm_read_dump(krb5_context context);
void kcm_write_dump(krb5_context context);
krb5_error_code
kcm_unparse_digest_all(krb5_context context, krb5_storage *sp);
krb5_error_code
kcm_parse_digest_one(krb5_context context, krb5_storage *sp);
krb5_error_code
kcm_unparse_wrap(krb5_storage *sp, char *name, int32_t session, int (^wrapped)(krb5_storage *inner));
#ifdef __cplusplus
}
#endif
#endif