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