More work on SAML code
[mech_eap.orig] / util_saml.h
index 1859f02..8d90de9 100644 (file)
  * SUCH DAMAGE.
  */
 
-#include "gssapiP_eap.h"
-
 #ifndef _UTIL_SAML_H_
 #define _UTIL_SAML_H_ 1
 
-struct eap_gss_saml_assertion;
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct gss_eap_saml_attr_ctx;
 
 OM_uint32
-samlDuplicateAssertion(OM_uint32 *minor,
-                       const struct eap_gss_saml_assertion *in,
-                       struct eap_gss_saml_assertion **out);
+samlDuplicateAttrContext(OM_uint32 *minor,
+                         gss_name_t in,
+                         gss_name_t out);
 
 OM_uint32
-samlExportAssertion(OM_uint32 *minor,
-                    struct eap_gss_saml_assertion *assertion,
-                    gss_buffer_t buffer);
+samlCreateAttrContext(OM_uint32 *minor,
+                      gss_cred_id_t acceptorCred,
+                      gss_name_t initiatorName,
+                      time_t *pExpiryTime);
 
 OM_uint32
-samlFreeAssertion(OM_uint32 *minor,
-                  struct eap_gss_saml_assertion *assertion);
+samlReleaseAttrContext(OM_uint32 *minor,
+                       gss_name_t name);
 
 OM_uint32
 samlGetAttributeTypes(OM_uint32 *minor,
-                      const struct eap_gss_saml_assertion *assertion,
-                      void *data,
-                      OM_uint32 (*addAttribute)(OM_uint32 *, void *, gss_buffer_t));
+                      gss_name_t name,
+                      enum gss_eap_attribute_type type,
+                      gss_eap_add_attr_cb cb,
+                      void *data);
 
 OM_uint32
 samlGetAttribute(OM_uint32 *minor,
-                 const struct eap_gss_saml_assertion *assertion,
+                 enum gss_eap_attribute_type type,
+                 gss_name_t name,
                  gss_buffer_t attr,
                  int *authenticated,
                  int *complete,
@@ -69,9 +74,54 @@ samlGetAttribute(OM_uint32 *minor,
 
 OM_uint32
 samlSetAttribute(OM_uint32 *minor,
-                 struct eap_gss_saml_assertion *assertion,
+                 gss_name_t name,
                  int complete,
                  gss_buffer_t attr,
                  gss_buffer_t value);
 
+OM_uint32
+samlDeleteAttribute(OM_uint32 *minor,
+                    gss_name_t name,
+                    gss_buffer_t attr);
+
+OM_uint32
+samlExportAttrContext(OM_uint32 *minor,
+                      gss_name_t name,
+                      gss_buffer_t buffer);
+
+OM_uint32
+samlImportAttrContext(OM_uint32 *minor,
+                      gss_buffer_t buffer,
+                      gss_name_t name);
+
+OM_uint32
+samlGetAssertion(OM_uint32 *minor,
+                 gss_name_t name,
+                 gss_buffer_t assertion);
+
+OM_uint32
+samlMapNameToAny(OM_uint32 *minor,
+                 gss_name_t name,
+                 int authenticated,
+                 gss_buffer_t type_id,
+                 gss_any_t *output);
+
+OM_uint32
+samlReleaseAnyNameMapping(OM_uint32 *minor,
+                          gss_name_t name,
+                          gss_buffer_t type_id,
+                          gss_any_t *input);
+
+OM_uint32
+samlInit(OM_uint32 *minor);
+
+OM_uint32
+samlFinalize(OM_uint32 *minor);
+
+
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* _UTIL_SAML_H_ */