1 /* GIO - GLib Input, Output and Streaming Library
3 * Copyright 2010 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_BACKEND_GNUTLS_H__
14 #define __G_TLS_BACKEND_GNUTLS_H__
17 #include <gnutls/gnutls.h>
21 #define G_TYPE_TLS_BACKEND_GNUTLS (g_tls_backend_gnutls_get_type ())
22 #define G_TLS_BACKEND_GNUTLS(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), G_TYPE_TLS_BACKEND_GNUTLS, GTlsBackendGnutls))
23 #define G_TLS_BACKEND_GNUTLS_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_TLS_BACKEND_GNUTLS, GTlsBackendGnutlsClass))
24 #define G_IS_TLS_BACKEND_GNUTLS(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), G_TYPE_TLS_BACKEND_GNUTLS))
25 #define G_IS_TLS_BACKEND_GNUTLS_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_TLS_BACKEND_GNUTLS))
26 #define G_TLS_BACKEND_GNUTLS_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), G_TYPE_TLS_BACKEND_GNUTLS, GTlsBackendGnutlsClass))
28 typedef struct _GTlsBackendGnutls GTlsBackendGnutls;
29 typedef struct _GTlsBackendGnutlsClass GTlsBackendGnutlsClass;
30 typedef struct _GTlsBackendGnutlsPrivate GTlsBackendGnutlsPrivate;
32 struct _GTlsBackendGnutlsClass
34 GObjectClass parent_class;
36 GTlsDatabase* (*create_database) (GTlsBackendGnutls *self,
40 struct _GTlsBackendGnutls
42 GObject parent_instance;
43 GTlsBackendGnutlsPrivate *priv;
46 GType g_tls_backend_gnutls_get_type (void) G_GNUC_CONST;
47 void g_tls_backend_gnutls_register (GIOModule *module);
49 void g_tls_backend_gnutls_store_session (gnutls_connection_end_t type,
51 GBytes *session_data);
52 void g_tls_backend_gnutls_remove_session (gnutls_connection_end_t type,
54 GBytes *g_tls_backend_gnutls_lookup_session (gnutls_connection_end_t type,
59 #endif /* __G_TLS_BACKEND_GNUTLS_H___ */