1digraph mac {
2    bgcolor="transparent";
3
4    begin [label=start, color="#deeaee", style="filled"];
5    newed [fontcolor="#c94c4c", style="solid"];
6    initialised [fontcolor="#c94c4c"];
7    updated [fontcolor="#c94c4c"];
8    finaled [fontcolor="#c94c4c"];
9    end [label=freed, color="#deeaee", style="filled"];
10
11    begin -> newed [label="EVP_MAC_CTX_new"];
12    newed -> initialised [label="EVP_MAC_init"];
13    initialised -> updated [label="EVP_MAC_update"];
14    updated -> updated [label="EVP_MAC_update"];
15    updated -> finaled [label="EVP_MAC_final"];
16    updated -> finaled [label="EVP_MAC_finalXOF",
17                        fontcolor="#808080", color="#808080"];
18    /* Once this works it should go back in:
19    finaled -> finaled [label="EVP_MAC_final_XOF",
20                        fontcolor="#808080", color="#808080"];
21    */
22    finaled -> end [label="EVP_MAC_CTX_free"];
23    updated -> initialised [label="EVP_MAC_init", style=dashed,
24                            color="#034f84", fontcolor="#034f84"];
25    finaled -> initialised [label="EVP_MAC_init", style=dashed,
26                            color="#034f84", fontcolor="#034f84"];
27}
28
29