1 /* ccapi/server/ccs_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 CCS_CCACHE_H 27 #define CCS_CCACHE_H 28 29 #include "ccs_types.h" 30 31 cc_int32 ccs_ccache_new (ccs_ccache_t *out_ccache, 32 cc_uint32 in_cred_vers, 33 const char *in_name, 34 const char *in_principal, 35 ccs_ccache_list_t io_ccache_list); 36 37 cc_int32 ccs_ccache_reset (ccs_ccache_t io_ccache, 38 ccs_cache_collection_t io_cache_collection, 39 cc_uint32 in_cred_vers, 40 const char *in_principal); 41 42 cc_int32 ccs_ccache_swap_contents (ccs_ccache_t io_source_ccache, 43 ccs_ccache_t io_destination_ccache, 44 ccs_cache_collection_t io_cache_collection); 45 46 cc_int32 ccs_ccache_release (ccs_ccache_t io_ccache); 47 48 cc_int32 ccs_ccache_changed (ccs_ccache_t io_ccache, 49 ccs_cache_collection_t io_cache_collection); 50 51 cc_int32 ccs_ccache_compare_identifier (ccs_ccache_t in_ccache, 52 cci_identifier_t in_identifier, 53 cc_uint32 *out_equal); 54 55 cc_int32 ccs_ccache_compare_name (ccs_ccache_t in_ccache, 56 const char *in_name, 57 cc_uint32 *out_equal); 58 59 cc_int32 ccs_ccache_notify_default_state_changed (ccs_ccache_t io_ccache, 60 ccs_cache_collection_t io_cache_collection, 61 cc_uint32 in_new_default_state); 62 63 cc_int32 ccs_ccache_find_credentials_iterator (ccs_ccache_t in_ccache, 64 cci_identifier_t in_identifier, 65 ccs_credentials_iterator_t *out_credentials_iterator); 66 67 cc_int32 ccs_ccache_write (ccs_ccache_t in_ccache, 68 k5_ipc_stream io_stream); 69 70 cc_int32 ccs_ccache_write_name (ccs_ccache_t in_ccache, 71 k5_ipc_stream io_stream); 72 73 cc_int32 ccs_ccache_handle_message (ccs_pipe_t in_client_pipe, 74 ccs_pipe_t in_reply_pipe, 75 ccs_ccache_t io_ccache, 76 ccs_cache_collection_t io_cache_collection, 77 enum cci_msg_id_t in_request_name, 78 k5_ipc_stream in_request_data, 79 cc_uint32 *out_will_block, 80 k5_ipc_stream *out_reply_data); 81 82 #endif /* CCS_CCACHE_H */ 83