File indexing completed on 2026-05-06 08:41:16
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021 #ifndef __G_CHECKSUM_H__
0022 #define __G_CHECKSUM_H__
0023
0024 #if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION)
0025 #error "Only <glib.h> can be included directly."
0026 #endif
0027
0028 #include <glib/gtypes.h>
0029 #include <glib/gbytes.h>
0030
0031 G_BEGIN_DECLS
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049 typedef enum {
0050 G_CHECKSUM_MD5,
0051 G_CHECKSUM_SHA1,
0052 G_CHECKSUM_SHA256,
0053 G_CHECKSUM_SHA512,
0054 G_CHECKSUM_SHA384
0055 } GChecksumType;
0056
0057 typedef struct _GChecksum GChecksum;
0058
0059 GLIB_AVAILABLE_IN_ALL
0060 gssize g_checksum_type_get_length (GChecksumType checksum_type);
0061
0062 GLIB_AVAILABLE_IN_ALL
0063 GChecksum * g_checksum_new (GChecksumType checksum_type);
0064 GLIB_AVAILABLE_IN_ALL
0065 void g_checksum_reset (GChecksum *checksum);
0066 GLIB_AVAILABLE_IN_ALL
0067 GChecksum * g_checksum_copy (const GChecksum *checksum);
0068 GLIB_AVAILABLE_IN_ALL
0069 void g_checksum_free (GChecksum *checksum);
0070 GLIB_AVAILABLE_IN_ALL
0071 void g_checksum_update (GChecksum *checksum,
0072 const guchar *data,
0073 gssize length);
0074 GLIB_AVAILABLE_IN_ALL
0075 const gchar * g_checksum_get_string (GChecksum *checksum);
0076 GLIB_AVAILABLE_IN_ALL
0077 void g_checksum_get_digest (GChecksum *checksum,
0078 guint8 *buffer,
0079 gsize *digest_len);
0080
0081 GLIB_AVAILABLE_IN_ALL
0082 gchar *g_compute_checksum_for_data (GChecksumType checksum_type,
0083 const guchar *data,
0084 gsize length);
0085 GLIB_AVAILABLE_IN_ALL
0086 gchar *g_compute_checksum_for_string (GChecksumType checksum_type,
0087 const gchar *str,
0088 gssize length);
0089
0090 GLIB_AVAILABLE_IN_2_34
0091 gchar *g_compute_checksum_for_bytes (GChecksumType checksum_type,
0092 GBytes *data);
0093
0094 G_END_DECLS
0095
0096 #endif