Squashed 'third_party/rawrtc/re/' content from commit f3163ce8b

Change-Id: I6a235e6ac0f03269d951026f9d195da05c40fdab
git-subtree-dir: third_party/rawrtc/re
git-subtree-split: f3163ce8b526a13b35ef71ce4dd6f43585064d8a
diff --git a/include/re_sha.h b/include/re_sha.h
new file mode 100644
index 0000000..8fdd632
--- /dev/null
+++ b/include/re_sha.h
@@ -0,0 +1,34 @@
+/**
+ * @file re_sha.h  Interface to SHA (Secure Hash Standard) functions
+ *
+ * Copyright (C) 2010 Creytiv.com
+ */
+
+
+#ifdef USE_OPENSSL
+#include <openssl/sha.h>
+#else
+
+/* public api for steve reid's public domain SHA-1 implementation */
+/* this file is in the public domain */
+
+/** SHA-1 Context */
+typedef struct {
+	uint32_t state[5];   /**< Context state */
+	uint32_t count[2];   /**< Counter       */
+	uint8_t  buffer[64]; /**< SHA-1 buffer  */
+} SHA1_CTX;
+
+/** SHA-1 Context (OpenSSL compat) */
+typedef SHA1_CTX SHA_CTX;
+
+/** SHA-1 Digest size in bytes */
+#define SHA1_DIGEST_SIZE 20
+/** SHA-1 Digest size in bytes (OpenSSL compat) */
+#define SHA_DIGEST_LENGTH SHA1_DIGEST_SIZE
+
+void SHA1_Init(SHA1_CTX* context);
+void SHA1_Update(SHA1_CTX* context, const void *p, size_t len);
+void SHA1_Final(uint8_t digest[SHA1_DIGEST_SIZE], SHA1_CTX* context);
+
+#endif