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