xref: /freebsd/crypto/openssl/doc/life-cycles/digest.dot (revision 55141f2c8991b2a6adbf30bb0fe3e6cbc303f06d)
1digraph digest {
2    bgcolor="transparent";
3
4    begin [label=start, color="#deeaee", style="filled"];
5    newed [label=newed, fontcolor="#c94c4c", style="solid"];
6    initialised [label=initialised, fontcolor="#c94c4c"];
7    updated [label=updated, fontcolor="#c94c4c"];
8    finaled [label="finaled", fontcolor="#c94c4c"];
9    end [label="freed", color="#deeaee", style="filled"];
10
11    begin -> newed [label="EVP_MD_CTX_new"];
12    newed -> initialised [label="EVP_DigestInit"];
13    initialised -> updated [label="EVP_DigestUpdate", weight=3];
14    updated -> updated [label="EVP_DigestUpdate"];
15    updated -> finaled [label="EVP_DigestFinal"];
16    updated -> finaled [label="EVP_DigestFinalXOF",
17                        fontcolor="#808080", color="#808080"];
18    /* Once this works it should go back in:
19    finaled -> finaled [taillabel="EVP_DigestFinalXOF",
20                        labeldistance=9, labelangle=345,
21                        labelfontcolor="#808080", color="#808080"];
22    */
23    finaled -> end [label="EVP_MD_CTX_free"];
24    finaled -> newed [label="EVP_MD_CTX_reset", style=dashed, weight=2,
25                      color="#034f84", fontcolor="#034f84"];
26    updated -> newed [label="EVP_MD_CTX_reset", style=dashed,
27                      color="#034f84", fontcolor="#034f84"];
28    updated -> initialised [label="EVP_DigestInit", weight=0, style=dashed,
29                            color="#034f84", fontcolor="#034f84"];
30    finaled -> initialised [label="EVP_DigestInit", style=dashed,
31                            color="#034f84", fontcolor="#034f84"];
32}
33
34