From 76d7dae26ab8b56dbafcec710fc42a5fb7d79840 Mon Sep 17 00:00:00 2001 From: knu Date: Fri, 13 Jul 2001 20:06:14 +0000 Subject: 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://ci.ruby-lang.org/ruby/trunk@1609 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/digest/digest.h | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 ext/digest/digest.h (limited to 'ext/digest/digest.h') diff --git a/ext/digest/digest.h b/ext/digest/digest.h new file mode 100644 index 0000000000..5e846df040 --- /dev/null +++ b/ext/digest/digest.h @@ -0,0 +1,32 @@ +/************************************************ + + digest.c - + + $Author$ + created at: Fri May 25 08:54:56 JST 2001 + + + Copyright (C) 2001 Akinori MUSHA + + $RoughId: digest.h,v 1.3 2001/07/13 15:38:27 knu Exp $ + $Id$ + +************************************************/ + +#include "ruby.h" + +typedef void (*hash_init_func_t) _((void *)); +typedef void (*hash_update_func_t) _((void *, unsigned char *, size_t)); +typedef void (*hash_end_func_t) _((void *, unsigned char *)); +typedef void (*hash_final_func_t) _((unsigned char *, void *)); +typedef int (*hash_equal_func_t) _((void *, void *)); + +typedef struct { + size_t digest_len; + size_t ctx_size; + hash_init_func_t init_func; + hash_update_func_t update_func; + hash_end_func_t end_func; + hash_final_func_t final_func; + hash_equal_func_t equal_func; +} algo_t; -- cgit v1.2.3