summaryrefslogtreecommitdiff
path: root/src/hash.h
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@edwardthomson.com>2012-11-05 12:37:15 -0600
committerEdward Thomson <ethomson@edwardthomson.com>2012-11-13 10:23:05 -0600
commitd6fb09240913c9756de5f4a2462062008ebac252 (patch)
treec4a99509abd1dffdcd52353d551089f257b54c1e /src/hash.h
parente45423dd2c5ef8262f70605b81c6da0751d000a3 (diff)
downloadlibgit2-d6fb09240913c9756de5f4a2462062008ebac252.tar.gz
Win32 CryptoAPI and CNG support for SHA1
Diffstat (limited to 'src/hash.h')
-rw-r--r--src/hash.h25
1 files changed, 18 insertions, 7 deletions
diff --git a/src/hash.h b/src/hash.h
index 33d7b20cd..2a9e19837 100644
--- a/src/hash.h
+++ b/src/hash.h
@@ -9,21 +9,32 @@
#include "git2/oid.h"
+typedef struct git_hash_prov git_hash_prov;
typedef struct git_hash_ctx git_hash_ctx;
+#if defined(OPENSSL_SHA1)
+# include "hash/hash_openssl.h"
+#elif defined(WIN32_SHA1)
+# include "hash/hash_win32.h"
+#elif defined(PPC_SHA1)
+# include "hash/hash_ppc.h"
+#else
+# include "hash/hash_generic.h"
+#endif
+
typedef struct {
void *data;
size_t len;
} git_buf_vec;
-git_hash_ctx *git_hash_new_ctx(void);
-void git_hash_free_ctx(git_hash_ctx *ctx);
+git_hash_ctx *git_hash_ctx_new(void);
+void git_hash_ctx_free(git_hash_ctx *ctx);
-void git_hash_init(git_hash_ctx *c);
-void git_hash_update(git_hash_ctx *c, const void *data, size_t len);
-void git_hash_final(git_oid *out, git_hash_ctx *c);
+int git_hash_init(git_hash_ctx *c);
+int git_hash_update(git_hash_ctx *c, const void *data, size_t len);
+int git_hash_final(git_oid *out, git_hash_ctx *c);
-void git_hash_buf(git_oid *out, const void *data, size_t len);
-void git_hash_vec(git_oid *out, git_buf_vec *vec, size_t n);
+int git_hash_buf(git_oid *out, const void *data, size_t len);
+int git_hash_vec(git_oid *out, git_buf_vec *vec, size_t n);
#endif /* INCLUDE_hash_h__ */