1 /* GIO - GLib Certificate, Output and Gnutlsing Library
3 * Copyright © 2009 Red Hat, Inc.
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU Lesser General Public License as published
7 * by the Free Software Foundation; either version 2 of the licence or (at
8 * your option) any later version.
10 * See the included COPYING file for more information.
13 #ifndef __G_TLS_CERTIFICATE_GNUTLS_H__
14 #define __G_TLS_CERTIFICATE_GNUTLS_H__
17 #include <gnutls/gnutls.h>
21 #define G_TYPE_TLS_CERTIFICATE_GNUTLS (g_tls_certificate_gnutls_get_type ())
22 #define G_TLS_CERTIFICATE_GNUTLS(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), G_TYPE_TLS_CERTIFICATE_GNUTLS, GTlsCertificateGnutls))
23 #define G_TLS_CERTIFICATE_GNUTLS_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_TLS_CERTIFICATE_GNUTLS, GTlsCertificateGnutlsClass))
24 #define G_IS_TLS_CERTIFICATE_GNUTLS(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), G_TYPE_TLS_CERTIFICATE_GNUTLS))
25 #define G_IS_TLS_CERTIFICATE_GNUTLS_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_TLS_CERTIFICATE_GNUTLS))
26 #define G_TLS_CERTIFICATE_GNUTLS_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), G_TYPE_TLS_CERTIFICATE_GNUTLS, GTlsCertificateGnutlsClass))
28 typedef struct _GTlsCertificateGnutlsPrivate GTlsCertificateGnutlsPrivate;
29 typedef struct _GTlsCertificateGnutlsClass GTlsCertificateGnutlsClass;
30 typedef struct _GTlsCertificateGnutls GTlsCertificateGnutls;
32 struct _GTlsCertificateGnutlsClass
34 GTlsCertificateClass parent_class;
37 struct _GTlsCertificateGnutls
39 GTlsCertificate parent_instance;
40 GTlsCertificateGnutlsPrivate *priv;
43 GType g_tls_certificate_gnutls_get_type (void) G_GNUC_CONST;
45 GTlsCertificate * g_tls_certificate_gnutls_new (const gnutls_datum *datum,
46 GTlsCertificate *issuer);
48 const gnutls_x509_crt_t g_tls_certificate_gnutls_get_cert (GTlsCertificateGnutls *gnutls);
49 const gnutls_x509_privkey_t g_tls_certificate_gnutls_get_key (GTlsCertificateGnutls *gnutls);
51 gnutls_x509_crt_t g_tls_certificate_gnutls_copy_cert (GTlsCertificateGnutls *gnutls);
52 gnutls_x509_privkey_t g_tls_certificate_gnutls_copy_key (GTlsCertificateGnutls *gnutls);
54 GTlsCertificateFlags g_tls_certificate_gnutls_verify_identity (GTlsCertificateGnutls *gnutls,
55 GSocketConnectable *identity);
57 GTlsCertificateFlags g_tls_certificate_gnutls_convert_flags (guint gnutls_flags);
62 #endif /* __G_TLS_CERTIFICATE_GNUTLS_H___ */