xref: /freebsd/crypto/krb5/src/ccapi/server/ccs_list.h (revision b670c9bafc0e31c7609969bf374b2e80bdc00211)
1 /* ccapi/server/ccs_list.h */
2 /*
3  * Copyright 2006, 2007 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_LIST_H
27 #define CCS_LIST_H
28 
29 
30 #include "ccs_types.h"
31 
32 cc_int32 ccs_cache_collection_list_new (ccs_cache_collection_list_t *out_list);
33 
34 cc_int32 ccs_cache_collection_list_count (ccs_cache_collection_list_t  in_list,
35                                           cc_uint64                   *out_count);
36 
37 cc_int32 ccs_cache_collection_list_find (ccs_cache_collection_list_t  in_list,
38                                          cci_identifier_t             in_identifier,
39                                          ccs_cache_collection_t       *out_cache_collection);
40 
41 cc_int32 ccs_cache_collection_list_add (ccs_cache_collection_list_t io_list,
42                                         ccs_cache_collection_t      in_cache_collection);
43 
44 cc_int32 ccs_cache_collection_list_remove (ccs_cache_collection_list_t io_list,
45                                            cci_identifier_t            in_identifier);
46 
47 cc_int32 ccs_cache_collection_list_release (ccs_cache_collection_list_t io_list);
48 
49 #ifdef TARGET_OS_MAC
50 #pragma mark -
51 #endif
52 
53 cc_int32 ccs_ccache_list_new (ccs_ccache_list_t *out_list);
54 
55 cc_int32 ccs_ccache_list_new_iterator (ccs_ccache_list_t           in_list,
56                                        ccs_pipe_t                  in_client_pipe,
57                                        ccs_ccache_list_iterator_t *out_list_iterator);
58 
59 cc_int32 ccs_ccache_list_count (ccs_ccache_list_t  in_list,
60                                 cc_uint64         *out_count);
61 
62 cc_int32 ccs_ccache_list_find (ccs_ccache_list_t  in_list,
63                                cci_identifier_t   in_identifier,
64                                ccs_ccache_t      *out_ccache);
65 
66 cc_int32 ccs_ccache_list_find_iterator (ccs_ccache_list_t           in_list,
67                                         cci_identifier_t            in_identifier,
68                                         ccs_ccache_list_iterator_t *out_list_iterator);
69 
70 cc_int32 ccs_ccache_list_add (ccs_ccache_list_t io_list,
71                               ccs_ccache_t      in_ccache);
72 
73 cc_int32 ccs_ccache_list_remove (ccs_ccache_list_t io_list,
74                                  cci_identifier_t  in_identifier);
75 
76 cc_int32 ccs_ccache_list_push_front (ccs_ccache_list_t io_list,
77                                      cci_identifier_t  in_identifier);
78 
79 cc_int32 ccs_ccache_list_release (ccs_ccache_list_t io_list);
80 
81 
82 cc_int32 ccs_ccache_list_iterator_write (ccs_ccache_list_iterator_t in_list_iterator,
83                                          k5_ipc_stream               in_stream);
84 
85 cc_int32 ccs_ccache_list_iterator_clone (ccs_ccache_list_iterator_t  in_list_iterator,
86                                          ccs_ccache_list_iterator_t *out_list_iterator);
87 
88 cc_int32 ccs_ccache_list_iterator_next (ccs_ccache_list_iterator_t  io_list_iterator,
89                                         ccs_ccache_t               *out_ccache);
90 
91 cc_int32 ccs_ccache_list_iterator_release (ccs_ccache_list_iterator_t io_list_iterator);
92 
93 #ifdef TARGET_OS_MAC
94 #pragma mark -
95 #endif
96 
97 cc_int32 ccs_credentials_list_new (ccs_credentials_list_t *out_list);
98 
99 cc_int32 ccs_credentials_list_new_iterator (ccs_credentials_list_t           in_list,
100                                             ccs_pipe_t                       in_client_pipe,
101                                             ccs_credentials_list_iterator_t *out_list_iterator);
102 
103 cc_int32 ccs_credentials_list_count (ccs_credentials_list_t  in_list,
104                                      cc_uint64              *out_count);
105 
106 cc_int32 ccs_credentials_list_find (ccs_credentials_list_t  in_list,
107                                     cci_identifier_t        in_identifier,
108                                     ccs_credentials_t      *out_credentials);
109 
110 cc_int32 ccs_credentials_list_find_iterator (ccs_credentials_list_t           in_list,
111                                              cci_identifier_t                 in_identifier,
112                                              ccs_credentials_list_iterator_t *out_list_iterator);
113 
114 cc_int32 ccs_credentials_list_add (ccs_credentials_list_t io_list,
115                                    ccs_credentials_t      in_credential);
116 
117 cc_int32 ccs_credentials_list_remove (ccs_credentials_list_t io_list,
118                                       cci_identifier_t       in_identifier);
119 
120 cc_int32 ccs_credentials_list_release (ccs_credentials_list_t io_list);
121 
122 
123 cc_int32 ccs_credentials_list_iterator_write (ccs_credentials_list_iterator_t in_list_iterator,
124                                               k5_ipc_stream                    in_stream);
125 
126 cc_int32 ccs_credentials_list_iterator_clone (ccs_credentials_list_iterator_t  in_list_iterator,
127                                               ccs_credentials_list_iterator_t *out_list_iterator);
128 
129 cc_int32 ccs_credentials_list_iterator_next (ccs_credentials_list_iterator_t  io_list_iterator,
130                                              ccs_credentials_t               *out_credential);
131 
132 cc_int32 ccs_credentials_list_iterator_release (ccs_credentials_list_iterator_t io_list_iterator);
133 
134 #ifdef TARGET_OS_MAC
135 #pragma mark -
136 #endif
137 
138 cc_int32 ccs_generic_list_iterator_invalidate (ccs_generic_list_iterator_t io_list_iterator);
139 
140 #endif /* CCS_LIST_H */
141