path: root/ext/digest/defs.h
diff options
authorknu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2001-07-13 20:06:14 +0000
committerknu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2001-07-13 20:06:14 +0000
commit76d7dae26ab8b56dbafcec710fc42a5fb7d79840 (patch)
tree513cc8df433c60ad0d6249388a38ade5a651188e /ext/digest/defs.h
parent6ecd6fe37bf6395850d3825bab3fb88d5d345c82 (diff)
Import the "digest" module and the submodules, from the Rough Ruby
project. ext/digest: This module provides the module Digest and the abstract class Digest::Base. ext/digest/md5 (which obsoletes ext/md5): This module provides the class Digest::MD5 which implements the MD5 Message-Digest Algorithm. ext/digest/rmd160: This module provides the class Digest::RMD160 which implements the RIPEMD-160 cryptographic hash function. ext/digest/sha1 (which obsoletes ext/sha1): This module provides the class Digest::SHA1 which implements the SHA-1 Secure Hash Algorithm. ext/digest/sha2: This module provides the classes Digest::SHA256, Digest::SHA384 and Digest::SHA512 which implement the SHA-256, SHA-384 and SHA-512 Secure Hash Algorithms, respectively. lib/md5.rb, lib/sha1.rb: These files are provided for backward compatibility. All these classes have the common API, which previously ext/md5 and ext/sha1 modules provided. While the new API keeps 100% backward compatibility, it has been enriched with several utility methods. Read digest.txt for further details. git-svn-id: svn+ssh:// b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/digest/defs.h')
1 files changed, 34 insertions, 0 deletions
diff --git a/ext/digest/defs.h b/ext/digest/defs.h
new file mode 100644
index 0000000000..47bf7d030a
--- /dev/null
+++ b/ext/digest/defs.h
@@ -0,0 +1,34 @@
+/* -*- C -*-
+ * $Id$
+ */
+#ifndef DEFS_H
+#define DEFS_H
+#include "ruby.h"
+#include <sys/types.h>
+#if defined(HAVE_SYS_CDEFS_H)
+# include <sys/cdefs.h>
+# define __BEGIN_DECLS
+# define __END_DECLS
+#if defined(HAVE_INTTYPES_H)
+# include <inttypes.h>
+ typedef unsigned char uint8_t;
+ typedef unsigned int uint32_t;
+# if SIZEOF_LONG == 8
+ typedef unsigned long uint64_t;
+# elif defined(__GNUC__)
+ typedef unsigned long long uint64_t;
+# elif defined(_MSC_VER)
+ typedef unsigned _int64 uint64_t;
+# else
+# error What is a 64bit integer type on this system?
+# endif
+#endif /* DEFS_H */