1 /* this ALWAYS GENERATED file contains the definitions for the interfaces */
2 
3 
4  /* File created by MIDL compiler version 6.00.0366 */
5 /* at Fri Nov 30 10:06:16 2007
6  */
7 /* Compiler settings for ccapi.idl:
8     Oic, W1, Zp8, env=Win32 (32b run)
9     protocol : dce , ms_ext, c_ext, oldnames
10     error checks: allocation ref bounds_check enum stub_data
11     VC __declspec() decoration level:
12          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
13          DECLSPEC_UUID(), MIDL_INTERFACE()
14 */
15 //@@MIDL_FILE_HEADING(  )
16 
17 #pragma warning( disable: 4049 )  /* more than 64k source lines */
18 
19 
20 /* verify that the <rpcndr.h> version is high enough to compile this file*/
21 #ifndef __REQUIRED_RPCNDR_H_VERSION__
22 #define __REQUIRED_RPCNDR_H_VERSION__ 440
23 #endif
24 
25 #include "rpc.h"
26 #include "rpcndr.h"
27 
28 #ifndef __ccapi_h__
29 #define __ccapi_h__
30 
31 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
32 #pragma once
33 #endif
34 
35 /* Forward Declarations */
36 
37 #ifdef __cplusplus
38 extern "C"{
39 #endif
40 
41 void * __RPC_USER MIDL_user_allocate(size_t);
42 void __RPC_USER MIDL_user_free( void * );
43 
44 #ifndef __ccapi_INTERFACE_DEFINED__
45 #define __ccapi_INTERFACE_DEFINED__
46 
47 /* interface ccapi */
48 /* [implicit_handle][unique][version][uuid] */
49 
50 typedef /* [context_handle] */ struct opaque_handle_CTX *HCTX;
51 
52 typedef /* [context_handle] */ struct opaque_handle_CACHE *HCACHE;
53 
54 typedef /* [context_handle] */ struct opaque_handle_CACHE_ITER *HCACHE_ITER;
55 
56 typedef /* [context_handle] */ struct opaque_handle_CRED_ITER *HCRED_ITER;
57 
58 typedef unsigned char CC_CHAR;
59 
60 typedef unsigned char CC_UCHAR;
61 
62 typedef int CC_INT32;
63 
64 typedef unsigned int CC_UINT32;
65 
66 typedef CC_INT32 CC_TIME_T;
67 
68 
69 enum __MIDL_ccapi_0001
70     {	STK_AFS	= 0,
71 	STK_DES	= 1
72     } ;
73 
74 enum __MIDL_ccapi_0002
75     {	CC_API_VER_1	= 1,
76 	CC_API_VER_2	= 2
77     } ;
78 
79 enum __MIDL_ccapi_0003
80     {	KRB_NAME_SZ	= 40,
81 	KRB_INSTANCE_SZ	= 40,
82 	KRB_REALM_SZ	= 40,
83     } ;
84 typedef struct _NC_INFO
85     {
86     /* [string] */ CC_CHAR *name;
87     /* [string] */ CC_CHAR *principal;
88     CC_INT32 vers;
89     } 	NC_INFO;
90 
91 typedef struct _NC_INFO_LIST
92     {
93     CC_UINT32 length;
94     /* [size_is] */ NC_INFO *info;
95     } 	NC_INFO_LIST;
96 
97 typedef struct _CC_DATA
98     {
99     CC_UINT32 type;
100     CC_UINT32 length;
101     /* [size_is] */ CC_UCHAR *data;
102     } 	CC_DATA;
103 
104 typedef struct _CC_DATA_LIST
105     {
106     CC_UINT32 count;
107     /* [size_is] */ CC_DATA *data;
108     } 	CC_DATA_LIST;
109 
110 typedef struct _V5_CRED
111     {
112     /* [string] */ CC_CHAR *client;
113     /* [string] */ CC_CHAR *server;
114     CC_DATA keyblock;
115     CC_TIME_T authtime;
116     CC_TIME_T starttime;
117     CC_TIME_T endtime;
118     CC_TIME_T renew_till;
119     CC_UINT32 is_skey;
120     CC_UINT32 ticket_flags;
121     CC_DATA_LIST addresses;
122     CC_DATA ticket;
123     CC_DATA second_ticket;
124     CC_DATA_LIST authdata;
125     } 	V5_CRED;
126 
127 typedef /* [switch_type] */ union _CRED_PTR_UNION
128     {
129     /* [case()] */ V5_CRED *pV5Cred;
130     } 	CRED_PTR_UNION;
131 
132 typedef struct _CRED_UNION
133     {
134     CC_INT32 cred_type;
135     /* [switch_is] */ CRED_PTR_UNION cred;
136     } 	CRED_UNION;
137 
138 CC_INT32 rcc_initialize(
139     /* [out] */ HCTX *pctx);
140 
141 CC_INT32 rcc_shutdown(
142     /* [out][in] */ HCTX *pctx);
143 
144 CC_INT32 rcc_get_change_time(
145     /* [in] */ HCTX ctx,
146     /* [out] */ CC_TIME_T *time);
147 
148 CC_INT32 rcc_create(
149     /* [in] */ HCTX ctx,
150     /* [string][in] */ const CC_CHAR *name,
151     /* [string][in] */ const CC_CHAR *principal,
152     /* [in] */ CC_INT32 vers,
153     /* [in] */ CC_UINT32 flags,
154     /* [out] */ HCACHE *pcache);
155 
156 CC_INT32 rcc_open(
157     /* [in] */ HCTX ctx,
158     /* [string][in] */ const CC_CHAR *name,
159     /* [in] */ CC_INT32 vers,
160     /* [in] */ CC_UINT32 flags,
161     /* [out] */ HCACHE *pcache);
162 
163 CC_INT32 rcc_close(
164     /* [out][in] */ HCACHE *pcache);
165 
166 CC_INT32 rcc_destroy(
167     /* [out][in] */ HCACHE *pcache);
168 
169 CC_INT32 rcc_seq_fetch_NCs_begin(
170     /* [in] */ HCTX ctx,
171     /* [out] */ HCACHE_ITER *piter);
172 
173 CC_INT32 rcc_seq_fetch_NCs_end(
174     /* [out][in] */ HCACHE_ITER *piter);
175 
176 CC_INT32 rcc_seq_fetch_NCs_next(
177     /* [in] */ HCACHE_ITER iter,
178     /* [out] */ HCACHE *pcache);
179 
180 CC_INT32 rcc_seq_fetch_NCs(
181     /* [in] */ HCTX ctx,
182     /* [out][in] */ HCACHE_ITER *piter,
183     /* [out] */ HCACHE *pcache);
184 
185 CC_INT32 rcc_get_NC_info(
186     /* [in] */ HCTX ctx,
187     /* [out] */ NC_INFO_LIST **info_list);
188 
189 CC_INT32 rcc_get_name(
190     /* [in] */ HCACHE cache,
191     /* [string][out] */ CC_CHAR **name);
192 
193 CC_INT32 rcc_set_principal(
194     /* [in] */ HCACHE cache,
195     /* [in] */ CC_INT32 vers,
196     /* [string][in] */ const CC_CHAR *principal);
197 
198 CC_INT32 rcc_get_principal(
199     /* [in] */ HCACHE cache,
200     /* [string][out] */ CC_CHAR **principal);
201 
202 CC_INT32 rcc_get_cred_version(
203     /* [in] */ HCACHE cache,
204     /* [out] */ CC_INT32 *vers);
205 
206 CC_INT32 rcc_lock_request(
207     /* [in] */ HCACHE cache,
208     /* [in] */ CC_INT32 lock_type);
209 
210 CC_INT32 rcc_store(
211     /* [in] */ HCACHE cache,
212     /* [in] */ CRED_UNION cred);
213 
214 CC_INT32 rcc_remove_cred(
215     /* [in] */ HCACHE cache,
216     /* [in] */ CRED_UNION cred);
217 
218 CC_INT32 rcc_seq_fetch_creds(
219     /* [in] */ HCACHE cache,
220     /* [out][in] */ HCRED_ITER *piter,
221     /* [out] */ CRED_UNION **cred);
222 
223 CC_INT32 rcc_seq_fetch_creds_begin(
224     /* [in] */ HCACHE cache,
225     /* [out] */ HCRED_ITER *piter);
226 
227 CC_INT32 rcc_seq_fetch_creds_end(
228     /* [out][in] */ HCRED_ITER *piter);
229 
230 CC_INT32 rcc_seq_fetch_creds_next(
231     /* [in] */ HCRED_ITER iter,
232     /* [out] */ CRED_UNION **cred);
233 
234 CC_UINT32 Connect(
235     /* [string][in] */ CC_CHAR *name);
236 
237 void Shutdown( void);
238 
239 
240 extern handle_t ccapi_IfHandle;
241 
242 
243 extern RPC_IF_HANDLE ccapi_ClientIfHandle;
244 extern RPC_IF_HANDLE ccapi_ServerIfHandle;
245 #endif /* __ccapi_INTERFACE_DEFINED__ */
246 
247 /* Additional Prototypes for ALL interfaces */
248 
249 void __RPC_USER HCTX_rundown( HCTX );
250 void __RPC_USER HCACHE_rundown( HCACHE );
251 void __RPC_USER HCACHE_ITER_rundown( HCACHE_ITER );
252 void __RPC_USER HCRED_ITER_rundown( HCRED_ITER );
253 
254 /* end of Additional Prototypes */
255 
256 #ifdef __cplusplus
257 }
258 #endif
259 
260 #endif
261