diff options
author | Jorg Schuler <jcsjcs@users.sourceforge.net> | 2008-06-02 15:47:25 +0000 |
---|---|---|
committer | Jorg Schuler <jcsjcs@users.sourceforge.net> | 2008-06-02 15:47:25 +0000 |
commit | 96c2ac6e4e510bb6b7ae7d9718abcb813e692ef1 (patch) | |
tree | cd719c4c2741250c3364d89508111ab32520a6a1 /src/gchecksum.h | |
parent | 0bae31d72c4a6a7f2a7ae6bfa64f18e41119c1be (diff) | |
download | libgpod-tmz-96c2ac6e4e510bb6b7ae7d9718abcb813e692ef1.tar.gz libgpod-tmz-96c2ac6e4e510bb6b7ae7d9718abcb813e692ef1.tar.xz libgpod-tmz-96c2ac6e4e510bb6b7ae7d9718abcb813e692ef1.zip |
* src/gchecksum.c
src/gchecksum.h
src/Makefile.am
configure.ac: copied gchecksum from glib 2.16.3. It's used if we
compile on a system that does not have glib 2.16 or
higher. Testing is needed whether it's really pulled in in those
cases -- I'm using 2.16.3 myself.
* src/itdb_itunesdb.c (mk_mhit): write mhii_link.
* src/db-artwork-writer.c: code to handle sparse artwork
correctly.
(ipod_supports_sparse_artwork): currently hard-coded to
TRUE. Will be changed in the future to reflect the information
given in the SysInfoExtended. Change yourself if your iPod does
not support Sparse Artwork (sharing of thumbnails between
several tracks).
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@2005 f01d2545-417e-4e96-918e-98f8d0dbbcb6
Diffstat (limited to 'src/gchecksum.h')
-rw-r--r-- | src/gchecksum.h | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/src/gchecksum.h b/src/gchecksum.h new file mode 100644 index 0000000..8f7d808 --- /dev/null +++ b/src/gchecksum.h @@ -0,0 +1,72 @@ +/* gchecksum.h - data hashing functions + * + * Copyright (C) 2007 Emmanuele Bassi <ebassi@gnome.org> + * + * 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. + */ + +#ifndef __G_CHECKSUM_H__ +#define __G_CHECKSUM_H__ + +#include <glib/gtypes.h> + +G_BEGIN_DECLS + +/** + * GChecksumType: + * @G_CHECKSUM_MD5: Use the MD5 hashing algorithm + * @G_CHECKSUM_SHA1: Use the SHA-1 hashing algorithm + * @G_CHECKSUM_SHA256: Use the SHA-256 hashing algorithm + * + * The hashing algorithm to be used by #GChecksum when performing the + * digest of some data. + * + * Note that the #GChecksumType enumeration may be extended at a later + * date to include new hashing algorithm types. + * + * Since: 2.16 + */ +typedef enum { + G_CHECKSUM_MD5, + G_CHECKSUM_SHA1, + G_CHECKSUM_SHA256 +} GChecksumType; + +typedef struct _GChecksum GChecksum; + +gssize g_checksum_type_get_length (GChecksumType checksum_type); + +GChecksum * g_checksum_new (GChecksumType checksum_type); +GChecksum * g_checksum_copy (const GChecksum *checksum); +void g_checksum_free (GChecksum *checksum); +void g_checksum_update (GChecksum *checksum, + const guchar *data, + gssize length); +G_CONST_RETURN gchar *g_checksum_get_string (GChecksum *checksum); +void g_checksum_get_digest (GChecksum *checksum, + guint8 *buffer, + gsize *digest_len); + +gchar *g_compute_checksum_for_data (GChecksumType checksum_type, + const guchar *data, + gsize length); +gchar *g_compute_checksum_for_string (GChecksumType checksum_type, + const gchar *str, + gssize length); + +G_END_DECLS + +#endif /* __G_CHECKSUM_H__ */ |