xmlsecurityengine/xmlsec/inc/xmlsec_privatexkms.h
changeset 0 e35f40988205
child 24 74f0b3eb154c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/xmlsecurityengine/xmlsec/inc/xmlsec_privatexkms.h	Thu Dec 17 09:29:21 2009 +0200
@@ -0,0 +1,121 @@
+/** 
+ * XML Security Library (http://www.aleksey.com/xmlsec).
+ *
+ * "XML Key Management Specification v 2.0" implementation
+ *  http://www.w3.org/TR/xkms2/
+ * 
+ * This is free software; see Copyright file in the source
+ * distribution for preciese wording.
+ * 
+ * Copyright (C) 2002-2003 Aleksey Sanin <aleksey@aleksey.com>
+ */
+#ifndef __XMLSEC_PRIVATE_XKMS_H__
+#define __XMLSEC_PRIVATE_XKMS_H__    
+#include "xmlsec_config.h"
+#ifndef XMLSEC_PRIVATE
+#error "xmlsec/private/xkms.h file contains private xmlsec definitions and should not be used outside xmlsec or xmlsec-<crypto> libraries"
+#endif /* XMLSEC_PRIVATE */
+
+#ifndef XMLSEC_NO_XKMS
+	
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */ 
+#include <stdio.h>		
+
+#include <libxml2_tree.h>
+#include <libxml2_parser.h>
+
+#include "xmlsec_xmlsec.h"
+#include "xmlsec_buffer.h"
+#include "xmlsec_list.h"
+#include "xmlsec_keys.h"
+#include "xmlsec_keysmngr.h"
+#include "xmlsec_keyinfo.h"
+#include "xmlsec_transforms.h"
+#include "xmlsec_xkms.h"
+
+/************************************************************************
+ *
+ * XKMS RespondWith Klass
+ *
+ ************************************************************************/ 
+typedef int  		(*xmlSecXkmsRespondWithNodeReadMethod)	(xmlSecXkmsRespondWithId id,
+								 xmlSecXkmsServerCtxPtr ctx,
+								 xmlNodePtr node);
+typedef int  		(*xmlSecXkmsRespondWithNodeWriteMethod)	(xmlSecXkmsRespondWithId id,
+								 xmlSecXkmsServerCtxPtr ctx,
+								 xmlNodePtr node);
+struct _xmlSecXkmsRespondWithKlass {
+    const xmlChar*				valueName;
+    const xmlChar*				valueNs;
+    
+    const xmlChar*				nodeName;
+    const xmlChar*				nodeNs;
+    
+    xmlSecXkmsRespondWithNodeReadMethod		readNode;
+    xmlSecXkmsRespondWithNodeWriteMethod	writeNode;
+
+    void*					reserved1;
+    void*					reserved2;
+};
+
+#define xmlSecXkmsRespondWithKlassGetName(id) \
+	((((id) != NULL) && ((id)->valueName != NULL)) ? (id)->valueName : NULL)
+
+/************************************************************************
+ *
+ * XKMS ServerRequest Klass
+ *
+ ************************************************************************/ 
+typedef int  			(*xmlSecXkmsServerRequestNodeReadMethod)
+								(xmlSecXkmsServerRequestId id,
+								 xmlSecXkmsServerCtxPtr ctx,
+								 xmlNodePtr node);
+typedef int  			(*xmlSecXkmsServerRequestExecuteMethod)
+								(xmlSecXkmsServerRequestId id,
+								 xmlSecXkmsServerCtxPtr ctx);
+typedef int  			(*xmlSecXkmsServerRequestNodeWriteMethod)
+								(xmlSecXkmsServerRequestId id,
+								 xmlSecXkmsServerCtxPtr ctx,
+								 xmlNodePtr node);
+struct _xmlSecXkmsServerRequestKlass {
+    const xmlChar*				name;
+    const xmlChar*				requestNodeName;
+    const xmlChar*				requestNodeNs;
+    const xmlChar*				resultNodeName;
+    const xmlChar*				resultNodeNs;
+    xmlSecBitMask				flags;
+    
+    xmlSecXkmsServerRequestNodeReadMethod	readNode;
+    xmlSecXkmsServerRequestNodeWriteMethod	writeNode;
+    xmlSecXkmsServerRequestExecuteMethod	execute;
+    
+    void*					reserved1;
+    void*					reserved2;
+};
+
+#define xmlSecXkmsServerRequestKlassGetName(id) \
+	((((id) != NULL) && ((id)->name != NULL)) ? (id)->name : NULL)
+
+
+/************************************************************************
+ *
+ * XKMS ServerRequest Klass flags
+ *
+ ************************************************************************/ 
+/**
+ * XMLSEC_XKMS_SERVER_REQUEST_KLASS_ALLOWED_IN_COUMPOUND:
+ *
+ * The server request klass is allowed in xkms:CompoundRequest element.
+ */
+#define XMLSEC_XKMS_SERVER_REQUEST_KLASS_ALLOWED_IN_COUMPOUND   0x00000001
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* XMLSEC_NO_XKMS */
+
+#endif /* __XMLSEC_PRIVATE_XKMS_H__ */
+