1 /* ccapi/lib/ccapi_ccache.h */ 2 /* 3 * Copyright 2006 Massachusetts Institute of Technology. 4 * All Rights Reserved. 5 * 6 * Export of this software from the United States of America may 7 * require a specific license from the United States Government. 8 * It is the responsibility of any person or organization contemplating 9 * export to obtain such a license before exporting. 10 * 11 * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and 12 * distribute this software and its documentation for any purpose and 13 * without fee is hereby granted, provided that the above copyright 14 * notice appear in all copies and that both that copyright notice and 15 * this permission notice appear in supporting documentation, and that 16 * the name of M.I.T. not be used in advertising or publicity pertaining 17 * to distribution of the software without specific, written prior 18 * permission. Furthermore if you modify this software you must label 19 * your software as modified software and not distribute it in such a 20 * fashion that it might be confused with the original M.I.T. software. 21 * M.I.T. makes no representations about the suitability of 22 * this software for any purpose. It is provided "as is" without express 23 * or implied warranty. 24 */ 25 26 #ifndef CCAPI_CCACHE_H 27 #define CCAPI_CCACHE_H 28 29 #include "cci_common.h" 30 31 cc_int32 cci_ccache_new (cc_ccache_t *out_ccache, 32 cci_identifier_t in_identifier); 33 34 cc_int32 ccapi_ccache_release (cc_ccache_t io_ccache); 35 36 cc_int32 cci_ccache_write (cc_ccache_t in_ccache, 37 k5_ipc_stream in_stream); 38 39 cc_int32 ccapi_ccache_destroy (cc_ccache_t io_ccache); 40 41 cc_int32 ccapi_ccache_set_default (cc_ccache_t io_ccache); 42 43 cc_int32 ccapi_ccache_get_credentials_version (cc_ccache_t in_ccache, 44 cc_uint32 *out_credentials_version); 45 46 cc_int32 ccapi_ccache_get_name (cc_ccache_t in_ccache, 47 cc_string_t *out_name); 48 49 cc_int32 ccapi_ccache_get_principal (cc_ccache_t in_ccache, 50 cc_uint32 in_credentials_version, 51 cc_string_t *out_principal); 52 53 cc_int32 ccapi_ccache_set_principal (cc_ccache_t io_ccache, 54 cc_uint32 in_credentials_version, 55 const char *in_principal); 56 57 cc_int32 ccapi_ccache_store_credentials (cc_ccache_t io_ccache, 58 const cc_credentials_union *in_credentials_union); 59 60 cc_int32 ccapi_ccache_remove_credentials (cc_ccache_t io_ccache, 61 cc_credentials_t in_credentials); 62 63 cc_int32 ccapi_ccache_new_credentials_iterator (cc_ccache_t in_ccache, 64 cc_credentials_iterator_t *out_credentials_iterator); 65 66 cc_int32 ccapi_ccache_move (cc_ccache_t io_source_ccache, 67 cc_ccache_t io_destination_ccache); 68 69 cc_int32 ccapi_ccache_lock (cc_ccache_t io_ccache, 70 cc_uint32 in_lock_type, 71 cc_uint32 in_block); 72 73 cc_int32 ccapi_ccache_unlock (cc_ccache_t io_ccache); 74 75 cc_int32 ccapi_ccache_get_last_default_time (cc_ccache_t in_ccache, 76 cc_time_t *out_last_default_time); 77 78 cc_int32 ccapi_ccache_get_change_time (cc_ccache_t in_ccache, 79 cc_time_t *out_change_time); 80 81 cc_int32 ccapi_ccache_wait_for_change (cc_ccache_t in_ccache); 82 83 cc_int32 ccapi_ccache_compare (cc_ccache_t in_ccache, 84 cc_ccache_t in_compare_to_ccache, 85 cc_uint32 *out_equal); 86 87 cc_int32 ccapi_ccache_get_kdc_time_offset (cc_ccache_t in_ccache, 88 cc_uint32 in_credentials_version, 89 cc_time_t *out_time_offset); 90 91 cc_int32 ccapi_ccache_set_kdc_time_offset (cc_ccache_t io_ccache, 92 cc_uint32 in_credentials_version, 93 cc_time_t in_time_offset); 94 95 cc_int32 ccapi_ccache_clear_kdc_time_offset (cc_ccache_t io_ccache, 96 cc_uint32 in_credentials_version); 97 98 cc_int32 cci_ccache_get_compat_version (cc_ccache_t in_ccache, 99 cc_uint32 *out_compat_version); 100 101 cc_int32 cci_ccache_set_compat_version (cc_ccache_t io_ccache, 102 cc_uint32 in_compat_version); 103 104 105 #endif /* CCAPI_CCACHE_H */ 106