aboutsummaryrefslogtreecommitdiff
path: root/doc/doxyout/krb5/man/man3/krb5_ccache.3
diff options
context:
space:
mode:
Diffstat (limited to 'doc/doxyout/krb5/man/man3/krb5_ccache.3')
-rw-r--r--doc/doxyout/krb5/man/man3/krb5_ccache.3888
1 files changed, 888 insertions, 0 deletions
diff --git a/doc/doxyout/krb5/man/man3/krb5_ccache.3 b/doc/doxyout/krb5/man/man3/krb5_ccache.3
new file mode 100644
index 000000000000..302626a23995
--- /dev/null
+++ b/doc/doxyout/krb5/man/man3/krb5_ccache.3
@@ -0,0 +1,888 @@
+.TH "Heimdal Kerberos 5 credential cache functions" 3 "30 Jul 2011" "Version 1.5" "HeimdalKerberos5library" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Heimdal Kerberos 5 credential cache functions \-
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cc_register\fP (krb5_context context, const krb5_cc_ops *ops, krb5_boolean override)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cc_resolve\fP (krb5_context context, const char *name, krb5_ccache *id)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cc_new_unique\fP (krb5_context context, const char *type, const char *hint, krb5_ccache *id)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION const char *KRB5_LIB_CALL \fBkrb5_cc_get_name\fP (krb5_context context, krb5_ccache id)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION const char *KRB5_LIB_CALL \fBkrb5_cc_get_type\fP (krb5_context context, krb5_ccache id)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cc_get_full_name\fP (krb5_context context, krb5_ccache id, char **str)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION const krb5_cc_ops *KRB5_LIB_CALL \fBkrb5_cc_get_ops\fP (krb5_context context, krb5_ccache id)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cc_switch\fP (krb5_context context, krb5_ccache id)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL \fBkrb5_cc_support_switch\fP (krb5_context context, const char *type)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cc_set_default_name\fP (krb5_context context, const char *name)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION const char *KRB5_LIB_CALL \fBkrb5_cc_default_name\fP (krb5_context context)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cc_default\fP (krb5_context context, krb5_ccache *id)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cc_initialize\fP (krb5_context context, krb5_ccache id, krb5_principal primary_principal)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cc_destroy\fP (krb5_context context, krb5_ccache id)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cc_close\fP (krb5_context context, krb5_ccache id)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cc_store_cred\fP (krb5_context context, krb5_ccache id, krb5_creds *creds)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cc_retrieve_cred\fP (krb5_context context, krb5_ccache id, krb5_flags whichfields, const krb5_creds *mcreds, krb5_creds *creds)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cc_get_principal\fP (krb5_context context, krb5_ccache id, krb5_principal *principal)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cc_start_seq_get\fP (krb5_context context, const krb5_ccache id, krb5_cc_cursor *cursor)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cc_next_cred\fP (krb5_context context, const krb5_ccache id, krb5_cc_cursor *cursor, krb5_creds *creds)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cc_end_seq_get\fP (krb5_context context, const krb5_ccache id, krb5_cc_cursor *cursor)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cc_remove_cred\fP (krb5_context context, krb5_ccache id, krb5_flags which, krb5_creds *cred)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cc_set_flags\fP (krb5_context context, krb5_ccache id, krb5_flags flags)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cc_get_flags\fP (krb5_context context, krb5_ccache id, krb5_flags *flags)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cc_copy_match_f\fP (krb5_context context, const krb5_ccache from, krb5_ccache to, krb5_boolean(*match)(krb5_context, void *, const krb5_creds *), void *matchctx, unsigned int *matched)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cc_copy_cache\fP (krb5_context context, const krb5_ccache from, krb5_ccache to)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cc_get_version\fP (krb5_context context, const krb5_ccache id)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION void KRB5_LIB_CALL \fBkrb5_cc_clear_mcred\fP (krb5_creds *mcred)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION const krb5_cc_ops *KRB5_LIB_CALL \fBkrb5_cc_get_prefix_ops\fP (krb5_context context, const char *prefix)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cc_cache_get_first\fP (krb5_context context, const char *type, krb5_cc_cache_cursor *cursor)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cc_cache_next\fP (krb5_context context, krb5_cc_cache_cursor cursor, krb5_ccache *id)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cc_cache_end_seq_get\fP (krb5_context context, krb5_cc_cache_cursor cursor)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cc_cache_match\fP (krb5_context context, krb5_principal client, krb5_ccache *id)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cc_move\fP (krb5_context context, krb5_ccache from, krb5_ccache to)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL \fBkrb5_is_config_principal\fP (krb5_context context, krb5_const_principal principal)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cc_set_config\fP (krb5_context context, krb5_ccache id, krb5_const_principal principal, const char *name, krb5_data *data)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cc_get_config\fP (krb5_context context, krb5_ccache id, krb5_const_principal principal, const char *name, krb5_data *data)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cccol_cursor_new\fP (krb5_context context, krb5_cccol_cursor *cursor)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cccol_cursor_next\fP (krb5_context context, krb5_cccol_cursor cursor, krb5_ccache *cache)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cccol_cursor_free\fP (krb5_context context, krb5_cccol_cursor *cursor)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cc_last_change_time\fP (krb5_context context, krb5_ccache id, krb5_timestamp *mtime)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cccol_last_change_time\fP (krb5_context context, const char *type, krb5_timestamp *mtime)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cc_get_friendly_name\fP (krb5_context context, krb5_ccache id, char **name)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cc_set_friendly_name\fP (krb5_context context, krb5_ccache id, const char *name)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cc_get_lifetime\fP (krb5_context context, krb5_ccache id, time_t *t)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cc_set_kdc_offset\fP (krb5_context context, krb5_ccache id, krb5_deltat offset)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cc_get_kdc_offset\fP (krb5_context context, krb5_ccache id, krb5_deltat *offset)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cc_gen_new\fP (krb5_context context, const krb5_cc_ops *ops, krb5_ccache *id) KRB5_DEPRECATED_FUNCTION('Use X instead')"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_cc_copy_creds\fP (krb5_context context, const krb5_ccache from, krb5_ccache to)"
+.br
+.ti -1c
+.RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_get_validated_creds\fP (krb5_context context, krb5_creds *creds, krb5_principal client, krb5_ccache ccache, char *service)"
+.br
+.in -1c
+.SS "Variables"
+
+.in +1c
+.ti -1c
+.RI "KRB5_LIB_VARIABLE const krb5_cc_ops \fBkrb5_acc_ops\fP"
+.br
+.ti -1c
+.RI "KRB5_LIB_VARIABLE const krb5_cc_ops \fBkrb5_fcc_ops\fP"
+.br
+.ti -1c
+.RI "KRB5_LIB_VARIABLE const krb5_cc_ops \fBkrb5_mcc_ops\fP"
+.br
+.in -1c
+.SH "Detailed Description"
+.PP
+
+.SH "Function Documentation"
+.PP
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_cache_end_seq_get (krb5_context context, krb5_cc_cache_cursor cursor)"
+.PP
+Destroy the cursor `cursor'.
+.PP
+\fBReturns:\fP
+.RS 4
+Return an error code or 0, see krb5_get_error_message().
+.RE
+.PP
+
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_cache_get_first (krb5_context context, const char * type, krb5_cc_cache_cursor * cursor)"
+.PP
+Start iterating over all caches of specified type. See also \fBkrb5_cccol_cursor_new()\fP.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcontext\fP A Kerberos 5 context
+.br
+\fItype\fP optional type to iterate over, if NULL, the default cache is used.
+.br
+\fIcursor\fP cursor should be freed with \fBkrb5_cc_cache_end_seq_get()\fP.
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Return an error code or 0, see krb5_get_error_message().
+.RE
+.PP
+
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_cache_match (krb5_context context, krb5_principal client, krb5_ccache * id)"
+.PP
+Search for a matching credential cache that have the `principal' as the default principal. On success, `id' needs to be freed with \fBkrb5_cc_close()\fP or \fBkrb5_cc_destroy()\fP.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcontext\fP A Kerberos 5 context
+.br
+\fIclient\fP The principal to search for
+.br
+\fIid\fP the returned credential cache
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+On failure, error code is returned and `id' is set to NULL.
+.RE
+.PP
+
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_cache_next (krb5_context context, krb5_cc_cache_cursor cursor, krb5_ccache * id)"
+.PP
+Retrieve the next cache pointed to by (`cursor') in `id' and advance `cursor'.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcontext\fP A Kerberos 5 context
+.br
+\fIcursor\fP the iterator cursor, returned by \fBkrb5_cc_cache_get_first()\fP
+.br
+\fIid\fP next ccache
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Return 0 or an error code. Returns KRB5_CC_END when the end of caches is reached, see krb5_get_error_message().
+.RE
+.PP
+
+.SS "KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_cc_clear_mcred (krb5_creds * mcred)"
+.PP
+Clear `mcreds' so it can be used with krb5_cc_retrieve_cred
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_close (krb5_context context, krb5_ccache id)"
+.PP
+Stop using the ccache `id' and free the related resources.
+.PP
+\fBReturns:\fP
+.RS 4
+Return an error code or 0, see krb5_get_error_message().
+.RE
+.PP
+
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_copy_cache (krb5_context context, const krb5_ccache from, krb5_ccache to)"
+.PP
+Just like \fBkrb5_cc_copy_match_f()\fP, but copy everything.
+.PP
+@
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_copy_creds (krb5_context context, const krb5_ccache from, krb5_ccache to)"
+.PP
+MIT compat glue
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_copy_match_f (krb5_context context, const krb5_ccache from, krb5_ccache to, krb5_boolean(*)(krb5_context, void *, const krb5_creds *) match, void * matchctx, unsigned int * matched)"
+.PP
+Copy the contents of `from' to `to' if the given match function return true.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcontext\fP A Kerberos 5 context.
+.br
+\fIfrom\fP the cache to copy data from.
+.br
+\fIto\fP the cache to copy data to.
+.br
+\fImatch\fP a match function that should return TRUE if cred argument should be copied, if NULL, all credentials are copied.
+.br
+\fImatchctx\fP context passed to match function.
+.br
+\fImatched\fP set to true if there was a credential that matched, may be NULL.
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Return an error code or 0, see krb5_get_error_message().
+.RE
+.PP
+
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_default (krb5_context context, krb5_ccache * id)"
+.PP
+Open the default ccache in `id'.
+.PP
+\fBReturns:\fP
+.RS 4
+Return an error code or 0, see krb5_get_error_message().
+.RE
+.PP
+
+.SS "KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_cc_default_name (krb5_context context)"
+.PP
+Return a pointer to a context static string containing the default ccache name.
+.PP
+\fBReturns:\fP
+.RS 4
+String to the default credential cache name.
+.RE
+.PP
+
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_destroy (krb5_context context, krb5_ccache id)"
+.PP
+Remove the ccache `id'.
+.PP
+\fBReturns:\fP
+.RS 4
+Return an error code or 0, see krb5_get_error_message().
+.RE
+.PP
+
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_end_seq_get (krb5_context context, const krb5_ccache id, krb5_cc_cursor * cursor)"
+.PP
+Destroy the cursor `cursor'.
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_gen_new (krb5_context context, const krb5_cc_ops * ops, krb5_ccache * id)"
+.PP
+Generate a new ccache of type `ops' in `id'.
+.PP
+Deprecated: use \fBkrb5_cc_new_unique()\fP instead.
+.PP
+\fBReturns:\fP
+.RS 4
+Return an error code or 0, see krb5_get_error_message().
+.RE
+.PP
+
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_get_config (krb5_context context, krb5_ccache id, krb5_const_principal principal, const char * name, krb5_data * data)"
+.PP
+Get some configuration for the credential cache in the cache.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcontext\fP a Keberos context
+.br
+\fIid\fP the credential cache to store the data for
+.br
+\fIprincipal\fP configuration for a specific principal, if NULL, global for the whole cache.
+.br
+\fIname\fP name under which the configuraion is stored.
+.br
+\fIdata\fP data to fetched, free with \fBkrb5_data_free()\fP
+.RE
+.PP
+
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_get_flags (krb5_context context, krb5_ccache id, krb5_flags * flags)"
+.PP
+Get the flags of `id', store them in `flags'.
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_get_friendly_name (krb5_context context, krb5_ccache id, char ** name)"
+.PP
+Return a friendly name on credential cache. Free the result with krb5_xfree().
+.PP
+\fBReturns:\fP
+.RS 4
+Return an error code or 0, see krb5_get_error_message().
+.RE
+.PP
+
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_get_full_name (krb5_context context, krb5_ccache id, char ** str)"
+.PP
+Return the complete resolvable name the cache
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcontext\fP a Keberos context
+.br
+\fIid\fP return pointer to a found credential cache
+.br
+\fIstr\fP the returned name of a credential cache, free with krb5_xfree()
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns 0 or an error (and then *str is set to NULL).
+.RE
+.PP
+
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_get_kdc_offset (krb5_context context, krb5_ccache id, krb5_deltat * offset)"
+.PP
+Get the time offset betwen the client and the KDC
+.PP
+If the backend doesn't support KDC offset, use the context global setting.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcontext\fP A Kerberos 5 context.
+.br
+\fIid\fP a credential cache
+.br
+\fIoffset\fP the offset in seconds
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Return an error code or 0, see krb5_get_error_message().
+.RE
+.PP
+
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_get_lifetime (krb5_context context, krb5_ccache id, time_t * t)"
+.PP
+Get the lifetime of the initial ticket in the cache
+.PP
+Get the lifetime of the initial ticket in the cache, if the initial ticket was not found, the error code KRB5_CC_END is returned.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcontext\fP A Kerberos 5 context.
+.br
+\fIid\fP a credential cache
+.br
+\fIt\fP the relative lifetime of the initial ticket
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Return an error code or 0, see krb5_get_error_message().
+.RE
+.PP
+
+.SS "KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_cc_get_name (krb5_context context, krb5_ccache id)"
+.PP
+Return the name of the ccache `id'
+.SS "KRB5_LIB_FUNCTION const krb5_cc_ops* KRB5_LIB_CALL krb5_cc_get_ops (krb5_context context, krb5_ccache id)"
+.PP
+Return krb5_cc_ops of a the ccache `id'.
+.SS "KRB5_LIB_FUNCTION const krb5_cc_ops* KRB5_LIB_CALL krb5_cc_get_prefix_ops (krb5_context context, const char * prefix)"
+.PP
+Get the cc ops that is registered in `context' to handle the prefix. prefix can be a complete credential cache name or a prefix, the function will only use part up to the first colon (:) if there is one. If prefix the argument is NULL, the default ccache implemtation is returned.
+.PP
+\fBReturns:\fP
+.RS 4
+Returns NULL if ops not found.
+.RE
+.PP
+
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_get_principal (krb5_context context, krb5_ccache id, krb5_principal * principal)"
+.PP
+Return the principal of `id' in `principal'.
+.PP
+\fBReturns:\fP
+.RS 4
+Return an error code or 0, see krb5_get_error_message().
+.RE
+.PP
+
+.SS "KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_cc_get_type (krb5_context context, krb5_ccache id)"
+.PP
+Return the type of the ccache `id'.
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_get_version (krb5_context context, const krb5_ccache id)"
+.PP
+Return the version of `id'.
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_initialize (krb5_context context, krb5_ccache id, krb5_principal primary_principal)"
+.PP
+Create a new ccache in `id' for `primary_principal'.
+.PP
+\fBReturns:\fP
+.RS 4
+Return an error code or 0, see krb5_get_error_message().
+.RE
+.PP
+
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_last_change_time (krb5_context context, krb5_ccache id, krb5_timestamp * mtime)"
+.PP
+Return the last time the credential cache was modified.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcontext\fP A Kerberos 5 context
+.br
+\fIid\fP The credential cache to probe
+.br
+\fImtime\fP the last modification time, set to 0 on error.
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Return 0 or and error. See krb5_get_error_message().
+.RE
+.PP
+
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_move (krb5_context context, krb5_ccache from, krb5_ccache to)"
+.PP
+Move the content from one credential cache to another. The operation is an atomic switch.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcontext\fP a Keberos context
+.br
+\fIfrom\fP the credential cache to move the content from
+.br
+\fIto\fP the credential cache to move the content to
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+On sucess, from is freed. On failure, error code is returned and from and to are both still allocated, see krb5_get_error_message().
+.RE
+.PP
+
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_new_unique (krb5_context context, const char * type, const char * hint, krb5_ccache * id)"
+.PP
+Generates a new unique ccache of `type` in `id'. If `type' is NULL, the library chooses the default credential cache type. The supplied `hint' (that can be NULL) is a string that the credential cache type can use to base the name of the credential on, this is to make it easier for the user to differentiate the credentials.
+.PP
+\fBReturns:\fP
+.RS 4
+Return an error code or 0, see krb5_get_error_message().
+.RE
+.PP
+
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_next_cred (krb5_context context, const krb5_ccache id, krb5_cc_cursor * cursor, krb5_creds * creds)"
+.PP
+Retrieve the next cred pointed to by (`id', `cursor') in `creds' and advance `cursor'.
+.PP
+\fBReturns:\fP
+.RS 4
+Return an error code or 0, see krb5_get_error_message().
+.RE
+.PP
+
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_register (krb5_context context, const krb5_cc_ops * ops, krb5_boolean override)"
+.PP
+Add a new ccache type with operations `ops', overwriting any existing one if `override'.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcontext\fP a Keberos context
+.br
+\fIops\fP type of plugin symbol
+.br
+\fIoverride\fP flag to select if the registration is to overide an existing ops with the same name.
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Return an error code or 0, see krb5_get_error_message().
+.RE
+.PP
+
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_remove_cred (krb5_context context, krb5_ccache id, krb5_flags which, krb5_creds * cred)"
+.PP
+Remove the credential identified by `cred', `which' from `id'.
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_resolve (krb5_context context, const char * name, krb5_ccache * id)"
+.PP
+Find and allocate a ccache in `id' from the specification in `residual'. If the ccache name doesn't contain any colon, interpret it as a file name.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcontext\fP a Keberos context.
+.br
+\fIname\fP string name of a credential cache.
+.br
+\fIid\fP return pointer to a found credential cache.
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Return 0 or an error code. In case of an error, id is set to NULL, see krb5_get_error_message().
+.RE
+.PP
+
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_retrieve_cred (krb5_context context, krb5_ccache id, krb5_flags whichfields, const krb5_creds * mcreds, krb5_creds * creds)"
+.PP
+Retrieve the credential identified by `mcreds' (and `whichfields') from `id' in `creds'. 'creds' must be free by the caller using krb5_free_cred_contents.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcontext\fP A Kerberos 5 context
+.br
+\fIid\fP a Kerberos 5 credential cache
+.br
+\fIwhichfields\fP what fields to use for matching credentials, same flags as whichfields in \fBkrb5_compare_creds()\fP
+.br
+\fImcreds\fP template credential to use for comparing
+.br
+\fIcreds\fP returned credential, free with \fBkrb5_free_cred_contents()\fP
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Return an error code or 0, see krb5_get_error_message().
+.RE
+.PP
+
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_set_config (krb5_context context, krb5_ccache id, krb5_const_principal principal, const char * name, krb5_data * data)"
+.PP
+Store some configuration for the credential cache in the cache. Existing configuration under the same name is over-written.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcontext\fP a Keberos context
+.br
+\fIid\fP the credential cache to store the data for
+.br
+\fIprincipal\fP configuration for a specific principal, if NULL, global for the whole cache.
+.br
+\fIname\fP name under which the configuraion is stored.
+.br
+\fIdata\fP data to store, if NULL, configure is removed.
+.RE
+.PP
+
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_set_default_name (krb5_context context, const char * name)"
+.PP
+Set the default cc name for `context' to `name'.
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_set_flags (krb5_context context, krb5_ccache id, krb5_flags flags)"
+.PP
+Set the flags of `id' to `flags'.
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_set_friendly_name (krb5_context context, krb5_ccache id, const char * name)"
+.PP
+Set the friendly name on credential cache.
+.PP
+\fBReturns:\fP
+.RS 4
+Return an error code or 0, see krb5_get_error_message().
+.RE
+.PP
+
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_set_kdc_offset (krb5_context context, krb5_ccache id, krb5_deltat offset)"
+.PP
+Set the time offset betwen the client and the KDC
+.PP
+If the backend doesn't support KDC offset, use the context global setting.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcontext\fP A Kerberos 5 context.
+.br
+\fIid\fP a credential cache
+.br
+\fIoffset\fP the offset in seconds
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Return an error code or 0, see krb5_get_error_message().
+.RE
+.PP
+
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_start_seq_get (krb5_context context, const krb5_ccache id, krb5_cc_cursor * cursor)"
+.PP
+Start iterating over `id', `cursor' is initialized to the beginning. Caller must free the cursor with \fBkrb5_cc_end_seq_get()\fP.
+.PP
+\fBReturns:\fP
+.RS 4
+Return an error code or 0, see krb5_get_error_message().
+.RE
+.PP
+
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_store_cred (krb5_context context, krb5_ccache id, krb5_creds * creds)"
+.PP
+Store `creds' in the ccache `id'.
+.PP
+\fBReturns:\fP
+.RS 4
+Return an error code or 0, see krb5_get_error_message().
+.RE
+.PP
+
+.SS "KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_cc_support_switch (krb5_context context, const char * type)"
+.PP
+Return true if the default credential cache support switch
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_switch (krb5_context context, krb5_ccache id)"
+.PP
+Switch the default default credential cache for a specific credcache type (and name for some implementations).
+.PP
+\fBReturns:\fP
+.RS 4
+Return an error code or 0, see krb5_get_error_message().
+.RE
+.PP
+
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cccol_cursor_free (krb5_context context, krb5_cccol_cursor * cursor)"
+.PP
+End an iteration and free all resources, can be done before end is reached.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcontext\fP A Kerberos 5 context
+.br
+\fIcursor\fP the iteration cursor to be freed.
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Return 0 or and error, KRB5_CC_END is returned at the end of iteration. See krb5_get_error_message().
+.RE
+.PP
+
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cccol_cursor_new (krb5_context context, krb5_cccol_cursor * cursor)"
+.PP
+Get a new cache interation cursor that will interate over all credentials caches independent of type.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcontext\fP a Keberos context
+.br
+\fIcursor\fP passed into \fBkrb5_cccol_cursor_next()\fP and free with \fBkrb5_cccol_cursor_free()\fP.
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns 0 or and error code, see krb5_get_error_message().
+.RE
+.PP
+
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cccol_cursor_next (krb5_context context, krb5_cccol_cursor cursor, krb5_ccache * cache)"
+.PP
+Get next credential cache from the iteration.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcontext\fP A Kerberos 5 context
+.br
+\fIcursor\fP the iteration cursor
+.br
+\fIcache\fP the returned cursor, pointer is set to NULL on failure and a cache on success. The returned cache needs to be freed with \fBkrb5_cc_close()\fP or destroyed with \fBkrb5_cc_destroy()\fP. MIT Kerberos behavies slightly diffrent and sets cache to NULL when all caches are iterated over and return 0.
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Return 0 or and error, KRB5_CC_END is returned at the end of iteration. See krb5_get_error_message().
+.RE
+.PP
+
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cccol_last_change_time (krb5_context context, const char * type, krb5_timestamp * mtime)"
+.PP
+Return the last modfication time for a cache collection. The query can be limited to a specific cache type. If the function return 0 and mtime is 0, there was no credentials in the caches.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcontext\fP A Kerberos 5 context
+.br
+\fItype\fP The credential cache to probe, if NULL, all type are traversed.
+.br
+\fImtime\fP the last modification time, set to 0 on error.
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Return 0 or and error. See krb5_get_error_message().
+.RE
+.PP
+
+.SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_validated_creds (krb5_context context, krb5_creds * creds, krb5_principal client, krb5_ccache ccache, char * service)"
+.PP
+Validate the newly fetch credential, see also krb5_verify_init_creds().
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcontext\fP a Kerberos 5 context
+.br
+\fIcreds\fP the credentials to verify
+.br
+\fIclient\fP the client name to match up
+.br
+\fIccache\fP the credential cache to use
+.br
+\fIservice\fP a service name to use, used with \fBkrb5_sname_to_principal()\fP to build a hostname to use to verify.
+.RE
+.PP
+
+.SS "KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_is_config_principal (krb5_context context, krb5_const_principal principal)"
+.PP
+Return TRUE (non zero) if the principal is a configuration principal (generated part of \fBkrb5_cc_set_config()\fP). Returns FALSE (zero) if not a configuration principal.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcontext\fP a Keberos context
+.br
+\fIprincipal\fP principal to check if it a configuration principal
+.RE
+.PP
+
+.SH "Variable Documentation"
+.PP
+.SS "KRB5_LIB_VARIABLE const krb5_cc_ops \fBkrb5_acc_ops\fP"
+.PP
+\fBInitial value:\fP
+.PP
+.nf
+ {
+ KRB5_CC_OPS_VERSION,
+ 'API',
+ acc_get_name,
+ acc_resolve,
+ acc_gen_new,
+ acc_initialize,
+ acc_destroy,
+ acc_close,
+ acc_store_cred,
+ NULL,
+ acc_get_principal,
+ acc_get_first,
+ acc_get_next,
+ acc_end_get,
+ acc_remove_cred,
+ acc_set_flags,
+ acc_get_version,
+ acc_get_cache_first,
+ acc_get_cache_next,
+ acc_end_cache_get,
+ acc_move,
+ acc_get_default_name,
+ acc_set_default,
+ acc_lastchange,
+ NULL,
+ NULL,
+}
+.fi
+Variable containing the API based credential cache implemention.
+.SS "KRB5_LIB_VARIABLE const krb5_cc_ops \fBkrb5_fcc_ops\fP"
+.PP
+\fBInitial value:\fP
+.PP
+.nf
+ {
+ KRB5_CC_OPS_VERSION,
+ 'FILE',
+ fcc_get_name,
+ fcc_resolve,
+ fcc_gen_new,
+ fcc_initialize,
+ fcc_destroy,
+ fcc_close,
+ fcc_store_cred,
+ NULL,
+ fcc_get_principal,
+ fcc_get_first,
+ fcc_get_next,
+ fcc_end_get,
+ fcc_remove_cred,
+ fcc_set_flags,
+ fcc_get_version,
+ fcc_get_cache_first,
+ fcc_get_cache_next,
+ fcc_end_cache_get,
+ fcc_move,
+ fcc_get_default_name,
+ NULL,
+ fcc_lastchange,
+ fcc_set_kdc_offset,
+ fcc_get_kdc_offset
+}
+.fi
+Variable containing the FILE based credential cache implemention.
+.SS "KRB5_LIB_VARIABLE const krb5_cc_ops \fBkrb5_mcc_ops\fP"
+.PP
+\fBInitial value:\fP
+.PP
+.nf
+ {
+ KRB5_CC_OPS_VERSION,
+ 'MEMORY',
+ mcc_get_name,
+ mcc_resolve,
+ mcc_gen_new,
+ mcc_initialize,
+ mcc_destroy,
+ mcc_close,
+ mcc_store_cred,
+ NULL,
+ mcc_get_principal,
+ mcc_get_first,
+ mcc_get_next,
+ mcc_end_get,
+ mcc_remove_cred,
+ mcc_set_flags,
+ NULL,
+ mcc_get_cache_first,
+ mcc_get_cache_next,
+ mcc_end_cache_get,
+ mcc_move,
+ mcc_default_name,
+ NULL,
+ mcc_lastchange,
+ mcc_set_kdc_offset,
+ mcc_get_kdc_offset
+}
+.fi
+Variable containing the MEMORY based credential cache implemention.