cc_int32(* release)(cc_ccache_t io_ccache) |
cc_ccache_release(): Release memory associated with a cc_ccache_t object.
io_ccache | the ccache object to release. |
cc_int32(* destroy)(cc_ccache_t io_ccache) |
cc_ccache_destroy(): Destroy a ccache.
io_ccache | the ccache object to destroy and release. |
cc_int32(* set_default)(cc_ccache_t io_ccache) |
cc_ccache_set_default(): Make a ccache the default ccache.
io_ccache | a ccache object to make the new default ccache. |
cc_int32(* get_credentials_version)(cc_ccache_t in_ccache, cc_uint32 *out_credentials_version) |
cc_ccache_get_credentials_version(): Get the credentials version of a ccache.
in_ccache | a ccache object. | |
out_credentials_version | on exit, the credentials version of in_ccache. |
cc_int32(* get_name)(cc_ccache_t in_ccache, cc_string_t *out_name) |
cc_ccache_get_name(): Get the name of a ccache.
in_ccache | a ccache object. | |
out_name | on exit, a cc_string_t representing the name of in_ccache. out_name must be released with cc_string_release(). |
cc_int32(* get_principal)(cc_ccache_t in_ccache, cc_uint32 in_credentials_version, cc_string_t *out_principal) |
cc_ccache_get_principal(): Get the principal of a ccache.
in_ccache | a ccache object. | |
in_credentials_version | the credentials version to get the principal for. | |
out_principal | on exit, a cc_string_t representing the principal of in_ccache. out_principal must be released with cc_string_release(). |
cc_int32(* set_principal)(cc_ccache_t io_ccache, cc_uint32 in_credentials_version, const char *in_principal) |
cc_ccache_set_principal(): Set the principal of a ccache.
in_ccache | a ccache object. | |
in_credentials_version | the credentials version to set the principal for. | |
in_principal | a C string representing the new principal of in_ccache. |
cc_int32(* store_credentials)(cc_ccache_t io_ccache, const cc_credentials_union *in_credentials_union) |
cc_ccache_store_credentials(): Store credentials in a ccache.
io_ccache | a ccache object. | |
in_credentials_union | the credentials to store in io_ccache. |
See the description of the credentials types for the meaning of cc_credentials_union fields.
Before credentials of a specific credential type can be stored in a ccache, the corresponding principal version has to be set. For example, before you can store Kerberos v4 credentials in a ccache, the Kerberos v4 principal has to be set either by cc_context_create_ccache(), cc_context_create_default_ccache(), cc_context_create_new_ccache(), or cc_ccache_set_principal(); likewise for Kerberos v5. Otherwise, ccErrBadCredentialsVersion is returned.
cc_int32(* remove_credentials)(cc_ccache_t io_ccache, cc_credentials_t in_credentials) |
cc_ccache_remove_credentials(): Remove credentials from a ccache.
io_ccache | a ccache object. | |
in_credentials | the credentials to remove from io_ccache. |
If found, the credentials are removed from the ccache. The credentials parameter is not modified and should be freed by the caller. It is legitimate to call this function while an iterator is traversing the ccache, and the deletion of a credential already returned by cc_credentials_iterator_next() will not disturb sequence of credentials returned by cc_credentials_iterator_next().
cc_int32(* new_credentials_iterator)(cc_ccache_t in_ccache, cc_credentials_iterator_t *out_credentials_iterator) |
cc_ccache_new_credentials_iterator(): Iterate over credentials in a ccache.
in_ccache | a ccache object. | |
out_credentials_iterator | a credentials iterator for io_ccache. |
If changes are made to the ccache while an iterator is being used on it, the iterator must return at least the intersection, and at most the union, of the set of credentials that were in the ccache when the iteration began and the set of credentials that are in the ccache when it ends.
cc_int32(* move)(cc_ccache_t io_source_ccache, cc_ccache_t io_destination_ccache) |
cc_ccache_move(): Move the contents of one ccache into another, destroying the source.
io_source_ccache | a ccache object to move. | |
io_destination_ccache | a ccache object replace with the contents of io_source_ccache. |
Typically cc_ccache_move() is used when the caller wishes to safely overwrite the contents of a ccache with new data which requires several steps to generate. cc_ccache_move() allows the caller to create a temporary ccache (which can be destroyed if any intermediate step fails) and the atomically copy the temporary cache into the destination.
cc_int32(* lock)(cc_ccache_t io_ccache, cc_uint32 in_lock_type, cc_uint32 in_block) |
cc_ccache_lock(): Lock a ccache.
io_ccache | the ccache object for the ccache you wish to lock. | |
in_lock_type | the type of lock to obtain. | |
in_block | whether or not the function should block if the lock cannot be obtained immediately. |
To avoid having to deal with differences between thread semantics on different platforms, locks are granted per ccache, rather than per thread or per process. That means that different threads of execution have to acquire separate contexts in order to be able to synchronize with each other.
The lock should be unlocked by using cc_ccache_unlock().
cc_int32(* unlock)(cc_ccache_t io_ccache) |
cc_ccache_unlock(): Unlock a ccache.
io_ccache | a ccache object. |
cc_int32(* get_last_default_time)(cc_ccache_t in_ccache, cc_time_t *out_last_default_time) |
cc_ccache_get_change_time(): Get the last time a ccache was the default ccache.
in_ccache | a cache object. | |
out_last_default_time | on exit, the last time the ccache was default. |
cc_int32(* get_change_time)(cc_ccache_t in_ccache, cc_time_t *out_change_time) |
cc_ccache_get_change_time(): Get the last time a ccache changed.
in_ccache | a cache object. | |
out_change_time | on exit, the last time the ccache changed. |
The time returned by cc_ccache_get_change_time() increases whenever:
cc_int32(* compare)(cc_ccache_t in_ccache, cc_ccache_t in_compare_to_ccache, cc_uint32 *out_equal) |
cc_ccache_compare(): Compare two ccache objects.
in_ccache | a ccache object. | |
in_compare_to_ccache | a ccache object to compare with in_ccache. | |
out_equal | on exit, whether or not the two ccaches refer to the same ccache. |
cc_int32(* get_kdc_time_offset)(cc_ccache_t in_ccache, cc_uint32 in_credentials_version, cc_time_t *out_time_offset) |
cc_ccache_get_kdc_time_offset(): Get the KDC time offset for credentials in a ccache.
in_ccache | a ccache object. | |
in_credentials_version | the credentials version to get the time offset for. | |
out_time_offset | on exit, the KDC time offset for in_ccache for credentials version in_credentials_version. |
cc_int32(* set_kdc_time_offset)(cc_ccache_t io_ccache, cc_uint32 in_credentials_version, cc_time_t in_time_offset) |
cc_ccache_set_kdc_time_offset(): Set the KDC time offset for credentials in a ccache.
in_ccache | a ccache object. | |
in_credentials_version | the credentials version to get the time offset for. | |
in_time_offset | the new KDC time offset for in_ccache for credentials version in_credentials_version. |
cc_int32(* clear_kdc_time_offset)(cc_ccache_t io_ccache, cc_uint32 in_credentials_version) |
cc_ccache_clear_kdc_time_offset(): Clear the KDC time offset for credentials in a ccache.
in_ccache | a ccache object. | |
in_credentials_version | the credentials version to get the time offset for. |
cc_int32(* wait_for_change)(cc_ccache_t in_ccache) |
cc_ccache_wait_for_change(): Wait for the next change to a ccache.
in_ccache | a ccache object. |
cc_ccache_wait_for_change() will return whenever: