Upgrade to OpenSSL 0.9.8h.
[dragonfly.git] / secure / lib / libcrypto / man / EVP_DigestInit.3
index 8c3be31..943d02f 100644 (file)
@@ -1,4 +1,4 @@
-.\" Automatically generated by Pod::Man 2.12 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
 .\"
 .\" Standard preamble:
 .\" ========================================================================
 ..
 .\" Set up some character translations and predefined strings.  \*(-- will
 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
-.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
-.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
-.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
-.\" nothing in troff, for use with C<>.
-.tr \(*W-
+.\" double quote, and \*(R" will give a right double quote.  | will give a
+.\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
+.\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
+.\" expand to `' in nroff, nothing in troff, for use with C<>.
+.tr \(*W-|\(bv\*(Tr
 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
 .ie n \{\
 .    ds -- \(*W-
 .    rr F
 .\}
 .\"
+.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.hy 0
+.if n .na
+.\"
 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
 .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
 .    \" fudge factors for nroff and troff
 .\" ========================================================================
 .\"
 .IX Title "EVP_DigestInit 3"
-.TH EVP_DigestInit 3 "2007-10-24" "0.9.8g" "OpenSSL"
-.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
-.\" way too many mistakes in technical documents.
-.if n .ad l
-.nh
+.TH EVP_DigestInit 3 "2008-09-06" "0.9.8h" "OpenSSL"
 .SH "NAME"
 EVP_MD_CTX_init, EVP_MD_CTX_create, EVP_DigestInit_ex, EVP_DigestUpdate,
 EVP_DigestFinal_ex, EVP_MD_CTX_cleanup, EVP_MD_CTX_destroy, EVP_MAX_MD_SIZE,
@@ -141,39 +142,58 @@ EVP digest routines
 .IX Header "SYNOPSIS"
 .Vb 1
 \& #include <openssl/evp.h>
-\&
+.Ve
+.PP
+.Vb 2
 \& void EVP_MD_CTX_init(EVP_MD_CTX *ctx);
 \& EVP_MD_CTX *EVP_MD_CTX_create(void);
-\&
+.Ve
+.PP
+.Vb 4
 \& int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *impl);
 \& int EVP_DigestUpdate(EVP_MD_CTX *ctx, const void *d, size_t cnt);
 \& int EVP_DigestFinal_ex(EVP_MD_CTX *ctx, unsigned char *md,
 \&        unsigned int *s);
-\&
+.Ve
+.PP
+.Vb 2
 \& int EVP_MD_CTX_cleanup(EVP_MD_CTX *ctx);
 \& void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx);
-\&
-\& int EVP_MD_CTX_copy_ex(EVP_MD_CTX *out,const EVP_MD_CTX *in);  
-\&
+.Ve
+.PP
+.Vb 1
+\& int EVP_MD_CTX_copy_ex(EVP_MD_CTX *out,const EVP_MD_CTX *in);
+.Ve
+.PP
+.Vb 3
 \& int EVP_DigestInit(EVP_MD_CTX *ctx, const EVP_MD *type);
 \& int EVP_DigestFinal(EVP_MD_CTX *ctx, unsigned char *md,
 \&        unsigned int *s);
-\&
-\& int EVP_MD_CTX_copy(EVP_MD_CTX *out,EVP_MD_CTX *in);  
-\&
+.Ve
+.PP
+.Vb 1
+\& int EVP_MD_CTX_copy(EVP_MD_CTX *out,EVP_MD_CTX *in);
+.Ve
+.PP
+.Vb 1
 \& #define EVP_MAX_MD_SIZE (16+20) /* The SSLv3 md5+sha1 type */
-\&
-\&
-\& #define EVP_MD_type(e)                 ((e)\->type)
-\& #define EVP_MD_pkey_type(e)            ((e)\->pkey_type)
-\& #define EVP_MD_size(e)                 ((e)\->md_size)
-\& #define EVP_MD_block_size(e)           ((e)\->block_size)
-\&
-\& #define EVP_MD_CTX_md(e)               (e)\->digest)
-\& #define EVP_MD_CTX_size(e)             EVP_MD_size((e)\->digest)
-\& #define EVP_MD_CTX_block_size(e)       EVP_MD_block_size((e)\->digest)
-\& #define EVP_MD_CTX_type(e)             EVP_MD_type((e)\->digest)
-\&
+.Ve
+.PP
+.Vb 4
+\& #define EVP_MD_type(e)                 ((e)->type)
+\& #define EVP_MD_pkey_type(e)            ((e)->pkey_type)
+\& #define EVP_MD_size(e)                 ((e)->md_size)
+\& #define EVP_MD_block_size(e)           ((e)->block_size)
+.Ve
+.PP
+.Vb 4
+\& #define EVP_MD_CTX_md(e)               (e)->digest)
+\& #define EVP_MD_CTX_size(e)             EVP_MD_size((e)->digest)
+\& #define EVP_MD_CTX_block_size(e)       EVP_MD_block_size((e)->digest)
+\& #define EVP_MD_CTX_type(e)             EVP_MD_type((e)->digest)
+.Ve
+.PP
+.Vb 9
 \& const EVP_MD *EVP_md_null(void);
 \& const EVP_MD *EVP_md2(void);
 \& const EVP_MD *EVP_md5(void);
@@ -183,7 +203,9 @@ EVP digest routines
 \& const EVP_MD *EVP_dss1(void);
 \& const EVP_MD *EVP_mdc2(void);
 \& const EVP_MD *EVP_ripemd160(void);
-\&
+.Ve
+.PP
+.Vb 3
 \& const EVP_MD *EVP_get_digestbyname(const char *name);
 \& #define EVP_get_digestbynid(a) EVP_get_digestbyname(OBJ_nid2sn(a))
 \& #define EVP_get_digestbyobj(a) EVP_get_digestbynid(OBJ_obj2nid(a))
@@ -309,7 +331,7 @@ instead of initializing and cleaning it up on each call and allow non default
 implementations of digests to be specified.
 .PP
 In OpenSSL 0.9.7 and later if digest contexts are not cleaned up after use
-memory leaks will occur.
+memory leaks will occur. 
 .SH "EXAMPLE"
 .IX Header "EXAMPLE"
 This example digests the data \*(L"Test Message\en\*(R" and \*(L"Hello World\en\*(R", using the
@@ -318,7 +340,9 @@ digest name passed on the command line.
 .Vb 2
 \& #include <stdio.h>
 \& #include <openssl/evp.h>
-\&
+.Ve
+.PP
+.Vb 8
 \& main(int argc, char *argv[])
 \& {
 \& EVP_MD_CTX mdctx;
@@ -327,28 +351,40 @@ digest name passed on the command line.
 \& char mess2[] = "Hello World\en";
 \& unsigned char md_value[EVP_MAX_MD_SIZE];
 \& int md_len, i;
-\&
+.Ve
+.PP
+.Vb 1
 \& OpenSSL_add_all_digests();
-\&
+.Ve
+.PP
+.Vb 4
 \& if(!argv[1]) {
 \&        printf("Usage: mdtest digestname\en");
 \&        exit(1);
 \& }
-\&
+.Ve
+.PP
+.Vb 1
 \& md = EVP_get_digestbyname(argv[1]);
-\&
+.Ve
+.PP
+.Vb 4
 \& if(!md) {
 \&        printf("Unknown message digest %s\en", argv[1]);
 \&        exit(1);
 \& }
-\&
+.Ve
+.PP
+.Vb 6
 \& EVP_MD_CTX_init(&mdctx);
 \& EVP_DigestInit_ex(&mdctx, md, NULL);
 \& EVP_DigestUpdate(&mdctx, mess1, strlen(mess1));
 \& EVP_DigestUpdate(&mdctx, mess2, strlen(mess2));
 \& EVP_DigestFinal_ex(&mdctx, md_value, &md_len);
 \& EVP_MD_CTX_cleanup(&mdctx);
-\&
+.Ve
+.PP
+.Vb 4
 \& printf("Digest is: ");
 \& for(i = 0; i < md_len; i++) printf("%02x", md_value[i]);
 \& printf("\en");