diff src/xs_support.h @ 771:469b341734b2

Move MD5 implementation into xs_support, and some related Audacious ifdeffery too.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 06 Nov 2012 11:23:58 +0200
parents 61a527ac3baa
children 69ab3df105c1
line wrap: on
line diff
--- a/src/xs_support.h	Tue Nov 06 01:28:10 2012 +0200
+++ b/src/xs_support.h	Tue Nov 06 11:23:58 2012 +0200
@@ -63,6 +63,33 @@
 #endif
 
 
+/* Typedefs
+ */
+#ifdef AUDACIOUS_PLUGIN
+#include <audacious/audutil.h>
+#define XS_MD5HASH_LENGTH      AUD_MD5HASH_LENGTH
+#define XS_MD5HASH_LENGTH_CH   AUD_MD5HASH_LENGTH_CH
+#define xs_md5hash_t           aud_md5hash_t
+#define xs_md5state_t          aud_md5state_t
+#define xs_md5_init            aud_md5_init
+#define xs_md5_append          aud_md5_append
+#define xs_md5_finish          aud_md5_finish
+#else
+
+typedef struct md5_state_s {
+    guint32 bits[2];    /* message length in bits, lsw first */
+    guint32 buf[4];     /* digest buffer */
+    guint8 in[64];      /* accumulate block */
+} xs_md5state_t;
+
+#define XS_MD5HASH_LENGTH       (16)
+#define XS_MD5HASH_LENGTH_CH    (XS_MD5HASH_LENGTH * 2)
+
+typedef guint8 xs_md5hash_t[XS_MD5HASH_LENGTH];
+
+#endif /* AUDACIOUS_PLUGIN */
+
+
 /* VFS replacement functions
  */
 #ifdef __AUDACIOUS_NEWVFS__
@@ -101,6 +128,12 @@
 void    xs_findnum(const gchar *, size_t *);
 
 
+#ifdef AUDACIOUS_PLUGIN
+void    xs_md5_init(xs_md5state_t *ctx);
+void    xs_md5_append(xs_md5state_t *ctx, const guint8 *buf, guint len);
+void    xs_md5_finish(xs_md5state_t *ctx, xs_md5hash_t digest);
+#endif
+
 #ifdef __cplusplus
 }
 #endif