1 /* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */ 2 /* 3 * winccld.h -- the dynamic loaded version of the ccache DLL 4 */ 5 6 7 #ifndef KRB5_WINCCLD_H_ 8 #define KRB5_WINCCLD_H_ 9 10 #include <CredentialsCache.h> 11 12 typedef CCACHE_API cc_int32 (*FP_cc_initialize) ( 13 cc_context_t* outContext, 14 cc_int32 inVersion, 15 cc_int32* outSupportedVersion, 16 char const** outVendor); 17 18 #ifdef KRB5_WINCCLD_C_ 19 typedef struct _FUNC_INFO { 20 void** func_ptr_var; 21 char* func_name; 22 } FUNC_INFO; 23 24 #define DECL_FUNC_PTR(x) FP_##x p##x 25 #define MAKE_FUNC_INFO(x) { (void**) &p##x, #x } 26 #define END_FUNC_INFO { 0, 0 } 27 #else 28 #define DECL_FUNC_PTR(x) extern FP_##x p##x 29 #endif 30 31 DECL_FUNC_PTR(cc_initialize); 32 33 #ifdef KRB5_WINCCLD_C_ 34 FUNC_INFO krbcc_fi[] = { 35 MAKE_FUNC_INFO(cc_initialize), 36 END_FUNC_INFO 37 }; 38 #undef MAKE_FUNC_INFO 39 #undef END_FUNC_INFO 40 #else 41 42 #define cc_initialize pcc_initialize 43 #endif 44 45 #undef DECL_FUNC_PTR 46 47 #endif /* KRB5_WINCCLD_H_ */ 48