mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-28 08:26:14 +01:00
a963712646
I didn't do this comprehensively, since there's a lot of it, mainly due to the GDBus object manager stuff, but anyone trying to use that would fail fast due to lack of the gdbus code generator. My main goal was to get API additions to existing classes like g_data_input_stream_read_line_utf8(), as well as the lower level new API like glib-unix.h. https://bugzilla.gnome.org/show_bug.cgi?id=676816
81 lines
3.2 KiB
C
81 lines
3.2 KiB
C
/* ghmac.h - secure data hashing
|
|
*
|
|
* Copyright (C) 2011 Stef Walter <stefw@collabora.co.uk>
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Library General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Library General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Library General Public
|
|
* License along with this library; if not, write to the
|
|
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
* Boston, MA 02111-1307, USA.
|
|
*/
|
|
|
|
#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION)
|
|
#error "Only <glib.h> can be included directly."
|
|
#endif
|
|
|
|
#ifndef __G_HMAC_H__
|
|
#define __G_HMAC_H__
|
|
|
|
#include <glib/gtypes.h>
|
|
#include "gchecksum.h"
|
|
|
|
G_BEGIN_DECLS
|
|
|
|
/**
|
|
* GHmac:
|
|
*
|
|
* An opaque structure representing a HMAC operation.
|
|
* To create a new GHmac, use g_hmac_new(). To free
|
|
* a GHmac, use g_hmac_unref().
|
|
*
|
|
* Since: 2.30
|
|
*/
|
|
typedef struct _GHmac GHmac;
|
|
|
|
GLIB_AVAILABLE_IN_2_30
|
|
GHmac * g_hmac_new (GChecksumType digest_type,
|
|
const guchar *key,
|
|
gsize key_len);
|
|
GLIB_AVAILABLE_IN_2_30
|
|
GHmac * g_hmac_copy (const GHmac *hmac);
|
|
GLIB_AVAILABLE_IN_2_30
|
|
GHmac * g_hmac_ref (GHmac *hmac);
|
|
GLIB_AVAILABLE_IN_2_30
|
|
void g_hmac_unref (GHmac *hmac);
|
|
GLIB_AVAILABLE_IN_2_30
|
|
void g_hmac_update (GHmac *hmac,
|
|
const guchar *data,
|
|
gssize length);
|
|
GLIB_AVAILABLE_IN_2_30
|
|
const gchar * g_hmac_get_string (GHmac *hmac);
|
|
GLIB_AVAILABLE_IN_2_30
|
|
void g_hmac_get_digest (GHmac *hmac,
|
|
guint8 *buffer,
|
|
gsize *digest_len);
|
|
|
|
GLIB_AVAILABLE_IN_2_30
|
|
gchar *g_compute_hmac_for_data (GChecksumType digest_type,
|
|
const guchar *key,
|
|
gsize key_len,
|
|
const guchar *data,
|
|
gsize length);
|
|
GLIB_AVAILABLE_IN_2_30
|
|
gchar *g_compute_hmac_for_string (GChecksumType digest_type,
|
|
const guchar *key,
|
|
gsize key_len,
|
|
const gchar *str,
|
|
gssize length);
|
|
|
|
G_END_DECLS
|
|
|
|
#endif /* __G_CHECKSUM_H__ */
|