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