/*----------------------------------------------------------------------- * File: MAF_INTEG.H * * Copyright (c) 1995-2000 Intel Corporation. All rights reserved. *----------------------------------------------------------------------- */ #ifndef __MAF_INTEG_H__ #define __MAF_INTEG_H__ /* Check to see that all required headers have been included beforehand */ #ifndef _CSSMTYPE_H #error $/inc/cssmtype.h must be included before this file #endif #ifndef _CSSMPORT_H #error $/inc/port/cssmport.h must be included before this file #endif /* An ADDIN_MODULE_HANDLE changes definition based on whether or not * integrity is enabled. Use this type to reference all modules. */ typedef const void* ADDIN_MODULE_HANDLE; #ifdef ISL_INCLUDED #define Addin_GetReturnAddress( addr ) EISL_GetReturnAddress( addr ) #else #define Addin_GetReturnAddress( addr ) { addr = 0; } #endif typedef enum _maf_integ_module_type { MAF_INTEG_MT_CSSM, MAF_INTEG_MT_EMM, MAF_INTEG_MT_OTHER } MAF_INTEG_MODULE_TYPE; CSSM_RETURN Addin_IntegrityInit(); CSSM_RETURN Addin_IntegrityTerm(); CSSM_RETURN Addin_SelfCheck(); CSSM_RETURN Addin_AuthenticateModule( const CSSM_GUID *poduleId, CSSM_KEY_HIERARCHY KeyHierarchy, MAF_INTEG_MODULE_TYPE ModuleType, CSSM_PROC_ADDR RetAddr, ADDIN_MODULE_HANDLE *phModule ); CSSM_RETURN Addin_ReverifyModule( ADDIN_MODULE_HANDLE hModule ); CSSM_RETURN Addin_CheckAddressInModule( ADDIN_MODULE_HANDLE hModule, CSSM_PROC_ADDR FuncAddr ); CSSM_RETURN Addin_GetProcAddress( ADDIN_MODULE_HANDLE hModule, const char *FunctionName, CSSM_PROC_ADDR *pFunction ); #endif /* ifndef __MAF_INTEG_H__ */