xref: /freebsd/crypto/krb5/src/ccapi/lib/ccapi_ccache_iterator.h (revision 7f2fe78b9dd5f51c821d771b63d2e096f6fd49e9)
1*7f2fe78bSCy Schubert /* ccapi/lib/ccapi_ccache_iterator.h */
2*7f2fe78bSCy Schubert /*
3*7f2fe78bSCy Schubert  * Copyright 2006 Massachusetts Institute of Technology.
4*7f2fe78bSCy Schubert  * All Rights Reserved.
5*7f2fe78bSCy Schubert  *
6*7f2fe78bSCy Schubert  * Export of this software from the United States of America may
7*7f2fe78bSCy Schubert  * require a specific license from the United States Government.
8*7f2fe78bSCy Schubert  * It is the responsibility of any person or organization contemplating
9*7f2fe78bSCy Schubert  * export to obtain such a license before exporting.
10*7f2fe78bSCy Schubert  *
11*7f2fe78bSCy Schubert  * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
12*7f2fe78bSCy Schubert  * distribute this software and its documentation for any purpose and
13*7f2fe78bSCy Schubert  * without fee is hereby granted, provided that the above copyright
14*7f2fe78bSCy Schubert  * notice appear in all copies and that both that copyright notice and
15*7f2fe78bSCy Schubert  * this permission notice appear in supporting documentation, and that
16*7f2fe78bSCy Schubert  * the name of M.I.T. not be used in advertising or publicity pertaining
17*7f2fe78bSCy Schubert  * to distribution of the software without specific, written prior
18*7f2fe78bSCy Schubert  * permission.  Furthermore if you modify this software you must label
19*7f2fe78bSCy Schubert  * your software as modified software and not distribute it in such a
20*7f2fe78bSCy Schubert  * fashion that it might be confused with the original M.I.T. software.
21*7f2fe78bSCy Schubert  * M.I.T. makes no representations about the suitability of
22*7f2fe78bSCy Schubert  * this software for any purpose.  It is provided "as is" without express
23*7f2fe78bSCy Schubert  * or implied warranty.
24*7f2fe78bSCy Schubert  */
25*7f2fe78bSCy Schubert 
26*7f2fe78bSCy Schubert #ifndef CCAPI_CCACHE_ITERATOR_H
27*7f2fe78bSCy Schubert #define CCAPI_CCACHE_ITERATOR_H
28*7f2fe78bSCy Schubert 
29*7f2fe78bSCy Schubert #include "cci_common.h"
30*7f2fe78bSCy Schubert 
31*7f2fe78bSCy Schubert cc_int32 cci_ccache_iterator_new (cc_ccache_iterator_t *out_ccache_iterator,
32*7f2fe78bSCy Schubert                                   cci_identifier_t      in_identifier);
33*7f2fe78bSCy Schubert 
34*7f2fe78bSCy Schubert cc_int32 cci_ccache_iterator_write (cc_ccache_iterator_t in_ccache_iterator,
35*7f2fe78bSCy Schubert                                     k5_ipc_stream          in_stream);
36*7f2fe78bSCy Schubert 
37*7f2fe78bSCy Schubert cc_int32 ccapi_ccache_iterator_release (cc_ccache_iterator_t io_ccache_iterator);
38*7f2fe78bSCy Schubert 
39*7f2fe78bSCy Schubert cc_int32 ccapi_ccache_iterator_next (cc_ccache_iterator_t  in_ccache_iterator,
40*7f2fe78bSCy Schubert                                      cc_ccache_t          *out_ccache);
41*7f2fe78bSCy Schubert 
42*7f2fe78bSCy Schubert cc_int32 ccapi_ccache_iterator_clone (cc_ccache_iterator_t  in_ccache_iterator,
43*7f2fe78bSCy Schubert                                       cc_ccache_iterator_t *out_ccache_iterator);
44*7f2fe78bSCy Schubert 
45*7f2fe78bSCy Schubert cc_int32 cci_ccache_iterator_get_saved_ccache_name (cc_ccache_iterator_t   in_ccache_iterator,
46*7f2fe78bSCy Schubert                                                     const char           **out_saved_ccache_name);
47*7f2fe78bSCy Schubert 
48*7f2fe78bSCy Schubert cc_int32 cci_ccache_iterator_set_saved_ccache_name (cc_ccache_iterator_t  io_ccache_iterator,
49*7f2fe78bSCy Schubert                                                     const char           *in_saved_ccache_name);
50*7f2fe78bSCy Schubert 
51*7f2fe78bSCy Schubert #endif /* CCAPI_CCACHE_ITERATOR_H */
52