diff dstep/security/emmspi.d @ 11:07194b026fa4

Added bindings to a couple of frameworks, new license + some other things
author Jacob Carlborg <doob@me.com>
date Sat, 01 Aug 2009 15:03:28 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dstep/security/emmspi.d	Sat Aug 01 15:03:28 2009 +0200
@@ -0,0 +1,62 @@
+/**
+ * Copyright: Copyright (c) 2009 Jacob Carlborg.
+ * Authors: Jacob Carlborg
+ * Version: Initial created: Jul 22, 2009 
+ * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0)
+ */
+module dstep.security.emmspi;
+
+import dstep.security.cssmtype;
+import dstep.security.cssmspi;
+import dstep.security.emmtype;
+
+alias CSSM_MANAGER_REGISTRATION_INFO* CSSM_MANAGER_REGISTRATION_INFO_PTR;
+alias CSSM_STATE_FUNCS* CSSM_STATE_FUNCS_PTR;
+
+enum
+{
+	CSSM_HINT_NONE = 0,
+	CSSM_HINT_ADDRESS_APP = 1 << 0,
+	CSSM_HINT_ADDRESS_SP = 1 << 1
+}
+
+struct CSSM_STATE_FUNCS
+{
+	extern (C) int function (CSSM_MODULE_HANDLE hAddIn,
+						     CSSM_SERVICE_MASK AddinType,
+						     void* *SPFunctions,
+						     CSSM_GUID_PTR Guid,
+						     CSSM_BOOL* Serialized) cssm_GetAttachFunctions;
+	
+	extern (C) int function (CSSM_MODULE_HANDLE hAddIn) cssm_ReleaseAttachFunctions; 
+	
+	extern (C) int function (CSSM_MODULE_HANDLE hAddIn,
+							 CSSM_UPCALLS_PTR UpcallTable) cssm_GetAppMemoryFunctions;
+	
+	extern (C) int function (CSSM_MODULE_HANDLE hAddin,
+						     CSSM_PROC_ADDR SrcAddress,
+						     CSSM_PROC_ADDR DestAddress,
+						     CSSM_PRIVILEGE InPriv,
+						     CSSM_PRIVILEGE* OutPriv,
+						     CSSM_BITMASK Hints,
+						     CSSM_BOOL* IsOK) cssm_IsFuncCallValid;
+	
+	extern (C) int function (/*const*/ CSSM_GUID* GUID) cssm_DeregisterManagerServices;
+	extern (C) int function (/*const*/ CSSM_MANAGER_EVENT_NOTIFICATION* EventDescription) cssm_DeliverModuleManagerEvent;
+}
+
+struct CSSM_MANAGER_REGISTRATION_INFO
+{
+	extern (C) int function (uint VerMajor, uint VerMinor) Initialize;
+	extern (C) int function () Terminate;
+	extern (C) int function (CSSM_STATE_FUNCS_PTR CssmStateCallTable) RegisterDispatchTable;
+	extern (C) int function () DeregisterDispatchTable;
+	extern (C) int function (/*const*/ CSSM_MANAGER_EVENT_NOTIFICATION* EventDescription) EventNotifyManager;
+	extern (C) int function (CSSM_FUNC_NAME_ADDR_PTR FuncNameAddrPtr,
+							 uint NumOfFuncNameAddr) RefreshFunctionTable;
+}
+
+extern (C)
+{
+	int ModuleManagerAuthenticate (uint KeyHierarchy, CSSM_GUID* CssmGuid, CSSM_GUID* AppGuid, CSSM_MANAGER_REGISTRATION_INFO_PTR FunctionTable);
+}
\ No newline at end of file