aboutsummaryrefslogtreecommitdiffstats
path: root/doc/doxyout/hcrypto
diff options
context:
space:
mode:
Diffstat (limited to 'doc/doxyout/hcrypto')
-rw-r--r--doc/doxyout/hcrypto/html/bc_s.pngbin0 -> 676 bytes
-rw-r--r--doc/doxyout/hcrypto/html/bdwn.pngbin0 -> 147 bytes
-rw-r--r--doc/doxyout/hcrypto/html/closed.pngbin0 -> 132 bytes
-rw-r--r--doc/doxyout/hcrypto/html/doc.pngbin0 -> 746 bytes
-rw-r--r--doc/doxyout/hcrypto/html/doxygen.css1849
-rw-r--r--doc/doxyout/hcrypto/html/doxygen.pngbin1281 -> 3779 bytes
-rw-r--r--doc/doxyout/hcrypto/html/dynsections.js97
-rw-r--r--doc/doxyout/hcrypto/html/example__evp__cipher_8c-example.html173
-rw-r--r--doc/doxyout/hcrypto/html/example_evp_cipher_8c-example.html31
-rw-r--r--doc/doxyout/hcrypto/html/examples.html35
-rw-r--r--doc/doxyout/hcrypto/html/folderclosed.pngbin0 -> 616 bytes
-rw-r--r--doc/doxyout/hcrypto/html/folderopen.pngbin0 -> 597 bytes
-rw-r--r--doc/doxyout/hcrypto/html/graph_legend.dot22
-rw-r--r--doc/doxyout/hcrypto/html/graph_legend.html85
-rw-r--r--doc/doxyout/hcrypto/html/graph_legend.md51
-rw-r--r--doc/doxyout/hcrypto/html/graph_legend.pngbin4256 -> 25694 bytes
-rw-r--r--doc/doxyout/hcrypto/html/group__hcrypto__core.html201
-rw-r--r--doc/doxyout/hcrypto/html/group__hcrypto__des.html921
-rw-r--r--doc/doxyout/hcrypto/html/group__hcrypto__dh.html627
-rw-r--r--doc/doxyout/hcrypto/html/group__hcrypto__evp.html3413
-rw-r--r--doc/doxyout/hcrypto/html/group__hcrypto__misc.html187
-rw-r--r--doc/doxyout/hcrypto/html/group__hcrypto__rand.html454
-rw-r--r--doc/doxyout/hcrypto/html/group__hcrypto__rsa.html310
-rw-r--r--doc/doxyout/hcrypto/html/index.html74
-rw-r--r--doc/doxyout/hcrypto/html/jquery.js87
-rw-r--r--doc/doxyout/hcrypto/html/menu.js26
-rw-r--r--doc/doxyout/hcrypto/html/menudata.js5
-rw-r--r--doc/doxyout/hcrypto/html/modules.html50
-rw-r--r--doc/doxyout/hcrypto/html/nav_f.pngbin0 -> 153 bytes
-rw-r--r--doc/doxyout/hcrypto/html/nav_g.pngbin0 -> 95 bytes
-rw-r--r--doc/doxyout/hcrypto/html/nav_h.pngbin0 -> 98 bytes
-rw-r--r--doc/doxyout/hcrypto/html/open.pngbin0 -> 123 bytes
-rw-r--r--doc/doxyout/hcrypto/html/page_des.html65
-rw-r--r--doc/doxyout/hcrypto/html/page_dh.html39
-rw-r--r--doc/doxyout/hcrypto/html/page_evp.html40
-rw-r--r--doc/doxyout/hcrypto/html/page_rand.html35
-rw-r--r--doc/doxyout/hcrypto/html/page_rsa.html42
-rw-r--r--doc/doxyout/hcrypto/html/pages.html34
-rw-r--r--doc/doxyout/hcrypto/html/splitbar.pngbin0 -> 314 bytes
-rw-r--r--doc/doxyout/hcrypto/html/sync_off.pngbin0 -> 853 bytes
-rw-r--r--doc/doxyout/hcrypto/html/sync_on.pngbin0 -> 845 bytes
-rw-r--r--doc/doxyout/hcrypto/html/tab_a.pngbin0 -> 142 bytes
-rw-r--r--doc/doxyout/hcrypto/html/tab_b.gifbin35 -> 0 bytes
-rw-r--r--doc/doxyout/hcrypto/html/tab_b.pngbin0 -> 169 bytes
-rw-r--r--doc/doxyout/hcrypto/html/tab_h.pngbin0 -> 177 bytes
-rw-r--r--doc/doxyout/hcrypto/html/tab_l.gifbin706 -> 0 bytes
-rw-r--r--doc/doxyout/hcrypto/html/tab_r.gifbin2585 -> 0 bytes
-rw-r--r--doc/doxyout/hcrypto/html/tab_s.pngbin0 -> 184 bytes
-rw-r--r--doc/doxyout/hcrypto/html/tabs.css103
-rw-r--r--doc/doxyout/hcrypto/man/man3/OSSL_CIPHER_ALGORITHM.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/PKCS5_PBKDF2_HMAC.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/WINCNG_CIPHER_ALGORITHM.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/WINCNG_CIPHER_ALGORITHM_UNAVAILABLE.31
-rw-r--r--doc/doxyout/hcrypto/man/man3/hcrypto_core.339
-rw-r--r--doc/doxyout/hcrypto/man/man3/hcrypto_des.3135
-rw-r--r--doc/doxyout/hcrypto/man/man3/hcrypto_dh.3140
-rw-r--r--doc/doxyout/hcrypto/man/man3/hcrypto_evp.3660
-rw-r--r--doc/doxyout/hcrypto/man/man3/hcrypto_misc.358
-rw-r--r--doc/doxyout/hcrypto/man/man3/hcrypto_rand.390
-rw-r--r--doc/doxyout/hcrypto/man/man3/hcrypto_rsa.360
-rw-r--r--doc/doxyout/hcrypto/man/man3/page_des.335
-rw-r--r--doc/doxyout/hcrypto/man/man3/page_dh.38
-rw-r--r--doc/doxyout/hcrypto/man/man3/page_evp.38
-rw-r--r--doc/doxyout/hcrypto/man/man3/page_rand.36
-rw-r--r--doc/doxyout/hcrypto/man/man3/page_rsa.311
-rw-r--r--doc/doxyout/hcrypto/manpages266
66 files changed, 6349 insertions, 4177 deletions
diff --git a/doc/doxyout/hcrypto/html/bc_s.png b/doc/doxyout/hcrypto/html/bc_s.png
new file mode 100644
index 000000000000..224b29aa9847
--- /dev/null
+++ b/doc/doxyout/hcrypto/html/bc_s.png
Binary files differ
diff --git a/doc/doxyout/hcrypto/html/bdwn.png b/doc/doxyout/hcrypto/html/bdwn.png
new file mode 100644
index 000000000000..940a0b950443
--- /dev/null
+++ b/doc/doxyout/hcrypto/html/bdwn.png
Binary files differ
diff --git a/doc/doxyout/hcrypto/html/closed.png b/doc/doxyout/hcrypto/html/closed.png
new file mode 100644
index 000000000000..98cc2c909da3
--- /dev/null
+++ b/doc/doxyout/hcrypto/html/closed.png
Binary files differ
diff --git a/doc/doxyout/hcrypto/html/doc.png b/doc/doxyout/hcrypto/html/doc.png
new file mode 100644
index 000000000000..17edabff95f7
--- /dev/null
+++ b/doc/doxyout/hcrypto/html/doc.png
Binary files differ
diff --git a/doc/doxyout/hcrypto/html/doxygen.css b/doc/doxyout/hcrypto/html/doxygen.css
index 22c484301dd1..4f1ab9195b44 100644
--- a/doc/doxyout/hcrypto/html/doxygen.css
+++ b/doc/doxyout/hcrypto/html/doxygen.css
@@ -1,473 +1,1596 @@
-BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV {
- font-family: Geneva, Arial, Helvetica, sans-serif;
+/* The standard CSS for doxygen 1.8.13 */
+
+body, table, div, p, dl {
+ font: 400 14px/22px Roboto,sans-serif;
}
-BODY,TD {
- font-size: 90%;
+
+p.reference, p.definition {
+ font: 400 14px/22px Roboto,sans-serif;
}
-H1 {
- text-align: center;
- font-size: 160%;
+
+/* @group Heading Levels */
+
+h1.groupheader {
+ font-size: 150%;
}
-H2 {
- font-size: 120%;
+
+.title {
+ font: 400 14px/28px Roboto,sans-serif;
+ font-size: 150%;
+ font-weight: bold;
+ margin: 10px 2px;
}
-H3 {
+
+h2.groupheader {
+ border-bottom: 1px solid #879ECB;
+ color: #354C7B;
+ font-size: 150%;
+ font-weight: normal;
+ margin-top: 1.75em;
+ padding-top: 8px;
+ padding-bottom: 4px;
+ width: 100%;
+}
+
+h3.groupheader {
font-size: 100%;
}
-CAPTION {
- font-weight: bold
+
+h1, h2, h3, h4, h5, h6 {
+ -webkit-transition: text-shadow 0.5s linear;
+ -moz-transition: text-shadow 0.5s linear;
+ -ms-transition: text-shadow 0.5s linear;
+ -o-transition: text-shadow 0.5s linear;
+ transition: text-shadow 0.5s linear;
+ margin-right: 15px;
}
-DIV.qindex {
- width: 100%;
- background-color: #e8eef2;
- border: 1px solid #84b0c7;
+
+h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {
+ text-shadow: 0 0 15px cyan;
+}
+
+dt {
+ font-weight: bold;
+}
+
+div.multicol {
+ -moz-column-gap: 1em;
+ -webkit-column-gap: 1em;
+ -moz-column-count: 3;
+ -webkit-column-count: 3;
+}
+
+p.startli, p.startdd {
+ margin-top: 2px;
+}
+
+p.starttd {
+ margin-top: 0px;
+}
+
+p.endli {
+ margin-bottom: 0px;
+}
+
+p.enddd {
+ margin-bottom: 4px;
+}
+
+p.endtd {
+ margin-bottom: 2px;
+}
+
+/* @end */
+
+caption {
+ font-weight: bold;
+}
+
+span.legend {
+ font-size: 70%;
+ text-align: center;
+}
+
+h3.version {
+ font-size: 90%;
+ text-align: center;
+}
+
+div.qindex, div.navtab{
+ background-color: #EBEFF6;
+ border: 1px solid #A3B4D7;
text-align: center;
- margin: 2px;
- padding: 2px;
- line-height: 140%;
}
-DIV.navpath {
+
+div.qindex, div.navpath {
width: 100%;
- background-color: #e8eef2;
- border: 1px solid #84b0c7;
- text-align: center;
- margin: 2px;
- padding: 2px;
line-height: 140%;
}
-DIV.navtab {
- background-color: #e8eef2;
- border: 1px solid #84b0c7;
- text-align: center;
- margin: 2px;
- margin-right: 15px;
- padding: 2px;
+
+div.navtab {
+ margin-right: 15px;
}
-TD.navtab {
- font-size: 70%;
+
+/* @group Link Styling */
+
+a {
+ color: #3D578C;
+ font-weight: normal;
+ text-decoration: none;
}
-A.qindex {
- text-decoration: none;
- font-weight: bold;
- color: #1A419D;
+
+.contents a:visited {
+ color: #4665A2;
}
-A.qindex:visited {
- text-decoration: none;
- font-weight: bold;
- color: #1A419D
+
+a:hover {
+ text-decoration: underline;
}
-A.qindex:hover {
- text-decoration: none;
- background-color: #ddddff;
+
+a.qindex {
+ font-weight: bold;
}
-A.qindexHL {
- text-decoration: none;
+
+a.qindexHL {
font-weight: bold;
- background-color: #6666cc;
+ background-color: #9CAFD4;
color: #ffffff;
- border: 1px double #9295C2;
+ border: 1px double #869DCA;
}
-A.qindexHL:hover {
- text-decoration: none;
- background-color: #6666cc;
- color: #ffffff;
+
+.contents a.qindexHL:visited {
+ color: #ffffff;
}
-A.qindexHL:visited {
- text-decoration: none;
- background-color: #6666cc;
- color: #ffffff
+
+a.el {
+ font-weight: bold;
}
-A.el {
- text-decoration: none;
- font-weight: bold
+
+a.elRef {
}
-A.elRef {
- font-weight: bold
+
+a.code, a.code:visited, a.line, a.line:visited {
+ color: #4665A2;
}
-A.code:link {
- text-decoration: none;
- font-weight: normal;
- color: #0000FF
+
+a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited {
+ color: #4665A2;
}
-A.code:visited {
- text-decoration: none;
- font-weight: normal;
- color: #0000FF
+
+/* @end */
+
+dl.el {
+ margin-left: -1cm;
}
-A.codeRef:link {
- font-weight: normal;
- color: #0000FF
+
+pre.fragment {
+ border: 1px solid #C4CFE5;
+ background-color: #FBFCFD;
+ padding: 4px 6px;
+ margin: 4px 8px 4px 2px;
+ overflow: auto;
+ word-wrap: break-word;
+ font-size: 9pt;
+ line-height: 125%;
+ font-family: monospace, fixed;
+ font-size: 105%;
}
-A.codeRef:visited {
- font-weight: normal;
- color: #0000FF
+
+div.fragment {
+ padding: 0px;
+ margin: 4px 8px 4px 2px;
+ background-color: #FBFCFD;
+ border: 1px solid #C4CFE5;
}
-A:hover {
- text-decoration: none;
- background-color: #f2f2ff
+
+div.line {
+ font-family: monospace, fixed;
+ font-size: 13px;
+ min-height: 13px;
+ line-height: 1.0;
+ text-wrap: unrestricted;
+ white-space: -moz-pre-wrap; /* Moz */
+ white-space: -pre-wrap; /* Opera 4-6 */
+ white-space: -o-pre-wrap; /* Opera 7 */
+ white-space: pre-wrap; /* CSS3 */
+ word-wrap: break-word; /* IE 5.5+ */
+ text-indent: -53px;
+ padding-left: 53px;
+ padding-bottom: 0px;
+ margin: 0px;
+ -webkit-transition-property: background-color, box-shadow;
+ -webkit-transition-duration: 0.5s;
+ -moz-transition-property: background-color, box-shadow;
+ -moz-transition-duration: 0.5s;
+ -ms-transition-property: background-color, box-shadow;
+ -ms-transition-duration: 0.5s;
+ -o-transition-property: background-color, box-shadow;
+ -o-transition-duration: 0.5s;
+ transition-property: background-color, box-shadow;
+ transition-duration: 0.5s;
}
-DL.el {
- margin-left: -1cm
+
+div.line:after {
+ content:"\000A";
+ white-space: pre;
}
-.fragment {
- font-family: monospace, fixed;
- font-size: 95%;
+
+div.line.glow {
+ background-color: cyan;
+ box-shadow: 0 0 10px cyan;
}
-PRE.fragment {
- border: 1px solid #CCCCCC;
- background-color: #f5f5f5;
- margin-top: 4px;
- margin-bottom: 4px;
- margin-left: 2px;
- margin-right: 8px;
- padding-left: 6px;
- padding-right: 6px;
- padding-top: 4px;
- padding-bottom: 4px;
+
+
+span.lineno {
+ padding-right: 4px;
+ text-align: right;
+ border-right: 2px solid #0F0;
+ background-color: #E8E8E8;
+ white-space: pre;
}
-DIV.ah {
- background-color: black;
- font-weight: bold;
- color: #ffffff;
- margin-bottom: 3px;
- margin-top: 3px
+span.lineno a {
+ background-color: #D8D8D8;
}
-DIV.groupHeader {
- margin-left: 16px;
- margin-top: 12px;
- margin-bottom: 6px;
- font-weight: bold;
+span.lineno a:hover {
+ background-color: #C8C8C8;
}
-DIV.groupText {
- margin-left: 16px;
- font-style: italic;
- font-size: 90%
+
+.lineno {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
}
-BODY {
- background: white;
- color: black;
- margin-right: 20px;
- margin-left: 20px;
+
+div.ah, span.ah {
+ background-color: black;
+ font-weight: bold;
+ color: #ffffff;
+ margin-bottom: 3px;
+ margin-top: 3px;
+ padding: 0.2em;
+ border: solid thin #333;
+ border-radius: 0.5em;
+ -webkit-border-radius: .5em;
+ -moz-border-radius: .5em;
+ box-shadow: 2px 2px 3px #999;
+ -webkit-box-shadow: 2px 2px 3px #999;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
+ background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%);
}
-TD.indexkey {
- background-color: #e8eef2;
+
+div.classindex ul {
+ list-style: none;
+ padding-left: 0;
+}
+
+div.classindex span.ai {
+ display: inline-block;
+}
+
+div.groupHeader {
+ margin-left: 16px;
+ margin-top: 12px;
font-weight: bold;
- padding-right : 10px;
- padding-top : 2px;
- padding-left : 10px;
- padding-bottom : 2px;
- margin-left : 0px;
- margin-right : 0px;
- margin-top : 2px;
- margin-bottom : 2px;
- border: 1px solid #CCCCCC;
-}
-TD.indexvalue {
- background-color: #e8eef2;
- font-style: italic;
- padding-right : 10px;
- padding-top : 2px;
- padding-left : 10px;
- padding-bottom : 2px;
- margin-left : 0px;
- margin-right : 0px;
- margin-top : 2px;
- margin-bottom : 2px;
- border: 1px solid #CCCCCC;
-}
-TR.memlist {
- background-color: #f0f0f0;
-}
-P.formulaDsp {
- text-align: center;
-}
-IMG.formulaDsp {
-}
-IMG.formulaInl {
- vertical-align: middle;
-}
-SPAN.keyword { color: #008000 }
-SPAN.keywordtype { color: #604020 }
-SPAN.keywordflow { color: #e08000 }
-SPAN.comment { color: #800000 }
-SPAN.preprocessor { color: #806020 }
-SPAN.stringliteral { color: #002080 }
-SPAN.charliteral { color: #008080 }
-SPAN.vhdldigit { color: #ff00ff }
-SPAN.vhdlchar { color: #000000 }
-SPAN.vhdlkeyword { color: #700070 }
-SPAN.vhdllogic { color: #ff0000 }
-
-.mdescLeft {
- padding: 0px 8px 4px 8px;
- font-size: 80%;
- font-style: italic;
- background-color: #FAFAFA;
- border-top: 1px none #E0E0E0;
- border-right: 1px none #E0E0E0;
- border-bottom: 1px none #E0E0E0;
- border-left: 1px none #E0E0E0;
- margin: 0px;
}
-.mdescRight {
- padding: 0px 8px 4px 8px;
- font-size: 80%;
+
+div.groupText {
+ margin-left: 16px;
font-style: italic;
- background-color: #FAFAFA;
- border-top: 1px none #E0E0E0;
- border-right: 1px none #E0E0E0;
- border-bottom: 1px none #E0E0E0;
- border-left: 1px none #E0E0E0;
- margin: 0px;
}
-.memItemLeft {
- padding: 1px 0px 0px 8px;
- margin: 4px;
- border-top-width: 1px;
- border-right-width: 1px;
- border-bottom-width: 1px;
- border-left-width: 1px;
- border-top-color: #E0E0E0;
- border-right-color: #E0E0E0;
- border-bottom-color: #E0E0E0;
- border-left-color: #E0E0E0;
- border-top-style: solid;
- border-right-style: none;
- border-bottom-style: none;
- border-left-style: none;
- background-color: #FAFAFA;
- font-size: 80%;
+
+body {
+ background-color: white;
+ color: black;
+ margin: 0;
}
-.memItemRight {
- padding: 1px 8px 0px 8px;
- margin: 4px;
- border-top-width: 1px;
- border-right-width: 1px;
- border-bottom-width: 1px;
- border-left-width: 1px;
- border-top-color: #E0E0E0;
- border-right-color: #E0E0E0;
- border-bottom-color: #E0E0E0;
- border-left-color: #E0E0E0;
- border-top-style: solid;
- border-right-style: none;
- border-bottom-style: none;
- border-left-style: none;
- background-color: #FAFAFA;
- font-size: 80%;
+
+div.contents {
+ margin-top: 10px;
+ margin-left: 12px;
+ margin-right: 8px;
}
-.memTemplItemLeft {
- padding: 1px 0px 0px 8px;
- margin: 4px;
- border-top-width: 1px;
- border-right-width: 1px;
- border-bottom-width: 1px;
- border-left-width: 1px;
- border-top-color: #E0E0E0;
- border-right-color: #E0E0E0;
- border-bottom-color: #E0E0E0;
- border-left-color: #E0E0E0;
- border-top-style: none;
- border-right-style: none;
- border-bottom-style: none;
- border-left-style: none;
- background-color: #FAFAFA;
- font-size: 80%;
+
+td.indexkey {
+ background-color: #EBEFF6;
+ font-weight: bold;
+ border: 1px solid #C4CFE5;
+ margin: 2px 0px 2px 0;
+ padding: 2px 10px;
+ white-space: nowrap;
+ vertical-align: top;
}
-.memTemplItemRight {
- padding: 1px 8px 0px 8px;
- margin: 4px;
- border-top-width: 1px;
- border-right-width: 1px;
- border-bottom-width: 1px;
- border-left-width: 1px;
- border-top-color: #E0E0E0;
- border-right-color: #E0E0E0;
- border-bottom-color: #E0E0E0;
- border-left-color: #E0E0E0;
- border-top-style: none;
- border-right-style: none;
- border-bottom-style: none;
- border-left-style: none;
- background-color: #FAFAFA;
- font-size: 80%;
+
+td.indexvalue {
+ background-color: #EBEFF6;
+ border: 1px solid #C4CFE5;
+ padding: 2px 10px;
+ margin: 2px 0px;
}
-.memTemplParams {
- padding: 1px 0px 0px 8px;
- margin: 4px;
- border-top-width: 1px;
- border-right-width: 1px;
- border-bottom-width: 1px;
- border-left-width: 1px;
- border-top-color: #E0E0E0;
- border-right-color: #E0E0E0;
- border-bottom-color: #E0E0E0;
- border-left-color: #E0E0E0;
- border-top-style: solid;
- border-right-style: none;
- border-bottom-style: none;
- border-left-style: none;
- color: #606060;
- background-color: #FAFAFA;
- font-size: 80%;
+
+tr.memlist {
+ background-color: #EEF1F7;
}
-.search {
+
+p.formulaDsp {
+ text-align: center;
+}
+
+img.formulaDsp {
+
+}
+
+img.formulaInl {
+ vertical-align: middle;
+}
+
+div.center {
+ text-align: center;
+ margin-top: 0px;
+ margin-bottom: 0px;
+ padding: 0px;
+}
+
+div.center img {
+ border: 0px;
+}
+
+address.footer {
+ text-align: right;
+ padding-right: 12px;
+}
+
+img.footer {
+ border: 0px;
+ vertical-align: middle;
+}
+
+/* @group Code Colorization */
+
+span.keyword {
+ color: #008000
+}
+
+span.keywordtype {
+ color: #604020
+}
+
+span.keywordflow {
+ color: #e08000
+}
+
+span.comment {
+ color: #800000
+}
+
+span.preprocessor {
+ color: #806020
+}
+
+span.stringliteral {
+ color: #002080
+}
+
+span.charliteral {
+ color: #008080
+}
+
+span.vhdldigit {
+ color: #ff00ff
+}
+
+span.vhdlchar {
+ color: #000000
+}
+
+span.vhdlkeyword {
+ color: #700070
+}
+
+span.vhdllogic {
+ color: #ff0000
+}
+
+blockquote {
+ background-color: #F7F8FB;
+ border-left: 2px solid #9CAFD4;
+ margin: 0 24px 0 4px;
+ padding: 0 12px 0 16px;
+}
+
+/* @end */
+
+/*
+.search {
color: #003399;
font-weight: bold;
}
-FORM.search {
+
+form.search {
margin-bottom: 0px;
margin-top: 0px;
}
-INPUT.search {
+
+input.search {
font-size: 75%;
color: #000080;
font-weight: normal;
background-color: #e8eef2;
}
-TD.tiny {
+*/
+
+td.tiny {
font-size: 75%;
}
-a {
- color: #1A41A8;
-}
-a:visited {
- color: #2A3798;
-}
-.dirtab {
+
+.dirtab {
padding: 4px;
border-collapse: collapse;
- border: 1px solid #84b0c7;
+ border: 1px solid #A3B4D7;
}
-TH.dirtab {
- background: #e8eef2;
+
+th.dirtab {
+ background: #EBEFF6;
font-weight: bold;
}
-HR {
+
+hr {
+ height: 0px;
+ border: none;
+ border-top: 1px solid #4A6AAA;
+}
+
+hr.footer {
height: 1px;
+}
+
+/* @group Member Descriptions */
+
+table.memberdecls {
+ border-spacing: 0px;
+ padding: 0px;
+}
+
+.memberdecls td, .fieldtable tr {
+ -webkit-transition-property: background-color, box-shadow;
+ -webkit-transition-duration: 0.5s;
+ -moz-transition-property: background-color, box-shadow;
+ -moz-transition-duration: 0.5s;
+ -ms-transition-property: background-color, box-shadow;
+ -ms-transition-duration: 0.5s;
+ -o-transition-property: background-color, box-shadow;
+ -o-transition-duration: 0.5s;
+ transition-property: background-color, box-shadow;
+ transition-duration: 0.5s;
+}
+
+.memberdecls td.glow, .fieldtable tr.glow {
+ background-color: cyan;
+ box-shadow: 0 0 15px cyan;
+}
+
+.mdescLeft, .mdescRight,
+.memItemLeft, .memItemRight,
+.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
+ background-color: #F9FAFC;
border: none;
- border-top: 1px solid black;
+ margin: 4px;
+ padding: 1px 0 0 8px;
+}
+
+.mdescLeft, .mdescRight {
+ padding: 0px 8px 4px 8px;
+ color: #555;
+}
+
+.memSeparator {
+ border-bottom: 1px solid #DEE4F0;
+ line-height: 1px;
+ margin: 0px;
+ padding: 0px;
+}
+
+.memItemLeft, .memTemplItemLeft {
+ white-space: nowrap;
+}
+
+.memItemRight {
+ width: 100%;
+}
+
+.memTemplParams {
+ color: #4665A2;
+ white-space: nowrap;
+ font-size: 80%;
+}
+
+/* @end */
+
+/* @group Member Details */
+
+/* Styles for detailed member documentation */
+
+.memtitle {
+ padding: 8px;
+ border-top: 1px solid #A8B8D9;
+ border-left: 1px solid #A8B8D9;
+ border-right: 1px solid #A8B8D9;
+ border-top-right-radius: 4px;
+ border-top-left-radius: 4px;
+ margin-bottom: -1px;
+ background-image: url('nav_f.png');
+ background-repeat: repeat-x;
+ background-color: #E2E8F2;
+ line-height: 1.25;
+ font-weight: 300;
+ float:left;
+}
+
+.permalink
+{
+ font-size: 65%;
+ display: inline-block;
+ vertical-align: middle;
}
-/* Style for detailed member documentation */
.memtemplate {
font-size: 80%;
- color: #606060;
+ color: #4665A2;
font-weight: normal;
- margin-left: 3px;
-}
-.memnav {
- background-color: #e8eef2;
- border: 1px solid #84b0c7;
+ margin-left: 9px;
+}
+
+.memnav {
+ background-color: #EBEFF6;
+ border: 1px solid #A3B4D7;
text-align: center;
margin: 2px;
margin-right: 15px;
padding: 2px;
}
+
+.mempage {
+ width: 100%;
+}
+
.memitem {
- padding: 4px;
- background-color: #eef3f5;
- border-width: 1px;
- border-style: solid;
- border-color: #dedeee;
- -moz-border-radius: 8px 8px 8px 8px;
+ padding: 0;
+ margin-bottom: 10px;
+ margin-right: 5px;
+ -webkit-transition: box-shadow 0.5s linear;
+ -moz-transition: box-shadow 0.5s linear;
+ -ms-transition: box-shadow 0.5s linear;
+ -o-transition: box-shadow 0.5s linear;
+ transition: box-shadow 0.5s linear;
+ display: table !important;
+ width: 100%;
+}
+
+.memitem.glow {
+ box-shadow: 0 0 15px cyan;
}
+
.memname {
- white-space: nowrap;
- font-weight: bold;
+ font-weight: 400;
+ margin-left: 6px;
}
-.memdoc{
- padding-left: 10px;
+
+.memname td {
+ vertical-align: bottom;
}
-.memproto {
- background-color: #d5e1e8;
- width: 100%;
- border-width: 1px;
- border-style: solid;
- border-color: #84b0c7;
- font-weight: bold;
- -moz-border-radius: 8px 8px 8px 8px;
+
+.memproto, dl.reflist dt {
+ border-top: 1px solid #A8B8D9;
+ border-left: 1px solid #A8B8D9;
+ border-right: 1px solid #A8B8D9;
+ padding: 6px 0px 6px 0px;
+ color: #253555;
+ font-weight: bold;
+ text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+ background-color: #DFE5F1;
+ /* opera specific markup */
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ border-top-right-radius: 4px;
+ /* firefox specific markup */
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+ -moz-border-radius-topright: 4px;
+ /* webkit specific markup */
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ -webkit-border-top-right-radius: 4px;
+
+}
+
+.overload {
+ font-family: "courier new",courier,monospace;
+ font-size: 65%;
}
+
+.memdoc, dl.reflist dd {
+ border-bottom: 1px solid #A8B8D9;
+ border-left: 1px solid #A8B8D9;
+ border-right: 1px solid #A8B8D9;
+ padding: 6px 10px 2px 10px;
+ background-color: #FBFCFD;
+ border-top-width: 0;
+ background-image:url('nav_g.png');
+ background-repeat:repeat-x;
+ background-color: #FFFFFF;
+ /* opera specific markup */
+ border-bottom-left-radius: 4px;
+ border-bottom-right-radius: 4px;
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ /* firefox specific markup */
+ -moz-border-radius-bottomleft: 4px;
+ -moz-border-radius-bottomright: 4px;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+ /* webkit specific markup */
+ -webkit-border-bottom-left-radius: 4px;
+ -webkit-border-bottom-right-radius: 4px;
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+}
+
+dl.reflist dt {
+ padding: 5px;
+}
+
+dl.reflist dd {
+ margin: 0px 0px 10px 0px;
+ padding: 5px;
+}
+
.paramkey {
text-align: right;
}
+
.paramtype {
white-space: nowrap;
}
+
.paramname {
color: #602020;
- font-style: italic;
white-space: nowrap;
}
-/* End Styling for detailed member documentation */
+.paramname em {
+ font-style: normal;
+}
+.paramname code {
+ line-height: 14px;
+}
+
+.params, .retval, .exception, .tparams {
+ margin-left: 0px;
+ padding-left: 0px;
+}
+
+.params .paramname, .retval .paramname {
+ font-weight: bold;
+ vertical-align: top;
+}
+
+.params .paramtype {
+ font-style: italic;
+ vertical-align: top;
+}
+
+.params .paramdir {
+ font-family: "courier new",courier,monospace;
+ vertical-align: top;
+}
+
+table.mlabels {
+ border-spacing: 0px;
+}
+
+td.mlabels-left {
+ width: 100%;
+ padding: 0px;
+}
+
+td.mlabels-right {
+ vertical-align: bottom;
+ padding: 0px;
+ white-space: nowrap;
+}
+
+span.mlabels {
+ margin-left: 8px;
+}
+
+span.mlabel {
+ background-color: #728DC1;
+ border-top:1px solid #5373B4;
+ border-left:1px solid #5373B4;
+ border-right:1px solid #C4CFE5;
+ border-bottom:1px solid #C4CFE5;
+ text-shadow: none;
+ color: white;
+ margin-right: 4px;
+ padding: 2px 3px;
+ border-radius: 3px;
+ font-size: 7pt;
+ white-space: nowrap;
+ vertical-align: middle;
+}
+
+
+
+/* @end */
+
+/* these are for tree view inside a (index) page */
+
+div.directory {
+ margin: 10px 0px;
+ border-top: 1px solid #9CAFD4;
+ border-bottom: 1px solid #9CAFD4;
+ width: 100%;
+}
+
+.directory table {
+ border-collapse:collapse;
+}
+
+.directory td {
+ margin: 0px;
+ padding: 0px;
+ vertical-align: top;
+}
+
+.directory td.entry {
+ white-space: nowrap;
+ padding-right: 6px;
+ padding-top: 3px;
+}
+
+.directory td.entry a {
+ outline:none;
+}
+
+.directory td.entry a img {
+ border: none;
+}
+
+.directory td.desc {
+ width: 100%;
+ padding-left: 6px;
+ padding-right: 6px;
+ padding-top: 3px;
+ border-left: 1px solid rgba(0,0,0,0.05);
+}
+
+.directory tr.even {
+ padding-left: 6px;
+ background-color: #F7F8FB;
+}
+
+.directory img {
+ vertical-align: -30%;
+}
+
+.directory .levels {
+ white-space: nowrap;
+ width: 100%;
+ text-align: right;
+ font-size: 9pt;
+}
+
+.directory .levels span {
+ cursor: pointer;
+ padding-left: 2px;
+ padding-right: 2px;
+ color: #3D578C;
+}
+
+.arrow {
+ color: #9CAFD4;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ cursor: pointer;
+ font-size: 80%;
+ display: inline-block;
+ width: 16px;
+ height: 22px;
+}
+
+.icon {
+ font-family: Arial, Helvetica;
+ font-weight: bold;
+ font-size: 12px;
+ height: 14px;
+ width: 16px;
+ display: inline-block;
+ background-color: #728DC1;
+ color: white;
+ text-align: center;
+ border-radius: 4px;
+ margin-left: 2px;
+ margin-right: 2px;
+}
+
+.icona {
+ width: 24px;
+ height: 22px;
+ display: inline-block;
+}
+
+.iconfopen {
+ width: 24px;
+ height: 18px;
+ margin-bottom: 4px;
+ background-image:url('folderopen.png');
+ background-position: 0px -4px;
+ background-repeat: repeat-y;
+ vertical-align:top;
+ display: inline-block;
+}
+
+.iconfclosed {
+ width: 24px;
+ height: 18px;
+ margin-bottom: 4px;
+ background-image:url('folderclosed.png');
+ background-position: 0px -4px;
+ background-repeat: repeat-y;
+ vertical-align:top;
+ display: inline-block;
+}
+
+.icondoc {
+ width: 24px;
+ height: 18px;
+ margin-bottom: 4px;
+ background-image:url('doc.png');
+ background-position: 0px -4px;
+ background-repeat: repeat-y;
+ vertical-align:top;
+ display: inline-block;
+}
+
+table.directory {
+ font: 400 14px Roboto,sans-serif;
+}
+
+/* @end */
+
+div.dynheader {
+ margin-top: 8px;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+address {
+ font-style: normal;
+ color: #2A3D61;
+}
+
+table.doxtable caption {
+ caption-side: top;
+}
+
+table.doxtable {
+ border-collapse:collapse;
+ margin-top: 4px;
+ margin-bottom: 4px;
+}
+
+table.doxtable td, table.doxtable th {
+ border: 1px solid #2D4068;
+ padding: 3px 7px 2px;
+}
+
+table.doxtable th {
+ background-color: #374F7F;
+ color: #FFFFFF;
+ font-size: 110%;
+ padding-bottom: 4px;
+ padding-top: 5px;
+}
+
+table.fieldtable {
+ /*width: 100%;*/
+ margin-bottom: 10px;
+ border: 1px solid #A8B8D9;
+ border-spacing: 0px;
+ -moz-border-radius: 4px;
+ -webkit-border-radius: 4px;
+ border-radius: 4px;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+ -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
+ box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
+}
+
+.fieldtable td, .fieldtable th {
+ padding: 3px 7px 2px;
+}
+
+.fieldtable td.fieldtype, .fieldtable td.fieldname {
+ white-space: nowrap;
+ border-right: 1px solid #A8B8D9;
+ border-bottom: 1px solid #A8B8D9;
+ vertical-align: top;
+}
+
+.fieldtable td.fieldname {
+ padding-top: 3px;
+}
+
+.fieldtable td.fielddoc {
+ border-bottom: 1px solid #A8B8D9;
+ /*width: 100%;*/
+}
+
+.fieldtable td.fielddoc p:first-child {
+ margin-top: 0px;
+}
+
+.fieldtable td.fielddoc p:last-child {
+ margin-bottom: 2px;
+}
+
+.fieldtable tr:last-child td {
+ border-bottom: none;
+}
+
+.fieldtable th {
+ background-image:url('nav_f.png');
+ background-repeat:repeat-x;
+ background-color: #E2E8F2;
+ font-size: 90%;
+ color: #253555;
+ padding-bottom: 4px;
+ padding-top: 5px;
+ text-align:left;
+ font-weight: 400;
+ -moz-border-radius-topleft: 4px;
+ -moz-border-radius-topright: 4px;
+ -webkit-border-top-left-radius: 4px;
+ -webkit-border-top-right-radius: 4px;
+ border-top-left-radius: 4px;
+ border-top-right-radius: 4px;
+ border-bottom: 1px solid #A8B8D9;
+}
+
+
+.tabsearch {
+ top: 0px;
+ left: 10px;
+ height: 36px;
+ background-image: url('tab_b.png');
+ z-index: 101;
+ overflow: hidden;
+ font-size: 13px;
+}
+
+.navpath ul
+{
+ font-size: 11px;
+ background-image:url('tab_b.png');
+ background-repeat:repeat-x;
+ background-position: 0 -5px;
+ height:30px;
+ line-height:30px;
+ color:#8AA0CC;
+ border:solid 1px #C2CDE4;
+ overflow:hidden;
+ margin:0px;
+ padding:0px;
+}
+
+.navpath li
+{
+ list-style-type:none;
+ float:left;
+ padding-left:10px;
+ padding-right:15px;
+ background-image:url('bc_s.png');
+ background-repeat:no-repeat;
+ background-position:right;
+ color:#364D7C;
+}
+
+.navpath li.navelem a
+{
+ height:32px;
+ display:block;
+ text-decoration: none;
+ outline: none;
+ color: #283A5D;
+ font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
+ text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+ text-decoration: none;
+}
+
+.navpath li.navelem a:hover
+{
+ color:#6884BD;
+}
+
+.navpath li.footer
+{
+ list-style-type:none;
+ float:right;
+ padding-left:10px;
+ padding-right:15px;
+ background-image:none;
+ background-repeat:no-repeat;
+ background-position:right;
+ color:#364D7C;
+ font-size: 8pt;
+}
+
+
+div.summary
+{
+ float: right;
+ font-size: 8pt;
+ padding-right: 5px;
+ width: 50%;
+ text-align: right;
+}
+
+div.summary a
+{
+ white-space: nowrap;
+}
+
+table.classindex
+{
+ margin: 10px;
+ white-space: nowrap;
+ margin-left: 3%;
+ margin-right: 3%;
+ width: 94%;
+ border: 0;
+ border-spacing: 0;
+ padding: 0;
+}
+
+div.ingroups
+{
+ font-size: 8pt;
+ width: 50%;
+ text-align: left;
+}
+
+div.ingroups a
+{
+ white-space: nowrap;
+}
+
+div.header
+{
+ background-image:url('nav_h.png');
+ background-repeat:repeat-x;
+ background-color: #F9FAFC;
+ margin: 0px;
+ border-bottom: 1px solid #C4CFE5;
+}
+
+div.headertitle
+{
+ padding: 5px 5px 5px 10px;
+}
+
+dl
+{
+ padding: 0 0 0 10px;
+}
+
+/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */
+dl.section
+{
+ margin-left: 0px;
+ padding-left: 0px;
+}
+
+dl.note
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #D0C000;
+}
+
+dl.warning, dl.attention
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #FF0000;
+}
+
+dl.pre, dl.post, dl.invariant
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #00D000;
+}
+
+dl.deprecated
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #505050;
+}
+
+dl.todo
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #00C0E0;
+}
+
+dl.test
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #3030E0;
+}
+
+dl.bug
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #C08050;
+}
+
+dl.section dd {
+ margin-bottom: 6px;
+}
+
+
+#projectlogo
+{
+ text-align: center;
+ vertical-align: bottom;
+ border-collapse: separate;
+}
+
+#projectlogo img
+{
+ border: 0px none;
+}
+
+#projectalign
+{
+ vertical-align: middle;
+}
+
+#projectname
+{
+ font: 300% Tahoma, Arial,sans-serif;
+ margin: 0px;
+ padding: 2px 0px;
+}
+
+#projectbrief
+{
+ font: 120% Tahoma, Arial,sans-serif;
+ margin: 0px;
+ padding: 0px;
+}
+
+#projectnumber
+{
+ font: 50% Tahoma, Arial,sans-serif;
+ margin: 0px;
+ padding: 0px;
+}
+
+#titlearea
+{
+ padding: 0px;
+ margin: 0px;
+ width: 100%;
+ border-bottom: 1px solid #5373B4;
+}
+
+.image
+{
+ text-align: center;
+}
+
+.dotgraph
+{
+ text-align: center;
+}
+
+.mscgraph
+{
+ text-align: center;
+}
+
+.plantumlgraph
+{
+ text-align: center;
+}
+
+.diagraph
+{
+ text-align: center;
+}
+
+.caption
+{
+ font-weight: bold;
+}
+
+div.zoom
+{
+ border: 1px solid #90A5CE;
+}
+
+dl.citelist {
+ margin-bottom:50px;
+}
+
+dl.citelist dt {
+ color:#334975;
+ float:left;
+ font-weight:bold;
+ margin-right:10px;
+ padding:5px;
+}
+
+dl.citelist dd {
+ margin:2px 0;
+ padding:5px 0;
+}
+
+div.toc {
+ padding: 14px 25px;
+ background-color: #F4F6FA;
+ border: 1px solid #D8DFEE;
+ border-radius: 7px 7px 7px 7px;
+ float: right;
+ height: auto;
+ margin: 0 8px 10px 10px;
+ width: 200px;
+}
+
+div.toc li {
+ background: url("bdwn.png") no-repeat scroll 0 5px transparent;
+ font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif;
+ margin-top: 5px;
+ padding-left: 10px;
+ padding-top: 2px;
+}
+
+div.toc h3 {
+ font: bold 12px/1.2 Arial,FreeSans,sans-serif;
+ color: #4665A2;
+ border-bottom: 0 none;
+ margin: 0;
+}
+
+div.toc ul {
+ list-style: none outside none;
+ border: medium none;
+ padding: 0px;
+}
+
+div.toc li.level1 {
+ margin-left: 0px;
+}
+
+div.toc li.level2 {
+ margin-left: 15px;
+}
+
+div.toc li.level3 {
+ margin-left: 30px;
+}
+
+div.toc li.level4 {
+ margin-left: 45px;
+}
+
+.inherit_header {
+ font-weight: bold;
+ color: gray;
+ cursor: pointer;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+.inherit_header td {
+ padding: 6px 0px 2px 5px;
+}
+
+.inherit {
+ display: none;
+}
+
+tr.heading h2 {
+ margin-top: 12px;
+ margin-bottom: 4px;
+}
+
+/* tooltip related style info */
+
+.ttc {
+ position: absolute;
+ display: none;
+}
+
+#powerTip {
+ cursor: default;
+ white-space: nowrap;
+ background-color: white;
+ border: 1px solid gray;
+ border-radius: 4px 4px 4px 4px;
+ box-shadow: 1px 1px 7px gray;
+ display: none;
+ font-size: smaller;
+ max-width: 80%;
+ opacity: 0.9;
+ padding: 1ex 1em 1em;
+ position: absolute;
+ z-index: 2147483647;
+}
+
+#powerTip div.ttdoc {
+ color: grey;
+ font-style: italic;
+}
-/* for the tree view */
-.ftvtree {
- font-family: sans-serif;
- margin:0.5em;
+#powerTip div.ttname a {
+ font-weight: bold;
}
-/* these are for tree view when used as main index */
-.directory {
- font-size: 9pt;
- font-weight: bold;
+
+#powerTip div.ttname {
+ font-weight: bold;
+}
+
+#powerTip div.ttdeci {
+ color: #006318;
+}
+
+#powerTip div {
+ margin: 0px;
+ padding: 0px;
+ font: 12px/16px Roboto,sans-serif;
+}
+
+#powerTip:before, #powerTip:after {
+ content: "";
+ position: absolute;
+ margin: 0px;
+}
+
+#powerTip.n:after, #powerTip.n:before,
+#powerTip.s:after, #powerTip.s:before,
+#powerTip.w:after, #powerTip.w:before,
+#powerTip.e:after, #powerTip.e:before,
+#powerTip.ne:after, #powerTip.ne:before,
+#powerTip.se:after, #powerTip.se:before,
+#powerTip.nw:after, #powerTip.nw:before,
+#powerTip.sw:after, #powerTip.sw:before {
+ border: solid transparent;
+ content: " ";
+ height: 0;
+ width: 0;
+ position: absolute;
+}
+
+#powerTip.n:after, #powerTip.s:after,
+#powerTip.w:after, #powerTip.e:after,
+#powerTip.nw:after, #powerTip.ne:after,
+#powerTip.sw:after, #powerTip.se:after {
+ border-color: rgba(255, 255, 255, 0);
+}
+
+#powerTip.n:before, #powerTip.s:before,
+#powerTip.w:before, #powerTip.e:before,
+#powerTip.nw:before, #powerTip.ne:before,
+#powerTip.sw:before, #powerTip.se:before {
+ border-color: rgba(128, 128, 128, 0);
+}
+
+#powerTip.n:after, #powerTip.n:before,
+#powerTip.ne:after, #powerTip.ne:before,
+#powerTip.nw:after, #powerTip.nw:before {
+ top: 100%;
+}
+
+#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after {
+ border-top-color: #ffffff;
+ border-width: 10px;
+ margin: 0px -10px;
+}
+#powerTip.n:before {
+ border-top-color: #808080;
+ border-width: 11px;
+ margin: 0px -11px;
+}
+#powerTip.n:after, #powerTip.n:before {
+ left: 50%;
+}
+
+#powerTip.nw:after, #powerTip.nw:before {
+ right: 14px;
+}
+
+#powerTip.ne:after, #powerTip.ne:before {
+ left: 14px;
+}
+
+#powerTip.s:after, #powerTip.s:before,
+#powerTip.se:after, #powerTip.se:before,
+#powerTip.sw:after, #powerTip.sw:before {
+ bottom: 100%;
+}
+
+#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after {
+ border-bottom-color: #ffffff;
+ border-width: 10px;
+ margin: 0px -10px;
+}
+
+#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before {
+ border-bottom-color: #808080;
+ border-width: 11px;
+ margin: 0px -11px;
+}
+
+#powerTip.s:after, #powerTip.s:before {
+ left: 50%;
+}
+
+#powerTip.sw:after, #powerTip.sw:before {
+ right: 14px;
}
-.directory h3 {
- margin: 0px;
- margin-top: 1em;
- font-size: 11pt;
+
+#powerTip.se:after, #powerTip.se:before {
+ left: 14px;
}
-/* The following two styles can be used to replace the root node title */
-/* with an image of your choice. Simply uncomment the next two styles, */
-/* specify the name of your image and be sure to set 'height' to the */
-/* proper pixel height of your image. */
+#powerTip.e:after, #powerTip.e:before {
+ left: 100%;
+}
+#powerTip.e:after {
+ border-left-color: #ffffff;
+ border-width: 10px;
+ top: 50%;
+ margin-top: -10px;
+}
+#powerTip.e:before {
+ border-left-color: #808080;
+ border-width: 11px;
+ top: 50%;
+ margin-top: -11px;
+}
-/* .directory h3.swap { */
-/* height: 61px; */
-/* background-repeat: no-repeat; */
-/* background-image: url("yourimage.gif"); */
-/* } */
-/* .directory h3.swap span { */
-/* display: none; */
-/* } */
+#powerTip.w:after, #powerTip.w:before {
+ right: 100%;
+}
+#powerTip.w:after {
+ border-right-color: #ffffff;
+ border-width: 10px;
+ top: 50%;
+ margin-top: -10px;
+}
+#powerTip.w:before {
+ border-right-color: #808080;
+ border-width: 11px;
+ top: 50%;
+ margin-top: -11px;
+}
-.directory > h3 {
- margin-top: 0;
+@media print
+{
+ #top { display: none; }
+ #side-nav { display: none; }
+ #nav-path { display: none; }
+ body { overflow:visible; }
+ h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
+ .summary { display: none; }
+ .memitem { page-break-inside: avoid; }
+ #doc-content
+ {
+ margin-left:0 !important;
+ height:auto !important;
+ width:auto !important;
+ overflow:inherit;
+ display:inline;
+ }
}
-.directory p {
- margin: 0px;
- white-space: nowrap;
+
+/* @group Markdown */
+
+/*
+table.markdownTable {
+ border-collapse:collapse;
+ margin-top: 4px;
+ margin-bottom: 4px;
}
-.directory div {
- display: none;
- margin: 0px;
+
+table.markdownTable td, table.markdownTable th {
+ border: 1px solid #2D4068;
+ padding: 3px 7px 2px;
}
-.directory img {
- vertical-align: -30%;
+
+table.markdownTableHead tr {
}
-/* these are for tree view when not used as main index */
-.directory-alt {
- font-size: 100%;
- font-weight: bold;
+
+table.markdownTableBodyLeft td, table.markdownTable th {
+ border: 1px solid #2D4068;
+ padding: 3px 7px 2px;
}
-.directory-alt h3 {
- margin: 0px;
- margin-top: 1em;
- font-size: 11pt;
+
+th.markdownTableHeadLeft th.markdownTableHeadRight th.markdownTableHeadCenter th.markdownTableHeadNone {
+ background-color: #374F7F;
+ color: #FFFFFF;
+ font-size: 110%;
+ padding-bottom: 4px;
+ padding-top: 5px;
}
-.directory-alt > h3 {
- margin-top: 0;
+
+th.markdownTableHeadLeft {
+ text-align: left
}
-.directory-alt p {
- margin: 0px;
- white-space: nowrap;
+
+th.markdownTableHeadRight {
+ text-align: right
}
-.directory-alt div {
- display: none;
- margin: 0px;
+
+th.markdownTableHeadCenter {
+ text-align: center
+}
+*/
+
+table.markdownTable {
+ border-collapse:collapse;
+ margin-top: 4px;
+ margin-bottom: 4px;
+}
+
+table.markdownTable td, table.markdownTable th {
+ border: 1px solid #2D4068;
+ padding: 3px 7px 2px;
+}
+
+table.markdownTable tr {
+}
+
+th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone {
+ background-color: #374F7F;
+ color: #FFFFFF;
+ font-size: 110%;
+ padding-bottom: 4px;
+ padding-top: 5px;
+}
+
+th.markdownTableHeadLeft, td.markdownTableBodyLeft {
+ text-align: left
}
-.directory-alt img {
- vertical-align: -30%;
+
+th.markdownTableHeadRight, td.markdownTableBodyRight {
+ text-align: right
+}
+
+th.markdownTableHeadCenter, td.markdownTableBodyCenter {
+ text-align: center
}
+
+/* @end */
diff --git a/doc/doxyout/hcrypto/html/doxygen.png b/doc/doxyout/hcrypto/html/doxygen.png
index f0a274bbaffd..3ff17d807fd8 100644
--- a/doc/doxyout/hcrypto/html/doxygen.png
+++ b/doc/doxyout/hcrypto/html/doxygen.png
Binary files differ
diff --git a/doc/doxyout/hcrypto/html/dynsections.js b/doc/doxyout/hcrypto/html/dynsections.js
new file mode 100644
index 000000000000..85e183690954
--- /dev/null
+++ b/doc/doxyout/hcrypto/html/dynsections.js
@@ -0,0 +1,97 @@
+function toggleVisibility(linkObj)
+{
+ var base = $(linkObj).attr('id');
+ var summary = $('#'+base+'-summary');
+ var content = $('#'+base+'-content');
+ var trigger = $('#'+base+'-trigger');
+ var src=$(trigger).attr('src');
+ if (content.is(':visible')===true) {
+ content.hide();
+ summary.show();
+ $(linkObj).addClass('closed').removeClass('opened');
+ $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
+ } else {
+ content.show();
+ summary.hide();
+ $(linkObj).removeClass('closed').addClass('opened');
+ $(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
+ }
+ return false;
+}
+
+function updateStripes()
+{
+ $('table.directory tr').
+ removeClass('even').filter(':visible:even').addClass('even');
+}
+
+function toggleLevel(level)
+{
+ $('table.directory tr').each(function() {
+ var l = this.id.split('_').length-1;
+ var i = $('#img'+this.id.substring(3));
+ var a = $('#arr'+this.id.substring(3));
+ if (l<level+1) {
+ i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
+ a.html('&#9660;');
+ $(this).show();
+ } else if (l==level+1) {
+ i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
+ a.html('&#9658;');
+ $(this).show();
+ } else {
+ $(this).hide();
+ }
+ });
+ updateStripes();
+}
+
+function toggleFolder(id)
+{
+ // the clicked row
+ var currentRow = $('#row_'+id);
+
+ // all rows after the clicked row
+ var rows = currentRow.nextAll("tr");
+
+ var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
+
+ // only match elements AFTER this one (can't hide elements before)
+ var childRows = rows.filter(function() { return this.id.match(re); });
+
+ // first row is visible we are HIDING
+ if (childRows.filter(':first').is(':visible')===true) {
+ // replace down arrow by right arrow for current row
+ var currentRowSpans = currentRow.find("span");
+ currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
+ currentRowSpans.filter(".arrow").html('&#9658;');
+ rows.filter("[id^=row_"+id+"]").hide(); // hide all children
+ } else { // we are SHOWING
+ // replace right arrow by down arrow for current row
+ var currentRowSpans = currentRow.find("span");
+ currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen");
+ currentRowSpans.filter(".arrow").html('&#9660;');
+ // replace down arrows by right arrows for child rows
+ var childRowsSpans = childRows.find("span");
+ childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
+ childRowsSpans.filter(".arrow").html('&#9658;');
+ childRows.show(); //show all children
+ }
+ updateStripes();
+}
+
+
+function toggleInherit(id)
+{
+ var rows = $('tr.inherit.'+id);
+ var img = $('tr.inherit_header.'+id+' img');
+ var src = $(img).attr('src');
+ if (rows.filter(':first').is(':visible')===true) {
+ rows.css('display','none');
+ $(img).attr('src',src.substring(0,src.length-8)+'closed.png');
+ } else {
+ rows.css('display','table-row'); // using show() causes jump in firefox
+ $(img).attr('src',src.substring(0,src.length-10)+'open.png');
+ }
+}
+
diff --git a/doc/doxyout/hcrypto/html/example__evp__cipher_8c-example.html b/doc/doxyout/hcrypto/html/example__evp__cipher_8c-example.html
deleted file mode 100644
index 4fe7516ce57d..000000000000
--- a/doc/doxyout/hcrypto/html/example__evp__cipher_8c-example.html
+++ /dev/null
@@ -1,173 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>Heimdal crypto library: example_evp_cipher.c</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.5.6 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="examples.html"><span>Examples</span></a></li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>example_evp_cipher.c</h1>This is an example how to use <a class="el" href="group__hcrypto__evp.html#g98da5a5c1aa25d9cb2e4717fa11314bd">EVP_CipherInit_ex()</a>, <a class="el" href="group__hcrypto__evp.html#g863349e1001b36cfd6c4afedddd12862">EVP_CipherUpdate()</a> and <a class="el" href="group__hcrypto__evp.html#g714eef7d737fd68171d852043a4995de">EVP_CipherFinal_ex()</a>.<p>
-<div class="fragment"><pre class="fragment"><span class="comment">/*</span>
-<span class="comment"> * Copyright (c) 2008 Kungliga Tekniska Högskolan</span>
-<span class="comment"> * (Royal Institute of Technology, Stockholm, Sweden).</span>
-<span class="comment"> * All rights reserved.</span>
-<span class="comment"> *</span>
-<span class="comment"> * Redistribution and use in source and binary forms, with or without</span>
-<span class="comment"> * modification, are permitted provided that the following conditions</span>
-<span class="comment"> * are met:</span>
-<span class="comment"> *</span>
-<span class="comment"> * 1. Redistributions of source code must retain the above copyright</span>
-<span class="comment"> * notice, this list of conditions and the following disclaimer.</span>
-<span class="comment"> *</span>
-<span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright</span>
-<span class="comment"> * notice, this list of conditions and the following disclaimer in the</span>
-<span class="comment"> * documentation and/or other materials provided with the distribution.</span>
-<span class="comment"> *</span>
-<span class="comment"> * 3. Neither the name of the Institute nor the names of its contributors</span>
-<span class="comment"> * may be used to endorse or promote products derived from this software</span>
-<span class="comment"> * without specific prior written permission.</span>
-<span class="comment"> *</span>
-<span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND</span>
-<span class="comment"> * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span>
-<span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span>
-<span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE</span>
-<span class="comment"> * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL</span>
-<span class="comment"> * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS</span>
-<span class="comment"> * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)</span>
-<span class="comment"> * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT</span>
-<span class="comment"> * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY</span>
-<span class="comment"> * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF</span>
-<span class="comment"> * SUCH DAMAGE.</span>
-<span class="comment"> */</span>
-
-<span class="preprocessor">#include &lt;krb5-types.h&gt;</span> <span class="comment">/* should really be stdint.h */</span>
-<span class="preprocessor">#include &lt;hcrypto/evp.h&gt;</span>
-
-<span class="preprocessor">#include &lt;stdio.h&gt;</span>
-<span class="preprocessor">#include &lt;stdlib.h&gt;</span>
-<span class="preprocessor">#include &lt;string.h&gt;</span>
-<span class="preprocessor">#include &lt;err.h&gt;</span>
-<span class="preprocessor">#include &lt;assert.h&gt;</span>
-
-<span class="preprocessor">#include "roken.h"</span>
-
-<span class="comment">/* key and initial vector */</span>
-<span class="keyword">static</span> <span class="keywordtype">char</span> key[16] =
- <span class="stringliteral">"\xaa\xbb\x45\xd4\xaa\xbb\x45\xd4"</span>
- <span class="stringliteral">"\xaa\xbb\x45\xd4\xaa\xbb\x45\xd4"</span>;
-<span class="keyword">static</span> <span class="keywordtype">char</span> ivec[16] =
- <span class="stringliteral">"\xaa\xbb\x45\xd4\xaa\xbb\x45\xd4"</span>
- <span class="stringliteral">"\xaa\xbb\x45\xd4\xaa\xbb\x45\xd4"</span>;
-
-<span class="keyword">static</span> <span class="keywordtype">void</span>
-usage(<span class="keywordtype">int</span> exit_code) __attribute__((noreturn));
-
-<span class="keyword">static</span> <span class="keywordtype">void</span>
-usage(<span class="keywordtype">int</span> exit_code)
-{
- printf(<span class="stringliteral">"usage: %s in out\n"</span>, getprogname());
- exit(exit_code);
-}
-
-
-<span class="keywordtype">int</span>
-main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv)
-{
- <span class="keywordtype">int</span> encryptp = 1;
- <span class="keyword">const</span> <span class="keywordtype">char</span> *ifn = NULL, *ofn = NULL;
- FILE *in, *out;
- <span class="keywordtype">void</span> *ibuf, *obuf;
- <span class="keywordtype">int</span> ilen, olen;
- <span class="keywordtype">size_t</span> block_size = 0;
- <span class="keyword">const</span> EVP_CIPHER *c = <a name="a0"></a><a class="code" href="group__hcrypto__evp.html#g2747bac943db15c97167ac37fdc2af43">EVP_aes_128_cbc</a>();
- EVP_CIPHER_CTX ctx;
- <span class="keywordtype">int</span> ret;
-
- setprogname(argv[0]);
-
- <span class="keywordflow">if</span> (argc == 2) {
- <span class="keywordflow">if</span> (strcmp(argv[1], <span class="stringliteral">"--version"</span>) == 0) {
- printf(<span class="stringliteral">"version"</span>);
- exit(0);
- }
- <span class="keywordflow">if</span> (strcmp(argv[1], <span class="stringliteral">"--help"</span>) == 0)
- usage(0);
- usage(1);
- } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (argc == 4) {
- block_size = atoi(argv[1]);
- <span class="keywordflow">if</span> (block_size == 0)
- errx(1, <span class="stringliteral">"invalid blocksize %s"</span>, argv[1]);
- ifn = argv[2];
- ofn = argv[3];
- } <span class="keywordflow">else</span>
- usage(1);
-
- in = fopen(ifn, <span class="stringliteral">"r"</span>);
- <span class="keywordflow">if</span> (in == NULL)
- errx(1, <span class="stringliteral">"failed to open input file"</span>);
- out = fopen(ofn, <span class="stringliteral">"w+"</span>);
- <span class="keywordflow">if</span> (out == NULL)
- errx(1, <span class="stringliteral">"failed to open output file"</span>);
-
- <span class="comment">/* Check that key and ivec are long enough */</span>
- assert(<a name="a1"></a><a class="code" href="group__hcrypto__evp.html#g4793a9e130da86ac42c497b19395b748">EVP_CIPHER_key_length</a>(c) &lt;= <span class="keyword">sizeof</span>(key));
- assert(<a name="a2"></a><a class="code" href="group__hcrypto__evp.html#g7edebe76d19dee11686a6698d24f19f5">EVP_CIPHER_iv_length</a>(c) &lt;= <span class="keyword">sizeof</span>(ivec));
-
- <span class="comment">/*</span>
-<span class="comment"> * Allocate buffer, the output buffer is at least</span>
-<span class="comment"> * EVP_CIPHER_block_size() longer</span>
-<span class="comment"> */</span>
- ibuf = malloc(block_size);
- obuf = malloc(block_size + <a name="a3"></a><a class="code" href="group__hcrypto__evp.html#g3123ff4b426783dd972538249b9e9d4d">EVP_CIPHER_block_size</a>(c));
-
- <span class="comment">/*</span>
-<span class="comment"> * Init the memory used for EVP_CIPHER_CTX and set the key and</span>
-<span class="comment"> * ivec.</span>
-<span class="comment"> */</span>
- <a name="a4"></a><a class="code" href="group__hcrypto__evp.html#g13d0ff0e87312566cb6b3591157f9754">EVP_CIPHER_CTX_init</a>(&amp;ctx);
- <a name="a5"></a><a class="code" href="group__hcrypto__evp.html#g98da5a5c1aa25d9cb2e4717fa11314bd">EVP_CipherInit_ex</a>(&amp;ctx, c, NULL, key, ivec, encryptp);
-
- <span class="comment">/* read in buffer */</span>
- <span class="keywordflow">while</span> ((ilen = fread(ibuf, 1, block_size, in)) &gt; 0) {
- <span class="comment">/* encrypto/decrypt */</span>
- ret = <a name="a6"></a><a class="code" href="group__hcrypto__evp.html#g863349e1001b36cfd6c4afedddd12862">EVP_CipherUpdate</a>(&amp;ctx, obuf, &amp;olen, ibuf, ilen);
- <span class="keywordflow">if</span> (ret != 1) {
- <a name="a7"></a><a class="code" href="group__hcrypto__evp.html#gc16dd3987cd90c8bcdbad5290c558359">EVP_CIPHER_CTX_cleanup</a>(&amp;ctx);
- errx(1, <span class="stringliteral">"EVP_CipherUpdate failed"</span>);
- }
- <span class="comment">/* write out to output file */</span>
- fwrite(obuf, 1, olen, out);
- }
- <span class="comment">/* done reading */</span>
- fclose(in);
-
- <span class="comment">/* clear up any last bytes left in the output buffer */</span>
- ret = <a name="a8"></a><a class="code" href="group__hcrypto__evp.html#g714eef7d737fd68171d852043a4995de">EVP_CipherFinal_ex</a>(&amp;ctx, obuf, &amp;olen);
- <a class="code" href="group__hcrypto__evp.html#gc16dd3987cd90c8bcdbad5290c558359">EVP_CIPHER_CTX_cleanup</a>(&amp;ctx);
- <span class="keywordflow">if</span> (ret != 1)
- errx(1, <span class="stringliteral">"EVP_CipherFinal_ex failed"</span>);
-
- <span class="comment">/* write the last bytes out and close */</span>
- fwrite(obuf, 1, olen, out);
- fclose(out);
-
- <span class="keywordflow">return</span> 0;
-}
-</pre></div> </div>
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hcrypto/html/example_evp_cipher_8c-example.html b/doc/doxyout/hcrypto/html/example_evp_cipher_8c-example.html
new file mode 100644
index 000000000000..33d7824e6b61
--- /dev/null
+++ b/doc/doxyout/hcrypto/html/example_evp_cipher_8c-example.html
@@ -0,0 +1,31 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>example_evp_cipher.c</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<p>
+<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
+</p>
+<!-- end of header marker -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+ initMenu('',false,false,'search.php','Search');
+});
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">example_evp_cipher.c</div> </div>
+</div><!--header-->
+<div class="contents">
+<p>This is an example how to use <a class="el" href="group__hcrypto__evp.html#ga98da5a5c1aa25d9cb2e4717fa11314bd">EVP_CipherInit_ex()</a>, <a class="el" href="group__hcrypto__evp.html#ga863349e1001b36cfd6c4afedddd12862">EVP_CipherUpdate()</a> and <a class="el" href="group__hcrypto__evp.html#ga714eef7d737fd68171d852043a4995de">EVP_CipherFinal_ex()</a>.</p>
+<div class="fragment"><div class="line"><span class="comment">/*</span></div><div class="line"><span class="comment"> * Copyright (c) 2008 Kungliga Tekniska Högskolan</span></div><div class="line"><span class="comment"> * (Royal Institute of Technology, Stockholm, Sweden).</span></div><div class="line"><span class="comment"> * All rights reserved.</span></div><div class="line"><span class="comment"> *</span></div><div class="line"><span class="comment"> * Redistribution and use in source and binary forms, with or without</span></div><div class="line"><span class="comment"> * modification, are permitted provided that the following conditions</span></div><div class="line"><span class="comment"> * are met:</span></div><div class="line"><span class="comment"> *</span></div><div class="line"><span class="comment"> * 1. Redistributions of source code must retain the above copyright</span></div><div class="line"><span class="comment"> * notice, this list of conditions and the following disclaimer.</span></div><div class="line"><span class="comment"> *</span></div><div class="line"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright</span></div><div class="line"><span class="comment"> * notice, this list of conditions and the following disclaimer in the</span></div><div class="line"><span class="comment"> * documentation and/or other materials provided with the distribution.</span></div><div class="line"><span class="comment"> *</span></div><div class="line"><span class="comment"> * 3. Neither the name of the Institute nor the names of its contributors</span></div><div class="line"><span class="comment"> * may be used to endorse or promote products derived from this software</span></div><div class="line"><span class="comment"> * without specific prior written permission.</span></div><div class="line"><span class="comment"> *</span></div><div class="line"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS&#39;&#39; AND</span></div><div class="line"><span class="comment"> * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></div><div class="line"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></div><div class="line"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE</span></div><div class="line"><span class="comment"> * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL</span></div><div class="line"><span class="comment"> * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS</span></div><div class="line"><span class="comment"> * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)</span></div><div class="line"><span class="comment"> * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT</span></div><div class="line"><span class="comment"> * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY</span></div><div class="line"><span class="comment"> * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF</span></div><div class="line"><span class="comment"> * SUCH DAMAGE.</span></div><div class="line"><span class="comment"> */</span></div><div class="line"></div><div class="line"><span class="preprocessor">#include &lt;config.h&gt;</span></div><div class="line"><span class="preprocessor">#include &lt;roken.h&gt;</span></div><div class="line"></div><div class="line"><span class="preprocessor">#include &lt;krb5-types.h&gt;</span> <span class="comment">/* should really be stdint.h */</span></div><div class="line"><span class="preprocessor">#include &lt;hcrypto/evp.h&gt;</span></div><div class="line"><span class="preprocessor">#include &lt;hcrypto/evp-pkcs11.h&gt;</span></div><div class="line"><span class="preprocessor">#ifdef __APPLE__</span></div><div class="line"><span class="preprocessor">#include &lt;hcrypto/evp-cc.h&gt;</span></div><div class="line"><span class="preprocessor">#endif</span></div><div class="line"><span class="preprocessor">#ifdef _WIN32</span></div><div class="line"><span class="preprocessor">#include &lt;hcrypto/evp-w32.h&gt;</span></div><div class="line"><span class="preprocessor">#endif</span></div><div class="line"></div><div class="line"><span class="preprocessor">#include &lt;err.h&gt;</span></div><div class="line"><span class="preprocessor">#include &lt;assert.h&gt;</span></div><div class="line"></div><div class="line"><span class="comment">/* key and initial vector */</span></div><div class="line"><span class="keyword">static</span> <span class="keywordtype">char</span> key[16] =</div><div class="line"> <span class="stringliteral">&quot;\xaa\xbb\x45\xd4\xaa\xbb\x45\xd4&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\xaa\xbb\x45\xd4\xaa\xbb\x45\xd4&quot;</span>;</div><div class="line"><span class="keyword">static</span> <span class="keywordtype">char</span> ivec[16] =</div><div class="line"> <span class="stringliteral">&quot;\xaa\xbb\x45\xd4\xaa\xbb\x45\xd4&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\xaa\xbb\x45\xd4\xaa\xbb\x45\xd4&quot;</span>;</div><div class="line"></div><div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span></div><div class="line">usage(<span class="keywordtype">int</span> exit_code) __attribute__((noreturn));</div><div class="line"></div><div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span></div><div class="line">usage(<span class="keywordtype">int</span> exit_code)</div><div class="line">{</div><div class="line"> printf(<span class="stringliteral">&quot;usage: %s in out [pkcs11 | cc | w32]\n&quot;</span>, getprogname());</div><div class="line"> exit(exit_code);</div><div class="line">}</div><div class="line"></div><div class="line"></div><div class="line"><span class="keywordtype">int</span></div><div class="line">main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv)</div><div class="line">{</div><div class="line"> <span class="keywordtype">int</span> encryptp = 1;</div><div class="line"> <span class="keyword">const</span> <span class="keywordtype">char</span> *ifn = NULL, *ofn = NULL;</div><div class="line"> FILE *in, *out;</div><div class="line"> <span class="keywordtype">void</span> *ibuf, *obuf;</div><div class="line"> <span class="keywordtype">int</span> ilen, olen;</div><div class="line"> <span class="keywordtype">size_t</span> block_size = 0;</div><div class="line"> <span class="keyword">const</span> EVP_CIPHER *c = <a name="a0"></a><a class="code" href="group__hcrypto__evp.html#ga2747bac943db15c97167ac37fdc2af43">EVP_aes_128_cbc</a>();</div><div class="line"> EVP_CIPHER_CTX ctx;</div><div class="line"> <span class="keywordtype">int</span> ret;</div><div class="line"></div><div class="line"> setprogname(argv[0]);</div><div class="line"></div><div class="line"> <span class="keywordflow">if</span> (argc == 2) {</div><div class="line"> <span class="keywordflow">if</span> (strcmp(argv[1], <span class="stringliteral">&quot;--version&quot;</span>) == 0) {</div><div class="line"> printf(<span class="stringliteral">&quot;version&quot;</span>);</div><div class="line"> exit(0);</div><div class="line"> }</div><div class="line"> <span class="keywordflow">if</span> (strcmp(argv[1], <span class="stringliteral">&quot;--help&quot;</span>) == 0)</div><div class="line"> usage(0);</div><div class="line"> usage(1);</div><div class="line"> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (argc == 4 || argc == 5) {</div><div class="line"> block_size = atoi(argv[1]);</div><div class="line"> <span class="keywordflow">if</span> (block_size == 0)</div><div class="line"> errx(1, <span class="stringliteral">&quot;invalid blocksize %s&quot;</span>, argv[1]);</div><div class="line"> ifn = argv[2];</div><div class="line"> ofn = argv[3];</div><div class="line"> <span class="keywordflow">if</span> (argc == 5) {</div><div class="line"> <span class="keywordflow">if</span> (strcmp(argv[4], <span class="stringliteral">&quot;pkcs11&quot;</span>) == 0)</div><div class="line"> c = hc_EVP_pkcs11_aes_128_cbc();</div><div class="line"><span class="preprocessor">#ifdef __APPLE__</span></div><div class="line"> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(argv[4], <span class="stringliteral">&quot;cc&quot;</span>) == 0)</div><div class="line"> c = hc_EVP_cc_aes_128_cbc();</div><div class="line"><span class="preprocessor">#endif</span></div><div class="line"><span class="preprocessor">#ifdef _WIN32</span></div><div class="line"> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(argv[4], <span class="stringliteral">&quot;w32&quot;</span>) == 0)</div><div class="line"> c = hc_EVP_w32crypto_aes_128_cbc();</div><div class="line"><span class="preprocessor">#endif</span></div><div class="line"> <span class="keywordflow">else</span></div><div class="line"> usage(1);</div><div class="line"> }</div><div class="line"> } <span class="keywordflow">else</span></div><div class="line"> usage(1);</div><div class="line"></div><div class="line"> in = fopen(ifn, <span class="stringliteral">&quot;r&quot;</span>);</div><div class="line"> <span class="keywordflow">if</span> (in == NULL)</div><div class="line"> errx(1, <span class="stringliteral">&quot;failed to open input file&quot;</span>);</div><div class="line"> out = fopen(ofn, <span class="stringliteral">&quot;w+&quot;</span>);</div><div class="line"> <span class="keywordflow">if</span> (out == NULL)</div><div class="line"> errx(1, <span class="stringliteral">&quot;failed to open output file&quot;</span>);</div><div class="line"></div><div class="line"> <span class="comment">/* Check that key and ivec are long enough */</span></div><div class="line"> assert(<a name="a1"></a><a class="code" href="group__hcrypto__evp.html#ga4793a9e130da86ac42c497b19395b748">EVP_CIPHER_key_length</a>(c) &lt;= <span class="keyword">sizeof</span>(key));</div><div class="line"> assert(<a name="a2"></a><a class="code" href="group__hcrypto__evp.html#ga7edebe76d19dee11686a6698d24f19f5">EVP_CIPHER_iv_length</a>(c) &lt;= <span class="keyword">sizeof</span>(ivec));</div><div class="line"></div><div class="line"> <span class="comment">/*</span></div><div class="line"><span class="comment"> * Allocate buffer, the output buffer is at least</span></div><div class="line"><span class="comment"> * EVP_CIPHER_block_size() longer</span></div><div class="line"><span class="comment"> */</span></div><div class="line"> ibuf = malloc(block_size);</div><div class="line"> obuf = malloc(block_size + <a name="a3"></a><a class="code" href="group__hcrypto__evp.html#ga3123ff4b426783dd972538249b9e9d4d">EVP_CIPHER_block_size</a>(c));</div><div class="line"></div><div class="line"> <span class="comment">/*</span></div><div class="line"><span class="comment"> * Init the memory used for EVP_CIPHER_CTX and set the key and</span></div><div class="line"><span class="comment"> * ivec.</span></div><div class="line"><span class="comment"> */</span></div><div class="line"> <a name="a4"></a><a class="code" href="group__hcrypto__evp.html#ga13d0ff0e87312566cb6b3591157f9754">EVP_CIPHER_CTX_init</a>(&amp;ctx);</div><div class="line"> <a name="a5"></a><a class="code" href="group__hcrypto__evp.html#ga98da5a5c1aa25d9cb2e4717fa11314bd">EVP_CipherInit_ex</a>(&amp;ctx, c, NULL, key, ivec, encryptp);</div><div class="line"></div><div class="line"> <span class="comment">/* read in buffer */</span></div><div class="line"> <span class="keywordflow">while</span> ((ilen = fread(ibuf, 1, block_size, in)) &gt; 0) {</div><div class="line"> <span class="comment">/* encrypto/decrypt */</span></div><div class="line"> ret = <a name="a6"></a><a class="code" href="group__hcrypto__evp.html#ga863349e1001b36cfd6c4afedddd12862">EVP_CipherUpdate</a>(&amp;ctx, obuf, &amp;olen, ibuf, ilen);</div><div class="line"> <span class="keywordflow">if</span> (ret != 1) {</div><div class="line"> <a name="a7"></a><a class="code" href="group__hcrypto__evp.html#gac16dd3987cd90c8bcdbad5290c558359">EVP_CIPHER_CTX_cleanup</a>(&amp;ctx);</div><div class="line"> errx(1, <span class="stringliteral">&quot;EVP_CipherUpdate failed&quot;</span>);</div><div class="line"> }</div><div class="line"> <span class="comment">/* write out to output file */</span></div><div class="line"> fwrite(obuf, 1, olen, out);</div><div class="line"> }</div><div class="line"> <span class="comment">/* done reading */</span></div><div class="line"> fclose(in);</div><div class="line"></div><div class="line"> <span class="comment">/* clear up any last bytes left in the output buffer */</span></div><div class="line"> ret = <a name="a8"></a><a class="code" href="group__hcrypto__evp.html#ga714eef7d737fd68171d852043a4995de">EVP_CipherFinal_ex</a>(&amp;ctx, obuf, &amp;olen);</div><div class="line"> <a class="code" href="group__hcrypto__evp.html#gac16dd3987cd90c8bcdbad5290c558359">EVP_CIPHER_CTX_cleanup</a>(&amp;ctx);</div><div class="line"> <span class="keywordflow">if</span> (ret != 1)</div><div class="line"> errx(1, <span class="stringliteral">&quot;EVP_CipherFinal_ex failed&quot;</span>);</div><div class="line"></div><div class="line"> <span class="comment">/* write the last bytes out and close */</span></div><div class="line"> fwrite(obuf, 1, olen, out);</div><div class="line"> fclose(out);</div><div class="line"></div><div class="line"> <span class="keywordflow">return</span> 0;</div><div class="line">}</div></div><!-- fragment --> </div><!-- contents -->
+<hr size="1"><address style="text-align: right;"><small>
+Generated on Fri Dec 8 2017 03:49:01 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address>
+</body>
+</html>
diff --git a/doc/doxyout/hcrypto/html/examples.html b/doc/doxyout/hcrypto/html/examples.html
index c03868c63d21..1991d47ea192 100644
--- a/doc/doxyout/hcrypto/html/examples.html
+++ b/doc/doxyout/hcrypto/html/examples.html
@@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>Heimdal crypto library: Examples</title>
+<title>Examples</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@@ -8,22 +8,27 @@
<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
</p>
<!-- end of header marker -->
-<!-- Generated by Doxygen 1.5.6 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li class="current"><a href="examples.html"><span>Examples</span></a></li>
- </ul>
- </div>
-</div>
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+ initMenu('',false,false,'search.php','Search');
+});
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">Examples</div> </div>
+</div><!--header-->
<div class="contents">
-<h1>Examples</h1>Here is a list of all examples:<ul>
-<li><a class="el" href="example__evp__cipher_8c-example.html">example_evp_cipher.c</a>
+<div class="textblock">Here is a list of all examples:</div><ul>
+<li><a class="el" href="example_evp_cipher_8c-example.html">example_evp_cipher.c</a></li>
+
</ul>
-</div>
+</div><!-- contents -->
<hr size="1"><address style="text-align: right;"><small>
-Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address>
+Generated on Fri Dec 8 2017 03:49:01 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address>
</body>
</html>
diff --git a/doc/doxyout/hcrypto/html/folderclosed.png b/doc/doxyout/hcrypto/html/folderclosed.png
new file mode 100644
index 000000000000..bb8ab35edce8
--- /dev/null
+++ b/doc/doxyout/hcrypto/html/folderclosed.png
Binary files differ
diff --git a/doc/doxyout/hcrypto/html/folderopen.png b/doc/doxyout/hcrypto/html/folderopen.png
new file mode 100644
index 000000000000..d6c7f676a3b3
--- /dev/null
+++ b/doc/doxyout/hcrypto/html/folderopen.png
Binary files differ
diff --git a/doc/doxyout/hcrypto/html/graph_legend.dot b/doc/doxyout/hcrypto/html/graph_legend.dot
deleted file mode 100644
index 4df0f1aa4864..000000000000
--- a/doc/doxyout/hcrypto/html/graph_legend.dot
+++ /dev/null
@@ -1,22 +0,0 @@
-digraph G
-{
- edge [fontname="FreeSans",fontsize=10,labelfontname="FreeSans",labelfontsize=10];
- node [fontname="FreeSans",fontsize=10,shape=record];
- Node9 [shape="box",label="Inherited",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",fillcolor="grey75",style="filled" fontcolor="black"];
- Node10 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans"];
- Node10 [shape="box",label="PublicBase",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classPublicBase.html"];
- Node11 -> Node10 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans"];
- Node11 [shape="box",label="Truncated",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",color="red",URL="$classTruncated.html"];
- Node13 -> Node9 [dir=back,color="darkgreen",fontsize=10,style="solid",fontname="FreeSans"];
- Node13 [shape="box",label="ProtectedBase",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classProtectedBase.html"];
- Node14 -> Node9 [dir=back,color="firebrick4",fontsize=10,style="solid",fontname="FreeSans"];
- Node14 [shape="box",label="PrivateBase",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classPrivateBase.html"];
- Node15 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans"];
- Node15 [shape="box",label="Undocumented",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",color="grey75"];
- Node16 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans"];
- Node16 [shape="box",label="Templ< int >",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classTempl.html"];
- Node17 -> Node16 [dir=back,color="orange",fontsize=10,style="dashed",label="< int >",fontname="FreeSans"];
- Node17 [shape="box",label="Templ< T >",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classTempl.html"];
- Node18 -> Node9 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="m_usedClass",fontname="FreeSans"];
- Node18 [shape="box",label="Used",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classUsed.html"];
-}
diff --git a/doc/doxyout/hcrypto/html/graph_legend.html b/doc/doxyout/hcrypto/html/graph_legend.html
index 723244103a9a..fcace4454453 100644
--- a/doc/doxyout/hcrypto/html/graph_legend.html
+++ b/doc/doxyout/hcrypto/html/graph_legend.html
@@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>Heimdal crypto library: Graph Legend</title>
+<title>Graph Legend</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@@ -8,68 +8,39 @@
<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
</p>
<!-- end of header marker -->
-<!-- Generated by Doxygen 1.5.6 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="examples.html"><span>Examples</span></a></li>
- </ul>
- </div>
-</div>
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+ initMenu('',false,false,'search.php','Search');
+});
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">Graph Legend</div> </div>
+</div><!--header-->
<div class="contents">
-<h1>Graph Legend</h1>This page explains how to interpret the graphs that are generated by doxygen.<p>
-Consider the following example: <div class="fragment"><pre class="fragment"><span class="comment">/*! Invisible class because of truncation */</span>
-<span class="keyword">class </span>Invisible { };
-<span class="comment"></span>
-<span class="comment">/*! Truncated class, inheritance relation is hidden */</span>
-<span class="keyword">class </span>Truncated : <span class="keyword">public</span> Invisible { };
-
-<span class="comment">/* Class not documented with doxygen comments */</span>
-<span class="keyword">class </span>Undocumented { };
-<span class="comment"></span>
-<span class="comment">/*! Class that is inherited using public inheritance */</span>
-<span class="keyword">class </span>PublicBase : <span class="keyword">public</span> Truncated { };
-<span class="comment"></span>
-<span class="comment">/*! A template class */</span>
-<span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">class </span>Templ { };
-<span class="comment"></span>
-<span class="comment">/*! Class that is inherited using protected inheritance */</span>
-<span class="keyword">class </span>ProtectedBase { };
-<span class="comment"></span>
-<span class="comment">/*! Class that is inherited using private inheritance */</span>
-<span class="keyword">class </span>PrivateBase { };
-<span class="comment"></span>
-<span class="comment">/*! Class that is used by the Inherited class */</span>
-<span class="keyword">class </span>Used { };
-<span class="comment"></span>
-<span class="comment">/*! Super class that inherits a number of other classes */</span>
-<span class="keyword">class </span>Inherited : <span class="keyword">public</span> PublicBase,
- <span class="keyword">protected</span> ProtectedBase,
- <span class="keyword">private</span> PrivateBase,
- <span class="keyword">public</span> Undocumented,
- <span class="keyword">public</span> Templ&lt;int&gt;
-{
- <span class="keyword">private</span>:
- Used *m_usedClass;
-};
-</pre></div> If the <code>MAX_DOT_GRAPH_HEIGHT</code> tag in the configuration file is set to 240 this will result in the following graph:<p>
-<center><div align="center">
-<img src="graph_legend.png" alt="graph_legend.png">
+<p>This page explains how to interpret the graphs that are generated by doxygen.</p>
+<p>Consider the following example: </p><div class="fragment"><div class="line">/*! Invisible class because of truncation */</div><div class="line">class Invisible { };</div><div class="line"></div><div class="line">/*! Truncated class, inheritance relation is hidden */</div><div class="line">class Truncated : public Invisible { };</div><div class="line"></div><div class="line">/* Class not documented with doxygen comments */</div><div class="line">class Undocumented { };</div><div class="line"></div><div class="line">/*! Class that is inherited using public inheritance */</div><div class="line">class PublicBase : public Truncated { };</div><div class="line"></div><div class="line">/*! A template class */</div><div class="line">template&lt;class T&gt; class Templ { };</div><div class="line"></div><div class="line">/*! Class that is inherited using protected inheritance */</div><div class="line">class ProtectedBase { };</div><div class="line"></div><div class="line">/*! Class that is inherited using private inheritance */</div><div class="line">class PrivateBase { };</div><div class="line"></div><div class="line">/*! Class that is used by the Inherited class */</div><div class="line">class Used { };</div><div class="line"></div><div class="line">/*! Super class that inherits a number of other classes */</div><div class="line">class Inherited : public PublicBase,</div><div class="line"> protected ProtectedBase,</div><div class="line"> private PrivateBase,</div><div class="line"> public Undocumented,</div><div class="line"> public Templ&lt;int&gt;</div><div class="line">{</div><div class="line"> private:</div><div class="line"> Used *m_usedClass;</div><div class="line">};</div></div><!-- fragment --><p> This will result in the following graph:</p>
+<center><div class="image">
+<img src="graph_legend.png"/>
</div>
-</center> <p>
-The boxes in the above graph have the following meaning: <ul>
+</center><p>The boxes in the above graph have the following meaning: </p>
+<ul>
<li>
A filled gray box represents the struct or class for which the graph is generated. </li>
<li>
A box with a black border denotes a documented struct or class. </li>
<li>
-A box with a grey border denotes an undocumented struct or class. </li>
+A box with a gray border denotes an undocumented struct or class. </li>
<li>
A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries. </li>
</ul>
-The arrows have the following meaning: <ul>
+<p>The arrows have the following meaning: </p>
+<ul>
<li>
A dark blue arrow is used to visualize a public inheritance relation between two classes. </li>
<li>
@@ -77,12 +48,12 @@ A dark green arrow is used for protected inheritance. </li>
<li>
A dark red arrow is used for private inheritance. </li>
<li>
-A purple dashed arrow is used if a class is contained or used by another class. The arrow is labeled with the variable(s) through which the pointed class or struct is accessible. </li>
+A purple dashed arrow is used if a class is contained or used by another class. The arrow is labelled with the variable(s) through which the pointed class or struct is accessible. </li>
<li>
-A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance. </li>
+A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labelled with the template parameters of the instance. </li>
</ul>
-</div>
+</div><!-- contents -->
<hr size="1"><address style="text-align: right;"><small>
-Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address>
+Generated on Fri Dec 8 2017 03:49:01 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address>
</body>
</html>
diff --git a/doc/doxyout/hcrypto/html/graph_legend.md5 b/doc/doxyout/hcrypto/html/graph_legend.md5
new file mode 100644
index 000000000000..a06ed050cbb5
--- /dev/null
+++ b/doc/doxyout/hcrypto/html/graph_legend.md5
@@ -0,0 +1 @@
+387ff8eb65306fa251338d3c9bd7bfff \ No newline at end of file
diff --git a/doc/doxyout/hcrypto/html/graph_legend.png b/doc/doxyout/hcrypto/html/graph_legend.png
index 9b96937bfd5f..881e40f9c0a2 100644
--- a/doc/doxyout/hcrypto/html/graph_legend.png
+++ b/doc/doxyout/hcrypto/html/graph_legend.png
Binary files differ
diff --git a/doc/doxyout/hcrypto/html/group__hcrypto__core.html b/doc/doxyout/hcrypto/html/group__hcrypto__core.html
index 7d43e4dd12a4..5b3a446a31c4 100644
--- a/doc/doxyout/hcrypto/html/group__hcrypto__core.html
+++ b/doc/doxyout/hcrypto/html/group__hcrypto__core.html
@@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>Heimdal crypto library: hcrypto function controlling behavior</title>
+<title>hcrypto function controlling behavior</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@@ -8,183 +8,186 @@
<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
</p>
<!-- end of header marker -->
-<!-- Generated by Doxygen 1.5.6 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="examples.html"><span>Examples</span></a></li>
- </ul>
- </div>
-</div>
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+ initMenu('',false,false,'search.php','Search');
+});
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">hcrypto function controlling behavior</div> </div>
+</div><!--header-->
<div class="contents">
-<h1>hcrypto function controlling behavior</h1><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__core.html#gdeab70eab0fd570d0322bca3a72681ba">EVP_CIPHER_CTX_rand_key</a> (EVP_CIPHER_CTX *ctx, void *key)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__core.html#g97c103e02bc22ed1c4ef196ba0571941">EVP_CIPHER_CTX_ctrl</a> (EVP_CIPHER_CTX *ctx, int type, int arg, void *data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__core.html#g8d39c8f6846136633bc84ca14ef4ec0e">OpenSSL_add_all_algorithms</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__core.html#gd3aae18798d3ec4da0a3f4affe29263a">OpenSSL_add_all_algorithms_conf</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__core.html#g99be2e9346299cc4d4804d7b7be18028">OpenSSL_add_all_algorithms_noconf</a> (void)</td></tr>
-
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:gadeab70eab0fd570d0322bca3a72681ba"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__core.html#gadeab70eab0fd570d0322bca3a72681ba">EVP_CIPHER_CTX_rand_key</a> (EVP_CIPHER_CTX *ctx, void *key)</td></tr>
+<tr class="separator:gadeab70eab0fd570d0322bca3a72681ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga97c103e02bc22ed1c4ef196ba0571941"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__core.html#ga97c103e02bc22ed1c4ef196ba0571941">EVP_CIPHER_CTX_ctrl</a> (EVP_CIPHER_CTX *ctx, int type, int arg, void *data)</td></tr>
+<tr class="separator:ga97c103e02bc22ed1c4ef196ba0571941"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8d39c8f6846136633bc84ca14ef4ec0e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__core.html#ga8d39c8f6846136633bc84ca14ef4ec0e">OpenSSL_add_all_algorithms</a> (void)</td></tr>
+<tr class="separator:ga8d39c8f6846136633bc84ca14ef4ec0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad3aae18798d3ec4da0a3f4affe29263a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__core.html#gad3aae18798d3ec4da0a3f4affe29263a">OpenSSL_add_all_algorithms_conf</a> (void)</td></tr>
+<tr class="separator:gad3aae18798d3ec4da0a3f4affe29263a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga99be2e9346299cc4d4804d7b7be18028"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__core.html#ga99be2e9346299cc4d4804d7b7be18028">OpenSSL_add_all_algorithms_noconf</a> (void)</td></tr>
+<tr class="separator:ga99be2e9346299cc4d4804d7b7be18028"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<hr><h2>Function Documentation</h2>
-<a class="anchor" name="g97c103e02bc22ed1c4ef196ba0571941"></a><!-- doxytag: member="evp.c::EVP_CIPHER_CTX_ctrl" ref="g97c103e02bc22ed1c4ef196ba0571941" args="(EVP_CIPHER_CTX *ctx, int type, int arg, void *data)" -->
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="ga97c103e02bc22ed1c4ef196ba0571941"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga97c103e02bc22ed1c4ef196ba0571941">&#9670;&nbsp;</a></span>EVP_CIPHER_CTX_ctrl()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int EVP_CIPHER_CTX_ctrl </td>
+ <td class="memname">int EVP_CIPHER_CTX_ctrl </td>
<td>(</td>
- <td class="paramtype">EVP_CIPHER_CTX *&nbsp;</td>
- <td class="paramname"> <em>ctx</em>, </td>
+ <td class="paramtype">EVP_CIPHER_CTX *&#160;</td>
+ <td class="paramname"><em>ctx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">int&nbsp;</td>
- <td class="paramname"> <em>type</em>, </td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">int&nbsp;</td>
- <td class="paramname"> <em>arg</em>, </td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>arg</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">void *&nbsp;</td>
- <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>data</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Perform a operation on a ctx<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>context to perform operation on. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>type of operation. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>arg</em>&nbsp;</td><td>argument to operation. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>addition data to operation.</td></tr>
+</div><div class="memdoc">
+<p>Perform a operation on a ctx</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ctx</td><td>context to perform operation on. </td></tr>
+ <tr><td class="paramname">type</td><td>type of operation. </td></tr>
+ <tr><td class="paramname">arg</td><td>argument to operation. </td></tr>
+ <tr><td class="paramname">data</td><td>addition data to operation.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 for success, 0 for failure. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>1 for success, 0 for failure. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="gdeab70eab0fd570d0322bca3a72681ba"></a><!-- doxytag: member="evp.c::EVP_CIPHER_CTX_rand_key" ref="gdeab70eab0fd570d0322bca3a72681ba" args="(EVP_CIPHER_CTX *ctx, void *key)" -->
+</div>
+<a id="gadeab70eab0fd570d0322bca3a72681ba"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gadeab70eab0fd570d0322bca3a72681ba">&#9670;&nbsp;</a></span>EVP_CIPHER_CTX_rand_key()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int EVP_CIPHER_CTX_rand_key </td>
+ <td class="memname">int EVP_CIPHER_CTX_rand_key </td>
<td>(</td>
- <td class="paramtype">EVP_CIPHER_CTX *&nbsp;</td>
- <td class="paramname"> <em>ctx</em>, </td>
+ <td class="paramtype">EVP_CIPHER_CTX *&#160;</td>
+ <td class="paramname"><em>ctx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">void *&nbsp;</td>
- <td class="paramname"> <em>key</em></td><td>&nbsp;</td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>key</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Generate a random key for the specificed EVP_CIPHER.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>EVP_CIPHER_CTX type to build the key for. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>return key, must be at least <a class="el" href="group__hcrypto__evp.html#g4793a9e130da86ac42c497b19395b748">EVP_CIPHER_key_length()</a> byte long.</td></tr>
+</div><div class="memdoc">
+<p>Generate a random key for the specificed EVP_CIPHER.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ctx</td><td>EVP_CIPHER_CTX type to build the key for. </td></tr>
+ <tr><td class="paramname">key</td><td>return key, must be at least <a class="el" href="group__hcrypto__evp.html#ga4793a9e130da86ac42c497b19395b748">EVP_CIPHER_key_length()</a> byte long.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 for success, 0 for failure. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>1 for success, 0 for failure. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g8d39c8f6846136633bc84ca14ef4ec0e"></a><!-- doxytag: member="evp.c::OpenSSL_add_all_algorithms" ref="g8d39c8f6846136633bc84ca14ef4ec0e" args="(void)" -->
+</div>
+<a id="ga8d39c8f6846136633bc84ca14ef4ec0e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga8d39c8f6846136633bc84ca14ef4ec0e">&#9670;&nbsp;</a></span>OpenSSL_add_all_algorithms()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void OpenSSL_add_all_algorithms </td>
+ <td class="memname">void OpenSSL_add_all_algorithms </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
+<p>Add all algorithms to the crypto core. </p>
-<p>
-Add all algorithms to the crypto core.
</div>
-</div><p>
-<a class="anchor" name="gd3aae18798d3ec4da0a3f4affe29263a"></a><!-- doxytag: member="evp.c::OpenSSL_add_all_algorithms_conf" ref="gd3aae18798d3ec4da0a3f4affe29263a" args="(void)" -->
+</div>
+<a id="gad3aae18798d3ec4da0a3f4affe29263a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gad3aae18798d3ec4da0a3f4affe29263a">&#9670;&nbsp;</a></span>OpenSSL_add_all_algorithms_conf()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void OpenSSL_add_all_algorithms_conf </td>
+ <td class="memname">void OpenSSL_add_all_algorithms_conf </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
+<p>Add all algorithms to the crypto core using configuration file. </p>
-<p>
-Add all algorithms to the crypto core using configuration file.
</div>
-</div><p>
-<a class="anchor" name="g99be2e9346299cc4d4804d7b7be18028"></a><!-- doxytag: member="evp.c::OpenSSL_add_all_algorithms_noconf" ref="g99be2e9346299cc4d4804d7b7be18028" args="(void)" -->
+</div>
+<a id="ga99be2e9346299cc4d4804d7b7be18028"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga99be2e9346299cc4d4804d7b7be18028">&#9670;&nbsp;</a></span>OpenSSL_add_all_algorithms_noconf()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void OpenSSL_add_all_algorithms_noconf </td>
+ <td class="memname">void OpenSSL_add_all_algorithms_noconf </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
+<p>Add all algorithms to the crypto core, but don't use the configuration file. </p>
-<p>
-Add all algorithms to the crypto core, but don't use the configuration file.
</div>
-</div><p>
</div>
+</div><!-- contents -->
<hr size="1"><address style="text-align: right;"><small>
-Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address>
+Generated on Fri Dec 8 2017 03:49:01 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address>
</body>
</html>
diff --git a/doc/doxyout/hcrypto/html/group__hcrypto__des.html b/doc/doxyout/hcrypto/html/group__hcrypto__des.html
index 77f251cd99ce..d12da9a7aab3 100644
--- a/doc/doxyout/hcrypto/html/group__hcrypto__des.html
+++ b/doc/doxyout/hcrypto/html/group__hcrypto__des.html
@@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>Heimdal crypto library: DES crypto functions</title>
+<title>DES crypto functions</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@@ -8,903 +8,904 @@
<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
</p>
<!-- end of header marker -->
-<!-- Generated by Doxygen 1.5.6 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="examples.html"><span>Examples</span></a></li>
- </ul>
- </div>
-</div>
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+ initMenu('',false,false,'search.php','Search');
+});
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">DES crypto functions</div> </div>
+</div><!--header-->
<div class="contents">
-<h1>DES crypto functions</h1><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#g4179bef43ceb72cc2034f39e7d2d5ae4">DES_set_odd_parity</a> (DES_cblock *key)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int HC_DEPRECATED&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#gcf0d611296ad70edf90a3130b2f62c71">DES_check_key_parity</a> (DES_cblock *key)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#g0d8a49cafee4be6cd3922bfb6323fd2d">DES_is_weak_key</a> (DES_cblock *key)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int HC_DEPRECATED&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#gad10e059974f3048b3de49599989486b">DES_set_key</a> (DES_cblock *key, DES_key_schedule *ks)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#g8131d59b5c0f65ca8bba0873932680d5">DES_set_key_unchecked</a> (DES_cblock *key, DES_key_schedule *ks)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#g3157dd2419a25cd4381867f012117d07">DES_set_key_checked</a> (DES_cblock *key, DES_key_schedule *ks)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#gf5b4967f13a4a52c214c28b6e57a3a95">DES_key_sched</a> (DES_cblock *key, DES_key_schedule *ks)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#g39662a8c2218601d402a895f08813662">DES_encrypt</a> (uint32_t u[2], DES_key_schedule *ks, int encp)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#ga5cf9203994e3a5ece2ef7a85e7a2875">DES_ecb_encrypt</a> (DES_cblock *input, DES_cblock *output, DES_key_schedule *ks, int encp)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#g4946e6d9a944f8f029df4e6c68d1868e">DES_cbc_encrypt</a> (const void *in, void *out, long length, DES_key_schedule *ks, DES_cblock *iv, int encp)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#g336e497f66748e92b93fc0b4512d78c2">DES_pcbc_encrypt</a> (const void *in, void *out, long length, DES_key_schedule *ks, DES_cblock *iv, int encp)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#gf2de06942efdf1bd45ce0a8c0597654e">DES_ecb3_encrypt</a> (DES_cblock *input, DES_cblock *output, DES_key_schedule *ks1, DES_key_schedule *ks2, DES_key_schedule *ks3, int encp)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#g36a83e8a4de4ac0f93ea932229dc3607">DES_ede3_cbc_encrypt</a> (const void *in, void *out, long length, DES_key_schedule *ks1, DES_key_schedule *ks2, DES_key_schedule *ks3, DES_cblock *iv, int encp)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#g9c2b24baea3d4e69524335a79e22ae2d">DES_cfb64_encrypt</a> (const void *in, void *out, long length, DES_key_schedule *ks, DES_cblock *iv, int *num, int encp)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#gbf8f1cc95fd03ec1ef59563f9659ec42">DES_cbc_cksum</a> (const void *in, DES_cblock *output, long length, DES_key_schedule *ks, DES_cblock *iv)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#g60893cdc75d9ce8cbf4a5d7a874855c8">DES_string_to_key</a> (const char *str, DES_cblock *key)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int HC_DEPRECATED&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#gcd3642bcd8a7e93ea977786e5b540d5f">DES_new_random_key</a> (DES_cblock *key)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void HC_DEPRECATED&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#g45739e74db49d07bfaa0d7918efd4875">DES_init_random_number_generator</a> (DES_cblock *seed)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void HC_DEPRECATED&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#gd70d485549f7444589f3283e938c0258">DES_random_key</a> (DES_cblock *key)</td></tr>
-
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga4179bef43ceb72cc2034f39e7d2d5ae4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#ga4179bef43ceb72cc2034f39e7d2d5ae4">DES_set_odd_parity</a> (DES_cblock *key)</td></tr>
+<tr class="separator:ga4179bef43ceb72cc2034f39e7d2d5ae4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gacf0d611296ad70edf90a3130b2f62c71"><td class="memItemLeft" align="right" valign="top">int HC_DEPRECATED&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#gacf0d611296ad70edf90a3130b2f62c71">DES_check_key_parity</a> (DES_cblock *key)</td></tr>
+<tr class="separator:gacf0d611296ad70edf90a3130b2f62c71"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0d8a49cafee4be6cd3922bfb6323fd2d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#ga0d8a49cafee4be6cd3922bfb6323fd2d">DES_is_weak_key</a> (DES_cblock *key)</td></tr>
+<tr class="separator:ga0d8a49cafee4be6cd3922bfb6323fd2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaad10e059974f3048b3de49599989486b"><td class="memItemLeft" align="right" valign="top">int HC_DEPRECATED&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#gaad10e059974f3048b3de49599989486b">DES_set_key</a> (DES_cblock *key, DES_key_schedule *ks)</td></tr>
+<tr class="separator:gaad10e059974f3048b3de49599989486b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8131d59b5c0f65ca8bba0873932680d5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#ga8131d59b5c0f65ca8bba0873932680d5">DES_set_key_unchecked</a> (DES_cblock *key, DES_key_schedule *ks)</td></tr>
+<tr class="separator:ga8131d59b5c0f65ca8bba0873932680d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3157dd2419a25cd4381867f012117d07"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#ga3157dd2419a25cd4381867f012117d07">DES_set_key_checked</a> (DES_cblock *key, DES_key_schedule *ks)</td></tr>
+<tr class="separator:ga3157dd2419a25cd4381867f012117d07"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf5b4967f13a4a52c214c28b6e57a3a95"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#gaf5b4967f13a4a52c214c28b6e57a3a95">DES_key_sched</a> (DES_cblock *key, DES_key_schedule *ks)</td></tr>
+<tr class="separator:gaf5b4967f13a4a52c214c28b6e57a3a95"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga39662a8c2218601d402a895f08813662"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#ga39662a8c2218601d402a895f08813662">DES_encrypt</a> (uint32_t u[2], DES_key_schedule *ks, int encp)</td></tr>
+<tr class="separator:ga39662a8c2218601d402a895f08813662"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa5cf9203994e3a5ece2ef7a85e7a2875"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#gaa5cf9203994e3a5ece2ef7a85e7a2875">DES_ecb_encrypt</a> (DES_cblock *input, DES_cblock *output, DES_key_schedule *ks, int encp)</td></tr>
+<tr class="separator:gaa5cf9203994e3a5ece2ef7a85e7a2875"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4946e6d9a944f8f029df4e6c68d1868e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#ga4946e6d9a944f8f029df4e6c68d1868e">DES_cbc_encrypt</a> (const void *in, void *out, long length, DES_key_schedule *ks, DES_cblock *iv, int encp)</td></tr>
+<tr class="separator:ga4946e6d9a944f8f029df4e6c68d1868e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga336e497f66748e92b93fc0b4512d78c2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#ga336e497f66748e92b93fc0b4512d78c2">DES_pcbc_encrypt</a> (const void *in, void *out, long length, DES_key_schedule *ks, DES_cblock *iv, int encp)</td></tr>
+<tr class="separator:ga336e497f66748e92b93fc0b4512d78c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf2de06942efdf1bd45ce0a8c0597654e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#gaf2de06942efdf1bd45ce0a8c0597654e">DES_ecb3_encrypt</a> (DES_cblock *input, DES_cblock *output, DES_key_schedule *ks1, DES_key_schedule *ks2, DES_key_schedule *ks3, int encp)</td></tr>
+<tr class="separator:gaf2de06942efdf1bd45ce0a8c0597654e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga36a83e8a4de4ac0f93ea932229dc3607"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#ga36a83e8a4de4ac0f93ea932229dc3607">DES_ede3_cbc_encrypt</a> (const void *in, void *out, long length, DES_key_schedule *ks1, DES_key_schedule *ks2, DES_key_schedule *ks3, DES_cblock *iv, int encp)</td></tr>
+<tr class="separator:ga36a83e8a4de4ac0f93ea932229dc3607"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga9c2b24baea3d4e69524335a79e22ae2d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#ga9c2b24baea3d4e69524335a79e22ae2d">DES_cfb64_encrypt</a> (const void *in, void *out, long length, DES_key_schedule *ks, DES_cblock *iv, int *num, int encp)</td></tr>
+<tr class="separator:ga9c2b24baea3d4e69524335a79e22ae2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gabf8f1cc95fd03ec1ef59563f9659ec42"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#gabf8f1cc95fd03ec1ef59563f9659ec42">DES_cbc_cksum</a> (const void *in, DES_cblock *output, long length, DES_key_schedule *ks, DES_cblock *iv)</td></tr>
+<tr class="separator:gabf8f1cc95fd03ec1ef59563f9659ec42"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga60893cdc75d9ce8cbf4a5d7a874855c8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#ga60893cdc75d9ce8cbf4a5d7a874855c8">DES_string_to_key</a> (const char *str, DES_cblock *key)</td></tr>
+<tr class="separator:ga60893cdc75d9ce8cbf4a5d7a874855c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gacd3642bcd8a7e93ea977786e5b540d5f"><td class="memItemLeft" align="right" valign="top">int HC_DEPRECATED&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#gacd3642bcd8a7e93ea977786e5b540d5f">DES_new_random_key</a> (DES_cblock *key)</td></tr>
+<tr class="separator:gacd3642bcd8a7e93ea977786e5b540d5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga45739e74db49d07bfaa0d7918efd4875"><td class="memItemLeft" align="right" valign="top">void HC_DEPRECATED&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#ga45739e74db49d07bfaa0d7918efd4875">DES_init_random_number_generator</a> (DES_cblock *seed)</td></tr>
+<tr class="separator:ga45739e74db49d07bfaa0d7918efd4875"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad70d485549f7444589f3283e938c0258"><td class="memItemLeft" align="right" valign="top">void HC_DEPRECATED&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__des.html#gad70d485549f7444589f3283e938c0258">DES_random_key</a> (DES_cblock *key)</td></tr>
+<tr class="separator:gad70d485549f7444589f3283e938c0258"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-See the <a class="el" href="page_des.html">DES - Data Encryption Standard crypto interface</a> for description and examples. <hr><h2>Function Documentation</h2>
-<a class="anchor" name="gbf8f1cc95fd03ec1ef59563f9659ec42"></a><!-- doxytag: member="des.c::DES_cbc_cksum" ref="gbf8f1cc95fd03ec1ef59563f9659ec42" args="(const void *in, DES_cblock *output, long length, DES_key_schedule *ks, DES_cblock *iv)" -->
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<p>See the <a class="el" href="page_des.html">DES - Data Encryption Standard crypto interface</a> for description and examples. </p>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="gabf8f1cc95fd03ec1ef59563f9659ec42"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gabf8f1cc95fd03ec1ef59563f9659ec42">&#9670;&nbsp;</a></span>DES_cbc_cksum()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">uint32_t DES_cbc_cksum </td>
+ <td class="memname">uint32_t DES_cbc_cksum </td>
<td>(</td>
- <td class="paramtype">const void *&nbsp;</td>
- <td class="paramname"> <em>in</em>, </td>
+ <td class="paramtype">const void *&#160;</td>
+ <td class="paramname"><em>in</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">DES_cblock *&nbsp;</td>
- <td class="paramname"> <em>output</em>, </td>
+ <td class="paramtype">DES_cblock *&#160;</td>
+ <td class="paramname"><em>output</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">long&nbsp;</td>
- <td class="paramname"> <em>length</em>, </td>
+ <td class="paramtype">long&#160;</td>
+ <td class="paramname"><em>length</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">DES_key_schedule *&nbsp;</td>
- <td class="paramname"> <em>ks</em>, </td>
+ <td class="paramtype">DES_key_schedule *&#160;</td>
+ <td class="paramname"><em>ks</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">DES_cblock *&nbsp;</td>
- <td class="paramname"> <em>iv</em></td><td>&nbsp;</td>
+ <td class="paramtype">DES_cblock *&#160;</td>
+ <td class="paramname"><em>iv</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Crete a checksum using DES in CBC encryption mode. This mode is only used for Kerberos 4, and it should stay that way.<p>
-The IV must always be diffrent for diffrent input data blocks.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>in</em>&nbsp;</td><td>data to checksum </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>output</em>&nbsp;</td><td>the checksum </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>length of data </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>ks</em>&nbsp;</td><td>key schedule to use </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>iv</em>&nbsp;</td><td>initial vector to use </td></tr>
+</div><div class="memdoc">
+<p>Crete a checksum using DES in CBC encryption mode. This mode is only used for Kerberos 4, and it should stay that way.</p>
+<p>The IV must always be diffrent for diffrent input data blocks.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">in</td><td>data to checksum </td></tr>
+ <tr><td class="paramname">output</td><td>the checksum </td></tr>
+ <tr><td class="paramname">length</td><td>length of data </td></tr>
+ <tr><td class="paramname">ks</td><td>key schedule to use </td></tr>
+ <tr><td class="paramname">iv</td><td>initial vector to use </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="g4946e6d9a944f8f029df4e6c68d1868e"></a><!-- doxytag: member="des.c::DES_cbc_encrypt" ref="g4946e6d9a944f8f029df4e6c68d1868e" args="(const void *in, void *out, long length, DES_key_schedule *ks, DES_cblock *iv, int encp)" -->
+</div>
+<a id="ga4946e6d9a944f8f029df4e6c68d1868e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga4946e6d9a944f8f029df4e6c68d1868e">&#9670;&nbsp;</a></span>DES_cbc_encrypt()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void DES_cbc_encrypt </td>
+ <td class="memname">void DES_cbc_encrypt </td>
<td>(</td>
- <td class="paramtype">const void *&nbsp;</td>
- <td class="paramname"> <em>in</em>, </td>
+ <td class="paramtype">const void *&#160;</td>
+ <td class="paramname"><em>in</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">void *&nbsp;</td>
- <td class="paramname"> <em>out</em>, </td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>out</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">long&nbsp;</td>
- <td class="paramname"> <em>length</em>, </td>
+ <td class="paramtype">long&#160;</td>
+ <td class="paramname"><em>length</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">DES_key_schedule *&nbsp;</td>
- <td class="paramname"> <em>ks</em>, </td>
+ <td class="paramtype">DES_key_schedule *&#160;</td>
+ <td class="paramname"><em>ks</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">DES_cblock *&nbsp;</td>
- <td class="paramname"> <em>iv</em>, </td>
+ <td class="paramtype">DES_cblock *&#160;</td>
+ <td class="paramname"><em>iv</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">int&nbsp;</td>
- <td class="paramname"> <em>encp</em></td><td>&nbsp;</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>encp</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Encrypt/decrypt a block using DES in Chain Block Cipher mode (cbc).<p>
-The IV must always be diffrent for diffrent input data blocks.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>in</em>&nbsp;</td><td>data to encrypt </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>out</em>&nbsp;</td><td>data to encrypt </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>length of data </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>ks</em>&nbsp;</td><td>key schedule to use </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>iv</em>&nbsp;</td><td>initial vector to use </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>encp</em>&nbsp;</td><td>if non zero, encrypt. if zero, decrypt. </td></tr>
+</div><div class="memdoc">
+<p>Encrypt/decrypt a block using DES in Chain Block Cipher mode (cbc).</p>
+<p>The IV must always be diffrent for diffrent input data blocks.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">in</td><td>data to encrypt </td></tr>
+ <tr><td class="paramname">out</td><td>data to encrypt </td></tr>
+ <tr><td class="paramname">length</td><td>length of data </td></tr>
+ <tr><td class="paramname">ks</td><td>key schedule to use </td></tr>
+ <tr><td class="paramname">iv</td><td>initial vector to use </td></tr>
+ <tr><td class="paramname">encp</td><td>if non zero, encrypt. if zero, decrypt. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="g9c2b24baea3d4e69524335a79e22ae2d"></a><!-- doxytag: member="des.c::DES_cfb64_encrypt" ref="g9c2b24baea3d4e69524335a79e22ae2d" args="(const void *in, void *out, long length, DES_key_schedule *ks, DES_cblock *iv, int *num, int encp)" -->
+</div>
+<a id="ga9c2b24baea3d4e69524335a79e22ae2d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga9c2b24baea3d4e69524335a79e22ae2d">&#9670;&nbsp;</a></span>DES_cfb64_encrypt()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void DES_cfb64_encrypt </td>
+ <td class="memname">void DES_cfb64_encrypt </td>
<td>(</td>
- <td class="paramtype">const void *&nbsp;</td>
- <td class="paramname"> <em>in</em>, </td>
+ <td class="paramtype">const void *&#160;</td>
+ <td class="paramname"><em>in</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">void *&nbsp;</td>
- <td class="paramname"> <em>out</em>, </td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>out</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">long&nbsp;</td>
- <td class="paramname"> <em>length</em>, </td>
+ <td class="paramtype">long&#160;</td>
+ <td class="paramname"><em>length</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">DES_key_schedule *&nbsp;</td>
- <td class="paramname"> <em>ks</em>, </td>
+ <td class="paramtype">DES_key_schedule *&#160;</td>
+ <td class="paramname"><em>ks</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">DES_cblock *&nbsp;</td>
- <td class="paramname"> <em>iv</em>, </td>
+ <td class="paramtype">DES_cblock *&#160;</td>
+ <td class="paramname"><em>iv</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">int *&nbsp;</td>
- <td class="paramname"> <em>num</em>, </td>
+ <td class="paramtype">int *&#160;</td>
+ <td class="paramname"><em>num</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">int&nbsp;</td>
- <td class="paramname"> <em>encp</em></td><td>&nbsp;</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>encp</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Encrypt/decrypt using DES in cipher feedback mode with 64 bit feedback.<p>
-The IV must always be diffrent for diffrent input data blocks.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>in</em>&nbsp;</td><td>data to encrypt </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>out</em>&nbsp;</td><td>data to encrypt </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>length of data </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>ks</em>&nbsp;</td><td>key schedule to use </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>iv</em>&nbsp;</td><td>initial vector to use </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>num</em>&nbsp;</td><td>offset into in cipher block encryption/decryption stop last time. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>encp</em>&nbsp;</td><td>if non zero, encrypt. if zero, decrypt. </td></tr>
+</div><div class="memdoc">
+<p>Encrypt/decrypt using DES in cipher feedback mode with 64 bit feedback.</p>
+<p>The IV must always be diffrent for diffrent input data blocks.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">in</td><td>data to encrypt </td></tr>
+ <tr><td class="paramname">out</td><td>data to encrypt </td></tr>
+ <tr><td class="paramname">length</td><td>length of data </td></tr>
+ <tr><td class="paramname">ks</td><td>key schedule to use </td></tr>
+ <tr><td class="paramname">iv</td><td>initial vector to use </td></tr>
+ <tr><td class="paramname">num</td><td>offset into in cipher block encryption/decryption stop last time. </td></tr>
+ <tr><td class="paramname">encp</td><td>if non zero, encrypt. if zero, decrypt. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="gcf0d611296ad70edf90a3130b2f62c71"></a><!-- doxytag: member="des.c::DES_check_key_parity" ref="gcf0d611296ad70edf90a3130b2f62c71" args="(DES_cblock *key)" -->
+</div>
+<a id="gacf0d611296ad70edf90a3130b2f62c71"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gacf0d611296ad70edf90a3130b2f62c71">&#9670;&nbsp;</a></span>DES_check_key_parity()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int HC_DEPRECATED DES_check_key_parity </td>
+ <td class="memname">int HC_DEPRECATED DES_check_key_parity </td>
<td>(</td>
- <td class="paramtype">DES_cblock *&nbsp;</td>
- <td class="paramname"> <em>key</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">DES_cblock *&#160;</td>
+ <td class="paramname"><em>key</em></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Check if the key have correct parity.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>key to check the parity. </td></tr>
+</div><div class="memdoc">
+<p>Check if the key have correct parity.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">key</td><td>key to check the parity. </td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>1 on success, 0 on failure. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="gf2de06942efdf1bd45ce0a8c0597654e"></a><!-- doxytag: member="des.c::DES_ecb3_encrypt" ref="gf2de06942efdf1bd45ce0a8c0597654e" args="(DES_cblock *input, DES_cblock *output, DES_key_schedule *ks1, DES_key_schedule *ks2, DES_key_schedule *ks3, int encp)" -->
+</div>
+<a id="gaf2de06942efdf1bd45ce0a8c0597654e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gaf2de06942efdf1bd45ce0a8c0597654e">&#9670;&nbsp;</a></span>DES_ecb3_encrypt()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void DES_ecb3_encrypt </td>
+ <td class="memname">void DES_ecb3_encrypt </td>
<td>(</td>
- <td class="paramtype">DES_cblock *&nbsp;</td>
- <td class="paramname"> <em>input</em>, </td>
+ <td class="paramtype">DES_cblock *&#160;</td>
+ <td class="paramname"><em>input</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">DES_cblock *&nbsp;</td>
- <td class="paramname"> <em>output</em>, </td>
+ <td class="paramtype">DES_cblock *&#160;</td>
+ <td class="paramname"><em>output</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">DES_key_schedule *&nbsp;</td>
- <td class="paramname"> <em>ks1</em>, </td>
+ <td class="paramtype">DES_key_schedule *&#160;</td>
+ <td class="paramname"><em>ks1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">DES_key_schedule *&nbsp;</td>
- <td class="paramname"> <em>ks2</em>, </td>
+ <td class="paramtype">DES_key_schedule *&#160;</td>
+ <td class="paramname"><em>ks2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">DES_key_schedule *&nbsp;</td>
- <td class="paramname"> <em>ks3</em>, </td>
+ <td class="paramtype">DES_key_schedule *&#160;</td>
+ <td class="paramname"><em>ks3</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">int&nbsp;</td>
- <td class="paramname"> <em>encp</em></td><td>&nbsp;</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>encp</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Encrypt/decrypt a block using triple DES using EDE mode, encrypt/decrypt/encrypt.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>input</em>&nbsp;</td><td>data to encrypt </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>output</em>&nbsp;</td><td>data to encrypt </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>ks1</em>&nbsp;</td><td>key schedule to use </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>ks2</em>&nbsp;</td><td>key schedule to use </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>ks3</em>&nbsp;</td><td>key schedule to use </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>encp</em>&nbsp;</td><td>if non zero, encrypt. if zero, decrypt. </td></tr>
+</div><div class="memdoc">
+<p>Encrypt/decrypt a block using triple DES using EDE mode, encrypt/decrypt/encrypt.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">input</td><td>data to encrypt </td></tr>
+ <tr><td class="paramname">output</td><td>data to encrypt </td></tr>
+ <tr><td class="paramname">ks1</td><td>key schedule to use </td></tr>
+ <tr><td class="paramname">ks2</td><td>key schedule to use </td></tr>
+ <tr><td class="paramname">ks3</td><td>key schedule to use </td></tr>
+ <tr><td class="paramname">encp</td><td>if non zero, encrypt. if zero, decrypt. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="ga5cf9203994e3a5ece2ef7a85e7a2875"></a><!-- doxytag: member="des.c::DES_ecb_encrypt" ref="ga5cf9203994e3a5ece2ef7a85e7a2875" args="(DES_cblock *input, DES_cblock *output, DES_key_schedule *ks, int encp)" -->
+</div>
+<a id="gaa5cf9203994e3a5ece2ef7a85e7a2875"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gaa5cf9203994e3a5ece2ef7a85e7a2875">&#9670;&nbsp;</a></span>DES_ecb_encrypt()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void DES_ecb_encrypt </td>
+ <td class="memname">void DES_ecb_encrypt </td>
<td>(</td>
- <td class="paramtype">DES_cblock *&nbsp;</td>
- <td class="paramname"> <em>input</em>, </td>
+ <td class="paramtype">DES_cblock *&#160;</td>
+ <td class="paramname"><em>input</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">DES_cblock *&nbsp;</td>
- <td class="paramname"> <em>output</em>, </td>
+ <td class="paramtype">DES_cblock *&#160;</td>
+ <td class="paramname"><em>output</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">DES_key_schedule *&nbsp;</td>
- <td class="paramname"> <em>ks</em>, </td>
+ <td class="paramtype">DES_key_schedule *&#160;</td>
+ <td class="paramname"><em>ks</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">int&nbsp;</td>
- <td class="paramname"> <em>encp</em></td><td>&nbsp;</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>encp</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Encrypt/decrypt a block using DES.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>input</em>&nbsp;</td><td>data to encrypt </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>output</em>&nbsp;</td><td>data to encrypt </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>ks</em>&nbsp;</td><td>key schedule to use </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>encp</em>&nbsp;</td><td>if non zero, encrypt. if zero, decrypt. </td></tr>
+</div><div class="memdoc">
+<p>Encrypt/decrypt a block using DES.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">input</td><td>data to encrypt </td></tr>
+ <tr><td class="paramname">output</td><td>data to encrypt </td></tr>
+ <tr><td class="paramname">ks</td><td>key schedule to use </td></tr>
+ <tr><td class="paramname">encp</td><td>if non zero, encrypt. if zero, decrypt. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="g36a83e8a4de4ac0f93ea932229dc3607"></a><!-- doxytag: member="des.c::DES_ede3_cbc_encrypt" ref="g36a83e8a4de4ac0f93ea932229dc3607" args="(const void *in, void *out, long length, DES_key_schedule *ks1, DES_key_schedule *ks2, DES_key_schedule *ks3, DES_cblock *iv, int encp)" -->
+</div>
+<a id="ga36a83e8a4de4ac0f93ea932229dc3607"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga36a83e8a4de4ac0f93ea932229dc3607">&#9670;&nbsp;</a></span>DES_ede3_cbc_encrypt()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void DES_ede3_cbc_encrypt </td>
+ <td class="memname">void DES_ede3_cbc_encrypt </td>
<td>(</td>
- <td class="paramtype">const void *&nbsp;</td>
- <td class="paramname"> <em>in</em>, </td>
+ <td class="paramtype">const void *&#160;</td>
+ <td class="paramname"><em>in</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">void *&nbsp;</td>
- <td class="paramname"> <em>out</em>, </td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>out</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">long&nbsp;</td>
- <td class="paramname"> <em>length</em>, </td>
+ <td class="paramtype">long&#160;</td>
+ <td class="paramname"><em>length</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">DES_key_schedule *&nbsp;</td>
- <td class="paramname"> <em>ks1</em>, </td>
+ <td class="paramtype">DES_key_schedule *&#160;</td>
+ <td class="paramname"><em>ks1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">DES_key_schedule *&nbsp;</td>
- <td class="paramname"> <em>ks2</em>, </td>
+ <td class="paramtype">DES_key_schedule *&#160;</td>
+ <td class="paramname"><em>ks2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">DES_key_schedule *&nbsp;</td>
- <td class="paramname"> <em>ks3</em>, </td>
+ <td class="paramtype">DES_key_schedule *&#160;</td>
+ <td class="paramname"><em>ks3</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">DES_cblock *&nbsp;</td>
- <td class="paramname"> <em>iv</em>, </td>
+ <td class="paramtype">DES_cblock *&#160;</td>
+ <td class="paramname"><em>iv</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">int&nbsp;</td>
- <td class="paramname"> <em>encp</em></td><td>&nbsp;</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>encp</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Encrypt/decrypt using Triple DES in Chain Block Cipher mode (cbc).<p>
-The IV must always be diffrent for diffrent input data blocks.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>in</em>&nbsp;</td><td>data to encrypt </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>out</em>&nbsp;</td><td>data to encrypt </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>length of data </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>ks1</em>&nbsp;</td><td>key schedule to use </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>ks2</em>&nbsp;</td><td>key schedule to use </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>ks3</em>&nbsp;</td><td>key schedule to use </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>iv</em>&nbsp;</td><td>initial vector to use </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>encp</em>&nbsp;</td><td>if non zero, encrypt. if zero, decrypt. </td></tr>
+</div><div class="memdoc">
+<p>Encrypt/decrypt using Triple DES in Chain Block Cipher mode (cbc).</p>
+<p>The IV must always be diffrent for diffrent input data blocks.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">in</td><td>data to encrypt </td></tr>
+ <tr><td class="paramname">out</td><td>data to encrypt </td></tr>
+ <tr><td class="paramname">length</td><td>length of data </td></tr>
+ <tr><td class="paramname">ks1</td><td>key schedule to use </td></tr>
+ <tr><td class="paramname">ks2</td><td>key schedule to use </td></tr>
+ <tr><td class="paramname">ks3</td><td>key schedule to use </td></tr>
+ <tr><td class="paramname">iv</td><td>initial vector to use </td></tr>
+ <tr><td class="paramname">encp</td><td>if non zero, encrypt. if zero, decrypt. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="g39662a8c2218601d402a895f08813662"></a><!-- doxytag: member="des.c::DES_encrypt" ref="g39662a8c2218601d402a895f08813662" args="(uint32_t u[2], DES_key_schedule *ks, int encp)" -->
+</div>
+<a id="ga39662a8c2218601d402a895f08813662"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga39662a8c2218601d402a895f08813662">&#9670;&nbsp;</a></span>DES_encrypt()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void DES_encrypt </td>
+ <td class="memname">void DES_encrypt </td>
<td>(</td>
- <td class="paramtype">uint32_t&nbsp;</td>
- <td class="paramname"> <em>u</em>[2], </td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>u</em>[2], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">DES_key_schedule *&nbsp;</td>
- <td class="paramname"> <em>ks</em>, </td>
+ <td class="paramtype">DES_key_schedule *&#160;</td>
+ <td class="paramname"><em>ks</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">int&nbsp;</td>
- <td class="paramname"> <em>encp</em></td><td>&nbsp;</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>encp</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Encrypt/decrypt a block using DES. Also called ECB mode<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>u</em>&nbsp;</td><td>data to encrypt </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>ks</em>&nbsp;</td><td>key schedule to use </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>encp</em>&nbsp;</td><td>if non zero, encrypt. if zero, decrypt. </td></tr>
+</div><div class="memdoc">
+<p>Encrypt/decrypt a block using DES. Also called ECB mode</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">u</td><td>data to encrypt </td></tr>
+ <tr><td class="paramname">ks</td><td>key schedule to use </td></tr>
+ <tr><td class="paramname">encp</td><td>if non zero, encrypt. if zero, decrypt. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="g45739e74db49d07bfaa0d7918efd4875"></a><!-- doxytag: member="rnd_keys.c::DES_init_random_number_generator" ref="g45739e74db49d07bfaa0d7918efd4875" args="(DES_cblock *seed)" -->
+</div>
+<a id="ga45739e74db49d07bfaa0d7918efd4875"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga45739e74db49d07bfaa0d7918efd4875">&#9670;&nbsp;</a></span>DES_init_random_number_generator()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void HC_DEPRECATED DES_init_random_number_generator </td>
+ <td class="memname">void HC_DEPRECATED DES_init_random_number_generator </td>
<td>(</td>
- <td class="paramtype">DES_cblock *&nbsp;</td>
- <td class="paramname"> <em>seed</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">DES_cblock *&#160;</td>
+ <td class="paramname"><em>seed</em></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Seed the random number generator. Deprecated, use <a class="el" href="page_rand.html">RAND - random number</a><p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>seed</em>&nbsp;</td><td>a seed to seed that random number generate with. </td></tr>
+</div><div class="memdoc">
+<p>Seed the random number generator. Deprecated, use <a class="el" href="page_rand.html">RAND - random number</a></p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">seed</td><td>a seed to seed that random number generate with. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="g0d8a49cafee4be6cd3922bfb6323fd2d"></a><!-- doxytag: member="des.c::DES_is_weak_key" ref="g0d8a49cafee4be6cd3922bfb6323fd2d" args="(DES_cblock *key)" -->
+</div>
+<a id="ga0d8a49cafee4be6cd3922bfb6323fd2d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga0d8a49cafee4be6cd3922bfb6323fd2d">&#9670;&nbsp;</a></span>DES_is_weak_key()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int DES_is_weak_key </td>
+ <td class="memname">int DES_is_weak_key </td>
<td>(</td>
- <td class="paramtype">DES_cblock *&nbsp;</td>
- <td class="paramname"> <em>key</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">DES_cblock *&#160;</td>
+ <td class="paramname"><em>key</em></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Checks if the key is any of the weaks keys that makes DES attacks trival.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>key to check.</td></tr>
+</div><div class="memdoc">
+<p>Checks if the key is any of the weaks keys that makes DES attacks trival.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">key</td><td>key to check.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if the key is weak, 0 otherwise. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>1 if the key is weak, 0 otherwise. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="gf5b4967f13a4a52c214c28b6e57a3a95"></a><!-- doxytag: member="des.c::DES_key_sched" ref="gf5b4967f13a4a52c214c28b6e57a3a95" args="(DES_cblock *key, DES_key_schedule *ks)" -->
+</div>
+<a id="gaf5b4967f13a4a52c214c28b6e57a3a95"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gaf5b4967f13a4a52c214c28b6e57a3a95">&#9670;&nbsp;</a></span>DES_key_sched()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int DES_key_sched </td>
+ <td class="memname">int DES_key_sched </td>
<td>(</td>
- <td class="paramtype">DES_cblock *&nbsp;</td>
- <td class="paramname"> <em>key</em>, </td>
+ <td class="paramtype">DES_cblock *&#160;</td>
+ <td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">DES_key_schedule *&nbsp;</td>
- <td class="paramname"> <em>ks</em></td><td>&nbsp;</td>
+ <td class="paramtype">DES_key_schedule *&#160;</td>
+ <td class="paramname"><em>ks</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Compatibility function for eay libdes, works just like <a class="el" href="group__hcrypto__des.html#g3157dd2419a25cd4381867f012117d07">DES_set_key_checked()</a>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>a key to initialize the key schedule with. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>ks</em>&nbsp;</td><td>a key schedule to initialize.</td></tr>
+</div><div class="memdoc">
+<p>Compatibility function for eay libdes, works just like <a class="el" href="group__hcrypto__des.html#ga3157dd2419a25cd4381867f012117d07">DES_set_key_checked()</a>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">key</td><td>a key to initialize the key schedule with. </td></tr>
+ <tr><td class="paramname">ks</td><td>a key schedule to initialize.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, -1 on invalid parity, -2 on weak key. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>0 on success, -1 on invalid parity, -2 on weak key. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="gcd3642bcd8a7e93ea977786e5b540d5f"></a><!-- doxytag: member="rnd_keys.c::DES_new_random_key" ref="gcd3642bcd8a7e93ea977786e5b540d5f" args="(DES_cblock *key)" -->
+</div>
+<a id="gacd3642bcd8a7e93ea977786e5b540d5f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gacd3642bcd8a7e93ea977786e5b540d5f">&#9670;&nbsp;</a></span>DES_new_random_key()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int HC_DEPRECATED DES_new_random_key </td>
+ <td class="memname">int HC_DEPRECATED DES_new_random_key </td>
<td>(</td>
- <td class="paramtype">DES_cblock *&nbsp;</td>
- <td class="paramname"> <em>key</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">DES_cblock *&#160;</td>
+ <td class="paramname"><em>key</em></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Generate a random des key using a random block, fixup parity and skip weak keys.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>is set to a random key.</td></tr>
+</div><div class="memdoc">
+<p>Generate a random des key using a random block, fixup parity and skip weak keys.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">key</td><td>is set to a random key.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, non zero on random number generator failure. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>0 on success, non zero on random number generator failure. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g336e497f66748e92b93fc0b4512d78c2"></a><!-- doxytag: member="des.c::DES_pcbc_encrypt" ref="g336e497f66748e92b93fc0b4512d78c2" args="(const void *in, void *out, long length, DES_key_schedule *ks, DES_cblock *iv, int encp)" -->
+</div>
+<a id="ga336e497f66748e92b93fc0b4512d78c2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga336e497f66748e92b93fc0b4512d78c2">&#9670;&nbsp;</a></span>DES_pcbc_encrypt()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void DES_pcbc_encrypt </td>
+ <td class="memname">void DES_pcbc_encrypt </td>
<td>(</td>
- <td class="paramtype">const void *&nbsp;</td>
- <td class="paramname"> <em>in</em>, </td>
+ <td class="paramtype">const void *&#160;</td>
+ <td class="paramname"><em>in</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">void *&nbsp;</td>
- <td class="paramname"> <em>out</em>, </td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>out</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">long&nbsp;</td>
- <td class="paramname"> <em>length</em>, </td>
+ <td class="paramtype">long&#160;</td>
+ <td class="paramname"><em>length</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">DES_key_schedule *&nbsp;</td>
- <td class="paramname"> <em>ks</em>, </td>
+ <td class="paramtype">DES_key_schedule *&#160;</td>
+ <td class="paramname"><em>ks</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">DES_cblock *&nbsp;</td>
- <td class="paramname"> <em>iv</em>, </td>
+ <td class="paramtype">DES_cblock *&#160;</td>
+ <td class="paramname"><em>iv</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">int&nbsp;</td>
- <td class="paramname"> <em>encp</em></td><td>&nbsp;</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>encp</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Encrypt/decrypt a block using DES in Propagating Cipher Block Chaining mode. This mode is only used for Kerberos 4, and it should stay that way.<p>
-The IV must always be diffrent for diffrent input data blocks.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>in</em>&nbsp;</td><td>data to encrypt </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>out</em>&nbsp;</td><td>data to encrypt </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>length of data </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>ks</em>&nbsp;</td><td>key schedule to use </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>iv</em>&nbsp;</td><td>initial vector to use </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>encp</em>&nbsp;</td><td>if non zero, encrypt. if zero, decrypt. </td></tr>
+</div><div class="memdoc">
+<p>Encrypt/decrypt a block using DES in Propagating Cipher Block Chaining mode. This mode is only used for Kerberos 4, and it should stay that way.</p>
+<p>The IV must always be diffrent for diffrent input data blocks.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">in</td><td>data to encrypt </td></tr>
+ <tr><td class="paramname">out</td><td>data to encrypt </td></tr>
+ <tr><td class="paramname">length</td><td>length of data </td></tr>
+ <tr><td class="paramname">ks</td><td>key schedule to use </td></tr>
+ <tr><td class="paramname">iv</td><td>initial vector to use </td></tr>
+ <tr><td class="paramname">encp</td><td>if non zero, encrypt. if zero, decrypt. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="gd70d485549f7444589f3283e938c0258"></a><!-- doxytag: member="rnd_keys.c::DES_random_key" ref="gd70d485549f7444589f3283e938c0258" args="(DES_cblock *key)" -->
+</div>
+<a id="gad70d485549f7444589f3283e938c0258"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gad70d485549f7444589f3283e938c0258">&#9670;&nbsp;</a></span>DES_random_key()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void HC_DEPRECATED DES_random_key </td>
+ <td class="memname">void HC_DEPRECATED DES_random_key </td>
<td>(</td>
- <td class="paramtype">DES_cblock *&nbsp;</td>
- <td class="paramname"> <em>key</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">DES_cblock *&#160;</td>
+ <td class="paramname"><em>key</em></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Generate a random key, deprecated since it doesn't return an error code, use <a class="el" href="group__hcrypto__des.html#gcd3642bcd8a7e93ea977786e5b540d5f">DES_new_random_key()</a>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>is set to a random key. </td></tr>
+</div><div class="memdoc">
+<p>Generate a random key, deprecated since it doesn't return an error code, use <a class="el" href="group__hcrypto__des.html#gacd3642bcd8a7e93ea977786e5b540d5f">DES_new_random_key()</a>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">key</td><td>is set to a random key. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="gad10e059974f3048b3de49599989486b"></a><!-- doxytag: member="des.c::DES_set_key" ref="gad10e059974f3048b3de49599989486b" args="(DES_cblock *key, DES_key_schedule *ks)" -->
+</div>
+<a id="gaad10e059974f3048b3de49599989486b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gaad10e059974f3048b3de49599989486b">&#9670;&nbsp;</a></span>DES_set_key()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int HC_DEPRECATED DES_set_key </td>
+ <td class="memname">int HC_DEPRECATED DES_set_key </td>
<td>(</td>
- <td class="paramtype">DES_cblock *&nbsp;</td>
- <td class="paramname"> <em>key</em>, </td>
+ <td class="paramtype">DES_cblock *&#160;</td>
+ <td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">DES_key_schedule *&nbsp;</td>
- <td class="paramname"> <em>ks</em></td><td>&nbsp;</td>
+ <td class="paramtype">DES_key_schedule *&#160;</td>
+ <td class="paramname"><em>ks</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Setup a des key schedule from a key. Deprecated function, use <a class="el" href="group__hcrypto__des.html#g8131d59b5c0f65ca8bba0873932680d5">DES_set_key_unchecked()</a> or <a class="el" href="group__hcrypto__des.html#g3157dd2419a25cd4381867f012117d07">DES_set_key_checked()</a> instead.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>a key to initialize the key schedule with. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>ks</em>&nbsp;</td><td>a key schedule to initialize.</td></tr>
+</div><div class="memdoc">
+<p>Setup a des key schedule from a key. Deprecated function, use <a class="el" href="group__hcrypto__des.html#ga8131d59b5c0f65ca8bba0873932680d5">DES_set_key_unchecked()</a> or <a class="el" href="group__hcrypto__des.html#ga3157dd2419a25cd4381867f012117d07">DES_set_key_checked()</a> instead.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">key</td><td>a key to initialize the key schedule with. </td></tr>
+ <tr><td class="paramname">ks</td><td>a key schedule to initialize.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>0 on success </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g3157dd2419a25cd4381867f012117d07"></a><!-- doxytag: member="des.c::DES_set_key_checked" ref="g3157dd2419a25cd4381867f012117d07" args="(DES_cblock *key, DES_key_schedule *ks)" -->
+</div>
+<a id="ga3157dd2419a25cd4381867f012117d07"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga3157dd2419a25cd4381867f012117d07">&#9670;&nbsp;</a></span>DES_set_key_checked()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int DES_set_key_checked </td>
+ <td class="memname">int DES_set_key_checked </td>
<td>(</td>
- <td class="paramtype">DES_cblock *&nbsp;</td>
- <td class="paramname"> <em>key</em>, </td>
+ <td class="paramtype">DES_cblock *&#160;</td>
+ <td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">DES_key_schedule *&nbsp;</td>
- <td class="paramname"> <em>ks</em></td><td>&nbsp;</td>
+ <td class="paramtype">DES_key_schedule *&#160;</td>
+ <td class="paramname"><em>ks</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Just like <a class="el" href="group__hcrypto__des.html#g8131d59b5c0f65ca8bba0873932680d5">DES_set_key_unchecked()</a> except checking that the key is not weak for or have correct parity.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>a key to initialize the key schedule with. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>ks</em>&nbsp;</td><td>a key schedule to initialize.</td></tr>
+</div><div class="memdoc">
+<p>Just like <a class="el" href="group__hcrypto__des.html#ga8131d59b5c0f65ca8bba0873932680d5">DES_set_key_unchecked()</a> except checking that the key is not weak for or have correct parity.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">key</td><td>a key to initialize the key schedule with. </td></tr>
+ <tr><td class="paramname">ks</td><td>a key schedule to initialize.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, -1 on invalid parity, -2 on weak key. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>0 on success, -1 on invalid parity, -2 on weak key. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g8131d59b5c0f65ca8bba0873932680d5"></a><!-- doxytag: member="des.c::DES_set_key_unchecked" ref="g8131d59b5c0f65ca8bba0873932680d5" args="(DES_cblock *key, DES_key_schedule *ks)" -->
+</div>
+<a id="ga8131d59b5c0f65ca8bba0873932680d5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga8131d59b5c0f65ca8bba0873932680d5">&#9670;&nbsp;</a></span>DES_set_key_unchecked()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int DES_set_key_unchecked </td>
+ <td class="memname">int DES_set_key_unchecked </td>
<td>(</td>
- <td class="paramtype">DES_cblock *&nbsp;</td>
- <td class="paramname"> <em>key</em>, </td>
+ <td class="paramtype">DES_cblock *&#160;</td>
+ <td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">DES_key_schedule *&nbsp;</td>
- <td class="paramname"> <em>ks</em></td><td>&nbsp;</td>
+ <td class="paramtype">DES_key_schedule *&#160;</td>
+ <td class="paramname"><em>ks</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Setup a des key schedule from a key. The key is no longer needed after this transaction and can cleared.<p>
-Does NOT check that the key is weak for or have wrong parity.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>a key to initialize the key schedule with. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>ks</em>&nbsp;</td><td>a key schedule to initialize.</td></tr>
+</div><div class="memdoc">
+<p>Setup a des key schedule from a key. The key is no longer needed after this transaction and can cleared.</p>
+<p>Does NOT check that the key is weak for or have wrong parity.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">key</td><td>a key to initialize the key schedule with. </td></tr>
+ <tr><td class="paramname">ks</td><td>a key schedule to initialize.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>0 on success </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g4179bef43ceb72cc2034f39e7d2d5ae4"></a><!-- doxytag: member="des.c::DES_set_odd_parity" ref="g4179bef43ceb72cc2034f39e7d2d5ae4" args="(DES_cblock *key)" -->
+</div>
+<a id="ga4179bef43ceb72cc2034f39e7d2d5ae4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga4179bef43ceb72cc2034f39e7d2d5ae4">&#9670;&nbsp;</a></span>DES_set_odd_parity()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void DES_set_odd_parity </td>
+ <td class="memname">void DES_set_odd_parity </td>
<td>(</td>
- <td class="paramtype">DES_cblock *&nbsp;</td>
- <td class="paramname"> <em>key</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">DES_cblock *&#160;</td>
+ <td class="paramname"><em>key</em></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Set the parity of the key block, used to generate a des key from a random key. See <a class="el" href="page_des.html#des_keygen">DES key generation</a>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>key to fixup the parity for. </td></tr>
+</div><div class="memdoc">
+<p>Set the parity of the key block, used to generate a des key from a random key. See <a class="el" href="page_des.html#des_keygen">DES key generation</a>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">key</td><td>key to fixup the parity for. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="g60893cdc75d9ce8cbf4a5d7a874855c8"></a><!-- doxytag: member="des.c::DES_string_to_key" ref="g60893cdc75d9ce8cbf4a5d7a874855c8" args="(const char *str, DES_cblock *key)" -->
+</div>
+<a id="ga60893cdc75d9ce8cbf4a5d7a874855c8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga60893cdc75d9ce8cbf4a5d7a874855c8">&#9670;&nbsp;</a></span>DES_string_to_key()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void DES_string_to_key </td>
+ <td class="memname">void DES_string_to_key </td>
<td>(</td>
- <td class="paramtype">const char *&nbsp;</td>
- <td class="paramname"> <em>str</em>, </td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>str</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">DES_cblock *&nbsp;</td>
- <td class="paramname"> <em>key</em></td><td>&nbsp;</td>
+ <td class="paramtype">DES_cblock *&#160;</td>
+ <td class="paramname"><em>key</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Convert a string to a DES key. Use something like <a class="el" href="group__hcrypto__misc.html#gece1627cc5535ef7b5e86e2f5a3eec04">PKCS5_PBKDF2_HMAC_SHA1()</a> to create key from passwords.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>The string to convert to a key </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>the resulting key </td></tr>
+</div><div class="memdoc">
+<p>Convert a string to a DES key. Use something like <a class="el" href="group__hcrypto__misc.html#gaece1627cc5535ef7b5e86e2f5a3eec04">PKCS5_PBKDF2_HMAC_SHA1()</a> to create key from passwords.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">str</td><td>The string to convert to a key </td></tr>
+ <tr><td class="paramname">key</td><td>the resulting key </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
</div>
+</div><!-- contents -->
<hr size="1"><address style="text-align: right;"><small>
-Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address>
+Generated on Fri Dec 8 2017 03:49:01 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address>
</body>
</html>
diff --git a/doc/doxyout/hcrypto/html/group__hcrypto__dh.html b/doc/doxyout/hcrypto/html/group__hcrypto__dh.html
index 723ed0ee006f..e8f00d202b7b 100644
--- a/doc/doxyout/hcrypto/html/group__hcrypto__dh.html
+++ b/doc/doxyout/hcrypto/html/group__hcrypto__dh.html
@@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>Heimdal crypto library: Diffie-Hellman functions</title>
+<title>Diffie-Hellman functions</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@@ -8,574 +8,561 @@
<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
</p>
<!-- end of header marker -->
-<!-- Generated by Doxygen 1.5.6 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="examples.html"><span>Examples</span></a></li>
- </ul>
- </div>
-</div>
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+ initMenu('',false,false,'search.php','Search');
+});
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">Diffie-Hellman functions</div> </div>
+</div><!--header-->
<div class="contents">
-<h1>Diffie-Hellman functions</h1><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const DH_METHOD *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#gbfe13af1fef654a94a9be268df6d8809">DH_ltm_method</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">DH *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#g76c6e12bd1f0b9977d80fee83b086031">DH_new</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">DH *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#g2e97e03aee56c6094bb7fd6322b3ce68">DH_new_method</a> (ENGINE *engine)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#g1f15312ca21e290ee714e86578820c35">DH_free</a> (DH *dh)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#gf7c3e51cba326865c3684012c2337df1">DH_up_ref</a> (DH *dh)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#g9e1fdd62e3bfe4b671dbfc363f0e6297">DH_size</a> (const DH *dh)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#g7a03e7589a8473ed34cf2a4177709c0e">DH_set_ex_data</a> (DH *dh, int idx, void *data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#g25fff6e977829c49410f046b8cc3471d">DH_get_ex_data</a> (DH *dh, int idx)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#g11ef051e93bc408f3e7ba77d44c5d3cb">DH_generate_parameters_ex</a> (DH *dh, int prime_len, int generator, BN_GENCB *cb)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#g8995ef180ab448fdedde5da65f6ea249">DH_check_pubkey</a> (const DH *dh, const BIGNUM *pub_key, int *codes)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#gb90ec6b9e64f62c05754731c0c13ea01">DH_generate_key</a> (DH *dh)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#gf8b793df62108341ed3dc54a0ca75ca8">DH_compute_key</a> (unsigned char *shared_key, const BIGNUM *peer_pub_key, DH *dh)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#ge8f6c9ec1c2e4904439227a952980fdd">DH_set_method</a> (DH *dh, const DH_METHOD *method)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const DH_METHOD *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#g1e3dc0dbc1ba678716d28654c0eded84">DH_null_method</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#g6c63e1e8af5957d7f798439c854d06b6">DH_set_default_method</a> (const DH_METHOD *meth)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const DH_METHOD *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#ge2b07654d087940e36e7583887d8b070">DH_get_default_method</a> (void)</td></tr>
-
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:gabfe13af1fef654a94a9be268df6d8809"><td class="memItemLeft" align="right" valign="top">const DH_METHOD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#gabfe13af1fef654a94a9be268df6d8809">DH_ltm_method</a> (void)</td></tr>
+<tr class="separator:gabfe13af1fef654a94a9be268df6d8809"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga76c6e12bd1f0b9977d80fee83b086031"><td class="memItemLeft" align="right" valign="top">DH *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#ga76c6e12bd1f0b9977d80fee83b086031">DH_new</a> (void)</td></tr>
+<tr class="separator:ga76c6e12bd1f0b9977d80fee83b086031"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2e97e03aee56c6094bb7fd6322b3ce68"><td class="memItemLeft" align="right" valign="top">DH *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#ga2e97e03aee56c6094bb7fd6322b3ce68">DH_new_method</a> (ENGINE *engine)</td></tr>
+<tr class="separator:ga2e97e03aee56c6094bb7fd6322b3ce68"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1f15312ca21e290ee714e86578820c35"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#ga1f15312ca21e290ee714e86578820c35">DH_free</a> (DH *dh)</td></tr>
+<tr class="separator:ga1f15312ca21e290ee714e86578820c35"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf7c3e51cba326865c3684012c2337df1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#gaf7c3e51cba326865c3684012c2337df1">DH_up_ref</a> (DH *dh)</td></tr>
+<tr class="separator:gaf7c3e51cba326865c3684012c2337df1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga9e1fdd62e3bfe4b671dbfc363f0e6297"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#ga9e1fdd62e3bfe4b671dbfc363f0e6297">DH_size</a> (const DH *dh)</td></tr>
+<tr class="separator:ga9e1fdd62e3bfe4b671dbfc363f0e6297"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7a03e7589a8473ed34cf2a4177709c0e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#ga7a03e7589a8473ed34cf2a4177709c0e">DH_set_ex_data</a> (DH *dh, int idx, void *data)</td></tr>
+<tr class="separator:ga7a03e7589a8473ed34cf2a4177709c0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga25fff6e977829c49410f046b8cc3471d"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#ga25fff6e977829c49410f046b8cc3471d">DH_get_ex_data</a> (DH *dh, int idx)</td></tr>
+<tr class="separator:ga25fff6e977829c49410f046b8cc3471d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga11ef051e93bc408f3e7ba77d44c5d3cb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#ga11ef051e93bc408f3e7ba77d44c5d3cb">DH_generate_parameters_ex</a> (DH *dh, int prime_len, int generator, BN_GENCB *cb)</td></tr>
+<tr class="separator:ga11ef051e93bc408f3e7ba77d44c5d3cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8995ef180ab448fdedde5da65f6ea249"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#ga8995ef180ab448fdedde5da65f6ea249">DH_check_pubkey</a> (const DH *dh, const BIGNUM *pub_key, int *codes)</td></tr>
+<tr class="separator:ga8995ef180ab448fdedde5da65f6ea249"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab90ec6b9e64f62c05754731c0c13ea01"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#gab90ec6b9e64f62c05754731c0c13ea01">DH_generate_key</a> (DH *dh)</td></tr>
+<tr class="separator:gab90ec6b9e64f62c05754731c0c13ea01"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf8b793df62108341ed3dc54a0ca75ca8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#gaf8b793df62108341ed3dc54a0ca75ca8">DH_compute_key</a> (unsigned char *shared_key, const BIGNUM *peer_pub_key, DH *dh)</td></tr>
+<tr class="separator:gaf8b793df62108341ed3dc54a0ca75ca8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae8f6c9ec1c2e4904439227a952980fdd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#gae8f6c9ec1c2e4904439227a952980fdd">DH_set_method</a> (DH *dh, const DH_METHOD *method)</td></tr>
+<tr class="separator:gae8f6c9ec1c2e4904439227a952980fdd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1e3dc0dbc1ba678716d28654c0eded84"><td class="memItemLeft" align="right" valign="top">const DH_METHOD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#ga1e3dc0dbc1ba678716d28654c0eded84">DH_null_method</a> (void)</td></tr>
+<tr class="separator:ga1e3dc0dbc1ba678716d28654c0eded84"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6c63e1e8af5957d7f798439c854d06b6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#ga6c63e1e8af5957d7f798439c854d06b6">DH_set_default_method</a> (const DH_METHOD *meth)</td></tr>
+<tr class="separator:ga6c63e1e8af5957d7f798439c854d06b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae2b07654d087940e36e7583887d8b070"><td class="memItemLeft" align="right" valign="top">const DH_METHOD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__dh.html#gae2b07654d087940e36e7583887d8b070">DH_get_default_method</a> (void)</td></tr>
+<tr class="separator:gae2b07654d087940e36e7583887d8b070"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-See the <a class="el" href="page_dh.html">DH - Diffie-Hellman key exchange</a> for description and examples. <hr><h2>Function Documentation</h2>
-<a class="anchor" name="g8995ef180ab448fdedde5da65f6ea249"></a><!-- doxytag: member="dh.c::DH_check_pubkey" ref="g8995ef180ab448fdedde5da65f6ea249" args="(const DH *dh, const BIGNUM *pub_key, int *codes)" -->
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<p>See the <a class="el" href="page_dh.html">DH - Diffie-Hellman key exchange</a> for description and examples. </p>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="ga8995ef180ab448fdedde5da65f6ea249"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga8995ef180ab448fdedde5da65f6ea249">&#9670;&nbsp;</a></span>DH_check_pubkey()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int DH_check_pubkey </td>
+ <td class="memname">int DH_check_pubkey </td>
<td>(</td>
- <td class="paramtype">const DH *&nbsp;</td>
- <td class="paramname"> <em>dh</em>, </td>
+ <td class="paramtype">const DH *&#160;</td>
+ <td class="paramname"><em>dh</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const BIGNUM *&nbsp;</td>
- <td class="paramname"> <em>pub_key</em>, </td>
+ <td class="paramtype">const BIGNUM *&#160;</td>
+ <td class="paramname"><em>pub_key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">int *&nbsp;</td>
- <td class="paramname"> <em>codes</em></td><td>&nbsp;</td>
+ <td class="paramtype">int *&#160;</td>
+ <td class="paramname"><em>codes</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Check that the public key is sane.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>dh</em>&nbsp;</td><td>the local peer DH parameters. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>pub_key</em>&nbsp;</td><td>the remote peer public key parameters. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>codes</em>&nbsp;</td><td>return that the failures of the pub_key are.</td></tr>
+</div><div class="memdoc">
+<p>Check that the public key is sane.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">dh</td><td>the local peer DH parameters. </td></tr>
+ <tr><td class="paramname">pub_key</td><td>the remote peer public key parameters. </td></tr>
+ <tr><td class="paramname">codes</td><td>return that the failures of the pub_key are.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure and *codes is set the the combined fail check for the public key </dd></dl>
-
-<p>
-Checks that the function performs are:<ul>
-<li>pub_key is not negative</li></ul>
-<p>
-<ul>
-<li>pub_key &gt; 1 and pub_key &lt; p - 1, to avoid small subgroups attack.</li></ul>
-<p>
-<ul>
-<li>if g == 2, pub_key have more then one bit set, if bits set is 1, log_2(pub_key) is trival </li></ul>
+<dl class="section return"><dt>Returns</dt><dd>1 on success, 0 on failure and *codes is set the the combined fail check for the public key </dd></dl>
+<p>Checks that the function performs are:</p><ul>
+<li>pub_key is not negative</li>
+<li>pub_key &gt; 1 and pub_key &lt; p - 1, to avoid small subgroups attack.</li>
+<li>if g == 2, pub_key have more then one bit set, if bits set is 1, log_2(pub_key) is trival</li>
+</ul>
</div>
-</div><p>
-<a class="anchor" name="gf8b793df62108341ed3dc54a0ca75ca8"></a><!-- doxytag: member="dh.c::DH_compute_key" ref="gf8b793df62108341ed3dc54a0ca75ca8" args="(unsigned char *shared_key, const BIGNUM *peer_pub_key, DH *dh)" -->
+</div>
+<a id="gaf8b793df62108341ed3dc54a0ca75ca8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gaf8b793df62108341ed3dc54a0ca75ca8">&#9670;&nbsp;</a></span>DH_compute_key()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int DH_compute_key </td>
+ <td class="memname">int DH_compute_key </td>
<td>(</td>
- <td class="paramtype">unsigned char *&nbsp;</td>
- <td class="paramname"> <em>shared_key</em>, </td>
+ <td class="paramtype">unsigned char *&#160;</td>
+ <td class="paramname"><em>shared_key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const BIGNUM *&nbsp;</td>
- <td class="paramname"> <em>peer_pub_key</em>, </td>
+ <td class="paramtype">const BIGNUM *&#160;</td>
+ <td class="paramname"><em>peer_pub_key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">DH *&nbsp;</td>
- <td class="paramname"> <em>dh</em></td><td>&nbsp;</td>
+ <td class="paramtype">DH *&#160;</td>
+ <td class="paramname"><em>dh</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Complute the shared secret key.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>shared_key</em>&nbsp;</td><td>the resulting shared key, need to be at least <a class="el" href="group__hcrypto__dh.html#g9e1fdd62e3bfe4b671dbfc363f0e6297">DH_size()</a> large. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>peer_pub_key</em>&nbsp;</td><td>the peer's public key. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>dh</em>&nbsp;</td><td>the dh key pair.</td></tr>
+</div><div class="memdoc">
+<p>Complute the shared secret key.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">shared_key</td><td>the resulting shared key, need to be at least <a class="el" href="group__hcrypto__dh.html#ga9e1fdd62e3bfe4b671dbfc363f0e6297">DH_size()</a> large. </td></tr>
+ <tr><td class="paramname">peer_pub_key</td><td>the peer's public key. </td></tr>
+ <tr><td class="paramname">dh</td><td>the dh key pair.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>1 on success. </dd></dl>
+<p>Checks that the pubkey passed in is valid using <a class="el" href="group__hcrypto__dh.html#ga8995ef180ab448fdedde5da65f6ea249">DH_check_pubkey()</a>.</p>
-<p>
-Checks that the pubkey passed in is valid using <a class="el" href="group__hcrypto__dh.html#g8995ef180ab448fdedde5da65f6ea249">DH_check_pubkey()</a>.
</div>
-</div><p>
-<a class="anchor" name="g1f15312ca21e290ee714e86578820c35"></a><!-- doxytag: member="dh.c::DH_free" ref="g1f15312ca21e290ee714e86578820c35" args="(DH *dh)" -->
+</div>
+<a id="ga1f15312ca21e290ee714e86578820c35"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga1f15312ca21e290ee714e86578820c35">&#9670;&nbsp;</a></span>DH_free()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void DH_free </td>
+ <td class="memname">void DH_free </td>
<td>(</td>
- <td class="paramtype">DH *&nbsp;</td>
- <td class="paramname"> <em>dh</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">DH *&#160;</td>
+ <td class="paramname"><em>dh</em></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Free a DH object and release related resources, like ENGINE, that the object was using.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>dh</em>&nbsp;</td><td>object to be freed. </td></tr>
+</div><div class="memdoc">
+<p>Free a DH object and release related resources, like ENGINE, that the object was using.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">dh</td><td>object to be freed. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="gb90ec6b9e64f62c05754731c0c13ea01"></a><!-- doxytag: member="dh.c::DH_generate_key" ref="gb90ec6b9e64f62c05754731c0c13ea01" args="(DH *dh)" -->
+</div>
+<a id="gab90ec6b9e64f62c05754731c0c13ea01"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gab90ec6b9e64f62c05754731c0c13ea01">&#9670;&nbsp;</a></span>DH_generate_key()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int DH_generate_key </td>
+ <td class="memname">int DH_generate_key </td>
<td>(</td>
- <td class="paramtype">DH *&nbsp;</td>
- <td class="paramname"> <em>dh</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">DH *&#160;</td>
+ <td class="paramname"><em>dh</em></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Generate a new DH private-public key pair. The dh parameter must be allocted first with <a class="el" href="group__hcrypto__dh.html#g76c6e12bd1f0b9977d80fee83b086031">DH_new()</a>. dh-&gt;p and dp-&gt;g must be set.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>dh</em>&nbsp;</td><td>dh parameter.</td></tr>
+</div><div class="memdoc">
+<p>Generate a new DH private-public key pair. The dh parameter must be allocted first with <a class="el" href="group__hcrypto__dh.html#ga76c6e12bd1f0b9977d80fee83b086031">DH_new()</a>. dh-&gt;p and dp-&gt;g must be set.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">dh</td><td>dh parameter.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>1 on success. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g11ef051e93bc408f3e7ba77d44c5d3cb"></a><!-- doxytag: member="dh.c::DH_generate_parameters_ex" ref="g11ef051e93bc408f3e7ba77d44c5d3cb" args="(DH *dh, int prime_len, int generator, BN_GENCB *cb)" -->
+</div>
+<a id="ga11ef051e93bc408f3e7ba77d44c5d3cb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga11ef051e93bc408f3e7ba77d44c5d3cb">&#9670;&nbsp;</a></span>DH_generate_parameters_ex()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int DH_generate_parameters_ex </td>
+ <td class="memname">int DH_generate_parameters_ex </td>
<td>(</td>
- <td class="paramtype">DH *&nbsp;</td>
- <td class="paramname"> <em>dh</em>, </td>
+ <td class="paramtype">DH *&#160;</td>
+ <td class="paramname"><em>dh</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">int&nbsp;</td>
- <td class="paramname"> <em>prime_len</em>, </td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>prime_len</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">int&nbsp;</td>
- <td class="paramname"> <em>generator</em>, </td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>generator</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">BN_GENCB *&nbsp;</td>
- <td class="paramname"> <em>cb</em></td><td>&nbsp;</td>
+ <td class="paramtype">BN_GENCB *&#160;</td>
+ <td class="paramname"><em>cb</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Generate DH parameters for the DH object give parameters.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>dh</em>&nbsp;</td><td>The DH object to generate parameters for. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>prime_len</em>&nbsp;</td><td>length of the prime </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>generator</em>&nbsp;</td><td>generator, g </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>cb</em>&nbsp;</td><td>Callback parameters to show progress, can be NULL.</td></tr>
+</div><div class="memdoc">
+<p>Generate DH parameters for the DH object give parameters.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">dh</td><td>The DH object to generate parameters for. </td></tr>
+ <tr><td class="paramname">prime_len</td><td>length of the prime </td></tr>
+ <tr><td class="paramname">generator</td><td>generator, g </td></tr>
+ <tr><td class="paramname">cb</td><td>Callback parameters to show progress, can be NULL.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the maximum size in bytes of the out data. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>the maximum size in bytes of the out data. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="ge2b07654d087940e36e7583887d8b070"></a><!-- doxytag: member="dh.c::DH_get_default_method" ref="ge2b07654d087940e36e7583887d8b070" args="(void)" -->
+</div>
+<a id="gae2b07654d087940e36e7583887d8b070"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gae2b07654d087940e36e7583887d8b070">&#9670;&nbsp;</a></span>DH_get_default_method()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const DH_METHOD* DH_get_default_method </td>
+ <td class="memname">const DH_METHOD* DH_get_default_method </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Return the default DH implementation.<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>pointer to a DH_METHOD. </dd></dl>
+</div><div class="memdoc">
+<p>Return the default DH implementation.</p>
+<dl class="section return"><dt>Returns</dt><dd>pointer to a DH_METHOD. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g25fff6e977829c49410f046b8cc3471d"></a><!-- doxytag: member="dh.c::DH_get_ex_data" ref="g25fff6e977829c49410f046b8cc3471d" args="(DH *dh, int idx)" -->
+</div>
+<a id="ga25fff6e977829c49410f046b8cc3471d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga25fff6e977829c49410f046b8cc3471d">&#9670;&nbsp;</a></span>DH_get_ex_data()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void* DH_get_ex_data </td>
+ <td class="memname">void* DH_get_ex_data </td>
<td>(</td>
- <td class="paramtype">DH *&nbsp;</td>
- <td class="paramname"> <em>dh</em>, </td>
+ <td class="paramtype">DH *&#160;</td>
+ <td class="paramname"><em>dh</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">int&nbsp;</td>
- <td class="paramname"> <em>idx</em></td><td>&nbsp;</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>idx</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Get the data for index idx in the DH object.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>dh</em>&nbsp;</td><td>DH object. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>idx</em>&nbsp;</td><td>index to get the data for.</td></tr>
+</div><div class="memdoc">
+<p>Get the data for index idx in the DH object.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">dh</td><td>DH object. </td></tr>
+ <tr><td class="paramname">idx</td><td>index to get the data for.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the object store in index idx </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>the object store in index idx </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="gbfe13af1fef654a94a9be268df6d8809"></a><!-- doxytag: member="dh-ltm.c::DH_ltm_method" ref="gbfe13af1fef654a94a9be268df6d8809" args="(void)" -->
+</div>
+<a id="gabfe13af1fef654a94a9be268df6d8809"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gabfe13af1fef654a94a9be268df6d8809">&#9670;&nbsp;</a></span>DH_ltm_method()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const DH_METHOD* DH_ltm_method </td>
+ <td class="memname">const DH_METHOD* DH_ltm_method </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-DH implementation using libtommath.<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the DH_METHOD for the DH implementation using libtommath. </dd></dl>
+</div><div class="memdoc">
+<p>DH implementation using libtommath.</p>
+<dl class="section return"><dt>Returns</dt><dd>the DH_METHOD for the DH implementation using libtommath. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g76c6e12bd1f0b9977d80fee83b086031"></a><!-- doxytag: member="dh.c::DH_new" ref="g76c6e12bd1f0b9977d80fee83b086031" args="(void)" -->
+</div>
+<a id="ga76c6e12bd1f0b9977d80fee83b086031"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga76c6e12bd1f0b9977d80fee83b086031">&#9670;&nbsp;</a></span>DH_new()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">DH* DH_new </td>
+ <td class="memname">DH* DH_new </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Create a new DH object using DH_new_method(NULL), see <a class="el" href="group__hcrypto__dh.html#g2e97e03aee56c6094bb7fd6322b3ce68">DH_new_method()</a>.<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>a newly allocated DH object. </dd></dl>
+</div><div class="memdoc">
+<p>Create a new DH object using DH_new_method(NULL), see <a class="el" href="group__hcrypto__dh.html#ga2e97e03aee56c6094bb7fd6322b3ce68">DH_new_method()</a>.</p>
+<dl class="section return"><dt>Returns</dt><dd>a newly allocated DH object. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g2e97e03aee56c6094bb7fd6322b3ce68"></a><!-- doxytag: member="dh.c::DH_new_method" ref="g2e97e03aee56c6094bb7fd6322b3ce68" args="(ENGINE *engine)" -->
+</div>
+<a id="ga2e97e03aee56c6094bb7fd6322b3ce68"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga2e97e03aee56c6094bb7fd6322b3ce68">&#9670;&nbsp;</a></span>DH_new_method()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">DH* DH_new_method </td>
+ <td class="memname">DH* DH_new_method </td>
<td>(</td>
- <td class="paramtype">ENGINE *&nbsp;</td>
- <td class="paramname"> <em>engine</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">ENGINE *&#160;</td>
+ <td class="paramname"><em>engine</em></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Create a new DH object from the given engine, if the NULL is used, the default engine is used. Free the DH object with <a class="el" href="group__hcrypto__dh.html#g1f15312ca21e290ee714e86578820c35">DH_free()</a>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>engine</em>&nbsp;</td><td>The engine to use to allocate the DH object.</td></tr>
+</div><div class="memdoc">
+<p>Create a new DH object from the given engine, if the NULL is used, the default engine is used. Free the DH object with <a class="el" href="group__hcrypto__dh.html#ga1f15312ca21e290ee714e86578820c35">DH_free()</a>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">engine</td><td>The engine to use to allocate the DH object.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>a newly allocated DH object. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>a newly allocated DH object. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g1e3dc0dbc1ba678716d28654c0eded84"></a><!-- doxytag: member="dh.c::DH_null_method" ref="g1e3dc0dbc1ba678716d28654c0eded84" args="(void)" -->
+</div>
+<a id="ga1e3dc0dbc1ba678716d28654c0eded84"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga1e3dc0dbc1ba678716d28654c0eded84">&#9670;&nbsp;</a></span>DH_null_method()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const DH_METHOD* DH_null_method </td>
+ <td class="memname">const DH_METHOD* DH_null_method </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Return the dummy DH implementation.<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>pointer to a DH_METHOD. </dd></dl>
+</div><div class="memdoc">
+<p>Return the dummy DH implementation.</p>
+<dl class="section return"><dt>Returns</dt><dd>pointer to a DH_METHOD. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g6c63e1e8af5957d7f798439c854d06b6"></a><!-- doxytag: member="dh.c::DH_set_default_method" ref="g6c63e1e8af5957d7f798439c854d06b6" args="(const DH_METHOD *meth)" -->
+</div>
+<a id="ga6c63e1e8af5957d7f798439c854d06b6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga6c63e1e8af5957d7f798439c854d06b6">&#9670;&nbsp;</a></span>DH_set_default_method()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void DH_set_default_method </td>
+ <td class="memname">void DH_set_default_method </td>
<td>(</td>
- <td class="paramtype">const DH_METHOD *&nbsp;</td>
- <td class="paramname"> <em>meth</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">const DH_METHOD *&#160;</td>
+ <td class="paramname"><em>meth</em></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Set the default DH implementation.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>meth</em>&nbsp;</td><td>pointer to a DH_METHOD. </td></tr>
+</div><div class="memdoc">
+<p>Set the default DH implementation.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">meth</td><td>pointer to a DH_METHOD. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="g7a03e7589a8473ed34cf2a4177709c0e"></a><!-- doxytag: member="dh.c::DH_set_ex_data" ref="g7a03e7589a8473ed34cf2a4177709c0e" args="(DH *dh, int idx, void *data)" -->
+</div>
+<a id="ga7a03e7589a8473ed34cf2a4177709c0e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga7a03e7589a8473ed34cf2a4177709c0e">&#9670;&nbsp;</a></span>DH_set_ex_data()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int DH_set_ex_data </td>
+ <td class="memname">int DH_set_ex_data </td>
<td>(</td>
- <td class="paramtype">DH *&nbsp;</td>
- <td class="paramname"> <em>dh</em>, </td>
+ <td class="paramtype">DH *&#160;</td>
+ <td class="paramname"><em>dh</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">int&nbsp;</td>
- <td class="paramname"> <em>idx</em>, </td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>idx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">void *&nbsp;</td>
- <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>data</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Set the data index idx in the DH object to data.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>dh</em>&nbsp;</td><td>DH object. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>idx</em>&nbsp;</td><td>index to set the data for. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>data to store for the index idx.</td></tr>
+</div><div class="memdoc">
+<p>Set the data index idx in the DH object to data.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">dh</td><td>DH object. </td></tr>
+ <tr><td class="paramname">idx</td><td>index to set the data for. </td></tr>
+ <tr><td class="paramname">data</td><td>data to store for the index idx.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>1 on success. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="ge8f6c9ec1c2e4904439227a952980fdd"></a><!-- doxytag: member="dh.c::DH_set_method" ref="ge8f6c9ec1c2e4904439227a952980fdd" args="(DH *dh, const DH_METHOD *method)" -->
+</div>
+<a id="gae8f6c9ec1c2e4904439227a952980fdd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gae8f6c9ec1c2e4904439227a952980fdd">&#9670;&nbsp;</a></span>DH_set_method()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int DH_set_method </td>
+ <td class="memname">int DH_set_method </td>
<td>(</td>
- <td class="paramtype">DH *&nbsp;</td>
- <td class="paramname"> <em>dh</em>, </td>
+ <td class="paramtype">DH *&#160;</td>
+ <td class="paramname"><em>dh</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const DH_METHOD *&nbsp;</td>
- <td class="paramname"> <em>method</em></td><td>&nbsp;</td>
+ <td class="paramtype">const DH_METHOD *&#160;</td>
+ <td class="paramname"><em>method</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Set a new method for the DH keypair.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>dh</em>&nbsp;</td><td>dh parameter. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>method</em>&nbsp;</td><td>the new method for the DH parameter.</td></tr>
+</div><div class="memdoc">
+<p>Set a new method for the DH keypair.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">dh</td><td>dh parameter. </td></tr>
+ <tr><td class="paramname">method</td><td>the new method for the DH parameter.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>1 on success. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g9e1fdd62e3bfe4b671dbfc363f0e6297"></a><!-- doxytag: member="dh.c::DH_size" ref="g9e1fdd62e3bfe4b671dbfc363f0e6297" args="(const DH *dh)" -->
+</div>
+<a id="ga9e1fdd62e3bfe4b671dbfc363f0e6297"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga9e1fdd62e3bfe4b671dbfc363f0e6297">&#9670;&nbsp;</a></span>DH_size()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int DH_size </td>
+ <td class="memname">int DH_size </td>
<td>(</td>
- <td class="paramtype">const DH *&nbsp;</td>
- <td class="paramname"> <em>dh</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">const DH *&#160;</td>
+ <td class="paramname"><em>dh</em></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-The maximum output size of the <a class="el" href="group__hcrypto__dh.html#gf8b793df62108341ed3dc54a0ca75ca8">DH_compute_key()</a> function.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>dh</em>&nbsp;</td><td>The DH object to get the size from.</td></tr>
+</div><div class="memdoc">
+<p>The maximum output size of the <a class="el" href="group__hcrypto__dh.html#gaf8b793df62108341ed3dc54a0ca75ca8">DH_compute_key()</a> function.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">dh</td><td>The DH object to get the size from.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the maximum size in bytes of the out data. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>the maximum size in bytes of the out data. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="gf7c3e51cba326865c3684012c2337df1"></a><!-- doxytag: member="dh.c::DH_up_ref" ref="gf7c3e51cba326865c3684012c2337df1" args="(DH *dh)" -->
+</div>
+<a id="gaf7c3e51cba326865c3684012c2337df1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gaf7c3e51cba326865c3684012c2337df1">&#9670;&nbsp;</a></span>DH_up_ref()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int DH_up_ref </td>
+ <td class="memname">int DH_up_ref </td>
<td>(</td>
- <td class="paramtype">DH *&nbsp;</td>
- <td class="paramname"> <em>dh</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">DH *&#160;</td>
+ <td class="paramname"><em>dh</em></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Add a reference to the DH object. The object should be free with <a class="el" href="group__hcrypto__dh.html#g1f15312ca21e290ee714e86578820c35">DH_free()</a> to drop the reference.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>dh</em>&nbsp;</td><td>the object to increase the reference count too.</td></tr>
+</div><div class="memdoc">
+<p>Add a reference to the DH object. The object should be free with <a class="el" href="group__hcrypto__dh.html#ga1f15312ca21e290ee714e86578820c35">DH_free()</a> to drop the reference.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">dh</td><td>the object to increase the reference count too.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the updated reference count, can't safely be used except for debug printing. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>the updated reference count, can't safely be used except for debug printing. </dd></dl>
</div>
-</div><p>
</div>
+</div><!-- contents -->
<hr size="1"><address style="text-align: right;"><small>
-Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address>
+Generated on Fri Dec 8 2017 03:49:01 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address>
</body>
</html>
diff --git a/doc/doxyout/hcrypto/html/group__hcrypto__evp.html b/doc/doxyout/hcrypto/html/group__hcrypto__evp.html
index 53e4b4df0cd8..9312451d7d70 100644
--- a/doc/doxyout/hcrypto/html/group__hcrypto__evp.html
+++ b/doc/doxyout/hcrypto/html/group__hcrypto__evp.html
@@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>Heimdal crypto library: EVP generic crypto functions</title>
+<title>EVP generic crypto functions</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@@ -8,2359 +8,3130 @@
<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
</p>
<!-- end of header marker -->
-<!-- Generated by Doxygen 1.5.6 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="examples.html"><span>Examples</span></a></li>
- </ul>
- </div>
-</div>
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+ initMenu('',false,false,'search.php','Search');
+});
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">EVP generic crypto functions</div> </div>
+</div><!--header-->
<div class="contents">
-<h1>EVP generic crypto functions</h1><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g769121c112a501748233bda8345cb47a">EVP_wincrypt_des_ede3_cbc</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g2decf06c0d9b08e364e9c4c8f4d3a7a3">EVP_hcrypto_aes_128_cbc</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g16b21d9262c4af37121b0e85cc83b555">EVP_hcrypto_aes_192_cbc</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g49b683aa07c039ad31d7e498c87ad95f">EVP_hcrypto_aes_256_cbc</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g44eb080ab987799883eae8e64970be6c">EVP_hcrypto_aes_128_cfb8</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g532a6f5c56334ccf8615791bfaef041d">EVP_hcrypto_aes_192_cfb8</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g4f7c34086cea5e4da92f56d543ec24bf">EVP_hcrypto_aes_256_cfb8</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_MD *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g12b7608ec40d059f5539fd24277baae0">EVP_hcrypto_sha256</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_MD *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gc002bcb2cc8ee9bb58b5924ab0bc3533">EVP_hcrypto_sha384</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_MD *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gef3c401b9d2e696f89f27335f4b261e2">EVP_hcrypto_sha512</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_MD *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g5dc409fc540bad0751b96b3f74185477">EVP_hcrypto_sha1</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_MD *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g3c7a8676a690817ec03d71568a7deb1b">EVP_hcrypto_md5</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_MD *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g4456dfa7c2f23830fa32b99969720719">EVP_hcrypto_md4</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_MD *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g89d756ccb4919c5102481da488b86aaa">EVP_hcrypto_md2</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g0cc4edf9d19ebf7198e33ac0c8138f04">EVP_hcrypto_des_cbc</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g1c0e19f28dc594d929f089721e737237">EVP_hcrypto_des_ede3_cbc</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gc238450b802f4e0c78752ef1ba1198e9">EVP_hcrypto_rc2_cbc</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g35d681a86e0ed71b505b53e5fc199ed5">EVP_hcrypto_rc2_40_cbc</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gb7534f69db09cd76e4c36703a9340212">EVP_hcrypto_rc2_64_cbc</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g68deec0ffc93c0dcd83db0478e72d5b8">EVP_hcrypto_camellia_128_cbc</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gfd6acecc697a1f9516909ca228cb54e5">EVP_hcrypto_camellia_192_cbc</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g211f7122bdeeb3551dcd02c37a7a11e6">EVP_hcrypto_camellia_256_cbc</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gbea28e9ccb98329a7a76c95e8699221c">EVP_MD_size</a> (const EVP_MD *md)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g48ccb698903828660dc1722d31311420">EVP_MD_block_size</a> (const EVP_MD *md)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">EVP_MD_CTX *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g54bfa0296db2c131ef69e3a18c445357">EVP_MD_CTX_create</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g3fd216754cf705b7d4980744b1508410">EVP_MD_CTX_init</a> (EVP_MD_CTX *ctx) HC_DEPRECATED</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ge105ea6e5626f521fbe8cad0a85cbe46">EVP_MD_CTX_destroy</a> (EVP_MD_CTX *ctx)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g34dea52c788c741fdb4f8fb051be3308">EVP_MD_CTX_cleanup</a> (EVP_MD_CTX *ctx) HC_DEPRECATED</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_MD *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ged3480025ecf31d0afcb62174d6acc24">EVP_MD_CTX_md</a> (EVP_MD_CTX *ctx)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g25a51444f0586be1494f78e4e17e65f8">EVP_MD_CTX_size</a> (EVP_MD_CTX *ctx)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gb35a28f548e64c74dbfd7198c04dad5d">EVP_MD_CTX_block_size</a> (EVP_MD_CTX *ctx)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gb6b800ba80b850cba223723b28fc9a44">EVP_DigestInit_ex</a> (EVP_MD_CTX *ctx, const EVP_MD *md, ENGINE *engine)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g12039fea1f371ef39a489d450f564338">EVP_DigestUpdate</a> (EVP_MD_CTX *ctx, const void *data, size_t size)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g5103bec19556f264e1f442c6ffc3bddc">EVP_DigestFinal_ex</a> (EVP_MD_CTX *ctx, void *hash, unsigned int *size)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gb785fa9dd0a45be223a0d576af062c4b">EVP_Digest</a> (const void *data, size_t dsize, void *hash, unsigned int *hsize, const EVP_MD *md, ENGINE *engine)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_MD *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gfe55e56742a9b9ecffdaef7e95a6707a">EVP_sha256</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_MD *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g031405a10c84711b9a9699fadc8dbf2a">EVP_sha384</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_MD *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gceda0d5da59b56159d2e3515039a46ce">EVP_sha512</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_MD *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga090d659a494a10525e38d272efb01ae">EVP_sha1</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_MD *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gee62cb107a208bd6984dd767f9feb8c0">EVP_sha</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_MD *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g3ccaad2c97f5cf27adb461b1b50aeabb">EVP_md5</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_MD *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gd232ca5dcef4ec58b182cb967f519999">EVP_md4</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_MD *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g4b583f3de5fc66b04f675428da25efd0">EVP_md2</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_MD *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g5183830cf039ea4d9a2c1bd3c539e9af">EVP_md_null</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g3123ff4b426783dd972538249b9e9d4d">EVP_CIPHER_block_size</a> (const EVP_CIPHER *c)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g4793a9e130da86ac42c497b19395b748">EVP_CIPHER_key_length</a> (const EVP_CIPHER *c)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g7edebe76d19dee11686a6698d24f19f5">EVP_CIPHER_iv_length</a> (const EVP_CIPHER *c)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g13d0ff0e87312566cb6b3591157f9754">EVP_CIPHER_CTX_init</a> (EVP_CIPHER_CTX *c)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gc16dd3987cd90c8bcdbad5290c558359">EVP_CIPHER_CTX_cleanup</a> (EVP_CIPHER_CTX *c)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gc4d29d4bc3473f2499cfa83f0201386c">EVP_CIPHER_CTX_set_key_length</a> (EVP_CIPHER_CTX *c, int length)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g4018621241b76f106903263614967aff">EVP_CIPHER_CTX_cipher</a> (EVP_CIPHER_CTX *ctx)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g9eaa8ae82fd5550771c4dfed92d82d5b">EVP_CIPHER_CTX_block_size</a> (const EVP_CIPHER_CTX *ctx)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gd9a4a54b9b5d0b6035c7522ca461a9db">EVP_CIPHER_CTX_key_length</a> (const EVP_CIPHER_CTX *ctx)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ge160dd334fea8b844a4ef8a2ed5fbb0b">EVP_CIPHER_CTX_iv_length</a> (const EVP_CIPHER_CTX *ctx)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g6f8b7130068dbc4f03fb2cf65cee02bf">EVP_CIPHER_CTX_flags</a> (const EVP_CIPHER_CTX *ctx)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gc8013ca93e9b1ed25df3f535eb633f1a">EVP_CIPHER_CTX_mode</a> (const EVP_CIPHER_CTX *ctx)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g0f78fd8ac0fa0765245e373d42fc90e3">EVP_CIPHER_CTX_get_app_data</a> (EVP_CIPHER_CTX *ctx)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g4fa322f7c3fe5fc570b8343d4d64fc52">EVP_CIPHER_CTX_set_app_data</a> (EVP_CIPHER_CTX *ctx, void *data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g98da5a5c1aa25d9cb2e4717fa11314bd">EVP_CipherInit_ex</a> (EVP_CIPHER_CTX *ctx, const EVP_CIPHER *c, ENGINE *engine, const void *key, const void *iv, int encp)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g863349e1001b36cfd6c4afedddd12862">EVP_CipherUpdate</a> (EVP_CIPHER_CTX *ctx, void *out, int *outlen, void *in, size_t inlen)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g714eef7d737fd68171d852043a4995de">EVP_CipherFinal_ex</a> (EVP_CIPHER_CTX *ctx, void *out, int *outlen)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g70a05495ee115c6eb26d958a5ac75c8b">EVP_enc_null</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gc7d0f7590921dde70bebeebadd2fec36">EVP_rc2_cbc</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g104bcd969bcc30dc3e7e77d63a38a87e">EVP_rc2_40_cbc</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g09cd194a211931839f1e7bb8e578099e">EVP_rc2_64_cbc</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g9cb683240f384ddbd0f3279960af93ba">EVP_rc4</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ge5cbdfcb5012a07fec8df1d6b9c5d772">EVP_rc4_40</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g8ba85e78fac7521ad71cb29ef62beab9">EVP_des_cbc</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g191c1d946437661ee23de2ad9b3383e3">EVP_des_ede3_cbc</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g2747bac943db15c97167ac37fdc2af43">EVP_aes_128_cbc</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g06625e6b350dcb0d99e05bde8d813867">EVP_aes_192_cbc</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g597a638984cfe169f5b794a01076d289">EVP_aes_256_cbc</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g95457efd23f815aaa9d54a39f71bd4f6">EVP_aes_128_cfb8</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g6c566f0f7831881bd835db251372790b">EVP_aes_192_cfb8</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g4bf9f0274a43b3964f1c880900c80ded">EVP_aes_256_cfb8</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g204d1d59a0ec740ed29ec0ebcc2d9c97">EVP_camellia_128_cbc</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g40e2b8cba4baa4ec4aa467bbd1defeb7">EVP_camellia_192_cbc</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g6de35c364f330f1decfb3444c4c6fa3c">EVP_camellia_256_cbc</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const EVP_CIPHER *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gead9b446ac5ebd90dc7be0dbe6aba2b0">EVP_get_cipherbyname</a> (const char *name)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#g25d3fb64e10e2c494858de14fc5d79b3">EVP_BytesToKey</a> (const EVP_CIPHER *type, const EVP_MD *md, const void *salt, const void *data, size_t datalen, unsigned int count, void *keydata, void *ivdata)</td></tr>
-
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga769121c112a501748233bda8345cb47a"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga769121c112a501748233bda8345cb47a">EVP_wincrypt_des_ede3_cbc</a> (void)</td></tr>
+<tr class="separator:ga769121c112a501748233bda8345cb47a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2decf06c0d9b08e364e9c4c8f4d3a7a3"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga2decf06c0d9b08e364e9c4c8f4d3a7a3">EVP_hcrypto_aes_128_cbc</a> (void)</td></tr>
+<tr class="separator:ga2decf06c0d9b08e364e9c4c8f4d3a7a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga16b21d9262c4af37121b0e85cc83b555"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga16b21d9262c4af37121b0e85cc83b555">EVP_hcrypto_aes_192_cbc</a> (void)</td></tr>
+<tr class="separator:ga16b21d9262c4af37121b0e85cc83b555"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga49b683aa07c039ad31d7e498c87ad95f"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga49b683aa07c039ad31d7e498c87ad95f">EVP_hcrypto_aes_256_cbc</a> (void)</td></tr>
+<tr class="separator:ga49b683aa07c039ad31d7e498c87ad95f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga44eb080ab987799883eae8e64970be6c"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga44eb080ab987799883eae8e64970be6c">EVP_hcrypto_aes_128_cfb8</a> (void)</td></tr>
+<tr class="separator:ga44eb080ab987799883eae8e64970be6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga532a6f5c56334ccf8615791bfaef041d"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga532a6f5c56334ccf8615791bfaef041d">EVP_hcrypto_aes_192_cfb8</a> (void)</td></tr>
+<tr class="separator:ga532a6f5c56334ccf8615791bfaef041d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4f7c34086cea5e4da92f56d543ec24bf"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga4f7c34086cea5e4da92f56d543ec24bf">EVP_hcrypto_aes_256_cfb8</a> (void)</td></tr>
+<tr class="separator:ga4f7c34086cea5e4da92f56d543ec24bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga12b7608ec40d059f5539fd24277baae0"><td class="memItemLeft" align="right" valign="top">const EVP_MD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga12b7608ec40d059f5539fd24277baae0">EVP_hcrypto_sha256</a> (void)</td></tr>
+<tr class="separator:ga12b7608ec40d059f5539fd24277baae0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac002bcb2cc8ee9bb58b5924ab0bc3533"><td class="memItemLeft" align="right" valign="top">const EVP_MD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gac002bcb2cc8ee9bb58b5924ab0bc3533">EVP_hcrypto_sha384</a> (void)</td></tr>
+<tr class="separator:gac002bcb2cc8ee9bb58b5924ab0bc3533"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaef3c401b9d2e696f89f27335f4b261e2"><td class="memItemLeft" align="right" valign="top">const EVP_MD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gaef3c401b9d2e696f89f27335f4b261e2">EVP_hcrypto_sha512</a> (void)</td></tr>
+<tr class="separator:gaef3c401b9d2e696f89f27335f4b261e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5dc409fc540bad0751b96b3f74185477"><td class="memItemLeft" align="right" valign="top">const EVP_MD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga5dc409fc540bad0751b96b3f74185477">EVP_hcrypto_sha1</a> (void)</td></tr>
+<tr class="separator:ga5dc409fc540bad0751b96b3f74185477"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3c7a8676a690817ec03d71568a7deb1b"><td class="memItemLeft" align="right" valign="top">const EVP_MD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga3c7a8676a690817ec03d71568a7deb1b">EVP_hcrypto_md5</a> (void)</td></tr>
+<tr class="separator:ga3c7a8676a690817ec03d71568a7deb1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4456dfa7c2f23830fa32b99969720719"><td class="memItemLeft" align="right" valign="top">const EVP_MD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga4456dfa7c2f23830fa32b99969720719">EVP_hcrypto_md4</a> (void)</td></tr>
+<tr class="separator:ga4456dfa7c2f23830fa32b99969720719"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga89d756ccb4919c5102481da488b86aaa"><td class="memItemLeft" align="right" valign="top">const EVP_MD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga89d756ccb4919c5102481da488b86aaa">EVP_hcrypto_md2</a> (void)</td></tr>
+<tr class="separator:ga89d756ccb4919c5102481da488b86aaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0cc4edf9d19ebf7198e33ac0c8138f04"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga0cc4edf9d19ebf7198e33ac0c8138f04">EVP_hcrypto_des_cbc</a> (void)</td></tr>
+<tr class="separator:ga0cc4edf9d19ebf7198e33ac0c8138f04"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1c0e19f28dc594d929f089721e737237"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga1c0e19f28dc594d929f089721e737237">EVP_hcrypto_des_ede3_cbc</a> (void)</td></tr>
+<tr class="separator:ga1c0e19f28dc594d929f089721e737237"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac238450b802f4e0c78752ef1ba1198e9"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gac238450b802f4e0c78752ef1ba1198e9">EVP_hcrypto_rc2_cbc</a> (void)</td></tr>
+<tr class="separator:gac238450b802f4e0c78752ef1ba1198e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga35d681a86e0ed71b505b53e5fc199ed5"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga35d681a86e0ed71b505b53e5fc199ed5">EVP_hcrypto_rc2_40_cbc</a> (void)</td></tr>
+<tr class="separator:ga35d681a86e0ed71b505b53e5fc199ed5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab7534f69db09cd76e4c36703a9340212"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gab7534f69db09cd76e4c36703a9340212">EVP_hcrypto_rc2_64_cbc</a> (void)</td></tr>
+<tr class="separator:gab7534f69db09cd76e4c36703a9340212"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga68deec0ffc93c0dcd83db0478e72d5b8"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga68deec0ffc93c0dcd83db0478e72d5b8">EVP_hcrypto_camellia_128_cbc</a> (void)</td></tr>
+<tr class="separator:ga68deec0ffc93c0dcd83db0478e72d5b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gafd6acecc697a1f9516909ca228cb54e5"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gafd6acecc697a1f9516909ca228cb54e5">EVP_hcrypto_camellia_192_cbc</a> (void)</td></tr>
+<tr class="separator:gafd6acecc697a1f9516909ca228cb54e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga211f7122bdeeb3551dcd02c37a7a11e6"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga211f7122bdeeb3551dcd02c37a7a11e6">EVP_hcrypto_camellia_256_cbc</a> (void)</td></tr>
+<tr class="separator:ga211f7122bdeeb3551dcd02c37a7a11e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga854def15f752a56d29b5f844c77a0f30"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga854def15f752a56d29b5f844c77a0f30">OSSL_CIPHER_ALGORITHM</a> (rc2_cbc, hc_EVP_CIPH_CBC_MODE|hc_EVP_CIPH_VARIABLE_LENGTH) OSSL_CIPHER_ALGORITHM(rc2_40_cbc</td></tr>
+<tr class="separator:ga854def15f752a56d29b5f844c77a0f30"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga490caf6711e559d0f8dfb15ce7ea7d8e"><td class="memItemLeft" align="right" valign="top">hc_EVP_CIPH_CBC_MODE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga490caf6711e559d0f8dfb15ce7ea7d8e">OSSL_CIPHER_ALGORITHM</a> (rc2_64_cbc, hc_EVP_CIPH_CBC_MODE|hc_EVP_CIPH_VARIABLE_LENGTH) OSSL_CIPHER_ALGORITHM(rc4</td></tr>
+<tr class="separator:ga490caf6711e559d0f8dfb15ce7ea7d8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0a9e352a3bdd21c0a1be38e0b3b44c01"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga0a9e352a3bdd21c0a1be38e0b3b44c01">WINCNG_CIPHER_ALGORITHM</a> (des_ede3_cbc, BCRYPT_3DES_ALGORITHM, 8, 24, 8, EVP_CIPH_CBC_MODE)</td></tr>
+<tr class="separator:ga0a9e352a3bdd21c0a1be38e0b3b44c01"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa44c7356cbc89241ad94d600a26dd8f5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gaa44c7356cbc89241ad94d600a26dd8f5">WINCNG_CIPHER_ALGORITHM</a> (des_cbc, BCRYPT_DES_ALGORITHM, 8, 8, 8, EVP_CIPH_CBC_MODE)</td></tr>
+<tr class="separator:gaa44c7356cbc89241ad94d600a26dd8f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaabf5fbf59b7075976f9645953f247f58"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gaabf5fbf59b7075976f9645953f247f58">WINCNG_CIPHER_ALGORITHM</a> (aes_128_cbc, BCRYPT_AES_ALGORITHM, 16, 16, 16, EVP_CIPH_CBC_MODE)</td></tr>
+<tr class="separator:gaabf5fbf59b7075976f9645953f247f58"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga90b367607627a3d3b9ac4e1d5acc5205"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga90b367607627a3d3b9ac4e1d5acc5205">WINCNG_CIPHER_ALGORITHM</a> (aes_192_cbc, BCRYPT_AES_ALGORITHM, 16, 24, 16, EVP_CIPH_CBC_MODE)</td></tr>
+<tr class="separator:ga90b367607627a3d3b9ac4e1d5acc5205"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gacdc6624caef0007954fc4ac5ff5a8538"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gacdc6624caef0007954fc4ac5ff5a8538">WINCNG_CIPHER_ALGORITHM</a> (aes_256_cbc, BCRYPT_AES_ALGORITHM, 16, 32, 16, EVP_CIPH_CBC_MODE)</td></tr>
+<tr class="separator:gacdc6624caef0007954fc4ac5ff5a8538"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae7d920e72e00826a41867fd712e5e563"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gae7d920e72e00826a41867fd712e5e563">WINCNG_CIPHER_ALGORITHM</a> (aes_128_cfb8, BCRYPT_AES_ALGORITHM, 16, 16, 16, EVP_CIPH_CFB8_MODE)</td></tr>
+<tr class="separator:gae7d920e72e00826a41867fd712e5e563"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa2fc6a9c028c11198a99e8872e4e1b3a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gaa2fc6a9c028c11198a99e8872e4e1b3a">WINCNG_CIPHER_ALGORITHM</a> (aes_192_cfb8, BCRYPT_AES_ALGORITHM, 16, 24, 16, EVP_CIPH_CFB8_MODE)</td></tr>
+<tr class="separator:gaa2fc6a9c028c11198a99e8872e4e1b3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga315f18327e597a13d06906f6ed74c004"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga315f18327e597a13d06906f6ed74c004">WINCNG_CIPHER_ALGORITHM</a> (aes_256_cfb8, BCRYPT_AES_ALGORITHM, 16, 32, 16, EVP_CIPH_CFB8_MODE)</td></tr>
+<tr class="separator:ga315f18327e597a13d06906f6ed74c004"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga383cea2ae048ef0bf4af54c6f7848e9e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga383cea2ae048ef0bf4af54c6f7848e9e">WINCNG_CIPHER_ALGORITHM</a> (rc2_cbc, BCRYPT_RC2_ALGORITHM, 8, 16, 8, EVP_CIPH_CBC_MODE)</td></tr>
+<tr class="separator:ga383cea2ae048ef0bf4af54c6f7848e9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa7fb936c2d2447502a579b96beb3f59d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gaa7fb936c2d2447502a579b96beb3f59d">WINCNG_CIPHER_ALGORITHM</a> (rc2_40_cbc, BCRYPT_RC2_ALGORITHM, 8, 5, 8, EVP_CIPH_CBC_MODE)</td></tr>
+<tr class="separator:gaa7fb936c2d2447502a579b96beb3f59d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad9839bba1e425e5cdb7c3e6e31ad1e01"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gad9839bba1e425e5cdb7c3e6e31ad1e01">WINCNG_CIPHER_ALGORITHM</a> (rc2_64_cbc, BCRYPT_RC2_ALGORITHM, 8, 8, 8, EVP_CIPH_CBC_MODE)</td></tr>
+<tr class="separator:gad9839bba1e425e5cdb7c3e6e31ad1e01"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab6ac7f283eef0600c6b9612e088964a3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gab6ac7f283eef0600c6b9612e088964a3">WINCNG_CIPHER_ALGORITHM_UNAVAILABLE</a> (camellia_128_cbc)</td></tr>
+<tr class="separator:gab6ac7f283eef0600c6b9612e088964a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad9ace3cd5826a301a8f4aa6ab6548a00"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gad9ace3cd5826a301a8f4aa6ab6548a00">WINCNG_CIPHER_ALGORITHM_UNAVAILABLE</a> (camellia_192_cbc)</td></tr>
+<tr class="separator:gad9ace3cd5826a301a8f4aa6ab6548a00"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga41b2fefa9724adf79ff11ae2f34e70d0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga41b2fefa9724adf79ff11ae2f34e70d0">WINCNG_CIPHER_ALGORITHM_UNAVAILABLE</a> (camellia_256_cbc)</td></tr>
+<tr class="separator:ga41b2fefa9724adf79ff11ae2f34e70d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga802e58579b60e09c8d4c824ead9d79ba"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga802e58579b60e09c8d4c824ead9d79ba">WINCNG_CIPHER_ALGORITHM</a> (rc4, BCRYPT_RC4_ALGORITHM, 1, 16, 0, EVP_CIPH_STREAM_CIPHER|EVP_CIPH_VARIABLE_LENGTH)</td></tr>
+<tr class="separator:ga802e58579b60e09c8d4c824ead9d79ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab2be6c68f3308454d74343d5f700ad92"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gab2be6c68f3308454d74343d5f700ad92">WINCNG_CIPHER_ALGORITHM</a> (rc4_40, BCRYPT_RC4_ALGORITHM, 1, 5, 0, EVP_CIPH_STREAM_CIPHER|EVP_CIPH_VARIABLE_LENGTH)</td></tr>
+<tr class="separator:gab2be6c68f3308454d74343d5f700ad92"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gabea28e9ccb98329a7a76c95e8699221c"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gabea28e9ccb98329a7a76c95e8699221c">EVP_MD_size</a> (const EVP_MD *md)</td></tr>
+<tr class="separator:gabea28e9ccb98329a7a76c95e8699221c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga48ccb698903828660dc1722d31311420"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga48ccb698903828660dc1722d31311420">EVP_MD_block_size</a> (const EVP_MD *md)</td></tr>
+<tr class="separator:ga48ccb698903828660dc1722d31311420"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga54bfa0296db2c131ef69e3a18c445357"><td class="memItemLeft" align="right" valign="top">EVP_MD_CTX *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga54bfa0296db2c131ef69e3a18c445357">EVP_MD_CTX_create</a> (void)</td></tr>
+<tr class="separator:ga54bfa0296db2c131ef69e3a18c445357"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3fd216754cf705b7d4980744b1508410"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga3fd216754cf705b7d4980744b1508410">EVP_MD_CTX_init</a> (EVP_MD_CTX *ctx) HC_DEPRECATED</td></tr>
+<tr class="separator:ga3fd216754cf705b7d4980744b1508410"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae105ea6e5626f521fbe8cad0a85cbe46"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gae105ea6e5626f521fbe8cad0a85cbe46">EVP_MD_CTX_destroy</a> (EVP_MD_CTX *ctx)</td></tr>
+<tr class="separator:gae105ea6e5626f521fbe8cad0a85cbe46"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga34dea52c788c741fdb4f8fb051be3308"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga34dea52c788c741fdb4f8fb051be3308">EVP_MD_CTX_cleanup</a> (EVP_MD_CTX *ctx) HC_DEPRECATED</td></tr>
+<tr class="separator:ga34dea52c788c741fdb4f8fb051be3308"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaed3480025ecf31d0afcb62174d6acc24"><td class="memItemLeft" align="right" valign="top">const EVP_MD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gaed3480025ecf31d0afcb62174d6acc24">EVP_MD_CTX_md</a> (EVP_MD_CTX *ctx)</td></tr>
+<tr class="separator:gaed3480025ecf31d0afcb62174d6acc24"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga25a51444f0586be1494f78e4e17e65f8"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga25a51444f0586be1494f78e4e17e65f8">EVP_MD_CTX_size</a> (EVP_MD_CTX *ctx)</td></tr>
+<tr class="separator:ga25a51444f0586be1494f78e4e17e65f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab35a28f548e64c74dbfd7198c04dad5d"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gab35a28f548e64c74dbfd7198c04dad5d">EVP_MD_CTX_block_size</a> (EVP_MD_CTX *ctx)</td></tr>
+<tr class="separator:gab35a28f548e64c74dbfd7198c04dad5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab6b800ba80b850cba223723b28fc9a44"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gab6b800ba80b850cba223723b28fc9a44">EVP_DigestInit_ex</a> (EVP_MD_CTX *ctx, const EVP_MD *md, ENGINE *engine)</td></tr>
+<tr class="separator:gab6b800ba80b850cba223723b28fc9a44"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga12039fea1f371ef39a489d450f564338"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga12039fea1f371ef39a489d450f564338">EVP_DigestUpdate</a> (EVP_MD_CTX *ctx, const void *data, size_t size)</td></tr>
+<tr class="separator:ga12039fea1f371ef39a489d450f564338"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5103bec19556f264e1f442c6ffc3bddc"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga5103bec19556f264e1f442c6ffc3bddc">EVP_DigestFinal_ex</a> (EVP_MD_CTX *ctx, void *hash, unsigned int *size)</td></tr>
+<tr class="separator:ga5103bec19556f264e1f442c6ffc3bddc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab785fa9dd0a45be223a0d576af062c4b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gab785fa9dd0a45be223a0d576af062c4b">EVP_Digest</a> (const void *data, size_t dsize, void *hash, unsigned int *hsize, const EVP_MD *md, ENGINE *engine)</td></tr>
+<tr class="separator:gab785fa9dd0a45be223a0d576af062c4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gafe55e56742a9b9ecffdaef7e95a6707a"><td class="memItemLeft" align="right" valign="top">const EVP_MD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gafe55e56742a9b9ecffdaef7e95a6707a">EVP_sha256</a> (void)</td></tr>
+<tr class="separator:gafe55e56742a9b9ecffdaef7e95a6707a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga031405a10c84711b9a9699fadc8dbf2a"><td class="memItemLeft" align="right" valign="top">const EVP_MD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga031405a10c84711b9a9699fadc8dbf2a">EVP_sha384</a> (void)</td></tr>
+<tr class="separator:ga031405a10c84711b9a9699fadc8dbf2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaceda0d5da59b56159d2e3515039a46ce"><td class="memItemLeft" align="right" valign="top">const EVP_MD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gaceda0d5da59b56159d2e3515039a46ce">EVP_sha512</a> (void)</td></tr>
+<tr class="separator:gaceda0d5da59b56159d2e3515039a46ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa090d659a494a10525e38d272efb01ae"><td class="memItemLeft" align="right" valign="top">const EVP_MD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gaa090d659a494a10525e38d272efb01ae">EVP_sha1</a> (void)</td></tr>
+<tr class="separator:gaa090d659a494a10525e38d272efb01ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaee62cb107a208bd6984dd767f9feb8c0"><td class="memItemLeft" align="right" valign="top">const EVP_MD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gaee62cb107a208bd6984dd767f9feb8c0">EVP_sha</a> (void)</td></tr>
+<tr class="separator:gaee62cb107a208bd6984dd767f9feb8c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3ccaad2c97f5cf27adb461b1b50aeabb"><td class="memItemLeft" align="right" valign="top">const EVP_MD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga3ccaad2c97f5cf27adb461b1b50aeabb">EVP_md5</a> (void)</td></tr>
+<tr class="separator:ga3ccaad2c97f5cf27adb461b1b50aeabb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad232ca5dcef4ec58b182cb967f519999"><td class="memItemLeft" align="right" valign="top">const EVP_MD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gad232ca5dcef4ec58b182cb967f519999">EVP_md4</a> (void)</td></tr>
+<tr class="separator:gad232ca5dcef4ec58b182cb967f519999"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4b583f3de5fc66b04f675428da25efd0"><td class="memItemLeft" align="right" valign="top">const EVP_MD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga4b583f3de5fc66b04f675428da25efd0">EVP_md2</a> (void)</td></tr>
+<tr class="separator:ga4b583f3de5fc66b04f675428da25efd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5183830cf039ea4d9a2c1bd3c539e9af"><td class="memItemLeft" align="right" valign="top">const EVP_MD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga5183830cf039ea4d9a2c1bd3c539e9af">EVP_md_null</a> (void)</td></tr>
+<tr class="separator:ga5183830cf039ea4d9a2c1bd3c539e9af"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3123ff4b426783dd972538249b9e9d4d"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga3123ff4b426783dd972538249b9e9d4d">EVP_CIPHER_block_size</a> (const EVP_CIPHER *c)</td></tr>
+<tr class="separator:ga3123ff4b426783dd972538249b9e9d4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4793a9e130da86ac42c497b19395b748"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga4793a9e130da86ac42c497b19395b748">EVP_CIPHER_key_length</a> (const EVP_CIPHER *c)</td></tr>
+<tr class="separator:ga4793a9e130da86ac42c497b19395b748"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7edebe76d19dee11686a6698d24f19f5"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga7edebe76d19dee11686a6698d24f19f5">EVP_CIPHER_iv_length</a> (const EVP_CIPHER *c)</td></tr>
+<tr class="separator:ga7edebe76d19dee11686a6698d24f19f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga13d0ff0e87312566cb6b3591157f9754"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga13d0ff0e87312566cb6b3591157f9754">EVP_CIPHER_CTX_init</a> (EVP_CIPHER_CTX *c)</td></tr>
+<tr class="separator:ga13d0ff0e87312566cb6b3591157f9754"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac16dd3987cd90c8bcdbad5290c558359"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gac16dd3987cd90c8bcdbad5290c558359">EVP_CIPHER_CTX_cleanup</a> (EVP_CIPHER_CTX *c)</td></tr>
+<tr class="separator:gac16dd3987cd90c8bcdbad5290c558359"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac4d29d4bc3473f2499cfa83f0201386c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gac4d29d4bc3473f2499cfa83f0201386c">EVP_CIPHER_CTX_set_key_length</a> (EVP_CIPHER_CTX *c, int length)</td></tr>
+<tr class="separator:gac4d29d4bc3473f2499cfa83f0201386c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4018621241b76f106903263614967aff"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga4018621241b76f106903263614967aff">EVP_CIPHER_CTX_cipher</a> (EVP_CIPHER_CTX *ctx)</td></tr>
+<tr class="separator:ga4018621241b76f106903263614967aff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga9eaa8ae82fd5550771c4dfed92d82d5b"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga9eaa8ae82fd5550771c4dfed92d82d5b">EVP_CIPHER_CTX_block_size</a> (const EVP_CIPHER_CTX *ctx)</td></tr>
+<tr class="separator:ga9eaa8ae82fd5550771c4dfed92d82d5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad9a4a54b9b5d0b6035c7522ca461a9db"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gad9a4a54b9b5d0b6035c7522ca461a9db">EVP_CIPHER_CTX_key_length</a> (const EVP_CIPHER_CTX *ctx)</td></tr>
+<tr class="separator:gad9a4a54b9b5d0b6035c7522ca461a9db"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae160dd334fea8b844a4ef8a2ed5fbb0b"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gae160dd334fea8b844a4ef8a2ed5fbb0b">EVP_CIPHER_CTX_iv_length</a> (const EVP_CIPHER_CTX *ctx)</td></tr>
+<tr class="separator:gae160dd334fea8b844a4ef8a2ed5fbb0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6f8b7130068dbc4f03fb2cf65cee02bf"><td class="memItemLeft" align="right" valign="top">unsigned long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga6f8b7130068dbc4f03fb2cf65cee02bf">EVP_CIPHER_CTX_flags</a> (const EVP_CIPHER_CTX *ctx)</td></tr>
+<tr class="separator:ga6f8b7130068dbc4f03fb2cf65cee02bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac8013ca93e9b1ed25df3f535eb633f1a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gac8013ca93e9b1ed25df3f535eb633f1a">EVP_CIPHER_CTX_mode</a> (const EVP_CIPHER_CTX *ctx)</td></tr>
+<tr class="separator:gac8013ca93e9b1ed25df3f535eb633f1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0f78fd8ac0fa0765245e373d42fc90e3"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga0f78fd8ac0fa0765245e373d42fc90e3">EVP_CIPHER_CTX_get_app_data</a> (EVP_CIPHER_CTX *ctx)</td></tr>
+<tr class="separator:ga0f78fd8ac0fa0765245e373d42fc90e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4fa322f7c3fe5fc570b8343d4d64fc52"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga4fa322f7c3fe5fc570b8343d4d64fc52">EVP_CIPHER_CTX_set_app_data</a> (EVP_CIPHER_CTX *ctx, void *data)</td></tr>
+<tr class="separator:ga4fa322f7c3fe5fc570b8343d4d64fc52"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga98da5a5c1aa25d9cb2e4717fa11314bd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga98da5a5c1aa25d9cb2e4717fa11314bd">EVP_CipherInit_ex</a> (EVP_CIPHER_CTX *ctx, const EVP_CIPHER *c, ENGINE *engine, const void *key, const void *iv, int encp)</td></tr>
+<tr class="separator:ga98da5a5c1aa25d9cb2e4717fa11314bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga863349e1001b36cfd6c4afedddd12862"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga863349e1001b36cfd6c4afedddd12862">EVP_CipherUpdate</a> (EVP_CIPHER_CTX *ctx, void *out, int *outlen, void *in, size_t inlen)</td></tr>
+<tr class="separator:ga863349e1001b36cfd6c4afedddd12862"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga714eef7d737fd68171d852043a4995de"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga714eef7d737fd68171d852043a4995de">EVP_CipherFinal_ex</a> (EVP_CIPHER_CTX *ctx, void *out, int *outlen)</td></tr>
+<tr class="separator:ga714eef7d737fd68171d852043a4995de"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga70a05495ee115c6eb26d958a5ac75c8b"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga70a05495ee115c6eb26d958a5ac75c8b">EVP_enc_null</a> (void)</td></tr>
+<tr class="separator:ga70a05495ee115c6eb26d958a5ac75c8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac7d0f7590921dde70bebeebadd2fec36"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gac7d0f7590921dde70bebeebadd2fec36">EVP_rc2_cbc</a> (void)</td></tr>
+<tr class="separator:gac7d0f7590921dde70bebeebadd2fec36"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga104bcd969bcc30dc3e7e77d63a38a87e"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga104bcd969bcc30dc3e7e77d63a38a87e">EVP_rc2_40_cbc</a> (void)</td></tr>
+<tr class="separator:ga104bcd969bcc30dc3e7e77d63a38a87e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga09cd194a211931839f1e7bb8e578099e"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga09cd194a211931839f1e7bb8e578099e">EVP_rc2_64_cbc</a> (void)</td></tr>
+<tr class="separator:ga09cd194a211931839f1e7bb8e578099e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga9cb683240f384ddbd0f3279960af93ba"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga9cb683240f384ddbd0f3279960af93ba">EVP_rc4</a> (void)</td></tr>
+<tr class="separator:ga9cb683240f384ddbd0f3279960af93ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae5cbdfcb5012a07fec8df1d6b9c5d772"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gae5cbdfcb5012a07fec8df1d6b9c5d772">EVP_rc4_40</a> (void)</td></tr>
+<tr class="separator:gae5cbdfcb5012a07fec8df1d6b9c5d772"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8ba85e78fac7521ad71cb29ef62beab9"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga8ba85e78fac7521ad71cb29ef62beab9">EVP_des_cbc</a> (void)</td></tr>
+<tr class="separator:ga8ba85e78fac7521ad71cb29ef62beab9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga191c1d946437661ee23de2ad9b3383e3"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga191c1d946437661ee23de2ad9b3383e3">EVP_des_ede3_cbc</a> (void)</td></tr>
+<tr class="separator:ga191c1d946437661ee23de2ad9b3383e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2747bac943db15c97167ac37fdc2af43"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga2747bac943db15c97167ac37fdc2af43">EVP_aes_128_cbc</a> (void)</td></tr>
+<tr class="separator:ga2747bac943db15c97167ac37fdc2af43"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga06625e6b350dcb0d99e05bde8d813867"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga06625e6b350dcb0d99e05bde8d813867">EVP_aes_192_cbc</a> (void)</td></tr>
+<tr class="separator:ga06625e6b350dcb0d99e05bde8d813867"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga597a638984cfe169f5b794a01076d289"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga597a638984cfe169f5b794a01076d289">EVP_aes_256_cbc</a> (void)</td></tr>
+<tr class="separator:ga597a638984cfe169f5b794a01076d289"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga95457efd23f815aaa9d54a39f71bd4f6"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga95457efd23f815aaa9d54a39f71bd4f6">EVP_aes_128_cfb8</a> (void)</td></tr>
+<tr class="separator:ga95457efd23f815aaa9d54a39f71bd4f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6c566f0f7831881bd835db251372790b"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga6c566f0f7831881bd835db251372790b">EVP_aes_192_cfb8</a> (void)</td></tr>
+<tr class="separator:ga6c566f0f7831881bd835db251372790b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4bf9f0274a43b3964f1c880900c80ded"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga4bf9f0274a43b3964f1c880900c80ded">EVP_aes_256_cfb8</a> (void)</td></tr>
+<tr class="separator:ga4bf9f0274a43b3964f1c880900c80ded"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga204d1d59a0ec740ed29ec0ebcc2d9c97"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga204d1d59a0ec740ed29ec0ebcc2d9c97">EVP_camellia_128_cbc</a> (void)</td></tr>
+<tr class="separator:ga204d1d59a0ec740ed29ec0ebcc2d9c97"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga40e2b8cba4baa4ec4aa467bbd1defeb7"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga40e2b8cba4baa4ec4aa467bbd1defeb7">EVP_camellia_192_cbc</a> (void)</td></tr>
+<tr class="separator:ga40e2b8cba4baa4ec4aa467bbd1defeb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6de35c364f330f1decfb3444c4c6fa3c"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga6de35c364f330f1decfb3444c4c6fa3c">EVP_camellia_256_cbc</a> (void)</td></tr>
+<tr class="separator:ga6de35c364f330f1decfb3444c4c6fa3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaead9b446ac5ebd90dc7be0dbe6aba2b0"><td class="memItemLeft" align="right" valign="top">const EVP_CIPHER *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#gaead9b446ac5ebd90dc7be0dbe6aba2b0">EVP_get_cipherbyname</a> (const char *name)</td></tr>
+<tr class="separator:gaead9b446ac5ebd90dc7be0dbe6aba2b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga25d3fb64e10e2c494858de14fc5d79b3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__evp.html#ga25d3fb64e10e2c494858de14fc5d79b3">EVP_BytesToKey</a> (const EVP_CIPHER *type, const EVP_MD *md, const void *salt, const void *data, size_t datalen, unsigned int count, void *keydata, void *ivdata)</td></tr>
+<tr class="separator:ga25d3fb64e10e2c494858de14fc5d79b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-See the <a class="el" href="page_evp.html">EVP - generic crypto interface</a> for description and examples. <hr><h2>Function Documentation</h2>
-<a class="anchor" name="g2747bac943db15c97167ac37fdc2af43"></a><!-- doxytag: member="evp.c::EVP_aes_128_cbc" ref="g2747bac943db15c97167ac37fdc2af43" args="(void)" -->
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<p>See the <a class="el" href="page_evp.html">EVP - generic crypto interface</a> for description and examples. </p>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="ga2747bac943db15c97167ac37fdc2af43"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga2747bac943db15c97167ac37fdc2af43">&#9670;&nbsp;</a></span>EVP_aes_128_cbc()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_CIPHER* EVP_aes_128_cbc </td>
+ <td class="memname">const EVP_CIPHER* EVP_aes_128_cbc </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
+</div><div class="memdoc">
+<p>The AES-128 cipher type</p>
+<dl class="section return"><dt>Returns</dt><dd>the AES-128 EVP_CIPHER pointer. </dd></dl>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="example_evp_cipher_8c-example.html#a0">example_evp_cipher.c</a>.</dd>
+</dl>
</div>
-<div class="memdoc">
-
-<p>
-The AES-128 cipher type<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the AES-128 EVP_CIPHER pointer. </dd></dl>
-<dl compact><dt><b>Examples: </b></dt><dd>
-<a class="el" href="example__evp__cipher_8c-example.html#a0">example_evp_cipher.c</a>.</dl>
</div>
-</div><p>
-<a class="anchor" name="g95457efd23f815aaa9d54a39f71bd4f6"></a><!-- doxytag: member="evp.c::EVP_aes_128_cfb8" ref="g95457efd23f815aaa9d54a39f71bd4f6" args="(void)" -->
+<a id="ga95457efd23f815aaa9d54a39f71bd4f6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga95457efd23f815aaa9d54a39f71bd4f6">&#9670;&nbsp;</a></span>EVP_aes_128_cfb8()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_CIPHER* EVP_aes_128_cfb8 </td>
+ <td class="memname">const EVP_CIPHER* EVP_aes_128_cfb8 </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-The AES-128 cipher type<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the AES-128 EVP_CIPHER pointer. </dd></dl>
+</div><div class="memdoc">
+<p>The AES-128 cipher type</p>
+<dl class="section return"><dt>Returns</dt><dd>the AES-128 EVP_CIPHER pointer. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g06625e6b350dcb0d99e05bde8d813867"></a><!-- doxytag: member="evp.c::EVP_aes_192_cbc" ref="g06625e6b350dcb0d99e05bde8d813867" args="(void)" -->
+</div>
+<a id="ga06625e6b350dcb0d99e05bde8d813867"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga06625e6b350dcb0d99e05bde8d813867">&#9670;&nbsp;</a></span>EVP_aes_192_cbc()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_CIPHER* EVP_aes_192_cbc </td>
+ <td class="memname">const EVP_CIPHER* EVP_aes_192_cbc </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-The AES-192 cipher type<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the AES-192 EVP_CIPHER pointer. </dd></dl>
+</div><div class="memdoc">
+<p>The AES-192 cipher type</p>
+<dl class="section return"><dt>Returns</dt><dd>the AES-192 EVP_CIPHER pointer. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g6c566f0f7831881bd835db251372790b"></a><!-- doxytag: member="evp.c::EVP_aes_192_cfb8" ref="g6c566f0f7831881bd835db251372790b" args="(void)" -->
+</div>
+<a id="ga6c566f0f7831881bd835db251372790b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga6c566f0f7831881bd835db251372790b">&#9670;&nbsp;</a></span>EVP_aes_192_cfb8()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_CIPHER* EVP_aes_192_cfb8 </td>
+ <td class="memname">const EVP_CIPHER* EVP_aes_192_cfb8 </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-The AES-192 cipher type<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the AES-192 EVP_CIPHER pointer. </dd></dl>
+</div><div class="memdoc">
+<p>The AES-192 cipher type</p>
+<dl class="section return"><dt>Returns</dt><dd>the AES-192 EVP_CIPHER pointer. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g597a638984cfe169f5b794a01076d289"></a><!-- doxytag: member="evp.c::EVP_aes_256_cbc" ref="g597a638984cfe169f5b794a01076d289" args="(void)" -->
+</div>
+<a id="ga597a638984cfe169f5b794a01076d289"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga597a638984cfe169f5b794a01076d289">&#9670;&nbsp;</a></span>EVP_aes_256_cbc()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_CIPHER* EVP_aes_256_cbc </td>
+ <td class="memname">const EVP_CIPHER* EVP_aes_256_cbc </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-The AES-256 cipher type<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the AES-256 EVP_CIPHER pointer. </dd></dl>
+</div><div class="memdoc">
+<p>The AES-256 cipher type</p>
+<dl class="section return"><dt>Returns</dt><dd>the AES-256 EVP_CIPHER pointer. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g4bf9f0274a43b3964f1c880900c80ded"></a><!-- doxytag: member="evp.c::EVP_aes_256_cfb8" ref="g4bf9f0274a43b3964f1c880900c80ded" args="(void)" -->
+</div>
+<a id="ga4bf9f0274a43b3964f1c880900c80ded"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga4bf9f0274a43b3964f1c880900c80ded">&#9670;&nbsp;</a></span>EVP_aes_256_cfb8()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_CIPHER* EVP_aes_256_cfb8 </td>
+ <td class="memname">const EVP_CIPHER* EVP_aes_256_cfb8 </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-The AES-256 cipher type<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the AES-256 EVP_CIPHER pointer. </dd></dl>
+</div><div class="memdoc">
+<p>The AES-256 cipher type</p>
+<dl class="section return"><dt>Returns</dt><dd>the AES-256 EVP_CIPHER pointer. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g25d3fb64e10e2c494858de14fc5d79b3"></a><!-- doxytag: member="evp.c::EVP_BytesToKey" ref="g25d3fb64e10e2c494858de14fc5d79b3" args="(const EVP_CIPHER *type, const EVP_MD *md, const void *salt, const void *data, size_t datalen, unsigned int count, void *keydata, void *ivdata)" -->
+</div>
+<a id="ga25d3fb64e10e2c494858de14fc5d79b3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga25d3fb64e10e2c494858de14fc5d79b3">&#9670;&nbsp;</a></span>EVP_BytesToKey()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int EVP_BytesToKey </td>
+ <td class="memname">int EVP_BytesToKey </td>
<td>(</td>
- <td class="paramtype">const EVP_CIPHER *&nbsp;</td>
- <td class="paramname"> <em>type</em>, </td>
+ <td class="paramtype">const EVP_CIPHER *&#160;</td>
+ <td class="paramname"><em>type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const EVP_MD *&nbsp;</td>
- <td class="paramname"> <em>md</em>, </td>
+ <td class="paramtype">const EVP_MD *&#160;</td>
+ <td class="paramname"><em>md</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const void *&nbsp;</td>
- <td class="paramname"> <em>salt</em>, </td>
+ <td class="paramtype">const void *&#160;</td>
+ <td class="paramname"><em>salt</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const void *&nbsp;</td>
- <td class="paramname"> <em>data</em>, </td>
+ <td class="paramtype">const void *&#160;</td>
+ <td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>datalen</em>, </td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>datalen</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">unsigned int&nbsp;</td>
- <td class="paramname"> <em>count</em>, </td>
+ <td class="paramtype">unsigned int&#160;</td>
+ <td class="paramname"><em>count</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">void *&nbsp;</td>
- <td class="paramname"> <em>keydata</em>, </td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>keydata</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">void *&nbsp;</td>
- <td class="paramname"> <em>ivdata</em></td><td>&nbsp;</td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>ivdata</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Provides a legancy string to key function, used in PEM files.<p>
-New protocols should use new string to key functions like NIST SP56-800A or PKCS#5 v2.0 (see <a class="el" href="group__hcrypto__misc.html#gece1627cc5535ef7b5e86e2f5a3eec04">PKCS5_PBKDF2_HMAC_SHA1()</a>).<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>type of cipher to use </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>md</em>&nbsp;</td><td>message digest to use </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>salt</em>&nbsp;</td><td>salt salt string, should be an binary 8 byte buffer. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>the password/input key string. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>datalen</em>&nbsp;</td><td>length of data parameter. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>count</em>&nbsp;</td><td>iteration counter. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>keydata</em>&nbsp;</td><td>output keydata, needs to of the size <a class="el" href="group__hcrypto__evp.html#g4793a9e130da86ac42c497b19395b748">EVP_CIPHER_key_length()</a>. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>ivdata</em>&nbsp;</td><td>output ivdata, needs to of the size <a class="el" href="group__hcrypto__evp.html#g3123ff4b426783dd972538249b9e9d4d">EVP_CIPHER_block_size()</a>.</td></tr>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Provides a legancy string to key function, used in PEM files.</p>
+<p>New protocols should use new string to key functions like NIST SP56-800A or PKCS#5 v2.0 (see <a class="el" href="group__hcrypto__misc.html#gaece1627cc5535ef7b5e86e2f5a3eec04">PKCS5_PBKDF2_HMAC_SHA1()</a>).</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">type</td><td>type of cipher to use </td></tr>
+ <tr><td class="paramname">md</td><td>message digest to use </td></tr>
+ <tr><td class="paramname">salt</td><td>salt salt string, should be an binary 8 byte buffer. </td></tr>
+ <tr><td class="paramname">data</td><td>the password/input key string. </td></tr>
+ <tr><td class="paramname">datalen</td><td>length of data parameter. </td></tr>
+ <tr><td class="paramname">count</td><td>iteration counter. </td></tr>
+ <tr><td class="paramname">keydata</td><td>output keydata, needs to of the size <a class="el" href="group__hcrypto__evp.html#ga4793a9e130da86ac42c497b19395b748">EVP_CIPHER_key_length()</a>. </td></tr>
+ <tr><td class="paramname">ivdata</td><td>output ivdata, needs to of the size <a class="el" href="group__hcrypto__evp.html#ga3123ff4b426783dd972538249b9e9d4d">EVP_CIPHER_block_size()</a>.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the size of derived key. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>the size of derived key. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g204d1d59a0ec740ed29ec0ebcc2d9c97"></a><!-- doxytag: member="evp.c::EVP_camellia_128_cbc" ref="g204d1d59a0ec740ed29ec0ebcc2d9c97" args="(void)" -->
+</div>
+<a id="ga204d1d59a0ec740ed29ec0ebcc2d9c97"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga204d1d59a0ec740ed29ec0ebcc2d9c97">&#9670;&nbsp;</a></span>EVP_camellia_128_cbc()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_CIPHER* EVP_camellia_128_cbc </td>
+ <td class="memname">const EVP_CIPHER* EVP_camellia_128_cbc </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-The Camellia-128 cipher type<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the Camellia-128 EVP_CIPHER pointer. </dd></dl>
+</div><div class="memdoc">
+<p>The Camellia-128 cipher type</p>
+<dl class="section return"><dt>Returns</dt><dd>the Camellia-128 EVP_CIPHER pointer. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g40e2b8cba4baa4ec4aa467bbd1defeb7"></a><!-- doxytag: member="evp.c::EVP_camellia_192_cbc" ref="g40e2b8cba4baa4ec4aa467bbd1defeb7" args="(void)" -->
+</div>
+<a id="ga40e2b8cba4baa4ec4aa467bbd1defeb7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga40e2b8cba4baa4ec4aa467bbd1defeb7">&#9670;&nbsp;</a></span>EVP_camellia_192_cbc()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_CIPHER* EVP_camellia_192_cbc </td>
+ <td class="memname">const EVP_CIPHER* EVP_camellia_192_cbc </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-The Camellia-198 cipher type<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the Camellia-198 EVP_CIPHER pointer. </dd></dl>
+</div><div class="memdoc">
+<p>The Camellia-198 cipher type</p>
+<dl class="section return"><dt>Returns</dt><dd>the Camellia-198 EVP_CIPHER pointer. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g6de35c364f330f1decfb3444c4c6fa3c"></a><!-- doxytag: member="evp.c::EVP_camellia_256_cbc" ref="g6de35c364f330f1decfb3444c4c6fa3c" args="(void)" -->
+</div>
+<a id="ga6de35c364f330f1decfb3444c4c6fa3c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga6de35c364f330f1decfb3444c4c6fa3c">&#9670;&nbsp;</a></span>EVP_camellia_256_cbc()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_CIPHER* EVP_camellia_256_cbc </td>
+ <td class="memname">const EVP_CIPHER* EVP_camellia_256_cbc </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-The Camellia-256 cipher type<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the Camellia-256 EVP_CIPHER pointer. </dd></dl>
+</div><div class="memdoc">
+<p>The Camellia-256 cipher type</p>
+<dl class="section return"><dt>Returns</dt><dd>the Camellia-256 EVP_CIPHER pointer. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g3123ff4b426783dd972538249b9e9d4d"></a><!-- doxytag: member="evp.c::EVP_CIPHER_block_size" ref="g3123ff4b426783dd972538249b9e9d4d" args="(const EVP_CIPHER *c)" -->
+</div>
+<a id="ga3123ff4b426783dd972538249b9e9d4d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga3123ff4b426783dd972538249b9e9d4d">&#9670;&nbsp;</a></span>EVP_CIPHER_block_size()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">size_t EVP_CIPHER_block_size </td>
+ <td class="memname">size_t EVP_CIPHER_block_size </td>
<td>(</td>
- <td class="paramtype">const EVP_CIPHER *&nbsp;</td>
- <td class="paramname"> <em>c</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">const EVP_CIPHER *&#160;</td>
+ <td class="paramname"><em>c</em></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Return the block size of the cipher.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>cipher to get the block size from.</td></tr>
+</div><div class="memdoc">
+<p>Return the block size of the cipher.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>cipher to get the block size from.</td></tr>
</table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the block size of the cipher. </dd></dl>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="example_evp_cipher_8c-example.html#a3">example_evp_cipher.c</a>.</dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the block size of the cipher. </dd></dl>
-<dl compact><dt><b>Examples: </b></dt><dd>
-<a class="el" href="example__evp__cipher_8c-example.html#a3">example_evp_cipher.c</a>.</dl>
</div>
-</div><p>
-<a class="anchor" name="g9eaa8ae82fd5550771c4dfed92d82d5b"></a><!-- doxytag: member="evp.c::EVP_CIPHER_CTX_block_size" ref="g9eaa8ae82fd5550771c4dfed92d82d5b" args="(const EVP_CIPHER_CTX *ctx)" -->
+</div>
+<a id="ga9eaa8ae82fd5550771c4dfed92d82d5b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga9eaa8ae82fd5550771c4dfed92d82d5b">&#9670;&nbsp;</a></span>EVP_CIPHER_CTX_block_size()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">size_t EVP_CIPHER_CTX_block_size </td>
+ <td class="memname">size_t EVP_CIPHER_CTX_block_size </td>
<td>(</td>
- <td class="paramtype">const EVP_CIPHER_CTX *&nbsp;</td>
- <td class="paramname"> <em>ctx</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">const EVP_CIPHER_CTX *&#160;</td>
+ <td class="paramname"><em>ctx</em></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Return the block size of the cipher context.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>cipher context to get the block size from.</td></tr>
+</div><div class="memdoc">
+<p>Return the block size of the cipher context.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ctx</td><td>cipher context to get the block size from.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the block size of the cipher context. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>the block size of the cipher context. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g4018621241b76f106903263614967aff"></a><!-- doxytag: member="evp.c::EVP_CIPHER_CTX_cipher" ref="g4018621241b76f106903263614967aff" args="(EVP_CIPHER_CTX *ctx)" -->
+</div>
+<a id="ga4018621241b76f106903263614967aff"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga4018621241b76f106903263614967aff">&#9670;&nbsp;</a></span>EVP_CIPHER_CTX_cipher()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_CIPHER* EVP_CIPHER_CTX_cipher </td>
+ <td class="memname">const EVP_CIPHER* EVP_CIPHER_CTX_cipher </td>
<td>(</td>
- <td class="paramtype">EVP_CIPHER_CTX *&nbsp;</td>
- <td class="paramname"> <em>ctx</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">EVP_CIPHER_CTX *&#160;</td>
+ <td class="paramname"><em>ctx</em></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Return the EVP_CIPHER for a EVP_CIPHER_CTX context.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the context to get the cipher type from.</td></tr>
+</div><div class="memdoc">
+<p>Return the EVP_CIPHER for a EVP_CIPHER_CTX context.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ctx</td><td>the context to get the cipher type from.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the EVP_CIPHER pointer. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>the EVP_CIPHER pointer. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="gc16dd3987cd90c8bcdbad5290c558359"></a><!-- doxytag: member="evp.c::EVP_CIPHER_CTX_cleanup" ref="gc16dd3987cd90c8bcdbad5290c558359" args="(EVP_CIPHER_CTX *c)" -->
+</div>
+<a id="gac16dd3987cd90c8bcdbad5290c558359"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gac16dd3987cd90c8bcdbad5290c558359">&#9670;&nbsp;</a></span>EVP_CIPHER_CTX_cleanup()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int EVP_CIPHER_CTX_cleanup </td>
+ <td class="memname">int EVP_CIPHER_CTX_cleanup </td>
<td>(</td>
- <td class="paramtype">EVP_CIPHER_CTX *&nbsp;</td>
- <td class="paramname"> <em>c</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">EVP_CIPHER_CTX *&#160;</td>
+ <td class="paramname"><em>c</em></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Clean up the EVP_CIPHER_CTX context.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>the cipher to clean up.</td></tr>
+</div><div class="memdoc">
+<p>Clean up the EVP_CIPHER_CTX context.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>the cipher to clean up.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success. </dd></dl>
-<dl compact><dt><b>Examples: </b></dt><dd>
-<a class="el" href="example__evp__cipher_8c-example.html#a7">example_evp_cipher.c</a>.</dl>
+<dl class="section return"><dt>Returns</dt><dd>1 on success. </dd></dl>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="example_evp_cipher_8c-example.html#a7">example_evp_cipher.c</a>.</dd>
+</dl>
+</div>
</div>
-</div><p>
-<a class="anchor" name="g6f8b7130068dbc4f03fb2cf65cee02bf"></a><!-- doxytag: member="evp.c::EVP_CIPHER_CTX_flags" ref="g6f8b7130068dbc4f03fb2cf65cee02bf" args="(const EVP_CIPHER_CTX *ctx)" -->
+<a id="ga6f8b7130068dbc4f03fb2cf65cee02bf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga6f8b7130068dbc4f03fb2cf65cee02bf">&#9670;&nbsp;</a></span>EVP_CIPHER_CTX_flags()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">unsigned long EVP_CIPHER_CTX_flags </td>
+ <td class="memname">unsigned long EVP_CIPHER_CTX_flags </td>
<td>(</td>
- <td class="paramtype">const EVP_CIPHER_CTX *&nbsp;</td>
- <td class="paramname"> <em>ctx</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">const EVP_CIPHER_CTX *&#160;</td>
+ <td class="paramname"><em>ctx</em></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Get the flags for an EVP_CIPHER_CTX context.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the EVP_CIPHER_CTX to get the flags from</td></tr>
+</div><div class="memdoc">
+<p>Get the flags for an EVP_CIPHER_CTX context.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ctx</td><td>the EVP_CIPHER_CTX to get the flags from</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the flags for an EVP_CIPHER_CTX. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>the flags for an EVP_CIPHER_CTX. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g0f78fd8ac0fa0765245e373d42fc90e3"></a><!-- doxytag: member="evp.c::EVP_CIPHER_CTX_get_app_data" ref="g0f78fd8ac0fa0765245e373d42fc90e3" args="(EVP_CIPHER_CTX *ctx)" -->
+</div>
+<a id="ga0f78fd8ac0fa0765245e373d42fc90e3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga0f78fd8ac0fa0765245e373d42fc90e3">&#9670;&nbsp;</a></span>EVP_CIPHER_CTX_get_app_data()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void* EVP_CIPHER_CTX_get_app_data </td>
+ <td class="memname">void* EVP_CIPHER_CTX_get_app_data </td>
<td>(</td>
- <td class="paramtype">EVP_CIPHER_CTX *&nbsp;</td>
- <td class="paramname"> <em>ctx</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">EVP_CIPHER_CTX *&#160;</td>
+ <td class="paramname"><em>ctx</em></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Get the app data for an EVP_CIPHER_CTX context.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the EVP_CIPHER_CTX to get the app data from</td></tr>
+</div><div class="memdoc">
+<p>Get the app data for an EVP_CIPHER_CTX context.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ctx</td><td>the EVP_CIPHER_CTX to get the app data from</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the app data for an EVP_CIPHER_CTX. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>the app data for an EVP_CIPHER_CTX. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g13d0ff0e87312566cb6b3591157f9754"></a><!-- doxytag: member="evp.c::EVP_CIPHER_CTX_init" ref="g13d0ff0e87312566cb6b3591157f9754" args="(EVP_CIPHER_CTX *c)" -->
+</div>
+<a id="ga13d0ff0e87312566cb6b3591157f9754"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga13d0ff0e87312566cb6b3591157f9754">&#9670;&nbsp;</a></span>EVP_CIPHER_CTX_init()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void EVP_CIPHER_CTX_init </td>
+ <td class="memname">void EVP_CIPHER_CTX_init </td>
<td>(</td>
- <td class="paramtype">EVP_CIPHER_CTX *&nbsp;</td>
- <td class="paramname"> <em>c</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">EVP_CIPHER_CTX *&#160;</td>
+ <td class="paramname"><em>c</em></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Initiate a EVP_CIPHER_CTX context. Clean up with <a class="el" href="group__hcrypto__evp.html#gc16dd3987cd90c8bcdbad5290c558359">EVP_CIPHER_CTX_cleanup()</a>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>the cipher initiate. </td></tr>
+</div><div class="memdoc">
+<p>Initiate a EVP_CIPHER_CTX context. Clean up with <a class="el" href="group__hcrypto__evp.html#gac16dd3987cd90c8bcdbad5290c558359">EVP_CIPHER_CTX_cleanup()</a>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>the cipher initiate. </td></tr>
</table>
+ </dd>
+</dl>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="example_evp_cipher_8c-example.html#a4">example_evp_cipher.c</a>.</dd>
</dl>
-<dl compact><dt><b>Examples: </b></dt><dd>
-<a class="el" href="example__evp__cipher_8c-example.html#a4">example_evp_cipher.c</a>.</dl>
</div>
-</div><p>
-<a class="anchor" name="ge160dd334fea8b844a4ef8a2ed5fbb0b"></a><!-- doxytag: member="evp.c::EVP_CIPHER_CTX_iv_length" ref="ge160dd334fea8b844a4ef8a2ed5fbb0b" args="(const EVP_CIPHER_CTX *ctx)" -->
+</div>
+<a id="gae160dd334fea8b844a4ef8a2ed5fbb0b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gae160dd334fea8b844a4ef8a2ed5fbb0b">&#9670;&nbsp;</a></span>EVP_CIPHER_CTX_iv_length()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">size_t EVP_CIPHER_CTX_iv_length </td>
+ <td class="memname">size_t EVP_CIPHER_CTX_iv_length </td>
<td>(</td>
- <td class="paramtype">const EVP_CIPHER_CTX *&nbsp;</td>
- <td class="paramname"> <em>ctx</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">const EVP_CIPHER_CTX *&#160;</td>
+ <td class="paramname"><em>ctx</em></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Return the IV size of the cipher context.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>cipher context to get the IV size from.</td></tr>
+</div><div class="memdoc">
+<p>Return the IV size of the cipher context.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ctx</td><td>cipher context to get the IV size from.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the IV size of the cipher context. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>the IV size of the cipher context. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="gd9a4a54b9b5d0b6035c7522ca461a9db"></a><!-- doxytag: member="evp.c::EVP_CIPHER_CTX_key_length" ref="gd9a4a54b9b5d0b6035c7522ca461a9db" args="(const EVP_CIPHER_CTX *ctx)" -->
+</div>
+<a id="gad9a4a54b9b5d0b6035c7522ca461a9db"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gad9a4a54b9b5d0b6035c7522ca461a9db">&#9670;&nbsp;</a></span>EVP_CIPHER_CTX_key_length()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">size_t EVP_CIPHER_CTX_key_length </td>
+ <td class="memname">size_t EVP_CIPHER_CTX_key_length </td>
<td>(</td>
- <td class="paramtype">const EVP_CIPHER_CTX *&nbsp;</td>
- <td class="paramname"> <em>ctx</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">const EVP_CIPHER_CTX *&#160;</td>
+ <td class="paramname"><em>ctx</em></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Return the key size of the cipher context.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>cipher context to get the key size from.</td></tr>
+</div><div class="memdoc">
+<p>Return the key size of the cipher context.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ctx</td><td>cipher context to get the key size from.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the key size of the cipher context. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>the key size of the cipher context. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="gc8013ca93e9b1ed25df3f535eb633f1a"></a><!-- doxytag: member="evp.c::EVP_CIPHER_CTX_mode" ref="gc8013ca93e9b1ed25df3f535eb633f1a" args="(const EVP_CIPHER_CTX *ctx)" -->
+</div>
+<a id="gac8013ca93e9b1ed25df3f535eb633f1a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gac8013ca93e9b1ed25df3f535eb633f1a">&#9670;&nbsp;</a></span>EVP_CIPHER_CTX_mode()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int EVP_CIPHER_CTX_mode </td>
+ <td class="memname">int EVP_CIPHER_CTX_mode </td>
<td>(</td>
- <td class="paramtype">const EVP_CIPHER_CTX *&nbsp;</td>
- <td class="paramname"> <em>ctx</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">const EVP_CIPHER_CTX *&#160;</td>
+ <td class="paramname"><em>ctx</em></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Get the mode for an EVP_CIPHER_CTX context.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the EVP_CIPHER_CTX to get the mode from</td></tr>
+</div><div class="memdoc">
+<p>Get the mode for an EVP_CIPHER_CTX context.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ctx</td><td>the EVP_CIPHER_CTX to get the mode from</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the mode for an EVP_CIPHER_CTX. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>the mode for an EVP_CIPHER_CTX. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g4fa322f7c3fe5fc570b8343d4d64fc52"></a><!-- doxytag: member="evp.c::EVP_CIPHER_CTX_set_app_data" ref="g4fa322f7c3fe5fc570b8343d4d64fc52" args="(EVP_CIPHER_CTX *ctx, void *data)" -->
+</div>
+<a id="ga4fa322f7c3fe5fc570b8343d4d64fc52"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga4fa322f7c3fe5fc570b8343d4d64fc52">&#9670;&nbsp;</a></span>EVP_CIPHER_CTX_set_app_data()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void EVP_CIPHER_CTX_set_app_data </td>
+ <td class="memname">void EVP_CIPHER_CTX_set_app_data </td>
<td>(</td>
- <td class="paramtype">EVP_CIPHER_CTX *&nbsp;</td>
- <td class="paramname"> <em>ctx</em>, </td>
+ <td class="paramtype">EVP_CIPHER_CTX *&#160;</td>
+ <td class="paramname"><em>ctx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">void *&nbsp;</td>
- <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>data</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Set the app data for an EVP_CIPHER_CTX context.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the EVP_CIPHER_CTX to set the app data for </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>the app data to set for an EVP_CIPHER_CTX. </td></tr>
+</div><div class="memdoc">
+<p>Set the app data for an EVP_CIPHER_CTX context.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ctx</td><td>the EVP_CIPHER_CTX to set the app data for </td></tr>
+ <tr><td class="paramname">data</td><td>the app data to set for an EVP_CIPHER_CTX. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="gc4d29d4bc3473f2499cfa83f0201386c"></a><!-- doxytag: member="evp.c::EVP_CIPHER_CTX_set_key_length" ref="gc4d29d4bc3473f2499cfa83f0201386c" args="(EVP_CIPHER_CTX *c, int length)" -->
+</div>
+<a id="gac4d29d4bc3473f2499cfa83f0201386c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gac4d29d4bc3473f2499cfa83f0201386c">&#9670;&nbsp;</a></span>EVP_CIPHER_CTX_set_key_length()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int EVP_CIPHER_CTX_set_key_length </td>
+ <td class="memname">int EVP_CIPHER_CTX_set_key_length </td>
<td>(</td>
- <td class="paramtype">EVP_CIPHER_CTX *&nbsp;</td>
- <td class="paramname"> <em>c</em>, </td>
+ <td class="paramtype">EVP_CIPHER_CTX *&#160;</td>
+ <td class="paramname"><em>c</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">int&nbsp;</td>
- <td class="paramname"> <em>length</em></td><td>&nbsp;</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>length</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-If the cipher type supports it, change the key length<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>the cipher context to change the key length for </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>new key length</td></tr>
+</div><div class="memdoc">
+<p>If the cipher type supports it, change the key length</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>the cipher context to change the key length for </td></tr>
+ <tr><td class="paramname">length</td><td>new key length</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>1 on success. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g7edebe76d19dee11686a6698d24f19f5"></a><!-- doxytag: member="evp.c::EVP_CIPHER_iv_length" ref="g7edebe76d19dee11686a6698d24f19f5" args="(const EVP_CIPHER *c)" -->
+</div>
+<a id="ga7edebe76d19dee11686a6698d24f19f5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga7edebe76d19dee11686a6698d24f19f5">&#9670;&nbsp;</a></span>EVP_CIPHER_iv_length()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">size_t EVP_CIPHER_iv_length </td>
+ <td class="memname">size_t EVP_CIPHER_iv_length </td>
<td>(</td>
- <td class="paramtype">const EVP_CIPHER *&nbsp;</td>
- <td class="paramname"> <em>c</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">const EVP_CIPHER *&#160;</td>
+ <td class="paramname"><em>c</em></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Return the IV size of the cipher.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>cipher to get the IV size from.</td></tr>
+</div><div class="memdoc">
+<p>Return the IV size of the cipher.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>cipher to get the IV size from.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the IV size of the cipher. </dd></dl>
-<dl compact><dt><b>Examples: </b></dt><dd>
-<a class="el" href="example__evp__cipher_8c-example.html#a2">example_evp_cipher.c</a>.</dl>
+<dl class="section return"><dt>Returns</dt><dd>the IV size of the cipher. </dd></dl>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="example_evp_cipher_8c-example.html#a2">example_evp_cipher.c</a>.</dd>
+</dl>
+</div>
</div>
-</div><p>
-<a class="anchor" name="g4793a9e130da86ac42c497b19395b748"></a><!-- doxytag: member="evp.c::EVP_CIPHER_key_length" ref="g4793a9e130da86ac42c497b19395b748" args="(const EVP_CIPHER *c)" -->
+<a id="ga4793a9e130da86ac42c497b19395b748"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga4793a9e130da86ac42c497b19395b748">&#9670;&nbsp;</a></span>EVP_CIPHER_key_length()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">size_t EVP_CIPHER_key_length </td>
+ <td class="memname">size_t EVP_CIPHER_key_length </td>
<td>(</td>
- <td class="paramtype">const EVP_CIPHER *&nbsp;</td>
- <td class="paramname"> <em>c</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">const EVP_CIPHER *&#160;</td>
+ <td class="paramname"><em>c</em></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Return the key size of the cipher.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>cipher to get the key size from.</td></tr>
+</div><div class="memdoc">
+<p>Return the key size of the cipher.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>cipher to get the key size from.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the key size of the cipher. </dd></dl>
-<dl compact><dt><b>Examples: </b></dt><dd>
-<a class="el" href="example__evp__cipher_8c-example.html#a1">example_evp_cipher.c</a>.</dl>
+<dl class="section return"><dt>Returns</dt><dd>the key size of the cipher. </dd></dl>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="example_evp_cipher_8c-example.html#a1">example_evp_cipher.c</a>.</dd>
+</dl>
+</div>
</div>
-</div><p>
-<a class="anchor" name="g714eef7d737fd68171d852043a4995de"></a><!-- doxytag: member="evp.c::EVP_CipherFinal_ex" ref="g714eef7d737fd68171d852043a4995de" args="(EVP_CIPHER_CTX *ctx, void *out, int *outlen)" -->
+<a id="ga714eef7d737fd68171d852043a4995de"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga714eef7d737fd68171d852043a4995de">&#9670;&nbsp;</a></span>EVP_CipherFinal_ex()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int EVP_CipherFinal_ex </td>
+ <td class="memname">int EVP_CipherFinal_ex </td>
<td>(</td>
- <td class="paramtype">EVP_CIPHER_CTX *&nbsp;</td>
- <td class="paramname"> <em>ctx</em>, </td>
+ <td class="paramtype">EVP_CIPHER_CTX *&#160;</td>
+ <td class="paramname"><em>ctx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">void *&nbsp;</td>
- <td class="paramname"> <em>out</em>, </td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>out</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">int *&nbsp;</td>
- <td class="paramname"> <em>outlen</em></td><td>&nbsp;</td>
+ <td class="paramtype">int *&#160;</td>
+ <td class="paramname"><em>outlen</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Encipher/decipher final data<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the cipher context. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>out</em>&nbsp;</td><td>output data from the operation. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>outlen</em>&nbsp;</td><td>output length</td></tr>
+</div><div class="memdoc">
+<p>Encipher/decipher final data</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ctx</td><td>the cipher context. </td></tr>
+ <tr><td class="paramname">out</td><td>output data from the operation. </td></tr>
+ <tr><td class="paramname">outlen</td><td>output length</td></tr>
</table>
+ </dd>
+</dl>
+<p>The input length needs to be at least <a class="el" href="group__hcrypto__evp.html#ga3123ff4b426783dd972538249b9e9d4d">EVP_CIPHER_block_size()</a> bytes long.</p>
+<p>See <a class="el" href="page_evp.html#evp_cipher">EVP Cipher</a> for an example how to use this function.</p>
+<dl class="section return"><dt>Returns</dt><dd>1 on success. </dd></dl>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="example_evp_cipher_8c-example.html#a8">example_evp_cipher.c</a>.</dd>
</dl>
-The input length needs to be at least <a class="el" href="group__hcrypto__evp.html#g3123ff4b426783dd972538249b9e9d4d">EVP_CIPHER_block_size()</a> bytes long.<p>
-See <a class="el" href="page_evp.html#evp_cipher">EVP Cipher</a> for an example how to use this function.<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success. </dd></dl>
-<dl compact><dt><b>Examples: </b></dt><dd>
-<a class="el" href="example__evp__cipher_8c-example.html#a8">example_evp_cipher.c</a>.</dl>
</div>
-</div><p>
-<a class="anchor" name="g98da5a5c1aa25d9cb2e4717fa11314bd"></a><!-- doxytag: member="evp.c::EVP_CipherInit_ex" ref="g98da5a5c1aa25d9cb2e4717fa11314bd" args="(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *c, ENGINE *engine, const void *key, const void *iv, int encp)" -->
+</div>
+<a id="ga98da5a5c1aa25d9cb2e4717fa11314bd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga98da5a5c1aa25d9cb2e4717fa11314bd">&#9670;&nbsp;</a></span>EVP_CipherInit_ex()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int EVP_CipherInit_ex </td>
+ <td class="memname">int EVP_CipherInit_ex </td>
<td>(</td>
- <td class="paramtype">EVP_CIPHER_CTX *&nbsp;</td>
- <td class="paramname"> <em>ctx</em>, </td>
+ <td class="paramtype">EVP_CIPHER_CTX *&#160;</td>
+ <td class="paramname"><em>ctx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const EVP_CIPHER *&nbsp;</td>
- <td class="paramname"> <em>c</em>, </td>
+ <td class="paramtype">const EVP_CIPHER *&#160;</td>
+ <td class="paramname"><em>c</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">ENGINE *&nbsp;</td>
- <td class="paramname"> <em>engine</em>, </td>
+ <td class="paramtype">ENGINE *&#160;</td>
+ <td class="paramname"><em>engine</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const void *&nbsp;</td>
- <td class="paramname"> <em>key</em>, </td>
+ <td class="paramtype">const void *&#160;</td>
+ <td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const void *&nbsp;</td>
- <td class="paramname"> <em>iv</em>, </td>
+ <td class="paramtype">const void *&#160;</td>
+ <td class="paramname"><em>iv</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">int&nbsp;</td>
- <td class="paramname"> <em>encp</em></td><td>&nbsp;</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>encp</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Initiate the EVP_CIPHER_CTX context to encrypt or decrypt data. Clean up with <a class="el" href="group__hcrypto__evp.html#gc16dd3987cd90c8bcdbad5290c558359">EVP_CIPHER_CTX_cleanup()</a>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>context to initiate </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>cipher to use. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>engine</em>&nbsp;</td><td>crypto engine to use, NULL to select default. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>the crypto key to use, NULL will use the previous value. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>iv</em>&nbsp;</td><td>the IV to use, NULL will use the previous value. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>encp</em>&nbsp;</td><td>non zero will encrypt, -1 use the previous value.</td></tr>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Initiate the EVP_CIPHER_CTX context to encrypt or decrypt data. Clean up with <a class="el" href="group__hcrypto__evp.html#gac16dd3987cd90c8bcdbad5290c558359">EVP_CIPHER_CTX_cleanup()</a>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ctx</td><td>context to initiate </td></tr>
+ <tr><td class="paramname">c</td><td>cipher to use. </td></tr>
+ <tr><td class="paramname">engine</td><td>crypto engine to use, NULL to select default. </td></tr>
+ <tr><td class="paramname">key</td><td>the crypto key to use, NULL will use the previous value. </td></tr>
+ <tr><td class="paramname">iv</td><td>the IV to use, NULL will use the previous value. </td></tr>
+ <tr><td class="paramname">encp</td><td>non zero will encrypt, -1 use the previous value.</td></tr>
</table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>1 on success. </dd></dl>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="example_evp_cipher_8c-example.html#a5">example_evp_cipher.c</a>.</dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success. </dd></dl>
-<dl compact><dt><b>Examples: </b></dt><dd>
-<a class="el" href="example__evp__cipher_8c-example.html#a5">example_evp_cipher.c</a>.</dl>
</div>
-</div><p>
-<a class="anchor" name="g863349e1001b36cfd6c4afedddd12862"></a><!-- doxytag: member="evp.c::EVP_CipherUpdate" ref="g863349e1001b36cfd6c4afedddd12862" args="(EVP_CIPHER_CTX *ctx, void *out, int *outlen, void *in, size_t inlen)" -->
+</div>
+<a id="ga863349e1001b36cfd6c4afedddd12862"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga863349e1001b36cfd6c4afedddd12862">&#9670;&nbsp;</a></span>EVP_CipherUpdate()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int EVP_CipherUpdate </td>
+ <td class="memname">int EVP_CipherUpdate </td>
<td>(</td>
- <td class="paramtype">EVP_CIPHER_CTX *&nbsp;</td>
- <td class="paramname"> <em>ctx</em>, </td>
+ <td class="paramtype">EVP_CIPHER_CTX *&#160;</td>
+ <td class="paramname"><em>ctx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">void *&nbsp;</td>
- <td class="paramname"> <em>out</em>, </td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>out</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">int *&nbsp;</td>
- <td class="paramname"> <em>outlen</em>, </td>
+ <td class="paramtype">int *&#160;</td>
+ <td class="paramname"><em>outlen</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">void *&nbsp;</td>
- <td class="paramname"> <em>in</em>, </td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>in</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>inlen</em></td><td>&nbsp;</td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>inlen</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Encipher/decipher partial data<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the cipher context. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>out</em>&nbsp;</td><td>output data from the operation. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>outlen</em>&nbsp;</td><td>output length </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>in</em>&nbsp;</td><td>input data to the operation. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>inlen</em>&nbsp;</td><td>length of data.</td></tr>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Encipher/decipher partial data</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ctx</td><td>the cipher context. </td></tr>
+ <tr><td class="paramname">out</td><td>output data from the operation. </td></tr>
+ <tr><td class="paramname">outlen</td><td>output length </td></tr>
+ <tr><td class="paramname">in</td><td>input data to the operation. </td></tr>
+ <tr><td class="paramname">inlen</td><td>length of data.</td></tr>
</table>
+ </dd>
</dl>
-The output buffer length should at least be <a class="el" href="group__hcrypto__evp.html#g3123ff4b426783dd972538249b9e9d4d">EVP_CIPHER_block_size()</a> byte longer then the input length.<p>
-See <a class="el" href="page_evp.html#evp_cipher">EVP Cipher</a> for an example how to use this function.<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success. </dd></dl>
-
-<p>
-If there in no spare bytes in the left from last Update and the input length is on the block boundery, the <a class="el" href="group__hcrypto__evp.html#g863349e1001b36cfd6c4afedddd12862">EVP_CipherUpdate()</a> function can take a shortcut (and preformance gain) and directly encrypt the data, otherwise we hav to fix it up and store extra it the EVP_CIPHER_CTX. <dl compact><dt><b>Examples: </b></dt><dd>
-<a class="el" href="example__evp__cipher_8c-example.html#a6">example_evp_cipher.c</a>.</dl>
+<p>The output buffer length should at least be <a class="el" href="group__hcrypto__evp.html#ga3123ff4b426783dd972538249b9e9d4d">EVP_CIPHER_block_size()</a> byte longer then the input length.</p>
+<p>See <a class="el" href="page_evp.html#evp_cipher">EVP Cipher</a> for an example how to use this function.</p>
+<dl class="section return"><dt>Returns</dt><dd>1 on success. </dd></dl>
+<p>If there in no spare bytes in the left from last Update and the input length is on the block boundery, the <a class="el" href="group__hcrypto__evp.html#ga863349e1001b36cfd6c4afedddd12862">EVP_CipherUpdate()</a> function can take a shortcut (and preformance gain) and directly encrypt the data, otherwise we hav to fix it up and store extra it the EVP_CIPHER_CTX.</p>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="example_evp_cipher_8c-example.html#a6">example_evp_cipher.c</a>.</dd>
+</dl>
+</div>
</div>
-</div><p>
-<a class="anchor" name="g8ba85e78fac7521ad71cb29ef62beab9"></a><!-- doxytag: member="evp.c::EVP_des_cbc" ref="g8ba85e78fac7521ad71cb29ef62beab9" args="(void)" -->
+<a id="ga8ba85e78fac7521ad71cb29ef62beab9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga8ba85e78fac7521ad71cb29ef62beab9">&#9670;&nbsp;</a></span>EVP_des_cbc()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_CIPHER* EVP_des_cbc </td>
+ <td class="memname">const EVP_CIPHER* EVP_des_cbc </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-The DES cipher type<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the DES-CBC EVP_CIPHER pointer. </dd></dl>
+</div><div class="memdoc">
+<p>The DES cipher type</p>
+<dl class="section return"><dt>Returns</dt><dd>the DES-CBC EVP_CIPHER pointer. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g191c1d946437661ee23de2ad9b3383e3"></a><!-- doxytag: member="evp.c::EVP_des_ede3_cbc" ref="g191c1d946437661ee23de2ad9b3383e3" args="(void)" -->
+</div>
+<a id="ga191c1d946437661ee23de2ad9b3383e3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga191c1d946437661ee23de2ad9b3383e3">&#9670;&nbsp;</a></span>EVP_des_ede3_cbc()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_CIPHER* EVP_des_ede3_cbc </td>
+ <td class="memname">const EVP_CIPHER* EVP_des_ede3_cbc </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-The tripple DES cipher type<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the DES-EDE3-CBC EVP_CIPHER pointer. </dd></dl>
+</div><div class="memdoc">
+<p>The triple DES cipher type</p>
+<dl class="section return"><dt>Returns</dt><dd>the DES-EDE3-CBC EVP_CIPHER pointer. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="gb785fa9dd0a45be223a0d576af062c4b"></a><!-- doxytag: member="evp.c::EVP_Digest" ref="gb785fa9dd0a45be223a0d576af062c4b" args="(const void *data, size_t dsize, void *hash, unsigned int *hsize, const EVP_MD *md, ENGINE *engine)" -->
+</div>
+<a id="gab785fa9dd0a45be223a0d576af062c4b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gab785fa9dd0a45be223a0d576af062c4b">&#9670;&nbsp;</a></span>EVP_Digest()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int EVP_Digest </td>
+ <td class="memname">int EVP_Digest </td>
<td>(</td>
- <td class="paramtype">const void *&nbsp;</td>
- <td class="paramname"> <em>data</em>, </td>
+ <td class="paramtype">const void *&#160;</td>
+ <td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>dsize</em>, </td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>dsize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">void *&nbsp;</td>
- <td class="paramname"> <em>hash</em>, </td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>hash</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">unsigned int *&nbsp;</td>
- <td class="paramname"> <em>hsize</em>, </td>
+ <td class="paramtype">unsigned int *&#160;</td>
+ <td class="paramname"><em>hsize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const EVP_MD *&nbsp;</td>
- <td class="paramname"> <em>md</em>, </td>
+ <td class="paramtype">const EVP_MD *&#160;</td>
+ <td class="paramname"><em>md</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">ENGINE *&nbsp;</td>
- <td class="paramname"> <em>engine</em></td><td>&nbsp;</td>
+ <td class="paramtype">ENGINE *&#160;</td>
+ <td class="paramname"><em>engine</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Do the whole <a class="el" href="group__hcrypto__evp.html#g54bfa0296db2c131ef69e3a18c445357">EVP_MD_CTX_create()</a>, <a class="el" href="group__hcrypto__evp.html#gb6b800ba80b850cba223723b28fc9a44">EVP_DigestInit_ex()</a>, <a class="el" href="group__hcrypto__evp.html#g12039fea1f371ef39a489d450f564338">EVP_DigestUpdate()</a>, <a class="el" href="group__hcrypto__evp.html#g5103bec19556f264e1f442c6ffc3bddc">EVP_DigestFinal_ex()</a>, <a class="el" href="group__hcrypto__evp.html#ge105ea6e5626f521fbe8cad0a85cbe46">EVP_MD_CTX_destroy()</a> dance in one call.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>the data to update the context with </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>dsize</em>&nbsp;</td><td>length of data </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>hash</em>&nbsp;</td><td>output data of at least <a class="el" href="group__hcrypto__evp.html#gbea28e9ccb98329a7a76c95e8699221c">EVP_MD_size()</a> length. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>hsize</em>&nbsp;</td><td>output length of hash. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>md</em>&nbsp;</td><td>message digest to use </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>engine</em>&nbsp;</td><td>engine to use, NULL for default engine.</td></tr>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Do the whole <a class="el" href="group__hcrypto__evp.html#ga54bfa0296db2c131ef69e3a18c445357">EVP_MD_CTX_create()</a>, <a class="el" href="group__hcrypto__evp.html#gab6b800ba80b850cba223723b28fc9a44">EVP_DigestInit_ex()</a>, <a class="el" href="group__hcrypto__evp.html#ga12039fea1f371ef39a489d450f564338">EVP_DigestUpdate()</a>, <a class="el" href="group__hcrypto__evp.html#ga5103bec19556f264e1f442c6ffc3bddc">EVP_DigestFinal_ex()</a>, <a class="el" href="group__hcrypto__evp.html#gae105ea6e5626f521fbe8cad0a85cbe46">EVP_MD_CTX_destroy()</a> dance in one call.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">data</td><td>the data to update the context with </td></tr>
+ <tr><td class="paramname">dsize</td><td>length of data </td></tr>
+ <tr><td class="paramname">hash</td><td>output data of at least <a class="el" href="group__hcrypto__evp.html#gabea28e9ccb98329a7a76c95e8699221c">EVP_MD_size()</a> length. </td></tr>
+ <tr><td class="paramname">hsize</td><td>output length of hash. </td></tr>
+ <tr><td class="paramname">md</td><td>message digest to use </td></tr>
+ <tr><td class="paramname">engine</td><td>engine to use, NULL for default engine.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>1 on success. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g5103bec19556f264e1f442c6ffc3bddc"></a><!-- doxytag: member="evp.c::EVP_DigestFinal_ex" ref="g5103bec19556f264e1f442c6ffc3bddc" args="(EVP_MD_CTX *ctx, void *hash, unsigned int *size)" -->
+</div>
+<a id="ga5103bec19556f264e1f442c6ffc3bddc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga5103bec19556f264e1f442c6ffc3bddc">&#9670;&nbsp;</a></span>EVP_DigestFinal_ex()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int EVP_DigestFinal_ex </td>
+ <td class="memname">int EVP_DigestFinal_ex </td>
<td>(</td>
- <td class="paramtype">EVP_MD_CTX *&nbsp;</td>
- <td class="paramname"> <em>ctx</em>, </td>
+ <td class="paramtype">EVP_MD_CTX *&#160;</td>
+ <td class="paramname"><em>ctx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">void *&nbsp;</td>
- <td class="paramname"> <em>hash</em>, </td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>hash</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">unsigned int *&nbsp;</td>
- <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
+ <td class="paramtype">unsigned int *&#160;</td>
+ <td class="paramname"><em>size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Complete the message digest.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the context to complete. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>hash</em>&nbsp;</td><td>the output of the message digest function. At least <a class="el" href="group__hcrypto__evp.html#gbea28e9ccb98329a7a76c95e8699221c">EVP_MD_size()</a>. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>the output size of hash.</td></tr>
+</div><div class="memdoc">
+<p>Complete the message digest.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ctx</td><td>the context to complete. </td></tr>
+ <tr><td class="paramname">hash</td><td>the output of the message digest function. At least <a class="el" href="group__hcrypto__evp.html#gabea28e9ccb98329a7a76c95e8699221c">EVP_MD_size()</a>. </td></tr>
+ <tr><td class="paramname">size</td><td>the output size of hash.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>1 on success. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="gb6b800ba80b850cba223723b28fc9a44"></a><!-- doxytag: member="evp.c::EVP_DigestInit_ex" ref="gb6b800ba80b850cba223723b28fc9a44" args="(EVP_MD_CTX *ctx, const EVP_MD *md, ENGINE *engine)" -->
+</div>
+<a id="gab6b800ba80b850cba223723b28fc9a44"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gab6b800ba80b850cba223723b28fc9a44">&#9670;&nbsp;</a></span>EVP_DigestInit_ex()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int EVP_DigestInit_ex </td>
+ <td class="memname">int EVP_DigestInit_ex </td>
<td>(</td>
- <td class="paramtype">EVP_MD_CTX *&nbsp;</td>
- <td class="paramname"> <em>ctx</em>, </td>
+ <td class="paramtype">EVP_MD_CTX *&#160;</td>
+ <td class="paramname"><em>ctx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const EVP_MD *&nbsp;</td>
- <td class="paramname"> <em>md</em>, </td>
+ <td class="paramtype">const EVP_MD *&#160;</td>
+ <td class="paramname"><em>md</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">ENGINE *&nbsp;</td>
- <td class="paramname"> <em>engine</em></td><td>&nbsp;</td>
+ <td class="paramtype">ENGINE *&#160;</td>
+ <td class="paramname"><em>engine</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Init a EVP_MD_CTX for use a specific message digest and engine.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the message digest context to init. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>md</em>&nbsp;</td><td>the message digest to use. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>engine</em>&nbsp;</td><td>the engine to use, NULL to use the default engine.</td></tr>
+</div><div class="memdoc">
+<p>Init a EVP_MD_CTX for use a specific message digest and engine.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ctx</td><td>the message digest context to init. </td></tr>
+ <tr><td class="paramname">md</td><td>the message digest to use. </td></tr>
+ <tr><td class="paramname">engine</td><td>the engine to use, NULL to use the default engine.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>1 on success. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g12039fea1f371ef39a489d450f564338"></a><!-- doxytag: member="evp.c::EVP_DigestUpdate" ref="g12039fea1f371ef39a489d450f564338" args="(EVP_MD_CTX *ctx, const void *data, size_t size)" -->
+</div>
+<a id="ga12039fea1f371ef39a489d450f564338"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga12039fea1f371ef39a489d450f564338">&#9670;&nbsp;</a></span>EVP_DigestUpdate()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int EVP_DigestUpdate </td>
+ <td class="memname">int EVP_DigestUpdate </td>
<td>(</td>
- <td class="paramtype">EVP_MD_CTX *&nbsp;</td>
- <td class="paramname"> <em>ctx</em>, </td>
+ <td class="paramtype">EVP_MD_CTX *&#160;</td>
+ <td class="paramname"><em>ctx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const void *&nbsp;</td>
- <td class="paramname"> <em>data</em>, </td>
+ <td class="paramtype">const void *&#160;</td>
+ <td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Update the digest with some data.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the context to update </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>the data to update the context with </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>length of data</td></tr>
+</div><div class="memdoc">
+<p>Update the digest with some data.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ctx</td><td>the context to update </td></tr>
+ <tr><td class="paramname">data</td><td>the data to update the context with </td></tr>
+ <tr><td class="paramname">size</td><td>length of data</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>1 on success. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g70a05495ee115c6eb26d958a5ac75c8b"></a><!-- doxytag: member="evp.c::EVP_enc_null" ref="g70a05495ee115c6eb26d958a5ac75c8b" args="(void)" -->
+</div>
+<a id="ga70a05495ee115c6eb26d958a5ac75c8b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga70a05495ee115c6eb26d958a5ac75c8b">&#9670;&nbsp;</a></span>EVP_enc_null()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_CIPHER* EVP_enc_null </td>
+ <td class="memname">const EVP_CIPHER* EVP_enc_null </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-The NULL cipher type, does no encryption/decryption.<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the null EVP_CIPHER pointer. </dd></dl>
+</div><div class="memdoc">
+<p>The NULL cipher type, does no encryption/decryption.</p>
+<dl class="section return"><dt>Returns</dt><dd>the null EVP_CIPHER pointer. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="gead9b446ac5ebd90dc7be0dbe6aba2b0"></a><!-- doxytag: member="evp.c::EVP_get_cipherbyname" ref="gead9b446ac5ebd90dc7be0dbe6aba2b0" args="(const char *name)" -->
+</div>
+<a id="gaead9b446ac5ebd90dc7be0dbe6aba2b0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gaead9b446ac5ebd90dc7be0dbe6aba2b0">&#9670;&nbsp;</a></span>EVP_get_cipherbyname()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_CIPHER* EVP_get_cipherbyname </td>
+ <td class="memname">const EVP_CIPHER* EVP_get_cipherbyname </td>
<td>(</td>
- <td class="paramtype">const char *&nbsp;</td>
- <td class="paramname"> <em>name</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>name</em></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Get the cipher type using their name.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>the name of the cipher.</td></tr>
+</div><div class="memdoc">
+<p>Get the cipher type using their name.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">name</td><td>the name of the cipher.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the selected EVP_CIPHER pointer or NULL if not found. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>the selected EVP_CIPHER pointer or NULL if not found. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g2decf06c0d9b08e364e9c4c8f4d3a7a3"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_aes_128_cbc" ref="g2decf06c0d9b08e364e9c4c8f4d3a7a3" args="(void)" -->
+</div>
+<a id="ga2decf06c0d9b08e364e9c4c8f4d3a7a3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga2decf06c0d9b08e364e9c4c8f4d3a7a3">&#9670;&nbsp;</a></span>EVP_hcrypto_aes_128_cbc()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_CIPHER* EVP_hcrypto_aes_128_cbc </td>
+ <td class="memname">const EVP_CIPHER* EVP_hcrypto_aes_128_cbc </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-The AES-128 cipher type (hcrypto)<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the AES-128 EVP_CIPHER pointer. </dd></dl>
+</div><div class="memdoc">
+<p>The AES-128 cipher type (hcrypto)</p>
+<dl class="section return"><dt>Returns</dt><dd>the AES-128 EVP_CIPHER pointer. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g44eb080ab987799883eae8e64970be6c"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_aes_128_cfb8" ref="g44eb080ab987799883eae8e64970be6c" args="(void)" -->
+</div>
+<a id="ga44eb080ab987799883eae8e64970be6c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga44eb080ab987799883eae8e64970be6c">&#9670;&nbsp;</a></span>EVP_hcrypto_aes_128_cfb8()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_CIPHER* EVP_hcrypto_aes_128_cfb8 </td>
+ <td class="memname">const EVP_CIPHER* EVP_hcrypto_aes_128_cfb8 </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-The AES-128 CFB8 cipher type (hcrypto)<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the AES-128 EVP_CIPHER pointer. </dd></dl>
+</div><div class="memdoc">
+<p>The AES-128 CFB8 cipher type (hcrypto)</p>
+<dl class="section return"><dt>Returns</dt><dd>the AES-128 EVP_CIPHER pointer. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g16b21d9262c4af37121b0e85cc83b555"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_aes_192_cbc" ref="g16b21d9262c4af37121b0e85cc83b555" args="(void)" -->
+</div>
+<a id="ga16b21d9262c4af37121b0e85cc83b555"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga16b21d9262c4af37121b0e85cc83b555">&#9670;&nbsp;</a></span>EVP_hcrypto_aes_192_cbc()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_CIPHER* EVP_hcrypto_aes_192_cbc </td>
+ <td class="memname">const EVP_CIPHER* EVP_hcrypto_aes_192_cbc </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-The AES-192 cipher type (hcrypto)<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the AES-192 EVP_CIPHER pointer. </dd></dl>
+</div><div class="memdoc">
+<p>The AES-192 cipher type (hcrypto)</p>
+<dl class="section return"><dt>Returns</dt><dd>the AES-192 EVP_CIPHER pointer. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g532a6f5c56334ccf8615791bfaef041d"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_aes_192_cfb8" ref="g532a6f5c56334ccf8615791bfaef041d" args="(void)" -->
+</div>
+<a id="ga532a6f5c56334ccf8615791bfaef041d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga532a6f5c56334ccf8615791bfaef041d">&#9670;&nbsp;</a></span>EVP_hcrypto_aes_192_cfb8()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_CIPHER* EVP_hcrypto_aes_192_cfb8 </td>
+ <td class="memname">const EVP_CIPHER* EVP_hcrypto_aes_192_cfb8 </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-The AES-192 CFB8 cipher type (hcrypto)<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the AES-192 EVP_CIPHER pointer. </dd></dl>
+</div><div class="memdoc">
+<p>The AES-192 CFB8 cipher type (hcrypto)</p>
+<dl class="section return"><dt>Returns</dt><dd>the AES-192 EVP_CIPHER pointer. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g49b683aa07c039ad31d7e498c87ad95f"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_aes_256_cbc" ref="g49b683aa07c039ad31d7e498c87ad95f" args="(void)" -->
+</div>
+<a id="ga49b683aa07c039ad31d7e498c87ad95f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga49b683aa07c039ad31d7e498c87ad95f">&#9670;&nbsp;</a></span>EVP_hcrypto_aes_256_cbc()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_CIPHER* EVP_hcrypto_aes_256_cbc </td>
+ <td class="memname">const EVP_CIPHER* EVP_hcrypto_aes_256_cbc </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-The AES-256 cipher type (hcrypto)<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the AES-256 EVP_CIPHER pointer. </dd></dl>
+</div><div class="memdoc">
+<p>The AES-256 cipher type (hcrypto)</p>
+<dl class="section return"><dt>Returns</dt><dd>the AES-256 EVP_CIPHER pointer. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g4f7c34086cea5e4da92f56d543ec24bf"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_aes_256_cfb8" ref="g4f7c34086cea5e4da92f56d543ec24bf" args="(void)" -->
+</div>
+<a id="ga4f7c34086cea5e4da92f56d543ec24bf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga4f7c34086cea5e4da92f56d543ec24bf">&#9670;&nbsp;</a></span>EVP_hcrypto_aes_256_cfb8()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_CIPHER* EVP_hcrypto_aes_256_cfb8 </td>
+ <td class="memname">const EVP_CIPHER* EVP_hcrypto_aes_256_cfb8 </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-The AES-256 CFB8 cipher type (hcrypto)<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the AES-256 EVP_CIPHER pointer. </dd></dl>
+</div><div class="memdoc">
+<p>The AES-256 CFB8 cipher type (hcrypto)</p>
+<dl class="section return"><dt>Returns</dt><dd>the AES-256 EVP_CIPHER pointer. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g68deec0ffc93c0dcd83db0478e72d5b8"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_camellia_128_cbc" ref="g68deec0ffc93c0dcd83db0478e72d5b8" args="(void)" -->
+</div>
+<a id="ga68deec0ffc93c0dcd83db0478e72d5b8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga68deec0ffc93c0dcd83db0478e72d5b8">&#9670;&nbsp;</a></span>EVP_hcrypto_camellia_128_cbc()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_CIPHER* EVP_hcrypto_camellia_128_cbc </td>
+ <td class="memname">const EVP_CIPHER* EVP_hcrypto_camellia_128_cbc </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-The Camellia-128 cipher type - hcrypto<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the Camellia-128 EVP_CIPHER pointer. </dd></dl>
+</div><div class="memdoc">
+<p>The Camellia-128 cipher type - hcrypto</p>
+<dl class="section return"><dt>Returns</dt><dd>the Camellia-128 EVP_CIPHER pointer. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="gfd6acecc697a1f9516909ca228cb54e5"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_camellia_192_cbc" ref="gfd6acecc697a1f9516909ca228cb54e5" args="(void)" -->
+</div>
+<a id="gafd6acecc697a1f9516909ca228cb54e5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gafd6acecc697a1f9516909ca228cb54e5">&#9670;&nbsp;</a></span>EVP_hcrypto_camellia_192_cbc()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_CIPHER* EVP_hcrypto_camellia_192_cbc </td>
+ <td class="memname">const EVP_CIPHER* EVP_hcrypto_camellia_192_cbc </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-The Camellia-198 cipher type - hcrypto<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the Camellia-198 EVP_CIPHER pointer. </dd></dl>
+</div><div class="memdoc">
+<p>The Camellia-198 cipher type - hcrypto</p>
+<dl class="section return"><dt>Returns</dt><dd>the Camellia-198 EVP_CIPHER pointer. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g211f7122bdeeb3551dcd02c37a7a11e6"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_camellia_256_cbc" ref="g211f7122bdeeb3551dcd02c37a7a11e6" args="(void)" -->
+</div>
+<a id="ga211f7122bdeeb3551dcd02c37a7a11e6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga211f7122bdeeb3551dcd02c37a7a11e6">&#9670;&nbsp;</a></span>EVP_hcrypto_camellia_256_cbc()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_CIPHER* EVP_hcrypto_camellia_256_cbc </td>
+ <td class="memname">const EVP_CIPHER* EVP_hcrypto_camellia_256_cbc </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-The Camellia-256 cipher type - hcrypto<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the Camellia-256 EVP_CIPHER pointer. </dd></dl>
+</div><div class="memdoc">
+<p>The Camellia-256 cipher type - hcrypto</p>
+<dl class="section return"><dt>Returns</dt><dd>the Camellia-256 EVP_CIPHER pointer. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g0cc4edf9d19ebf7198e33ac0c8138f04"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_des_cbc" ref="g0cc4edf9d19ebf7198e33ac0c8138f04" args="(void)" -->
+</div>
+<a id="ga0cc4edf9d19ebf7198e33ac0c8138f04"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga0cc4edf9d19ebf7198e33ac0c8138f04">&#9670;&nbsp;</a></span>EVP_hcrypto_des_cbc()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_CIPHER* EVP_hcrypto_des_cbc </td>
+ <td class="memname">const EVP_CIPHER* EVP_hcrypto_des_cbc </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-The DES cipher type<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the DES-CBC EVP_CIPHER pointer. </dd></dl>
+</div><div class="memdoc">
+<p>The DES cipher type</p>
+<dl class="section return"><dt>Returns</dt><dd>the DES-CBC EVP_CIPHER pointer. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g1c0e19f28dc594d929f089721e737237"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_des_ede3_cbc" ref="g1c0e19f28dc594d929f089721e737237" args="(void)" -->
+</div>
+<a id="ga1c0e19f28dc594d929f089721e737237"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga1c0e19f28dc594d929f089721e737237">&#9670;&nbsp;</a></span>EVP_hcrypto_des_ede3_cbc()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_CIPHER* EVP_hcrypto_des_ede3_cbc </td>
+ <td class="memname">const EVP_CIPHER* EVP_hcrypto_des_ede3_cbc </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-The tripple DES cipher type - hcrypto<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the DES-EDE3-CBC EVP_CIPHER pointer. </dd></dl>
+</div><div class="memdoc">
+<p>The triple DES cipher type - hcrypto</p>
+<dl class="section return"><dt>Returns</dt><dd>the DES-EDE3-CBC EVP_CIPHER pointer. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g89d756ccb4919c5102481da488b86aaa"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_md2" ref="g89d756ccb4919c5102481da488b86aaa" args="(void)" -->
+</div>
+<a id="ga89d756ccb4919c5102481da488b86aaa"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga89d756ccb4919c5102481da488b86aaa">&#9670;&nbsp;</a></span>EVP_hcrypto_md2()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_MD* EVP_hcrypto_md2 </td>
+ <td class="memname">const EVP_MD* EVP_hcrypto_md2 </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-The message digest MD2 - hcrypto<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the message digest type. </dd></dl>
+</div><div class="memdoc">
+<p>The message digest MD2 - hcrypto</p>
+<dl class="section return"><dt>Returns</dt><dd>the message digest type. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g4456dfa7c2f23830fa32b99969720719"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_md4" ref="g4456dfa7c2f23830fa32b99969720719" args="(void)" -->
+</div>
+<a id="ga4456dfa7c2f23830fa32b99969720719"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga4456dfa7c2f23830fa32b99969720719">&#9670;&nbsp;</a></span>EVP_hcrypto_md4()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_MD* EVP_hcrypto_md4 </td>
+ <td class="memname">const EVP_MD* EVP_hcrypto_md4 </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-The message digest MD4 - hcrypto<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the message digest type. </dd></dl>
+</div><div class="memdoc">
+<p>The message digest MD4 - hcrypto</p>
+<dl class="section return"><dt>Returns</dt><dd>the message digest type. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g3c7a8676a690817ec03d71568a7deb1b"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_md5" ref="g3c7a8676a690817ec03d71568a7deb1b" args="(void)" -->
+</div>
+<a id="ga3c7a8676a690817ec03d71568a7deb1b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga3c7a8676a690817ec03d71568a7deb1b">&#9670;&nbsp;</a></span>EVP_hcrypto_md5()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_MD* EVP_hcrypto_md5 </td>
+ <td class="memname">const EVP_MD* EVP_hcrypto_md5 </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-The message digest MD5 - hcrypto<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the message digest type. </dd></dl>
+</div><div class="memdoc">
+<p>The message digest MD5 - hcrypto</p>
+<dl class="section return"><dt>Returns</dt><dd>the message digest type. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g35d681a86e0ed71b505b53e5fc199ed5"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_rc2_40_cbc" ref="g35d681a86e0ed71b505b53e5fc199ed5" args="(void)" -->
+</div>
+<a id="ga35d681a86e0ed71b505b53e5fc199ed5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga35d681a86e0ed71b505b53e5fc199ed5">&#9670;&nbsp;</a></span>EVP_hcrypto_rc2_40_cbc()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_CIPHER* EVP_hcrypto_rc2_40_cbc </td>
+ <td class="memname">const EVP_CIPHER* EVP_hcrypto_rc2_40_cbc </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-The RC2-40 cipher type<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the RC2-40 EVP_CIPHER pointer. </dd></dl>
+</div><div class="memdoc">
+<p>The RC2-40 cipher type</p>
+<dl class="section return"><dt>Returns</dt><dd>the RC2-40 EVP_CIPHER pointer. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="gb7534f69db09cd76e4c36703a9340212"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_rc2_64_cbc" ref="gb7534f69db09cd76e4c36703a9340212" args="(void)" -->
+</div>
+<a id="gab7534f69db09cd76e4c36703a9340212"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gab7534f69db09cd76e4c36703a9340212">&#9670;&nbsp;</a></span>EVP_hcrypto_rc2_64_cbc()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_CIPHER* EVP_hcrypto_rc2_64_cbc </td>
+ <td class="memname">const EVP_CIPHER* EVP_hcrypto_rc2_64_cbc </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-The RC2-64 cipher type<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the RC2-64 EVP_CIPHER pointer. </dd></dl>
+</div><div class="memdoc">
+<p>The RC2-64 cipher type</p>
+<dl class="section return"><dt>Returns</dt><dd>the RC2-64 EVP_CIPHER pointer. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="gc238450b802f4e0c78752ef1ba1198e9"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_rc2_cbc" ref="gc238450b802f4e0c78752ef1ba1198e9" args="(void)" -->
+</div>
+<a id="gac238450b802f4e0c78752ef1ba1198e9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gac238450b802f4e0c78752ef1ba1198e9">&#9670;&nbsp;</a></span>EVP_hcrypto_rc2_cbc()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_CIPHER* EVP_hcrypto_rc2_cbc </td>
+ <td class="memname">const EVP_CIPHER* EVP_hcrypto_rc2_cbc </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-The RC2 cipher type - hcrypto<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the RC2 EVP_CIPHER pointer. </dd></dl>
+</div><div class="memdoc">
+<p>The RC2 cipher type - hcrypto</p>
+<dl class="section return"><dt>Returns</dt><dd>the RC2 EVP_CIPHER pointer. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g5dc409fc540bad0751b96b3f74185477"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_sha1" ref="g5dc409fc540bad0751b96b3f74185477" args="(void)" -->
+</div>
+<a id="ga5dc409fc540bad0751b96b3f74185477"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga5dc409fc540bad0751b96b3f74185477">&#9670;&nbsp;</a></span>EVP_hcrypto_sha1()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_MD* EVP_hcrypto_sha1 </td>
+ <td class="memname">const EVP_MD* EVP_hcrypto_sha1 </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-The message digest SHA1 - hcrypto<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the message digest type. </dd></dl>
+</div><div class="memdoc">
+<p>The message digest SHA1 - hcrypto</p>
+<dl class="section return"><dt>Returns</dt><dd>the message digest type. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g12b7608ec40d059f5539fd24277baae0"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_sha256" ref="g12b7608ec40d059f5539fd24277baae0" args="(void)" -->
+</div>
+<a id="ga12b7608ec40d059f5539fd24277baae0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga12b7608ec40d059f5539fd24277baae0">&#9670;&nbsp;</a></span>EVP_hcrypto_sha256()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_MD* EVP_hcrypto_sha256 </td>
+ <td class="memname">const EVP_MD* EVP_hcrypto_sha256 </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-The message digest SHA256 - hcrypto<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the message digest type. </dd></dl>
+</div><div class="memdoc">
+<p>The message digest SHA256 - hcrypto</p>
+<dl class="section return"><dt>Returns</dt><dd>the message digest type. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="gc002bcb2cc8ee9bb58b5924ab0bc3533"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_sha384" ref="gc002bcb2cc8ee9bb58b5924ab0bc3533" args="(void)" -->
+</div>
+<a id="gac002bcb2cc8ee9bb58b5924ab0bc3533"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gac002bcb2cc8ee9bb58b5924ab0bc3533">&#9670;&nbsp;</a></span>EVP_hcrypto_sha384()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_MD* EVP_hcrypto_sha384 </td>
+ <td class="memname">const EVP_MD* EVP_hcrypto_sha384 </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-The message digest SHA384 - hcrypto<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the message digest type. </dd></dl>
+</div><div class="memdoc">
+<p>The message digest SHA384 - hcrypto</p>
+<dl class="section return"><dt>Returns</dt><dd>the message digest type. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="gef3c401b9d2e696f89f27335f4b261e2"></a><!-- doxytag: member="evp-hcrypto.c::EVP_hcrypto_sha512" ref="gef3c401b9d2e696f89f27335f4b261e2" args="(void)" -->
+</div>
+<a id="gaef3c401b9d2e696f89f27335f4b261e2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gaef3c401b9d2e696f89f27335f4b261e2">&#9670;&nbsp;</a></span>EVP_hcrypto_sha512()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_MD* EVP_hcrypto_sha512 </td>
+ <td class="memname">const EVP_MD* EVP_hcrypto_sha512 </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-The message digest SHA512 - hcrypto<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the message digest type. </dd></dl>
+</div><div class="memdoc">
+<p>The message digest SHA512 - hcrypto</p>
+<dl class="section return"><dt>Returns</dt><dd>the message digest type. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g4b583f3de5fc66b04f675428da25efd0"></a><!-- doxytag: member="evp.c::EVP_md2" ref="g4b583f3de5fc66b04f675428da25efd0" args="(void)" -->
+</div>
+<a id="ga4b583f3de5fc66b04f675428da25efd0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga4b583f3de5fc66b04f675428da25efd0">&#9670;&nbsp;</a></span>EVP_md2()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_MD* EVP_md2 </td>
+ <td class="memname">const EVP_MD* EVP_md2 </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-The message digest MD2<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the message digest type. </dd></dl>
+</div><div class="memdoc">
+<p>The message digest MD2</p>
+<dl class="section return"><dt>Returns</dt><dd>the message digest type. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="gd232ca5dcef4ec58b182cb967f519999"></a><!-- doxytag: member="evp.c::EVP_md4" ref="gd232ca5dcef4ec58b182cb967f519999" args="(void)" -->
+</div>
+<a id="gad232ca5dcef4ec58b182cb967f519999"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gad232ca5dcef4ec58b182cb967f519999">&#9670;&nbsp;</a></span>EVP_md4()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_MD* EVP_md4 </td>
+ <td class="memname">const EVP_MD* EVP_md4 </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-The message digest MD4<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the message digest type. </dd></dl>
+</div><div class="memdoc">
+<p>The message digest MD4</p>
+<dl class="section return"><dt>Returns</dt><dd>the message digest type. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g3ccaad2c97f5cf27adb461b1b50aeabb"></a><!-- doxytag: member="evp.c::EVP_md5" ref="g3ccaad2c97f5cf27adb461b1b50aeabb" args="(void)" -->
+</div>
+<a id="ga3ccaad2c97f5cf27adb461b1b50aeabb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga3ccaad2c97f5cf27adb461b1b50aeabb">&#9670;&nbsp;</a></span>EVP_md5()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_MD* EVP_md5 </td>
+ <td class="memname">const EVP_MD* EVP_md5 </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-The message digest MD5<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the message digest type. </dd></dl>
+</div><div class="memdoc">
+<p>The message digest MD5</p>
+<dl class="section return"><dt>Returns</dt><dd>the message digest type. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g48ccb698903828660dc1722d31311420"></a><!-- doxytag: member="evp.c::EVP_MD_block_size" ref="g48ccb698903828660dc1722d31311420" args="(const EVP_MD *md)" -->
+</div>
+<a id="ga48ccb698903828660dc1722d31311420"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga48ccb698903828660dc1722d31311420">&#9670;&nbsp;</a></span>EVP_MD_block_size()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">size_t EVP_MD_block_size </td>
+ <td class="memname">size_t EVP_MD_block_size </td>
<td>(</td>
- <td class="paramtype">const EVP_MD *&nbsp;</td>
- <td class="paramname"> <em>md</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">const EVP_MD *&#160;</td>
+ <td class="paramname"><em>md</em></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Return the blocksize of the message digest function.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>md</em>&nbsp;</td><td>the evp message</td></tr>
+</div><div class="memdoc">
+<p>Return the blocksize of the message digest function.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">md</td><td>the evp message</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>size size of the message digest block size </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>size size of the message digest block size </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="gb35a28f548e64c74dbfd7198c04dad5d"></a><!-- doxytag: member="evp.c::EVP_MD_CTX_block_size" ref="gb35a28f548e64c74dbfd7198c04dad5d" args="(EVP_MD_CTX *ctx)" -->
+</div>
+<a id="gab35a28f548e64c74dbfd7198c04dad5d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gab35a28f548e64c74dbfd7198c04dad5d">&#9670;&nbsp;</a></span>EVP_MD_CTX_block_size()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">size_t EVP_MD_CTX_block_size </td>
+ <td class="memname">size_t EVP_MD_CTX_block_size </td>
<td>(</td>
- <td class="paramtype">EVP_MD_CTX *&nbsp;</td>
- <td class="paramname"> <em>ctx</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">EVP_MD_CTX *&#160;</td>
+ <td class="paramname"><em>ctx</em></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Return the blocksize of the message digest function.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the evp message digest context</td></tr>
+</div><div class="memdoc">
+<p>Return the blocksize of the message digest function.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ctx</td><td>the evp message digest context</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>size size of the message digest block size </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>size size of the message digest block size </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g34dea52c788c741fdb4f8fb051be3308"></a><!-- doxytag: member="evp.c::EVP_MD_CTX_cleanup" ref="g34dea52c788c741fdb4f8fb051be3308" args="(EVP_MD_CTX *ctx) HC_DEPRECATED" -->
+</div>
+<a id="ga34dea52c788c741fdb4f8fb051be3308"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga34dea52c788c741fdb4f8fb051be3308">&#9670;&nbsp;</a></span>EVP_MD_CTX_cleanup()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int EVP_MD_CTX_cleanup </td>
+ <td class="memname">int EVP_MD_CTX_cleanup </td>
<td>(</td>
- <td class="paramtype">EVP_MD_CTX *&nbsp;</td>
- <td class="paramname"> <em>ctx</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">EVP_MD_CTX *&#160;</td>
+ <td class="paramname"><em>ctx</em></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Free the resources used by the EVP_MD context.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the context to free the resources from.</td></tr>
+</div><div class="memdoc">
+<p>Free the resources used by the EVP_MD context.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ctx</td><td>the context to free the resources from.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>1 on success. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g54bfa0296db2c131ef69e3a18c445357"></a><!-- doxytag: member="evp.c::EVP_MD_CTX_create" ref="g54bfa0296db2c131ef69e3a18c445357" args="(void)" -->
+</div>
+<a id="ga54bfa0296db2c131ef69e3a18c445357"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga54bfa0296db2c131ef69e3a18c445357">&#9670;&nbsp;</a></span>EVP_MD_CTX_create()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">EVP_MD_CTX* EVP_MD_CTX_create </td>
+ <td class="memname">EVP_MD_CTX* EVP_MD_CTX_create </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Allocate a messsage digest context object. Free with <a class="el" href="group__hcrypto__evp.html#ge105ea6e5626f521fbe8cad0a85cbe46">EVP_MD_CTX_destroy()</a>.<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>a newly allocated message digest context object. </dd></dl>
+</div><div class="memdoc">
+<p>Allocate a messsage digest context object. Free with <a class="el" href="group__hcrypto__evp.html#gae105ea6e5626f521fbe8cad0a85cbe46">EVP_MD_CTX_destroy()</a>.</p>
+<dl class="section return"><dt>Returns</dt><dd>a newly allocated message digest context object. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="ge105ea6e5626f521fbe8cad0a85cbe46"></a><!-- doxytag: member="evp.c::EVP_MD_CTX_destroy" ref="ge105ea6e5626f521fbe8cad0a85cbe46" args="(EVP_MD_CTX *ctx)" -->
+</div>
+<a id="gae105ea6e5626f521fbe8cad0a85cbe46"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gae105ea6e5626f521fbe8cad0a85cbe46">&#9670;&nbsp;</a></span>EVP_MD_CTX_destroy()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void EVP_MD_CTX_destroy </td>
+ <td class="memname">void EVP_MD_CTX_destroy </td>
<td>(</td>
- <td class="paramtype">EVP_MD_CTX *&nbsp;</td>
- <td class="paramname"> <em>ctx</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">EVP_MD_CTX *&#160;</td>
+ <td class="paramname"><em>ctx</em></td><td>)</td>
<td></td>
</tr>
</table>
+</div><div class="memdoc">
+<p>Free a messsage digest context object.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ctx</td><td>context to free. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
</div>
-<div class="memdoc">
+<a id="ga3fd216754cf705b7d4980744b1508410"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga3fd216754cf705b7d4980744b1508410">&#9670;&nbsp;</a></span>EVP_MD_CTX_init()</h2>
-<p>
-Free a messsage digest context object.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>context to free. </td></tr>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EVP_MD_CTX_init </td>
+ <td>(</td>
+ <td class="paramtype">EVP_MD_CTX *&#160;</td>
+ <td class="paramname"><em>ctx</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Initiate a messsage digest context object. Deallocate with <a class="el" href="group__hcrypto__evp.html#ga34dea52c788c741fdb4f8fb051be3308">EVP_MD_CTX_cleanup()</a>. Please use <a class="el" href="group__hcrypto__evp.html#ga54bfa0296db2c131ef69e3a18c445357">EVP_MD_CTX_create()</a> instead.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ctx</td><td>variable to initiate. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="g3fd216754cf705b7d4980744b1508410"></a><!-- doxytag: member="evp.c::EVP_MD_CTX_init" ref="g3fd216754cf705b7d4980744b1508410" args="(EVP_MD_CTX *ctx) HC_DEPRECATED" -->
+</div>
+<a id="gaed3480025ecf31d0afcb62174d6acc24"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gaed3480025ecf31d0afcb62174d6acc24">&#9670;&nbsp;</a></span>EVP_MD_CTX_md()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void EVP_MD_CTX_init </td>
+ <td class="memname">const EVP_MD* EVP_MD_CTX_md </td>
<td>(</td>
- <td class="paramtype">EVP_MD_CTX *&nbsp;</td>
- <td class="paramname"> <em>ctx</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">EVP_MD_CTX *&#160;</td>
+ <td class="paramname"><em>ctx</em></td><td>)</td>
<td></td>
</tr>
</table>
+</div><div class="memdoc">
+<p>Get the EVP_MD use for a specified context.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ctx</td><td>the EVP_MD context to get the EVP_MD for.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the EVP_MD used for the context. </dd></dl>
+
+</div>
</div>
-<div class="memdoc">
+<a id="ga25a51444f0586be1494f78e4e17e65f8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga25a51444f0586be1494f78e4e17e65f8">&#9670;&nbsp;</a></span>EVP_MD_CTX_size()</h2>
-<p>
-Initiate a messsage digest context object. Deallocate with <a class="el" href="group__hcrypto__evp.html#g34dea52c788c741fdb4f8fb051be3308">EVP_MD_CTX_cleanup()</a>. Please use <a class="el" href="group__hcrypto__evp.html#g54bfa0296db2c131ef69e3a18c445357">EVP_MD_CTX_create()</a> instead.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>variable to initiate. </td></tr>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">size_t EVP_MD_CTX_size </td>
+ <td>(</td>
+ <td class="paramtype">EVP_MD_CTX *&#160;</td>
+ <td class="paramname"><em>ctx</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Return the output size of the message digest function.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ctx</td><td>the evp message digest context</td></tr>
</table>
+ </dd>
</dl>
+<dl class="section return"><dt>Returns</dt><dd>size output size of the message digest function. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="ged3480025ecf31d0afcb62174d6acc24"></a><!-- doxytag: member="evp.c::EVP_MD_CTX_md" ref="ged3480025ecf31d0afcb62174d6acc24" args="(EVP_MD_CTX *ctx)" -->
+</div>
+<a id="ga5183830cf039ea4d9a2c1bd3c539e9af"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga5183830cf039ea4d9a2c1bd3c539e9af">&#9670;&nbsp;</a></span>EVP_md_null()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_MD* EVP_MD_CTX_md </td>
+ <td class="memname">const EVP_MD* EVP_md_null </td>
<td>(</td>
- <td class="paramtype">EVP_MD_CTX *&nbsp;</td>
- <td class="paramname"> <em>ctx</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
+</div><div class="memdoc">
+<p>The null message digest</p>
+<dl class="section return"><dt>Returns</dt><dd>the message digest type. </dd></dl>
+
+</div>
</div>
-<div class="memdoc">
+<a id="gabea28e9ccb98329a7a76c95e8699221c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gabea28e9ccb98329a7a76c95e8699221c">&#9670;&nbsp;</a></span>EVP_MD_size()</h2>
-<p>
-Get the EVP_MD use for a specified context.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the EVP_MD context to get the EVP_MD for.</td></tr>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">size_t EVP_MD_size </td>
+ <td>(</td>
+ <td class="paramtype">const EVP_MD *&#160;</td>
+ <td class="paramname"><em>md</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Return the output size of the message digest function.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">md</td><td>the evp message</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the EVP_MD used for the context. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>size output size of the message digest function. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g25a51444f0586be1494f78e4e17e65f8"></a><!-- doxytag: member="evp.c::EVP_MD_CTX_size" ref="g25a51444f0586be1494f78e4e17e65f8" args="(EVP_MD_CTX *ctx)" -->
+</div>
+<a id="ga104bcd969bcc30dc3e7e77d63a38a87e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga104bcd969bcc30dc3e7e77d63a38a87e">&#9670;&nbsp;</a></span>EVP_rc2_40_cbc()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">size_t EVP_MD_CTX_size </td>
+ <td class="memname">const EVP_CIPHER* EVP_rc2_40_cbc </td>
<td>(</td>
- <td class="paramtype">EVP_MD_CTX *&nbsp;</td>
- <td class="paramname"> <em>ctx</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
+</div><div class="memdoc">
+<p>The RC2 cipher type</p>
+<dl class="section return"><dt>Returns</dt><dd>the RC2 EVP_CIPHER pointer. </dd></dl>
+
+</div>
</div>
-<div class="memdoc">
+<a id="ga09cd194a211931839f1e7bb8e578099e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga09cd194a211931839f1e7bb8e578099e">&#9670;&nbsp;</a></span>EVP_rc2_64_cbc()</h2>
-<p>
-Return the output size of the message digest function.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the evp message digest context</td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>size output size of the message digest function. </dd></dl>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const EVP_CIPHER* EVP_rc2_64_cbc </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>The RC2 cipher type</p>
+<dl class="section return"><dt>Returns</dt><dd>the RC2 EVP_CIPHER pointer. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g5183830cf039ea4d9a2c1bd3c539e9af"></a><!-- doxytag: member="evp.c::EVP_md_null" ref="g5183830cf039ea4d9a2c1bd3c539e9af" args="(void)" -->
+</div>
+<a id="gac7d0f7590921dde70bebeebadd2fec36"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gac7d0f7590921dde70bebeebadd2fec36">&#9670;&nbsp;</a></span>EVP_rc2_cbc()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_MD* EVP_md_null </td>
+ <td class="memname">const EVP_CIPHER* EVP_rc2_cbc </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
+</div><div class="memdoc">
+<p>The RC2 cipher type</p>
+<dl class="section return"><dt>Returns</dt><dd>the RC2 EVP_CIPHER pointer. </dd></dl>
+
+</div>
</div>
-<div class="memdoc">
+<a id="ga9cb683240f384ddbd0f3279960af93ba"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga9cb683240f384ddbd0f3279960af93ba">&#9670;&nbsp;</a></span>EVP_rc4()</h2>
-<p>
-The null message digest<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the message digest type. </dd></dl>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const EVP_CIPHER* EVP_rc4 </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>The RC4 cipher type</p>
+<dl class="section return"><dt>Returns</dt><dd>the RC4 EVP_CIPHER pointer. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="gbea28e9ccb98329a7a76c95e8699221c"></a><!-- doxytag: member="evp.c::EVP_MD_size" ref="gbea28e9ccb98329a7a76c95e8699221c" args="(const EVP_MD *md)" -->
+</div>
+<a id="gae5cbdfcb5012a07fec8df1d6b9c5d772"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gae5cbdfcb5012a07fec8df1d6b9c5d772">&#9670;&nbsp;</a></span>EVP_rc4_40()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">size_t EVP_MD_size </td>
+ <td class="memname">const EVP_CIPHER* EVP_rc4_40 </td>
<td>(</td>
- <td class="paramtype">const EVP_MD *&nbsp;</td>
- <td class="paramname"> <em>md</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
+</div><div class="memdoc">
+<p>The RC4-40 cipher type</p>
+<dl class="section return"><dt>Returns</dt><dd>the RC4-40 EVP_CIPHER pointer. </dd></dl>
+
+</div>
</div>
-<div class="memdoc">
+<a id="gaee62cb107a208bd6984dd767f9feb8c0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gaee62cb107a208bd6984dd767f9feb8c0">&#9670;&nbsp;</a></span>EVP_sha()</h2>
-<p>
-Return the output size of the message digest function.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>md</em>&nbsp;</td><td>the evp message</td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>size output size of the message digest function. </dd></dl>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const EVP_MD* EVP_sha </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>The message digest SHA1</p>
+<dl class="section return"><dt>Returns</dt><dd>the message digest type. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g104bcd969bcc30dc3e7e77d63a38a87e"></a><!-- doxytag: member="evp.c::EVP_rc2_40_cbc" ref="g104bcd969bcc30dc3e7e77d63a38a87e" args="(void)" -->
+</div>
+<a id="gaa090d659a494a10525e38d272efb01ae"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gaa090d659a494a10525e38d272efb01ae">&#9670;&nbsp;</a></span>EVP_sha1()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_CIPHER* EVP_rc2_40_cbc </td>
+ <td class="memname">const EVP_MD* EVP_sha1 </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
+</div><div class="memdoc">
+<p>The message digest SHA1</p>
+<dl class="section return"><dt>Returns</dt><dd>the message digest type. </dd></dl>
+
</div>
-<div class="memdoc">
+</div>
+<a id="gafe55e56742a9b9ecffdaef7e95a6707a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gafe55e56742a9b9ecffdaef7e95a6707a">&#9670;&nbsp;</a></span>EVP_sha256()</h2>
-<p>
-The RC2 cipher type<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the RC2 EVP_CIPHER pointer. </dd></dl>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const EVP_MD* EVP_sha256 </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>The message digest SHA256</p>
+<dl class="section return"><dt>Returns</dt><dd>the message digest type. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g09cd194a211931839f1e7bb8e578099e"></a><!-- doxytag: member="evp.c::EVP_rc2_64_cbc" ref="g09cd194a211931839f1e7bb8e578099e" args="(void)" -->
+</div>
+<a id="ga031405a10c84711b9a9699fadc8dbf2a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga031405a10c84711b9a9699fadc8dbf2a">&#9670;&nbsp;</a></span>EVP_sha384()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_CIPHER* EVP_rc2_64_cbc </td>
+ <td class="memname">const EVP_MD* EVP_sha384 </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
+</div><div class="memdoc">
+<p>The message digest SHA384</p>
+<dl class="section return"><dt>Returns</dt><dd>the message digest type. </dd></dl>
+
</div>
-<div class="memdoc">
+</div>
+<a id="gaceda0d5da59b56159d2e3515039a46ce"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gaceda0d5da59b56159d2e3515039a46ce">&#9670;&nbsp;</a></span>EVP_sha512()</h2>
-<p>
-The RC2 cipher type<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the RC2 EVP_CIPHER pointer. </dd></dl>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const EVP_MD* EVP_sha512 </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>The message digest SHA512</p>
+<dl class="section return"><dt>Returns</dt><dd>the message digest type. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="gc7d0f7590921dde70bebeebadd2fec36"></a><!-- doxytag: member="evp.c::EVP_rc2_cbc" ref="gc7d0f7590921dde70bebeebadd2fec36" args="(void)" -->
+</div>
+<a id="ga769121c112a501748233bda8345cb47a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga769121c112a501748233bda8345cb47a">&#9670;&nbsp;</a></span>EVP_wincrypt_des_ede3_cbc()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_CIPHER* EVP_rc2_cbc </td>
+ <td class="memname">const EVP_CIPHER* EVP_wincrypt_des_ede3_cbc </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
+</div><div class="memdoc">
+<p>The triple DES cipher type (Micrsoft crypt provider)</p>
+<dl class="section return"><dt>Returns</dt><dd>the DES-EDE3-CBC EVP_CIPHER pointer. </dd></dl>
+
+</div>
</div>
-<div class="memdoc">
+<a id="ga854def15f752a56d29b5f844c77a0f30"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga854def15f752a56d29b5f844c77a0f30">&#9670;&nbsp;</a></span>OSSL_CIPHER_ALGORITHM() <span class="overload">[1/2]</span></h2>
-<p>
-The RC2 cipher type<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the RC2 EVP_CIPHER pointer. </dd></dl>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">OSSL_CIPHER_ALGORITHM </td>
+ <td>(</td>
+ <td class="paramtype">rc2_cbc&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">hc_EVP_CIPH_CBC_MODE|&#160;</td>
+ <td class="paramname"><em>hc_EVP_CIPH_VARIABLE_LENGTH</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>The triple DES cipher type (OpenSSL provider)</p>
+<dl class="section return"><dt>Returns</dt><dd>the DES-EDE3-CBC EVP_CIPHER pointer. The DES cipher type (OpenSSL provider)</dd>
+<dd>
+the DES-CBC EVP_CIPHER pointer. The AES-128 cipher type (OpenSSL provider)</dd>
+<dd>
+the AES-128-CBC EVP_CIPHER pointer. The AES-192 cipher type (OpenSSL provider)</dd>
+<dd>
+the AES-192-CBC EVP_CIPHER pointer. The AES-256 cipher type (OpenSSL provider)</dd>
+<dd>
+the AES-256-CBC EVP_CIPHER pointer. The AES-128 CFB8 cipher type (OpenSSL provider)</dd>
+<dd>
+the AES-128-CFB8 EVP_CIPHER pointer. The AES-192 CFB8 cipher type (OpenSSL provider)</dd>
+<dd>
+the AES-192-CFB8 EVP_CIPHER pointer. The AES-256 CFB8 cipher type (OpenSSL provider)</dd>
+<dd>
+the AES-256-CFB8 EVP_CIPHER pointer. The RC2 cipher type - OpenSSL</dd>
+<dd>
+the RC2 EVP_CIPHER pointer. The RC2-40 cipher type - OpenSSL</dd>
+<dd>
+the RC2-40 EVP_CIPHER pointer. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g9cb683240f384ddbd0f3279960af93ba"></a><!-- doxytag: member="evp.c::EVP_rc4" ref="g9cb683240f384ddbd0f3279960af93ba" args="(void)" -->
+</div>
+<a id="ga490caf6711e559d0f8dfb15ce7ea7d8e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga490caf6711e559d0f8dfb15ce7ea7d8e">&#9670;&nbsp;</a></span>OSSL_CIPHER_ALGORITHM() <span class="overload">[2/2]</span></h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_CIPHER* EVP_rc4 </td>
+ <td class="memname">hc_EVP_CIPH_CBC_MODE OSSL_CIPHER_ALGORITHM </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">rc2_64_cbc&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
<td></td>
+ <td class="paramtype">hc_EVP_CIPH_CBC_MODE|&#160;</td>
+ <td class="paramname"><em>hc_EVP_CIPH_VARIABLE_LENGTH</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
</tr>
</table>
+</div><div class="memdoc">
+<p>The RC2-64 cipher type - OpenSSL</p>
+<dl class="section return"><dt>Returns</dt><dd>the RC2-64 EVP_CIPHER pointer. The Camellia-128 cipher type - OpenSSL</dd>
+<dd>
+the Camellia-128 EVP_CIPHER pointer. The Camellia-198 cipher type - OpenSSL</dd>
+<dd>
+the Camellia-198 EVP_CIPHER pointer. The Camellia-256 cipher type - OpenSSL</dd>
+<dd>
+the Camellia-256 EVP_CIPHER pointer. The RC4 cipher type (OpenSSL provider)</dd>
+<dd>
+the RC4 EVP_CIPHER pointer. </dd></dl>
+
</div>
-<div class="memdoc">
+</div>
+<a id="ga0a9e352a3bdd21c0a1be38e0b3b44c01"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga0a9e352a3bdd21c0a1be38e0b3b44c01">&#9670;&nbsp;</a></span>WINCNG_CIPHER_ALGORITHM() <span class="overload">[1/13]</span></h2>
-<p>
-The RC4 cipher type<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the RC4 EVP_CIPHER pointer. </dd></dl>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">WINCNG_CIPHER_ALGORITHM </td>
+ <td>(</td>
+ <td class="paramtype">des_ede3_cbc&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">BCRYPT_3DES_ALGORITHM&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">8&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">24&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">8&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">EVP_CIPH_CBC_MODE&#160;</td>
+ <td class="paramname">&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>The triple DES cipher type (Windows CNG provider)</p>
+<dl class="section return"><dt>Returns</dt><dd>the DES-EDE3-CBC EVP_CIPHER pointer. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="ge5cbdfcb5012a07fec8df1d6b9c5d772"></a><!-- doxytag: member="evp.c::EVP_rc4_40" ref="ge5cbdfcb5012a07fec8df1d6b9c5d772" args="(void)" -->
+</div>
+<a id="gaa44c7356cbc89241ad94d600a26dd8f5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gaa44c7356cbc89241ad94d600a26dd8f5">&#9670;&nbsp;</a></span>WINCNG_CIPHER_ALGORITHM() <span class="overload">[2/13]</span></h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_CIPHER* EVP_rc4_40 </td>
+ <td class="memname">WINCNG_CIPHER_ALGORITHM </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">des_cbc&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">BCRYPT_DES_ALGORITHM&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">8&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">8&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
<td></td>
+ <td class="paramtype">8&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">EVP_CIPH_CBC_MODE&#160;</td>
+ <td class="paramname">&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
</tr>
</table>
+</div><div class="memdoc">
+<p>The DES cipher type (Windows CNG provider)</p>
+<dl class="section return"><dt>Returns</dt><dd>the DES-CBC EVP_CIPHER pointer. </dd></dl>
+
+</div>
</div>
-<div class="memdoc">
+<a id="gaabf5fbf59b7075976f9645953f247f58"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gaabf5fbf59b7075976f9645953f247f58">&#9670;&nbsp;</a></span>WINCNG_CIPHER_ALGORITHM() <span class="overload">[3/13]</span></h2>
-<p>
-The RC4-40 cipher type<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the RC4-40 EVP_CIPHER pointer. </dd></dl>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">WINCNG_CIPHER_ALGORITHM </td>
+ <td>(</td>
+ <td class="paramtype">aes_128_cbc&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">BCRYPT_AES_ALGORITHM&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">16&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">16&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">16&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">EVP_CIPH_CBC_MODE&#160;</td>
+ <td class="paramname">&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>The AES-128 cipher type (Windows CNG provider)</p>
+<dl class="section return"><dt>Returns</dt><dd>the AES-128-CBC EVP_CIPHER pointer. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="gee62cb107a208bd6984dd767f9feb8c0"></a><!-- doxytag: member="evp.c::EVP_sha" ref="gee62cb107a208bd6984dd767f9feb8c0" args="(void)" -->
+</div>
+<a id="ga90b367607627a3d3b9ac4e1d5acc5205"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga90b367607627a3d3b9ac4e1d5acc5205">&#9670;&nbsp;</a></span>WINCNG_CIPHER_ALGORITHM() <span class="overload">[4/13]</span></h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_MD* EVP_sha </td>
+ <td class="memname">WINCNG_CIPHER_ALGORITHM </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">aes_192_cbc&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">BCRYPT_AES_ALGORITHM&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
<td></td>
+ <td class="paramtype">16&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">24&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">16&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">EVP_CIPH_CBC_MODE&#160;</td>
+ <td class="paramname">&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
</tr>
</table>
+</div><div class="memdoc">
+<p>The AES-192 cipher type (Windows CNG provider)</p>
+<dl class="section return"><dt>Returns</dt><dd>the AES-192-CBC EVP_CIPHER pointer. </dd></dl>
+
+</div>
</div>
-<div class="memdoc">
+<a id="gacdc6624caef0007954fc4ac5ff5a8538"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gacdc6624caef0007954fc4ac5ff5a8538">&#9670;&nbsp;</a></span>WINCNG_CIPHER_ALGORITHM() <span class="overload">[5/13]</span></h2>
-<p>
-The message digest SHA1<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the message digest type. </dd></dl>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">WINCNG_CIPHER_ALGORITHM </td>
+ <td>(</td>
+ <td class="paramtype">aes_256_cbc&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">BCRYPT_AES_ALGORITHM&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">16&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">32&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">16&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">EVP_CIPH_CBC_MODE&#160;</td>
+ <td class="paramname">&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>The AES-256 cipher type (Windows CNG provider)</p>
+<dl class="section return"><dt>Returns</dt><dd>the AES-256-CBC EVP_CIPHER pointer. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="ga090d659a494a10525e38d272efb01ae"></a><!-- doxytag: member="evp.c::EVP_sha1" ref="ga090d659a494a10525e38d272efb01ae" args="(void)" -->
+</div>
+<a id="gae7d920e72e00826a41867fd712e5e563"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gae7d920e72e00826a41867fd712e5e563">&#9670;&nbsp;</a></span>WINCNG_CIPHER_ALGORITHM() <span class="overload">[6/13]</span></h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_MD* EVP_sha1 </td>
+ <td class="memname">WINCNG_CIPHER_ALGORITHM </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">aes_128_cfb8&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
<td></td>
+ <td class="paramtype">BCRYPT_AES_ALGORITHM&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">16&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">16&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">16&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">EVP_CIPH_CFB8_MODE&#160;</td>
+ <td class="paramname">&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
</tr>
</table>
+</div><div class="memdoc">
+<p>The AES-128 CFB8 cipher type (Windows CNG provider)</p>
+<dl class="section return"><dt>Returns</dt><dd>the AES-128-CFB8 EVP_CIPHER pointer. </dd></dl>
+
</div>
-<div class="memdoc">
+</div>
+<a id="gaa2fc6a9c028c11198a99e8872e4e1b3a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gaa2fc6a9c028c11198a99e8872e4e1b3a">&#9670;&nbsp;</a></span>WINCNG_CIPHER_ALGORITHM() <span class="overload">[7/13]</span></h2>
-<p>
-The message digest SHA1<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the message digest type. </dd></dl>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">WINCNG_CIPHER_ALGORITHM </td>
+ <td>(</td>
+ <td class="paramtype">aes_192_cfb8&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">BCRYPT_AES_ALGORITHM&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">16&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">24&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">16&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">EVP_CIPH_CFB8_MODE&#160;</td>
+ <td class="paramname">&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>The AES-192 CFB8 cipher type (Windows CNG provider)</p>
+<dl class="section return"><dt>Returns</dt><dd>the AES-192-CFB8 EVP_CIPHER pointer. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="gfe55e56742a9b9ecffdaef7e95a6707a"></a><!-- doxytag: member="evp.c::EVP_sha256" ref="gfe55e56742a9b9ecffdaef7e95a6707a" args="(void)" -->
+</div>
+<a id="ga315f18327e597a13d06906f6ed74c004"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga315f18327e597a13d06906f6ed74c004">&#9670;&nbsp;</a></span>WINCNG_CIPHER_ALGORITHM() <span class="overload">[8/13]</span></h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_MD* EVP_sha256 </td>
+ <td class="memname">WINCNG_CIPHER_ALGORITHM </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">aes_256_cfb8&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">BCRYPT_AES_ALGORITHM&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">16&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
<td></td>
+ <td class="paramtype">32&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">16&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">EVP_CIPH_CFB8_MODE&#160;</td>
+ <td class="paramname">&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
</tr>
</table>
+</div><div class="memdoc">
+<p>The AES-256 CFB8 cipher type (Windows CNG provider)</p>
+<dl class="section return"><dt>Returns</dt><dd>the AES-256-CFB8 EVP_CIPHER pointer. </dd></dl>
+
</div>
-<div class="memdoc">
+</div>
+<a id="ga383cea2ae048ef0bf4af54c6f7848e9e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga383cea2ae048ef0bf4af54c6f7848e9e">&#9670;&nbsp;</a></span>WINCNG_CIPHER_ALGORITHM() <span class="overload">[9/13]</span></h2>
-<p>
-The message digest SHA256<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the message digest type. </dd></dl>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">WINCNG_CIPHER_ALGORITHM </td>
+ <td>(</td>
+ <td class="paramtype">rc2_cbc&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">BCRYPT_RC2_ALGORITHM&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">8&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">16&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">8&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">EVP_CIPH_CBC_MODE&#160;</td>
+ <td class="paramname">&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>The RC2 cipher type - Windows CNG</p>
+<dl class="section return"><dt>Returns</dt><dd>the RC2 EVP_CIPHER pointer. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g031405a10c84711b9a9699fadc8dbf2a"></a><!-- doxytag: member="evp.c::EVP_sha384" ref="g031405a10c84711b9a9699fadc8dbf2a" args="(void)" -->
+</div>
+<a id="gaa7fb936c2d2447502a579b96beb3f59d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gaa7fb936c2d2447502a579b96beb3f59d">&#9670;&nbsp;</a></span>WINCNG_CIPHER_ALGORITHM() <span class="overload">[10/13]</span></h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_MD* EVP_sha384 </td>
+ <td class="memname">WINCNG_CIPHER_ALGORITHM </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">rc2_40_cbc&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">BCRYPT_RC2_ALGORITHM&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">8&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
<td></td>
+ <td class="paramtype">5&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">8&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">EVP_CIPH_CBC_MODE&#160;</td>
+ <td class="paramname">&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
</tr>
</table>
+</div><div class="memdoc">
+<p>The RC2-40 cipher type - Windows CNG</p>
+<dl class="section return"><dt>Returns</dt><dd>the RC2-40 EVP_CIPHER pointer. </dd></dl>
+
+</div>
</div>
-<div class="memdoc">
+<a id="gad9839bba1e425e5cdb7c3e6e31ad1e01"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gad9839bba1e425e5cdb7c3e6e31ad1e01">&#9670;&nbsp;</a></span>WINCNG_CIPHER_ALGORITHM() <span class="overload">[11/13]</span></h2>
-<p>
-The message digest SHA384<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the message digest type. </dd></dl>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">WINCNG_CIPHER_ALGORITHM </td>
+ <td>(</td>
+ <td class="paramtype">rc2_64_cbc&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">BCRYPT_RC2_ALGORITHM&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">8&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">8&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">8&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">EVP_CIPH_CBC_MODE&#160;</td>
+ <td class="paramname">&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>The RC2-64 cipher type - Windows CNG</p>
+<dl class="section return"><dt>Returns</dt><dd>the RC2-64 EVP_CIPHER pointer. </dd></dl>
+
+</div>
+</div>
+<a id="ga802e58579b60e09c8d4c824ead9d79ba"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga802e58579b60e09c8d4c824ead9d79ba">&#9670;&nbsp;</a></span>WINCNG_CIPHER_ALGORITHM() <span class="overload">[12/13]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">WINCNG_CIPHER_ALGORITHM </td>
+ <td>(</td>
+ <td class="paramtype">rc4&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">BCRYPT_RC4_ALGORITHM&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">1&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">16&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">0&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">EVP_CIPH_STREAM_CIPHER|&#160;</td>
+ <td class="paramname"><em>EVP_CIPH_VARIABLE_LENGTH</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>The RC4 cipher type (Windows CNG provider)</p>
+<dl class="section return"><dt>Returns</dt><dd>the RC4 EVP_CIPHER pointer. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="gceda0d5da59b56159d2e3515039a46ce"></a><!-- doxytag: member="evp.c::EVP_sha512" ref="gceda0d5da59b56159d2e3515039a46ce" args="(void)" -->
+</div>
+<a id="gab2be6c68f3308454d74343d5f700ad92"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gab2be6c68f3308454d74343d5f700ad92">&#9670;&nbsp;</a></span>WINCNG_CIPHER_ALGORITHM() <span class="overload">[13/13]</span></h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_MD* EVP_sha512 </td>
+ <td class="memname">WINCNG_CIPHER_ALGORITHM </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">rc4_40&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">BCRYPT_RC4_ALGORITHM&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">1&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">5&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">0&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">EVP_CIPH_STREAM_CIPHER|&#160;</td>
+ <td class="paramname"><em>EVP_CIPH_VARIABLE_LENGTH</em>&#160;</td>
+ </tr>
+ <tr>
<td></td>
+ <td>)</td>
+ <td></td><td></td>
</tr>
</table>
+</div><div class="memdoc">
+<p>The RC4-40 cipher type (Windows CNG provider)</p>
+<dl class="section return"><dt>Returns</dt><dd>the RC4 EVP_CIPHER pointer. </dd></dl>
+
+</div>
</div>
-<div class="memdoc">
+<a id="gab6ac7f283eef0600c6b9612e088964a3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gab6ac7f283eef0600c6b9612e088964a3">&#9670;&nbsp;</a></span>WINCNG_CIPHER_ALGORITHM_UNAVAILABLE() <span class="overload">[1/3]</span></h2>
-<p>
-The message digest SHA512<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the message digest type. </dd></dl>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">WINCNG_CIPHER_ALGORITHM_UNAVAILABLE </td>
+ <td>(</td>
+ <td class="paramtype">camellia_128_cbc&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>The Camellia-128 cipher type - CommonCrypto</p>
+<dl class="section return"><dt>Returns</dt><dd>the Camellia-128 EVP_CIPHER pointer. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g769121c112a501748233bda8345cb47a"></a><!-- doxytag: member="evp-crypt.c::EVP_wincrypt_des_ede3_cbc" ref="g769121c112a501748233bda8345cb47a" args="(void)" -->
+</div>
+<a id="gad9ace3cd5826a301a8f4aa6ab6548a00"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gad9ace3cd5826a301a8f4aa6ab6548a00">&#9670;&nbsp;</a></span>WINCNG_CIPHER_ALGORITHM_UNAVAILABLE() <span class="overload">[2/3]</span></h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EVP_CIPHER* EVP_wincrypt_des_ede3_cbc </td>
+ <td class="memname">WINCNG_CIPHER_ALGORITHM_UNAVAILABLE </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">camellia_192_cbc&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
+</div><div class="memdoc">
+<p>The Camellia-198 cipher type - CommonCrypto</p>
+<dl class="section return"><dt>Returns</dt><dd>the Camellia-198 EVP_CIPHER pointer. </dd></dl>
+
+</div>
</div>
-<div class="memdoc">
+<a id="ga41b2fefa9724adf79ff11ae2f34e70d0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga41b2fefa9724adf79ff11ae2f34e70d0">&#9670;&nbsp;</a></span>WINCNG_CIPHER_ALGORITHM_UNAVAILABLE() <span class="overload">[3/3]</span></h2>
-<p>
-The tripple DES cipher type (Micrsoft crypt provider)<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the DES-EDE3-CBC EVP_CIPHER pointer. </dd></dl>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">WINCNG_CIPHER_ALGORITHM_UNAVAILABLE </td>
+ <td>(</td>
+ <td class="paramtype">camellia_256_cbc&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>The Camellia-256 cipher type - CommonCrypto</p>
+<dl class="section return"><dt>Returns</dt><dd>the Camellia-256 EVP_CIPHER pointer. </dd></dl>
</div>
-</div><p>
</div>
+</div><!-- contents -->
<hr size="1"><address style="text-align: right;"><small>
-Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address>
+Generated on Fri Dec 8 2017 03:49:01 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address>
</body>
</html>
diff --git a/doc/doxyout/hcrypto/html/group__hcrypto__misc.html b/doc/doxyout/hcrypto/html/group__hcrypto__misc.html
index 50d11bffe77e..6a0b126cb69e 100644
--- a/doc/doxyout/hcrypto/html/group__hcrypto__misc.html
+++ b/doc/doxyout/hcrypto/html/group__hcrypto__misc.html
@@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>Heimdal crypto library: hcrypto miscellaneous functions</title>
+<title>hcrypto miscellaneous functions</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@@ -8,99 +8,186 @@
<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
</p>
<!-- end of header marker -->
-<!-- Generated by Doxygen 1.5.6 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="examples.html"><span>Examples</span></a></li>
- </ul>
- </div>
-</div>
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+ initMenu('',false,false,'search.php','Search');
+});
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">hcrypto miscellaneous functions</div> </div>
+</div><!--header-->
<div class="contents">
-<h1>hcrypto miscellaneous functions</h1><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__misc.html#gece1627cc5535ef7b5e86e2f5a3eec04">PKCS5_PBKDF2_HMAC_SHA1</a> (const void *password, size_t password_len, const void *salt, size_t salt_len, unsigned long iter, size_t keylen, void *key)</td></tr>
-
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga1533d8d57db97daa0ecfe780afb0f716"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__misc.html#ga1533d8d57db97daa0ecfe780afb0f716">PKCS5_PBKDF2_HMAC</a> (const void *password, size_t password_len, const void *salt, size_t salt_len, unsigned long iter, const EVP_MD *md, size_t keylen, void *key)</td></tr>
+<tr class="separator:ga1533d8d57db97daa0ecfe780afb0f716"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaece1627cc5535ef7b5e86e2f5a3eec04"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__misc.html#gaece1627cc5535ef7b5e86e2f5a3eec04">PKCS5_PBKDF2_HMAC_SHA1</a> (const void *password, size_t password_len, const void *salt, size_t salt_len, unsigned long iter, size_t keylen, void *key)</td></tr>
+<tr class="separator:gaece1627cc5535ef7b5e86e2f5a3eec04"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<hr><h2>Function Documentation</h2>
-<a class="anchor" name="gece1627cc5535ef7b5e86e2f5a3eec04"></a><!-- doxytag: member="pkcs5.c::PKCS5_PBKDF2_HMAC_SHA1" ref="gece1627cc5535ef7b5e86e2f5a3eec04" args="(const void *password, size_t password_len, const void *salt, size_t salt_len, unsigned long iter, size_t keylen, void *key)" -->
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="ga1533d8d57db97daa0ecfe780afb0f716"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga1533d8d57db97daa0ecfe780afb0f716">&#9670;&nbsp;</a></span>PKCS5_PBKDF2_HMAC()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int PKCS5_PBKDF2_HMAC_SHA1 </td>
+ <td class="memname">int PKCS5_PBKDF2_HMAC </td>
<td>(</td>
- <td class="paramtype">const void *&nbsp;</td>
- <td class="paramname"> <em>password</em>, </td>
+ <td class="paramtype">const void *&#160;</td>
+ <td class="paramname"><em>password</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>password_len</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>password_len</em>, </td>
+ <td class="paramtype">const void *&#160;</td>
+ <td class="paramname"><em>salt</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const void *&nbsp;</td>
- <td class="paramname"> <em>salt</em>, </td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>salt_len</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>salt_len</em>, </td>
+ <td class="paramtype">unsigned long&#160;</td>
+ <td class="paramname"><em>iter</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">unsigned long&nbsp;</td>
- <td class="paramname"> <em>iter</em>, </td>
+ <td class="paramtype">const EVP_MD *&#160;</td>
+ <td class="paramname"><em>md</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>keylen</em>, </td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>keylen</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">void *&nbsp;</td>
- <td class="paramname"> <em>key</em></td><td>&nbsp;</td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>key</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td>
</tr>
</table>
+</div><div class="memdoc">
+<p>As descriped in PKCS5, convert a password, salt, and iteration counter into a crypto key.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">password</td><td>Password. </td></tr>
+ <tr><td class="paramname">password_len</td><td>Length of password. </td></tr>
+ <tr><td class="paramname">salt</td><td>Salt </td></tr>
+ <tr><td class="paramname">salt_len</td><td>Length of salt. </td></tr>
+ <tr><td class="paramname">iter</td><td>iteration counter. </td></tr>
+ <tr><td class="paramname">md</td><td>the digest function. </td></tr>
+ <tr><td class="paramname">keylen</td><td>the output key length. </td></tr>
+ <tr><td class="paramname">key</td><td>the output key.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>1 on success, non 1 on failure. </dd></dl>
+
+</div>
</div>
-<div class="memdoc">
+<a id="gaece1627cc5535ef7b5e86e2f5a3eec04"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gaece1627cc5535ef7b5e86e2f5a3eec04">&#9670;&nbsp;</a></span>PKCS5_PBKDF2_HMAC_SHA1()</h2>
-<p>
-As descriped in PKCS5, convert a password, salt, and iteration counter into a crypto key.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>password</em>&nbsp;</td><td>Password. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>password_len</em>&nbsp;</td><td>Length of password. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>salt</em>&nbsp;</td><td>Salt </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>salt_len</em>&nbsp;</td><td>Length of salt. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>iter</em>&nbsp;</td><td>iteration counter. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>keylen</em>&nbsp;</td><td>the output key length. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>the output key.</td></tr>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int PKCS5_PBKDF2_HMAC_SHA1 </td>
+ <td>(</td>
+ <td class="paramtype">const void *&#160;</td>
+ <td class="paramname"><em>password</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>password_len</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const void *&#160;</td>
+ <td class="paramname"><em>salt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>salt_len</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">unsigned long&#160;</td>
+ <td class="paramname"><em>iter</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>keylen</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>key</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>As descriped in PKCS5, convert a password, salt, and iteration counter into a crypto key.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">password</td><td>Password. </td></tr>
+ <tr><td class="paramname">password_len</td><td>Length of password. </td></tr>
+ <tr><td class="paramname">salt</td><td>Salt </td></tr>
+ <tr><td class="paramname">salt_len</td><td>Length of salt. </td></tr>
+ <tr><td class="paramname">iter</td><td>iteration counter. </td></tr>
+ <tr><td class="paramname">keylen</td><td>the output key length. </td></tr>
+ <tr><td class="paramname">key</td><td>the output key.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, non 1 on failure. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>1 on success, non 1 on failure. </dd></dl>
</div>
-</div><p>
</div>
+</div><!-- contents -->
<hr size="1"><address style="text-align: right;"><small>
-Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address>
+Generated on Fri Dec 8 2017 03:49:01 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address>
</body>
</html>
diff --git a/doc/doxyout/hcrypto/html/group__hcrypto__rand.html b/doc/doxyout/hcrypto/html/group__hcrypto__rand.html
index e36ff032e93c..a923251e9e7e 100644
--- a/doc/doxyout/hcrypto/html/group__hcrypto__rand.html
+++ b/doc/doxyout/hcrypto/html/group__hcrypto__rand.html
@@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>Heimdal crypto library: RAND crypto functions</title>
+<title>RAND crypto functions</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@@ -8,418 +8,420 @@
<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
</p>
<!-- end of header marker -->
-<!-- Generated by Doxygen 1.5.6 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="examples.html"><span>Examples</span></a></li>
- </ul>
- </div>
-</div>
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+ initMenu('',false,false,'search.php','Search');
+});
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">RAND crypto functions</div> </div>
+</div><!--header-->
<div class="contents">
-<h1>RAND crypto functions</h1><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#g700cd34f79c820f427f95c243befe085">RAND_seed</a> (const void *indata, size_t size)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#g957a044ad71e3c915ff7acc564be84a4">RAND_bytes</a> (void *outdata, size_t size)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#gd797e371751dedbcce4e975c3cad1947">RAND_cleanup</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#g08927181178dc6329264982f2fb1b39b">RAND_add</a> (const void *indata, size_t size, double entropi)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#g93d10a9ba8647408a3b5306c2cd423f2">RAND_pseudo_bytes</a> (void *outdata, size_t size)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#g38d21605e6e777451769a8ee7087933b">RAND_status</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#g292ae50ca725d0c529dc077467b40254">RAND_set_rand_method</a> (const RAND_METHOD *meth)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const RAND_METHOD *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#g8a8cac7a3262c4527e08f57f07c4c586">RAND_get_rand_method</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#g6a4f2c2cf723ef63522d4b33c79d5f0f">RAND_set_rand_engine</a> (ENGINE *engine)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#g9ca9fe0e799e41e8e745a88e3a60ccfd">RAND_load_file</a> (const char *filename, size_t size)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#gb9638d698e0a8ab94a31322693588eba">RAND_write_file</a> (const char *filename)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#g77b2d2555388b5d75a4bab3843fc8f02">RAND_file_name</a> (char *filename, size_t size)</td></tr>
-
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga700cd34f79c820f427f95c243befe085"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#ga700cd34f79c820f427f95c243befe085">RAND_seed</a> (const void *indata, size_t size)</td></tr>
+<tr class="separator:ga700cd34f79c820f427f95c243befe085"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga957a044ad71e3c915ff7acc564be84a4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#ga957a044ad71e3c915ff7acc564be84a4">RAND_bytes</a> (void *outdata, size_t size)</td></tr>
+<tr class="separator:ga957a044ad71e3c915ff7acc564be84a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad797e371751dedbcce4e975c3cad1947"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#gad797e371751dedbcce4e975c3cad1947">RAND_cleanup</a> (void)</td></tr>
+<tr class="separator:gad797e371751dedbcce4e975c3cad1947"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga08927181178dc6329264982f2fb1b39b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#ga08927181178dc6329264982f2fb1b39b">RAND_add</a> (const void *indata, size_t size, double entropi)</td></tr>
+<tr class="separator:ga08927181178dc6329264982f2fb1b39b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga93d10a9ba8647408a3b5306c2cd423f2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#ga93d10a9ba8647408a3b5306c2cd423f2">RAND_pseudo_bytes</a> (void *outdata, size_t size)</td></tr>
+<tr class="separator:ga93d10a9ba8647408a3b5306c2cd423f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga38d21605e6e777451769a8ee7087933b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#ga38d21605e6e777451769a8ee7087933b">RAND_status</a> (void)</td></tr>
+<tr class="separator:ga38d21605e6e777451769a8ee7087933b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga292ae50ca725d0c529dc077467b40254"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#ga292ae50ca725d0c529dc077467b40254">RAND_set_rand_method</a> (const RAND_METHOD *meth)</td></tr>
+<tr class="separator:ga292ae50ca725d0c529dc077467b40254"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8a8cac7a3262c4527e08f57f07c4c586"><td class="memItemLeft" align="right" valign="top">const RAND_METHOD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#ga8a8cac7a3262c4527e08f57f07c4c586">RAND_get_rand_method</a> (void)</td></tr>
+<tr class="separator:ga8a8cac7a3262c4527e08f57f07c4c586"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6a4f2c2cf723ef63522d4b33c79d5f0f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#ga6a4f2c2cf723ef63522d4b33c79d5f0f">RAND_set_rand_engine</a> (ENGINE *engine)</td></tr>
+<tr class="separator:ga6a4f2c2cf723ef63522d4b33c79d5f0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga9ca9fe0e799e41e8e745a88e3a60ccfd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#ga9ca9fe0e799e41e8e745a88e3a60ccfd">RAND_load_file</a> (const char *filename, size_t size)</td></tr>
+<tr class="separator:ga9ca9fe0e799e41e8e745a88e3a60ccfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab9638d698e0a8ab94a31322693588eba"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#gab9638d698e0a8ab94a31322693588eba">RAND_write_file</a> (const char *filename)</td></tr>
+<tr class="separator:gab9638d698e0a8ab94a31322693588eba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga77b2d2555388b5d75a4bab3843fc8f02"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rand.html#ga77b2d2555388b5d75a4bab3843fc8f02">RAND_file_name</a> (char *filename, size_t size)</td></tr>
+<tr class="separator:ga77b2d2555388b5d75a4bab3843fc8f02"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-See the <a class="el" href="page_rand.html">RAND - random number</a> for description and examples. <hr><h2>Function Documentation</h2>
-<a class="anchor" name="g08927181178dc6329264982f2fb1b39b"></a><!-- doxytag: member="rand.c::RAND_add" ref="g08927181178dc6329264982f2fb1b39b" args="(const void *indata, size_t size, double entropi)" -->
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<p>See the <a class="el" href="page_rand.html">RAND - random number</a> for description and examples. </p>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="ga08927181178dc6329264982f2fb1b39b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga08927181178dc6329264982f2fb1b39b">&#9670;&nbsp;</a></span>RAND_add()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void RAND_add </td>
+ <td class="memname">void RAND_add </td>
<td>(</td>
- <td class="paramtype">const void *&nbsp;</td>
- <td class="paramname"> <em>indata</em>, </td>
+ <td class="paramtype">const void *&#160;</td>
+ <td class="paramname"><em>indata</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>size</em>, </td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">double&nbsp;</td>
- <td class="paramname"> <em>entropi</em></td><td>&nbsp;</td>
+ <td class="paramtype">double&#160;</td>
+ <td class="paramname"><em>entropi</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Seed that random number generator. Secret material can securely be feed into the function, they will never be returned.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>indata</em>&nbsp;</td><td>the input data. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>size of in data. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>entropi</em>&nbsp;</td><td>entropi in data. </td></tr>
+</div><div class="memdoc">
+<p>Seed that random number generator. Secret material can securely be feed into the function, they will never be returned.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">indata</td><td>the input data. </td></tr>
+ <tr><td class="paramname">size</td><td>size of in data. </td></tr>
+ <tr><td class="paramname">entropi</td><td>entropi in data. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="g957a044ad71e3c915ff7acc564be84a4"></a><!-- doxytag: member="rand.c::RAND_bytes" ref="g957a044ad71e3c915ff7acc564be84a4" args="(void *outdata, size_t size)" -->
+</div>
+<a id="ga957a044ad71e3c915ff7acc564be84a4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga957a044ad71e3c915ff7acc564be84a4">&#9670;&nbsp;</a></span>RAND_bytes()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int RAND_bytes </td>
+ <td class="memname">int RAND_bytes </td>
<td>(</td>
- <td class="paramtype">void *&nbsp;</td>
- <td class="paramname"> <em>outdata</em>, </td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>outdata</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Get a random block from the random generator, can be used for key material.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>outdata</em>&nbsp;</td><td>random data </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>length random data</td></tr>
+</div><div class="memdoc">
+<p>Get a random block from the random generator, can be used for key material.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">outdata</td><td>random data </td></tr>
+ <tr><td class="paramname">size</td><td>length random data</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>1 on success, 0 on failure. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="gd797e371751dedbcce4e975c3cad1947"></a><!-- doxytag: member="rand.c::RAND_cleanup" ref="gd797e371751dedbcce4e975c3cad1947" args="(void)" -->
+</div>
+<a id="gad797e371751dedbcce4e975c3cad1947"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gad797e371751dedbcce4e975c3cad1947">&#9670;&nbsp;</a></span>RAND_cleanup()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void RAND_cleanup </td>
+ <td class="memname">void RAND_cleanup </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
+<p>Reset and free memory used by the random generator. </p>
-<p>
-Reset and free memory used by the random generator.
</div>
-</div><p>
-<a class="anchor" name="g77b2d2555388b5d75a4bab3843fc8f02"></a><!-- doxytag: member="rand.c::RAND_file_name" ref="g77b2d2555388b5d75a4bab3843fc8f02" args="(char *filename, size_t size)" -->
+</div>
+<a id="ga77b2d2555388b5d75a4bab3843fc8f02"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga77b2d2555388b5d75a4bab3843fc8f02">&#9670;&nbsp;</a></span>RAND_file_name()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const char* RAND_file_name </td>
+ <td class="memname">const char* RAND_file_name </td>
<td>(</td>
- <td class="paramtype">char *&nbsp;</td>
- <td class="paramname"> <em>filename</em>, </td>
+ <td class="paramtype">char *&#160;</td>
+ <td class="paramname"><em>filename</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Return the default random state filename for a user to use for <a class="el" href="group__hcrypto__rand.html#g9ca9fe0e799e41e8e745a88e3a60ccfd">RAND_load_file()</a>, and <a class="el" href="group__hcrypto__rand.html#gb9638d698e0a8ab94a31322693588eba">RAND_write_file()</a>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>buffer to hold file name. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>size of buffer filename.</td></tr>
+</div><div class="memdoc">
+<p>Return the default random state filename for a user to use for <a class="el" href="group__hcrypto__rand.html#ga9ca9fe0e799e41e8e745a88e3a60ccfd">RAND_load_file()</a>, and <a class="el" href="group__hcrypto__rand.html#gab9638d698e0a8ab94a31322693588eba">RAND_write_file()</a>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">filename</td><td>buffer to hold file name. </td></tr>
+ <tr><td class="paramname">size</td><td>size of buffer filename.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the buffer filename or NULL on failure. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>the buffer filename or NULL on failure. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g8a8cac7a3262c4527e08f57f07c4c586"></a><!-- doxytag: member="rand.c::RAND_get_rand_method" ref="g8a8cac7a3262c4527e08f57f07c4c586" args="(void)" -->
+</div>
+<a id="ga8a8cac7a3262c4527e08f57f07c4c586"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga8a8cac7a3262c4527e08f57f07c4c586">&#9670;&nbsp;</a></span>RAND_get_rand_method()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const RAND_METHOD* RAND_get_rand_method </td>
+ <td class="memname">const RAND_METHOD* RAND_get_rand_method </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
+<p>Get the default random method.</p>
+<dl class="section return"><dt>Returns</dt><dd>Returns a RAND_METHOD </dd></dl>
-<p>
-Get the default random method.
</div>
-</div><p>
-<a class="anchor" name="g9ca9fe0e799e41e8e745a88e3a60ccfd"></a><!-- doxytag: member="rand.c::RAND_load_file" ref="g9ca9fe0e799e41e8e745a88e3a60ccfd" args="(const char *filename, size_t size)" -->
+</div>
+<a id="ga9ca9fe0e799e41e8e745a88e3a60ccfd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga9ca9fe0e799e41e8e745a88e3a60ccfd">&#9670;&nbsp;</a></span>RAND_load_file()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int RAND_load_file </td>
+ <td class="memname">int RAND_load_file </td>
<td>(</td>
- <td class="paramtype">const char *&nbsp;</td>
- <td class="paramname"> <em>filename</em>, </td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>filename</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Load a a file and feed it into <a class="el" href="group__hcrypto__rand.html#g700cd34f79c820f427f95c243befe085">RAND_seed()</a>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>name of file to read. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>minimum size to read. </td></tr>
+</div><div class="memdoc">
+<p>Load a a file and feed it into <a class="el" href="group__hcrypto__rand.html#ga700cd34f79c820f427f95c243befe085">RAND_seed()</a>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">filename</td><td>name of file to read. </td></tr>
+ <tr><td class="paramname">size</td><td>minimum size to read.</td></tr>
</table>
+ </dd>
</dl>
+<dl class="section return"><dt>Returns</dt><dd>Returns the number of seed bytes loaded (0 indicates failure) </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g93d10a9ba8647408a3b5306c2cd423f2"></a><!-- doxytag: member="rand.c::RAND_pseudo_bytes" ref="g93d10a9ba8647408a3b5306c2cd423f2" args="(void *outdata, size_t size)" -->
+</div>
+<a id="ga93d10a9ba8647408a3b5306c2cd423f2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga93d10a9ba8647408a3b5306c2cd423f2">&#9670;&nbsp;</a></span>RAND_pseudo_bytes()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int RAND_pseudo_bytes </td>
+ <td class="memname">int RAND_pseudo_bytes </td>
<td>(</td>
- <td class="paramtype">void *&nbsp;</td>
- <td class="paramname"> <em>outdata</em>, </td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>outdata</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Get a random block from the random generator, should NOT be used for key material.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>outdata</em>&nbsp;</td><td>random data </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>length random data</td></tr>
+</div><div class="memdoc">
+<p>Get a random block from the random generator, should NOT be used for key material.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">outdata</td><td>random data </td></tr>
+ <tr><td class="paramname">size</td><td>length random data</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>1 on success, 0 on failure. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g700cd34f79c820f427f95c243befe085"></a><!-- doxytag: member="rand.c::RAND_seed" ref="g700cd34f79c820f427f95c243befe085" args="(const void *indata, size_t size)" -->
+</div>
+<a id="ga700cd34f79c820f427f95c243befe085"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga700cd34f79c820f427f95c243befe085">&#9670;&nbsp;</a></span>RAND_seed()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void RAND_seed </td>
+ <td class="memname">void RAND_seed </td>
<td>(</td>
- <td class="paramtype">const void *&nbsp;</td>
- <td class="paramname"> <em>indata</em>, </td>
+ <td class="paramtype">const void *&#160;</td>
+ <td class="paramname"><em>indata</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">size_t&nbsp;</td>
- <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Seed that random number generator. Secret material can securely be feed into the function, they will never be returned.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>indata</em>&nbsp;</td><td>seed data </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>length seed data </td></tr>
+</div><div class="memdoc">
+<p>Seed that random number generator. Secret material can securely be feed into the function, they will never be returned.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">indata</td><td>seed data </td></tr>
+ <tr><td class="paramname">size</td><td>length seed data </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="g6a4f2c2cf723ef63522d4b33c79d5f0f"></a><!-- doxytag: member="rand.c::RAND_set_rand_engine" ref="g6a4f2c2cf723ef63522d4b33c79d5f0f" args="(ENGINE *engine)" -->
+</div>
+<a id="ga6a4f2c2cf723ef63522d4b33c79d5f0f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga6a4f2c2cf723ef63522d4b33c79d5f0f">&#9670;&nbsp;</a></span>RAND_set_rand_engine()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int RAND_set_rand_engine </td>
+ <td class="memname">int RAND_set_rand_engine </td>
<td>(</td>
- <td class="paramtype">ENGINE *&nbsp;</td>
- <td class="paramname"> <em>engine</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">ENGINE *&#160;</td>
+ <td class="paramname"><em>engine</em></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Set the default random method from engine.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>engine</em>&nbsp;</td><td>use engine, if NULL is passed it, old method and engine is cleared.</td></tr>
+</div><div class="memdoc">
+<p>Set the default random method from engine.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">engine</td><td>use engine, if NULL is passed it, old method and engine is cleared.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>1 on success, 0 on failure. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g292ae50ca725d0c529dc077467b40254"></a><!-- doxytag: member="rand.c::RAND_set_rand_method" ref="g292ae50ca725d0c529dc077467b40254" args="(const RAND_METHOD *meth)" -->
+</div>
+<a id="ga292ae50ca725d0c529dc077467b40254"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga292ae50ca725d0c529dc077467b40254">&#9670;&nbsp;</a></span>RAND_set_rand_method()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int RAND_set_rand_method </td>
+ <td class="memname">int RAND_set_rand_method </td>
<td>(</td>
- <td class="paramtype">const RAND_METHOD *&nbsp;</td>
- <td class="paramname"> <em>meth</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">const RAND_METHOD *&#160;</td>
+ <td class="paramname"><em>meth</em></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Set the default random method.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>meth</em>&nbsp;</td><td>set the new default method.</td></tr>
+</div><div class="memdoc">
+<p>Set the default random method.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">meth</td><td>set the new default method.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>1 on success. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g38d21605e6e777451769a8ee7087933b"></a><!-- doxytag: member="rand.c::RAND_status" ref="g38d21605e6e777451769a8ee7087933b" args="(void)" -->
+</div>
+<a id="ga38d21605e6e777451769a8ee7087933b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga38d21605e6e777451769a8ee7087933b">&#9670;&nbsp;</a></span>RAND_status()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int RAND_status </td>
+ <td class="memname">int RAND_status </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Return status of the random generator<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if the random generator can deliver random data. </dd></dl>
+</div><div class="memdoc">
+<p>Return status of the random generator</p>
+<dl class="section return"><dt>Returns</dt><dd>1 if the random generator can deliver random data. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="gb9638d698e0a8ab94a31322693588eba"></a><!-- doxytag: member="rand.c::RAND_write_file" ref="gb9638d698e0a8ab94a31322693588eba" args="(const char *filename)" -->
+</div>
+<a id="gab9638d698e0a8ab94a31322693588eba"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gab9638d698e0a8ab94a31322693588eba">&#9670;&nbsp;</a></span>RAND_write_file()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int RAND_write_file </td>
+ <td class="memname">int RAND_write_file </td>
<td>(</td>
- <td class="paramtype">const char *&nbsp;</td>
- <td class="paramname"> <em>filename</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>filename</em></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Write of random numbers to a file to store for later initiation with <a class="el" href="group__hcrypto__rand.html#g9ca9fe0e799e41e8e745a88e3a60ccfd">RAND_load_file()</a>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>name of file to write.</td></tr>
+</div><div class="memdoc">
+<p>Write of random numbers to a file to store for later initiation with <a class="el" href="group__hcrypto__rand.html#ga9ca9fe0e799e41e8e745a88e3a60ccfd">RAND_load_file()</a>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">filename</td><td>name of file to write.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success and non-one on failure. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>1 on success and non-one on failure. </dd></dl>
</div>
-</div><p>
</div>
+</div><!-- contents -->
<hr size="1"><address style="text-align: right;"><small>
-Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address>
+Generated on Fri Dec 8 2017 03:49:01 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address>
</body>
</html>
diff --git a/doc/doxyout/hcrypto/html/group__hcrypto__rsa.html b/doc/doxyout/hcrypto/html/group__hcrypto__rsa.html
index d2847de56ec2..880db5a33a95 100644
--- a/doc/doxyout/hcrypto/html/group__hcrypto__rsa.html
+++ b/doc/doxyout/hcrypto/html/group__hcrypto__rsa.html
@@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>Heimdal crypto library: RSA functions</title>
+<title>RSA functions</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@@ -8,271 +8,271 @@
<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
</p>
<!-- end of header marker -->
-<!-- Generated by Doxygen 1.5.6 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="examples.html"><span>Examples</span></a></li>
- </ul>
- </div>
-</div>
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+ initMenu('',false,false,'search.php','Search');
+});
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">RSA functions</div> </div>
+</div><!--header-->
<div class="contents">
-<h1>RSA functions</h1><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">RSA *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rsa.html#gc7196620864c48d1d6b8377ad8521a4e">RSA_new</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">RSA *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rsa.html#gd184201d41deee1d1d684974ecc44e5c">RSA_new_method</a> (ENGINE *engine)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rsa.html#gf0fbfb9641abf52a10e47c789bbba777">RSA_free</a> (RSA *rsa)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rsa.html#gdb710b16e5e5616f0693801cc60aa943">RSA_up_ref</a> (RSA *rsa)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const RSA_METHOD *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rsa.html#g8a0ab0eaf85ef01f1cc31329558fd37a">RSA_get_method</a> (const RSA *rsa)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rsa.html#gee6501b3b0fe2917a2e40adce6862395">RSA_set_method</a> (RSA *rsa, const RSA_METHOD *method)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rsa.html#ge2af4ebfadf6a1450b823dfc6ca50687">RSA_set_app_data</a> (RSA *rsa, void *arg)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rsa.html#gfcdc9f15c7075cd8434f0c7e59d3db5c">RSA_get_app_data</a> (const RSA *rsa)</td></tr>
-
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:gac7196620864c48d1d6b8377ad8521a4e"><td class="memItemLeft" align="right" valign="top">RSA *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rsa.html#gac7196620864c48d1d6b8377ad8521a4e">RSA_new</a> (void)</td></tr>
+<tr class="separator:gac7196620864c48d1d6b8377ad8521a4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad184201d41deee1d1d684974ecc44e5c"><td class="memItemLeft" align="right" valign="top">RSA *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rsa.html#gad184201d41deee1d1d684974ecc44e5c">RSA_new_method</a> (ENGINE *engine)</td></tr>
+<tr class="separator:gad184201d41deee1d1d684974ecc44e5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf0fbfb9641abf52a10e47c789bbba777"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rsa.html#gaf0fbfb9641abf52a10e47c789bbba777">RSA_free</a> (RSA *rsa)</td></tr>
+<tr class="separator:gaf0fbfb9641abf52a10e47c789bbba777"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gadb710b16e5e5616f0693801cc60aa943"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rsa.html#gadb710b16e5e5616f0693801cc60aa943">RSA_up_ref</a> (RSA *rsa)</td></tr>
+<tr class="separator:gadb710b16e5e5616f0693801cc60aa943"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8a0ab0eaf85ef01f1cc31329558fd37a"><td class="memItemLeft" align="right" valign="top">const RSA_METHOD *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rsa.html#ga8a0ab0eaf85ef01f1cc31329558fd37a">RSA_get_method</a> (const RSA *rsa)</td></tr>
+<tr class="separator:ga8a0ab0eaf85ef01f1cc31329558fd37a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaee6501b3b0fe2917a2e40adce6862395"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rsa.html#gaee6501b3b0fe2917a2e40adce6862395">RSA_set_method</a> (RSA *rsa, const RSA_METHOD *method)</td></tr>
+<tr class="separator:gaee6501b3b0fe2917a2e40adce6862395"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae2af4ebfadf6a1450b823dfc6ca50687"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rsa.html#gae2af4ebfadf6a1450b823dfc6ca50687">RSA_set_app_data</a> (RSA *rsa, void *arg)</td></tr>
+<tr class="separator:gae2af4ebfadf6a1450b823dfc6ca50687"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gafcdc9f15c7075cd8434f0c7e59d3db5c"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hcrypto__rsa.html#gafcdc9f15c7075cd8434f0c7e59d3db5c">RSA_get_app_data</a> (const RSA *rsa)</td></tr>
+<tr class="separator:gafcdc9f15c7075cd8434f0c7e59d3db5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-See the <a class="el" href="page_rsa.html">RSA - public-key cryptography</a> for description and examples. <hr><h2>Function Documentation</h2>
-<a class="anchor" name="gf0fbfb9641abf52a10e47c789bbba777"></a><!-- doxytag: member="rsa.c::RSA_free" ref="gf0fbfb9641abf52a10e47c789bbba777" args="(RSA *rsa)" -->
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<p>See the <a class="el" href="page_rsa.html">RSA - public-key cryptography</a> for description and examples. </p>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="gaf0fbfb9641abf52a10e47c789bbba777"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gaf0fbfb9641abf52a10e47c789bbba777">&#9670;&nbsp;</a></span>RSA_free()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void RSA_free </td>
+ <td class="memname">void RSA_free </td>
<td>(</td>
- <td class="paramtype">RSA *&nbsp;</td>
- <td class="paramname"> <em>rsa</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">RSA *&#160;</td>
+ <td class="paramname"><em>rsa</em></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Free an allocation RSA object.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>rsa</em>&nbsp;</td><td>the RSA object to free. </td></tr>
+</div><div class="memdoc">
+<p>Free an allocation RSA object.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">rsa</td><td>the RSA object to free. </td></tr>
</table>
+ </dd>
</dl>
</div>
-</div><p>
-<a class="anchor" name="gfcdc9f15c7075cd8434f0c7e59d3db5c"></a><!-- doxytag: member="rsa.c::RSA_get_app_data" ref="gfcdc9f15c7075cd8434f0c7e59d3db5c" args="(const RSA *rsa)" -->
+</div>
+<a id="gafcdc9f15c7075cd8434f0c7e59d3db5c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gafcdc9f15c7075cd8434f0c7e59d3db5c">&#9670;&nbsp;</a></span>RSA_get_app_data()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void* RSA_get_app_data </td>
+ <td class="memname">void* RSA_get_app_data </td>
<td>(</td>
- <td class="paramtype">const RSA *&nbsp;</td>
- <td class="paramname"> <em>rsa</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">const RSA *&#160;</td>
+ <td class="paramname"><em>rsa</em></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Get the application data for the RSA object.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>rsa</em>&nbsp;</td><td>the rsa object to get the parameter for</td></tr>
+</div><div class="memdoc">
+<p>Get the application data for the RSA object.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">rsa</td><td>the rsa object to get the parameter for</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the data object </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>the data object </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="g8a0ab0eaf85ef01f1cc31329558fd37a"></a><!-- doxytag: member="rsa.c::RSA_get_method" ref="g8a0ab0eaf85ef01f1cc31329558fd37a" args="(const RSA *rsa)" -->
+</div>
+<a id="ga8a0ab0eaf85ef01f1cc31329558fd37a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga8a0ab0eaf85ef01f1cc31329558fd37a">&#9670;&nbsp;</a></span>RSA_get_method()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const RSA_METHOD* RSA_get_method </td>
+ <td class="memname">const RSA_METHOD* RSA_get_method </td>
<td>(</td>
- <td class="paramtype">const RSA *&nbsp;</td>
- <td class="paramname"> <em>rsa</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">const RSA *&#160;</td>
+ <td class="paramname"><em>rsa</em></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Return the RSA_METHOD used for this RSA object.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>rsa</em>&nbsp;</td><td>the object to get the method from.</td></tr>
+</div><div class="memdoc">
+<p>Return the RSA_METHOD used for this RSA object.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">rsa</td><td>the object to get the method from.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the method used for this RSA object. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>the method used for this RSA object. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="gc7196620864c48d1d6b8377ad8521a4e"></a><!-- doxytag: member="rsa.c::RSA_new" ref="gc7196620864c48d1d6b8377ad8521a4e" args="(void)" -->
+</div>
+<a id="gac7196620864c48d1d6b8377ad8521a4e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gac7196620864c48d1d6b8377ad8521a4e">&#9670;&nbsp;</a></span>RSA_new()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">RSA* RSA_new </td>
+ <td class="memname">RSA* RSA_new </td>
<td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Same as <a class="el" href="group__hcrypto__rsa.html#gd184201d41deee1d1d684974ecc44e5c">RSA_new_method()</a> using NULL as engine.<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>a newly allocated RSA object. Free with <a class="el" href="group__hcrypto__rsa.html#gf0fbfb9641abf52a10e47c789bbba777">RSA_free()</a>. </dd></dl>
+</div><div class="memdoc">
+<p>Same as <a class="el" href="group__hcrypto__rsa.html#gad184201d41deee1d1d684974ecc44e5c">RSA_new_method()</a> using NULL as engine.</p>
+<dl class="section return"><dt>Returns</dt><dd>a newly allocated RSA object. Free with <a class="el" href="group__hcrypto__rsa.html#gaf0fbfb9641abf52a10e47c789bbba777">RSA_free()</a>. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="gd184201d41deee1d1d684974ecc44e5c"></a><!-- doxytag: member="rsa.c::RSA_new_method" ref="gd184201d41deee1d1d684974ecc44e5c" args="(ENGINE *engine)" -->
+</div>
+<a id="gad184201d41deee1d1d684974ecc44e5c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gad184201d41deee1d1d684974ecc44e5c">&#9670;&nbsp;</a></span>RSA_new_method()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">RSA* RSA_new_method </td>
+ <td class="memname">RSA* RSA_new_method </td>
<td>(</td>
- <td class="paramtype">ENGINE *&nbsp;</td>
- <td class="paramname"> <em>engine</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">ENGINE *&#160;</td>
+ <td class="paramname"><em>engine</em></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Allocate a new RSA object using the engine, if NULL is specified as the engine, use the default RSA engine as returned by ENGINE_get_default_RSA().<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>engine</em>&nbsp;</td><td>Specific what ENGINE RSA provider should be used.</td></tr>
+</div><div class="memdoc">
+<p>Allocate a new RSA object using the engine, if NULL is specified as the engine, use the default RSA engine as returned by ENGINE_get_default_RSA().</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">engine</td><td>Specific what ENGINE RSA provider should be used.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>a newly allocated RSA object. Free with <a class="el" href="group__hcrypto__rsa.html#gf0fbfb9641abf52a10e47c789bbba777">RSA_free()</a>. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>a newly allocated RSA object. Free with <a class="el" href="group__hcrypto__rsa.html#gaf0fbfb9641abf52a10e47c789bbba777">RSA_free()</a>. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="ge2af4ebfadf6a1450b823dfc6ca50687"></a><!-- doxytag: member="rsa.c::RSA_set_app_data" ref="ge2af4ebfadf6a1450b823dfc6ca50687" args="(RSA *rsa, void *arg)" -->
+</div>
+<a id="gae2af4ebfadf6a1450b823dfc6ca50687"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gae2af4ebfadf6a1450b823dfc6ca50687">&#9670;&nbsp;</a></span>RSA_set_app_data()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int RSA_set_app_data </td>
+ <td class="memname">int RSA_set_app_data </td>
<td>(</td>
- <td class="paramtype">RSA *&nbsp;</td>
- <td class="paramname"> <em>rsa</em>, </td>
+ <td class="paramtype">RSA *&#160;</td>
+ <td class="paramname"><em>rsa</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">void *&nbsp;</td>
- <td class="paramname"> <em>arg</em></td><td>&nbsp;</td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>arg</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Set the application data for the RSA object.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>rsa</em>&nbsp;</td><td>the rsa object to set the parameter for </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>arg</em>&nbsp;</td><td>the data object to store</td></tr>
+</div><div class="memdoc">
+<p>Set the application data for the RSA object.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">rsa</td><td>the rsa object to set the parameter for </td></tr>
+ <tr><td class="paramname">arg</td><td>the data object to store</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>1 on success. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="gee6501b3b0fe2917a2e40adce6862395"></a><!-- doxytag: member="rsa.c::RSA_set_method" ref="gee6501b3b0fe2917a2e40adce6862395" args="(RSA *rsa, const RSA_METHOD *method)" -->
+</div>
+<a id="gaee6501b3b0fe2917a2e40adce6862395"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gaee6501b3b0fe2917a2e40adce6862395">&#9670;&nbsp;</a></span>RSA_set_method()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int RSA_set_method </td>
+ <td class="memname">int RSA_set_method </td>
<td>(</td>
- <td class="paramtype">RSA *&nbsp;</td>
- <td class="paramname"> <em>rsa</em>, </td>
+ <td class="paramtype">RSA *&#160;</td>
+ <td class="paramname"><em>rsa</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const RSA_METHOD *&nbsp;</td>
- <td class="paramname"> <em>method</em></td><td>&nbsp;</td>
+ <td class="paramtype">const RSA_METHOD *&#160;</td>
+ <td class="paramname"><em>method</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td></td>
+ <td></td><td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Set a new method for the RSA keypair.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>rsa</em>&nbsp;</td><td>rsa parameter. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>method</em>&nbsp;</td><td>the new method for the RSA parameter.</td></tr>
+</div><div class="memdoc">
+<p>Set a new method for the RSA keypair.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">rsa</td><td>rsa parameter. </td></tr>
+ <tr><td class="paramname">method</td><td>the new method for the RSA parameter.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>1 on success. </dd></dl>
</div>
-</div><p>
-<a class="anchor" name="gdb710b16e5e5616f0693801cc60aa943"></a><!-- doxytag: member="rsa.c::RSA_up_ref" ref="gdb710b16e5e5616f0693801cc60aa943" args="(RSA *rsa)" -->
+</div>
+<a id="gadb710b16e5e5616f0693801cc60aa943"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gadb710b16e5e5616f0693801cc60aa943">&#9670;&nbsp;</a></span>RSA_up_ref()</h2>
+
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">int RSA_up_ref </td>
+ <td class="memname">int RSA_up_ref </td>
<td>(</td>
- <td class="paramtype">RSA *&nbsp;</td>
- <td class="paramname"> <em>rsa</em> </td>
- <td>&nbsp;)&nbsp;</td>
+ <td class="paramtype">RSA *&#160;</td>
+ <td class="paramname"><em>rsa</em></td><td>)</td>
<td></td>
</tr>
</table>
-</div>
-<div class="memdoc">
-
-<p>
-Add an extra reference to the RSA object. The object should be free with <a class="el" href="group__hcrypto__rsa.html#gf0fbfb9641abf52a10e47c789bbba777">RSA_free()</a> to drop the reference.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>rsa</em>&nbsp;</td><td>the object to add reference counting too.</td></tr>
+</div><div class="memdoc">
+<p>Add an extra reference to the RSA object. The object should be free with <a class="el" href="group__hcrypto__rsa.html#gaf0fbfb9641abf52a10e47c789bbba777">RSA_free()</a> to drop the reference.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">rsa</td><td>the object to add reference counting too.</td></tr>
</table>
+ </dd>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the current reference count, can't safely be used except for debug printing. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>the current reference count, can't safely be used except for debug printing. </dd></dl>
</div>
-</div><p>
</div>
+</div><!-- contents -->
<hr size="1"><address style="text-align: right;"><small>
-Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address>
+Generated on Fri Dec 8 2017 03:49:01 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address>
</body>
</html>
diff --git a/doc/doxyout/hcrypto/html/index.html b/doc/doxyout/hcrypto/html/index.html
index a88485da852c..d2c15762a14e 100644
--- a/doc/doxyout/hcrypto/html/index.html
+++ b/doc/doxyout/hcrypto/html/index.html
@@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>Heimdal crypto library: Heimdal crypto library</title>
+<title>Heimdal crypto library</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@@ -8,40 +8,50 @@
<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
</p>
<!-- end of header marker -->
-<!-- Generated by Doxygen 1.5.6 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li class="current"><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="examples.html"><span>Examples</span></a></li>
- </ul>
- </div>
-</div>
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+ initMenu('',false,false,'search.php','Search');
+});
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">Heimdal crypto library </div> </div>
+</div><!--header-->
<div class="contents">
-<h1>Heimdal crypto library</h1>
-<p>
-<h3 align="center">1.5.2 </h3><h2><a class="anchor" name="intro">
-Introduction</a></h2>
-Heimdal libhcrypto library is a implementation many crypto algorithms, among others: AES, SHA, DES, RSA, Camellia and many help function.<p>
-hcrypto provies a OpenSSL compatible interface libcrypto interface and is licensed under a 3 clause BSD license (GPL compatible).<p>
-The project web page: <a href="http://www.h5l.org/">http://www.h5l.org/</a><p>
-Sections of this manual:<p>
+<div class="textblock"><h1><a class="anchor" id="intro"></a>
+Introduction</h1>
+<p>Heimdal libhcrypto library is a implementation many crypto algorithms, among others: AES, SHA, DES, RSA, Camellia and many help function.</p>
+<p>hcrypto provies a OpenSSL compatible interface libcrypto interface and is licensed under a 3 clause BSD license (GPL compatible).</p>
+<p>The project web page: <a href="http://www.h5l.org/">http://www.h5l.org/</a></p>
+<p>Sections of this manual:</p>
<ul>
-<li><a class="el" href="page_evp.html">EVP - generic crypto interface</a>, <a class="el" href="group__hcrypto__evp.html">EVP generic crypto functions</a></li><li><a class="el" href="page_rand.html">RAND - random number</a>, <a class="el" href="group__hcrypto__rand.html">RAND crypto functions</a></li><li><a class="el" href="page_dh.html">DH - Diffie-Hellman key exchange</a>, <a class="el" href="group__hcrypto__dh.html">Diffie-Hellman functions</a></li><li><a class="el" href="page_rsa.html">RSA - public-key cryptography</a>, <a class="el" href="group__hcrypto__rsa.html">RSA functions</a></li><li><a class="el" href="group__hcrypto__misc.html">hcrypto miscellaneous functions</a></li></ul>
-<p>
-Older interfaces that you should not use:<p>
+<li><a class="el" href="page_evp.html">EVP - generic crypto interface</a>, <a class="el" href="group__hcrypto__evp.html">EVP generic crypto functions</a></li>
+<li><a class="el" href="page_rand.html">RAND - random number</a>, <a class="el" href="group__hcrypto__rand.html">RAND crypto functions</a></li>
+<li><a class="el" href="page_dh.html">DH - Diffie-Hellman key exchange</a>, <a class="el" href="group__hcrypto__dh.html">Diffie-Hellman functions</a></li>
+<li><a class="el" href="page_rsa.html">RSA - public-key cryptography</a>, <a class="el" href="group__hcrypto__rsa.html">RSA functions</a></li>
+<li><a class="el" href="group__hcrypto__misc.html">hcrypto miscellaneous functions</a></li>
+</ul>
+<p>Older interfaces that you should not use:</p>
<ul>
-<li><a class="el" href="page_des.html">DES - Data Encryption Standard crypto interface</a>, <a class="el" href="group__hcrypto__des.html">DES crypto functions</a></li></ul>
-<h3><a class="anchor" name="control_functions">
-Control functions</a></h3>
-Functions controlling general behavior, like adding algorithms, are documented in this module: <a class="el" href="group__hcrypto__core.html">hcrypto function controlling behavior</a> .<h3><a class="anchor" name="return_values">
-Return values</a></h3>
-Return values are diffrent in this module to be compatible with OpenSSL interface. The diffrence is that on success 1 is returned instead of the customary 0.<h3><a class="anchor" name="History">
-History</a></h3>
-Eric Young implemented DES in the library libdes, that grew into libcrypto in the ssleay package. ssleay went into recession and then got picked up by the OpenSSL (htp://www.openssl.org/) project.<p>
-libhcrypto is an independent implementation with no code decended from ssleay/openssl. Both includes some common imported code, for example the AES implementation. </div>
+<li><a class="el" href="page_des.html">DES - Data Encryption Standard crypto interface</a>, <a class="el" href="group__hcrypto__des.html">DES crypto functions</a></li>
+</ul>
+<h2><a class="anchor" id="control_functions"></a>
+Control functions</h2>
+<p>Functions controlling general behavior, like adding algorithms, are documented in this module: <a class="el" href="group__hcrypto__core.html">hcrypto function controlling behavior</a> .</p>
+<h2><a class="anchor" id="return_values"></a>
+Return values</h2>
+<p>Return values are diffrent in this module to be compatible with OpenSSL interface. The diffrence is that on success 1 is returned instead of the customary 0.</p>
+<h2><a class="anchor" id="History"></a>
+History</h2>
+<p>Eric Young implemented DES in the library libdes, that grew into libcrypto in the ssleay package. ssleay went into recession and then got picked up by the OpenSSL (htp://www.openssl.org/) project.</p>
+<p>libhcrypto is an independent implementation with no code decended from ssleay/openssl. Both includes some common imported code, for example the AES implementation. </p>
+</div></div><!-- contents -->
<hr size="1"><address style="text-align: right;"><small>
-Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address>
+Generated on Fri Dec 8 2017 03:49:01 for Heimdal crypto library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address>
</body>
</html>
diff --git a/doc/doxyout/hcrypto/html/jquery.js b/doc/doxyout/hcrypto/html/jquery.js
new file mode 100644
index 000000000000..f5343eda922a
--- /dev/null
+++ b/doc/doxyout/hcrypto/html/jquery.js
@@ -0,0 +1,87 @@
+/*!
+ * jQuery JavaScript Library v1.7.1
+ * http://jquery.com/
+ *
+ * Copyright 2011, John Resig
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ * Copyright 2011, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ *
+ * Date: Mon Nov 21 21:11:03 2011 -0500
+ */
+(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b4<b3;b4++){if((b9=arguments[b4])!=null){for(b2 in b9){b0=b5[b2];b1=b9[b2];if(b5===b1){continue}if(b8&&b1&&(bF.isPlainObject(b1)||(b6=bF.isArray(b1)))){if(b6){b6=false;b7=b0&&bF.isArray(b0)?b0:[]}else{b7=b0&&bF.isPlainObject(b0)?b0:{}}b5[b2]=bF.extend(b8,b7,b1)}else{if(b1!==L){b5[b2]=b1}}}}}return b5};bF.extend({noConflict:function(b0){if(bb.$===bF){bb.$=bH}if(b0&&bb.jQuery===bF){bb.jQuery=bU}return bF},isReady:false,readyWait:1,holdReady:function(b0){if(b0){bF.readyWait++}else{bF.ready(true)}},ready:function(b0){if((b0===true&&!--bF.readyWait)||(b0!==true&&!bF.isReady)){if(!av.body){return setTimeout(bF.ready,1)}bF.isReady=true;if(b0!==true&&--bF.readyWait>0){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b4<b5;){if(b6.apply(b3[b4++],b2)===false){break}}}}else{if(b0){for(b1 in b3){if(b6.call(b3[b1],b1,b3[b1])===false){break}}}else{for(;b4<b5;){if(b6.call(b3[b4],b4,b3[b4++])===false){break}}}}return b3},trim:bO?function(b0){return b0==null?"":bO.call(b0)}:function(b0){return b0==null?"":b0.toString().replace(bI,"").replace(bE,"")},makeArray:function(b3,b1){var b0=b1||[];if(b3!=null){var b2=bF.type(b3);if(b3.length==null||b2==="string"||b2==="function"||b2==="regexp"||bF.isWindow(b3)){bz.call(b0,b3)}else{bF.merge(b0,b3)}}return b0},inArray:function(b2,b3,b1){var b0;if(b3){if(bv){return bv.call(b3,b2,b1)}b0=b3.length;b1=b1?b1<0?Math.max(0,b0+b1):b1:0;for(;b1<b0;b1++){if(b1 in b3&&b3[b1]===b2){return b1}}}return -1},merge:function(b4,b2){var b3=b4.length,b1=0;if(typeof b2.length==="number"){for(var b0=b2.length;b1<b0;b1++){b4[b3++]=b2[b1]}}else{while(b2[b1]!==L){b4[b3++]=b2[b1++]}}b4.length=b3;return b4},grep:function(b1,b6,b0){var b2=[],b5;b0=!!b0;for(var b3=0,b4=b1.length;b3<b4;b3++){b5=!!b6(b1[b3],b3);if(b0!==b5){b2.push(b1[b3])}}return b2},map:function(b0,b7,b8){var b5,b6,b4=[],b2=0,b1=b0.length,b3=b0 instanceof bF||b1!==L&&typeof b1==="number"&&((b1>0&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b2<b1;b2++){b5=b7(b0[b2],b2,b8);if(b5!=null){b4[b4.length]=b5}}}else{for(b6 in b0){b5=b7(b0[b6],b6,b8);if(b5!=null){b4[b4.length]=b5}}}return b4.concat.apply([],b4)},guid:1,proxy:function(b4,b3){if(typeof b3==="string"){var b2=b4[b3];b3=b4;b4=b2}if(!bF.isFunction(b4)){return L}var b0=bK.call(arguments,2),b1=function(){return b4.apply(b3,b0.concat(bK.call(arguments)))};b1.guid=b4.guid=b4.guid||b1.guid||bF.guid++;return b1},access:function(b0,b8,b6,b2,b5,b7){var b1=b0.length;if(typeof b8==="object"){for(var b3 in b8){bF.access(b0,b3,b8[b3],b2,b5,b6)}return b0}if(b6!==L){b2=!b7&&b2&&bF.isFunction(b6);for(var b4=0;b4<b1;b4++){b5(b0[b4],b8,b2?b6.call(b0[b4],b4,b5(b0[b4],b8)):b6,b7)}return b0}return b1?b5(b0[0],b8):L},now:function(){return(new Date()).getTime()},uaMatch:function(b1){b1=b1.toLowerCase();var b0=by.exec(b1)||bR.exec(b1)||bQ.exec(b1)||b1.indexOf("compatible")<0&&bS.exec(b1)||[];return{browser:b0[1]||"",version:b0[2]||"0"}},sub:function(){function b0(b3,b4){return new b0.fn.init(b3,b4)}bF.extend(true,b0,this);b0.superclass=this;b0.fn=b0.prototype=this();b0.fn.constructor=b0;b0.sub=this.sub;b0.fn.init=function b2(b3,b4){if(b4&&b4 instanceof bF&&!(b4 instanceof b0)){b4=b0(b4)}return bF.fn.init.call(this,b3,b4,b1)};b0.fn.init.prototype=b0.fn;var b1=b0(av);return b0},browser:{}});bF.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(b1,b0){bx["[object "+b0+"]"]=b0.toLowerCase()});bV=bF.uaMatch(bX);if(bV.browser){bF.browser[bV.browser]=true;bF.browser.version=bV.version}if(bF.browser.webkit){bF.browser.safari=true}if(bM.test("\xA0")){bI=/^[\s\xA0]+/;bE=/[\s\xA0]+$/}bD=bF(av);if(av.addEventListener){e=function(){av.removeEventListener("DOMContentLoaded",e,false);bF.ready()}}else{if(av.attachEvent){e=function(){if(av.readyState==="complete"){av.detachEvent("onreadystatechange",e);bF.ready()}}}}function bw(){if(bF.isReady){return}try{av.documentElement.doScroll("left")}catch(b0){setTimeout(bw,1);return}bF.ready()}return bF})();var a2={};function X(e){var bv=a2[e]={},bw,bx;e=e.split(/\s+/);for(bw=0,bx=e.length;bw<bx;bw++){bv[e[bw]]=true}return bv}b.Callbacks=function(bw){bw=bw?(a2[bw]||X(bw)):{};var bB=[],bC=[],bx,by,bv,bz,bA,bE=function(bF){var bG,bJ,bI,bH,bK;for(bG=0,bJ=bF.length;bG<bJ;bG++){bI=bF[bG];bH=b.type(bI);if(bH==="array"){bE(bI)}else{if(bH==="function"){if(!bw.unique||!bD.has(bI)){bB.push(bI)}}}}},e=function(bG,bF){bF=bF||[];bx=!bw.memory||[bG,bF];by=true;bA=bv||0;bv=0;bz=bB.length;for(;bB&&bA<bz;bA++){if(bB[bA].apply(bG,bF)===false&&bw.stopOnFalse){bx=true;break}}by=false;if(bB){if(!bw.once){if(bC&&bC.length){bx=bC.shift();bD.fireWith(bx[0],bx[1])}}else{if(bx===true){bD.disable()}else{bB=[]}}}},bD={add:function(){if(bB){var bF=bB.length;bE(arguments);if(by){bz=bB.length}else{if(bx&&bx!==true){bv=bF;e(bx[0],bx[1])}}}return this},remove:function(){if(bB){var bF=arguments,bH=0,bI=bF.length;for(;bH<bI;bH++){for(var bG=0;bG<bB.length;bG++){if(bF[bH]===bB[bG]){if(by){if(bG<=bz){bz--;if(bG<=bA){bA--}}}bB.splice(bG--,1);if(bw.unique){break}}}}}return this},has:function(bG){if(bB){var bF=0,bH=bB.length;for(;bF<bH;bF++){if(bG===bB[bF]){return true}}}return false},empty:function(){bB=[];return this},disable:function(){bB=bC=bx=L;return this},disabled:function(){return !bB},lock:function(){bC=L;if(!bx||bx===true){bD.disable()}return this},locked:function(){return !bC},fireWith:function(bG,bF){if(bC){if(by){if(!bw.once){bC.push([bG,bF])}}else{if(!(bw.once&&bx)){e(bG,bF)}}}return this},fire:function(){bD.fireWith(this,arguments);return this},fired:function(){return !!bx}};return bD};var aJ=[].slice;b.extend({Deferred:function(by){var bx=b.Callbacks("once memory"),bw=b.Callbacks("once memory"),bv=b.Callbacks("memory"),e="pending",bA={resolve:bx,reject:bw,notify:bv},bC={done:bx.add,fail:bw.add,progress:bv.add,state:function(){return e},isResolved:bx.fired,isRejected:bw.fired,then:function(bE,bD,bF){bB.done(bE).fail(bD).progress(bF);return this},always:function(){bB.done.apply(bB,arguments).fail.apply(bB,arguments);return this},pipe:function(bF,bE,bD){return b.Deferred(function(bG){b.each({done:[bF,"resolve"],fail:[bE,"reject"],progress:[bD,"notify"]},function(bI,bL){var bH=bL[0],bK=bL[1],bJ;if(b.isFunction(bH)){bB[bI](function(){bJ=bH.apply(this,arguments);if(bJ&&b.isFunction(bJ.promise)){bJ.promise().then(bG.resolve,bG.reject,bG.notify)}else{bG[bK+"With"](this===bB?bG:this,[bJ])}})}else{bB[bI](bG[bK])}})}).promise()},promise:function(bE){if(bE==null){bE=bC}else{for(var bD in bC){bE[bD]=bC[bD]}}return bE}},bB=bC.promise({}),bz;for(bz in bA){bB[bz]=bA[bz].fire;bB[bz+"With"]=bA[bz].fireWith}bB.done(function(){e="resolved"},bw.disable,bv.lock).fail(function(){e="rejected"},bx.disable,bv.lock);if(by){by.call(bB,bB)}return bB},when:function(bA){var bx=aJ.call(arguments,0),bv=0,e=bx.length,bB=new Array(e),bw=e,by=e,bC=e<=1&&bA&&b.isFunction(bA.promise)?bA:b.Deferred(),bE=bC.promise();function bD(bF){return function(bG){bx[bF]=arguments.length>1?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv<e;bv++){if(bx[bv]&&bx[bv].promise&&b.isFunction(bx[bv].promise)){bx[bv].promise().then(bD(bv),bC.reject,bz(bv))}else{--bw}}if(!bw){bC.resolveWith(bC,bx)}}else{if(bC!==bA){bC.resolveWith(bC,e?[bA]:[])}}return bE}});b.support=(function(){var bJ,bI,bF,bG,bx,bE,bA,bD,bz,bK,bB,by,bw,bv=av.createElement("div"),bH=av.documentElement;bv.setAttribute("className","t");bv.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav></:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="<div "+e+"><div></div></div><table "+e+" cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="<div style='width:4px;'></div>";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA<bz;bA++){delete bB[bv[bA]]}if(!(by?S:b.isEmptyObject)(bB)){return}}}if(!by){delete e[bw].data;if(!S(e[bw])){return}}if(b.support.deleteExpando||!e.setInterval){delete e[bw]}else{e[bw]=null}if(bD){if(b.support.deleteExpando){delete bx[bC]}else{if(bx.removeAttribute){bx.removeAttribute(bC)}else{bx[bC]=null}}}},_data:function(bv,e,bw){return b.data(bv,e,bw,true)},acceptData:function(bv){if(bv.nodeName){var e=b.noData[bv.nodeName.toLowerCase()];if(e){return !(e===true||bv.getAttribute("classid")!==e)}}return true}});b.fn.extend({data:function(by,bA){var bB,e,bw,bz=null;if(typeof by==="undefined"){if(this.length){bz=b.data(this[0]);if(this[0].nodeType===1&&!b._data(this[0],"parsedAttrs")){e=this[0].attributes;for(var bx=0,bv=e.length;bx<bv;bx++){bw=e[bx].name;if(bw.indexOf("data-")===0){bw=b.camelCase(bw.substring(5));a5(this[0],bw,bz[bw])}}b._data(this[0],"parsedAttrs",true)}}return bz}else{if(typeof by==="object"){return this.each(function(){b.data(this,by)})}}bB=by.split(".");bB[1]=bB[1]?"."+bB[1]:"";if(bA===L){bz=this.triggerHandler("getData"+bB[1]+"!",[bB[0]]);if(bz===L&&this.length){bz=b.data(this[0],by);bz=a5(this[0],by,bz)}return bz===L&&bB[1]?this.data(bB[0]):bz}else{return this.each(function(){var bC=b(this),bD=[bB[0],bA];bC.triggerHandler("setData"+bB[1]+"!",bD);b.data(this,by,bA);bC.triggerHandler("changeData"+bB[1]+"!",bD)})}},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function a5(bx,bw,by){if(by===L&&bx.nodeType===1){var bv="data-"+bw.replace(aA,"-$1").toLowerCase();by=bx.getAttribute(bv);if(typeof by==="string"){try{by=by==="true"?true:by==="false"?false:by==="null"?null:b.isNumeric(by)?parseFloat(by):aS.test(by)?b.parseJSON(by):by}catch(bz){}b.data(bx,bw,by)}else{by=L}}return by}function S(bv){for(var e in bv){if(e==="data"&&b.isEmptyObject(bv[e])){continue}if(e!=="toJSON"){return false}}return true}function bi(by,bx,bA){var bw=bx+"defer",bv=bx+"queue",e=bx+"mark",bz=b._data(by,bw);if(bz&&(bA==="queue"||!b._data(by,bv))&&(bA==="mark"||!b._data(by,e))){setTimeout(function(){if(!b._data(by,bv)&&!b._data(by,e)){b.removeData(by,bw,true);bz.fire()}},0)}}b.extend({_mark:function(bv,e){if(bv){e=(e||"fx")+"mark";b._data(bv,e,(b._data(bv,e)||0)+1)}},_unmark:function(by,bx,bv){if(by!==true){bv=bx;bx=by;by=false}if(bx){bv=bv||"fx";var e=bv+"mark",bw=by?0:((b._data(bx,e)||1)-1);if(bw){b._data(bx,e,bw)}else{b.removeData(bx,e,true);bi(bx,bv,"mark")}}},queue:function(bv,e,bx){var bw;if(bv){e=(e||"fx")+"queue";bw=b._data(bv,e);if(bx){if(!bw||b.isArray(bx)){bw=b._data(bv,e,b.makeArray(bx))}else{bw.push(bx)}}return bw||[]}},dequeue:function(by,bx){bx=bx||"fx";var bv=b.queue(by,bx),bw=bv.shift(),e={};if(bw==="inprogress"){bw=bv.shift()}if(bw){if(bx==="fx"){bv.unshift("inprogress")}b._data(by,bx+".run",e);bw.call(by,function(){b.dequeue(by,bx)},e)}if(!bv.length){b.removeData(by,bx+"queue "+bx+".run",true);bi(by,bx,"queue")}}});b.fn.extend({queue:function(e,bv){if(typeof e!=="string"){bv=e;e="fx"}if(bv===L){return b.queue(this[0],e)}return this.each(function(){var bw=b.queue(this,e,bv);if(e==="fx"&&bw[0]!=="inprogress"){b.dequeue(this,e)}})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(bv,e){bv=b.fx?b.fx.speeds[bv]||bv:bv;e=e||"fx";return this.queue(e,function(bx,bw){var by=setTimeout(bx,bv);bw.stop=function(){clearTimeout(by)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(bD,bw){if(typeof bD!=="string"){bw=bD;bD=L}bD=bD||"fx";var e=b.Deferred(),bv=this,by=bv.length,bB=1,bz=bD+"defer",bA=bD+"queue",bC=bD+"mark",bx;function bE(){if(!(--bB)){e.resolveWith(bv,[bv])}}while(by--){if((bx=b.data(bv[by],bz,L,true)||(b.data(bv[by],bA,L,true)||b.data(bv[by],bC,L,true))&&b.data(bv[by],bz,b.Callbacks("once memory"),true))){bB++;bx.add(bE)}}bE();return e.promise()}});var aP=/[\n\t\r]/g,af=/\s+/,aU=/\r/g,g=/^(?:button|input)$/i,D=/^(?:button|input|object|select|textarea)$/i,l=/^a(?:rea)?$/i,ao=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,F=b.support.getSetAttribute,be,aY,aF;b.fn.extend({attr:function(e,bv){return b.access(this,e,bv,true,b.attr)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,bv){return b.access(this,e,bv,true,b.prop)},removeProp:function(e){e=b.propFix[e]||e;return this.each(function(){try{this[e]=L;delete this[e]}catch(bv){}})},addClass:function(by){var bA,bw,bv,bx,bz,bB,e;if(b.isFunction(by)){return this.each(function(bC){b(this).addClass(by.call(this,bC,this.className))})}if(by&&typeof by==="string"){bA=by.split(af);for(bw=0,bv=this.length;bw<bv;bw++){bx=this[bw];if(bx.nodeType===1){if(!bx.className&&bA.length===1){bx.className=by}else{bz=" "+bx.className+" ";for(bB=0,e=bA.length;bB<e;bB++){if(!~bz.indexOf(" "+bA[bB]+" ")){bz+=bA[bB]+" "}}bx.className=b.trim(bz)}}}}return this},removeClass:function(bz){var bA,bw,bv,by,bx,bB,e;if(b.isFunction(bz)){return this.each(function(bC){b(this).removeClass(bz.call(this,bC,this.className))})}if((bz&&typeof bz==="string")||bz===L){bA=(bz||"").split(af);for(bw=0,bv=this.length;bw<bv;bw++){by=this[bw];if(by.nodeType===1&&by.className){if(bz){bx=(" "+by.className+" ").replace(aP," ");for(bB=0,e=bA.length;bB<e;bB++){bx=bx.replace(" "+bA[bB]+" "," ")}by.className=b.trim(bx)}else{by.className=""}}}}return this},toggleClass:function(bx,bv){var bw=typeof bx,e=typeof bv==="boolean";if(b.isFunction(bx)){return this.each(function(by){b(this).toggleClass(bx.call(this,by,this.className,bv),bv)})}return this.each(function(){if(bw==="string"){var bA,bz=0,by=b(this),bB=bv,bC=bx.split(af);while((bA=bC[bz++])){bB=e?bB:!by.hasClass(bA);by[bB?"addClass":"removeClass"](bA)}}else{if(bw==="undefined"||bw==="boolean"){if(this.className){b._data(this,"__className__",this.className)}this.className=this.className||bx===false?"":b._data(this,"__className__")||""}}})},hasClass:function(e){var bx=" "+e+" ",bw=0,bv=this.length;for(;bw<bv;bw++){if(this[bw].nodeType===1&&(" "+this[bw].className+" ").replace(aP," ").indexOf(bx)>-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv<bz;bv++){bx=bC[bv];if(bx.selected&&(b.support.optDisabled?!bx.disabled:bx.getAttribute("disabled")===null)&&(!bx.parentNode.disabled||!b.nodeName(bx.parentNode,"optgroup"))){bA=b(bx).val();if(bw){return bA}bB.push(bA)}}if(bw&&!bB.length&&bC.length){return b(bC[by]).val()}return bB},set:function(bv,bw){var e=b.makeArray(bw);b(bv).find("option").each(function(){this.selected=b.inArray(b(this).val(),e)>=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw<e;bw++){bv=bA[bw];if(bv){by=b.propFix[bv]||bv;b.attr(bx,bv,"");bx.removeAttribute(F?bv:by);if(ao.test(bv)&&by in bx){bx[by]=false}}}}},attrHooks:{type:{set:function(e,bv){if(g.test(e.nodeName)&&e.parentNode){b.error("type property can't be changed")}else{if(!b.support.radioValue&&bv==="radio"&&b.nodeName(e,"input")){var bw=e.value;e.setAttribute("type",bv);if(bw){e.value=bw}return bv}}}},value:{get:function(bv,e){if(be&&b.nodeName(bv,"button")){return be.get(bv,e)}return e in bv?bv.value:null},set:function(bv,bw,e){if(be&&b.nodeName(bv,"button")){return be.set(bv,bw,e)}bv.value=bw}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(bz,bx,bA){var bw,e,by,bv=bz.nodeType;if(!bz||bv===3||bv===8||bv===2){return}by=bv!==1||!b.isXMLDoc(bz);if(by){bx=b.propFix[bx]||bx;e=b.propHooks[bx]}if(bA!==L){if(e&&"set" in e&&(bw=e.set(bz,bA,bx))!==L){return bw}else{return(bz[bx]=bA)}}else{if(e&&"get" in e&&(bw=e.get(bz,bx))!==null){return bw}else{return bz[bx]}}},propHooks:{tabIndex:{get:function(bv){var e=bv.getAttributeNode("tabindex");return e&&e.specified?parseInt(e.value,10):D.test(bv.nodeName)||l.test(bv.nodeName)&&bv.href?0:L}}}});b.attrHooks.tabindex=b.propHooks.tabIndex;aY={get:function(bv,e){var bx,bw=b.prop(bv,e);return bw===true||typeof bw!=="boolean"&&(bx=bv.getAttributeNode(e))&&bx.nodeValue!==false?e.toLowerCase():L},set:function(bv,bx,e){var bw;if(bx===false){b.removeAttr(bv,e)}else{bw=b.propFix[e]||e;if(bw in bv){bv[bw]=true}bv.setAttribute(e,e.toLowerCase())}return e}};if(!F){aF={name:true,id:true};be=b.valHooks.button={get:function(bw,bv){var e;e=bw.getAttributeNode(bv);return e&&(aF[bv]?e.nodeValue!=="":e.specified)?e.nodeValue:L},set:function(bw,bx,bv){var e=bw.getAttributeNode(bv);if(!e){e=av.createAttribute(bv);bw.setAttributeNode(e)}return(e.nodeValue=bx+"")}};b.attrHooks.tabindex.set=be.set;b.each(["width","height"],function(bv,e){b.attrHooks[e]=b.extend(b.attrHooks[e],{set:function(bw,bx){if(bx===""){bw.setAttribute(e,"auto");return bx}}})});b.attrHooks.contenteditable={get:be.get,set:function(bv,bw,e){if(bw===""){bw="false"}be.set(bv,bw,e)}}}if(!b.support.hrefNormalized){b.each(["href","src","width","height"],function(bv,e){b.attrHooks[e]=b.extend(b.attrHooks[e],{get:function(bx){var bw=bx.getAttribute(e,2);return bw===null?L:bw}})})}if(!b.support.style){b.attrHooks.style={get:function(e){return e.style.cssText.toLowerCase()||L},set:function(e,bv){return(e.style.cssText=""+bv)}}}if(!b.support.optSelected){b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(bv){var e=bv.parentNode;if(e){e.selectedIndex;if(e.parentNode){e.parentNode.selectedIndex}}return null}})}if(!b.support.enctype){b.propFix.enctype="encoding"}if(!b.support.checkOn){b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return e.getAttribute("value")===null?"on":e.value}}})}b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,bv){if(b.isArray(bv)){return(e.checked=b.inArray(b(e).val(),bv)>=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI<bC.length;bI++){bH=n.exec(bC[bI])||[];bF=bH[1];e=(bH[2]||"").split(".").sort();bE=b.event.special[bF]||{};bF=(by?bE.delegateType:bE.bindType)||bF;bE=b.event.special[bF]||{};bG=b.extend({type:bF,origType:bH[1],data:bA,handler:bJ,guid:bJ.guid,selector:by,quick:Y(by),namespace:e.join(".")},bv);bw=bK[bF];if(!bw){bw=bK[bF]=[];bw.delegateCount=0;if(!bE.setup||bE.setup.call(bx,bA,e,bB)===false){if(bx.addEventListener){bx.addEventListener(bF,bB,false)}else{if(bx.attachEvent){bx.attachEvent("on"+bF,bB)}}}}if(bE.add){bE.add.call(bx,bG);if(!bG.handler.guid){bG.handler.guid=bJ.guid}}if(by){bw.splice(bw.delegateCount++,0,bG)}else{bw.push(bG)}b.event.global[bF]=true}bx=null},global:{},remove:function(bJ,bE,bv,bH,bB){var bI=b.hasData(bJ)&&b._data(bJ),bF,bx,bz,bL,bC,bA,bG,bw,by,bK,bD,e;if(!bI||!(bw=bI.events)){return}bE=b.trim(bt(bE||"")).split(" ");for(bF=0;bF<bE.length;bF++){bx=n.exec(bE[bF])||[];bz=bL=bx[1];bC=bx[2];if(!bz){for(bz in bw){b.event.remove(bJ,bz+bE[bF],bv,bH,true)}continue}by=b.event.special[bz]||{};bz=(bH?by.delegateType:by.bindType)||bz;bD=bw[bz]||[];bA=bD.length;bC=bC?new RegExp("(^|\\.)"+bC.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(bG=0;bG<bD.length;bG++){e=bD[bG];if((bB||bL===e.origType)&&(!bv||bv.guid===e.guid)&&(!bC||bC.test(e.namespace))&&(!bH||bH===e.selector||bH==="**"&&e.selector)){bD.splice(bG--,1);if(e.selector){bD.delegateCount--}if(by.remove){by.remove.call(bJ,e)}}}if(bD.length===0&&bA!==bD.length){if(!by.teardown||by.teardown.call(bJ,bC)===false){b.removeEvent(bJ,bz,bI.handle)}delete bw[bz]}}if(b.isEmptyObject(bw)){bK=bI.handle;if(bK){bK.elem=null}b.removeData(bJ,["events","handle"],true)}},customEvent:{getData:true,setData:true,changeData:true},trigger:function(bv,bD,bA,bJ){if(bA&&(bA.nodeType===3||bA.nodeType===8)){return}var bG=bv.type||bv,bx=[],e,bw,bC,bH,bz,by,bF,bE,bB,bI;if(T.test(bG+b.event.triggered)){return}if(bG.indexOf("!")>=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bC<bB.length&&!bv.isPropagationStopped();bC++){bH=bB[bC][0];bv.type=bB[bC][1];bE=(b._data(bH,"events")||{})[bv.type]&&b._data(bH,"handle");if(bE){bE.apply(bH,bD)}bE=by&&bH[by];if(bE&&b.acceptData(bH)&&bE.apply(bH,bD)===false){bv.preventDefault()}}bv.type=bG;if(!bJ&&!bv.isDefaultPrevented()){if((!bF._default||bF._default.apply(bA.ownerDocument,bD)===false)&&!(bG==="click"&&b.nodeName(bA,"a"))&&b.acceptData(bA)){if(by&&bA[bG]&&((bG!=="focus"&&bG!=="blur")||bv.target.offsetWidth!==0)&&!b.isWindow(bA)){bz=bA[by];if(bz){bA[by]=null}b.event.triggered=bG;bA[bG]();b.event.triggered=L;if(bz){bA[by]=bz}}}}return bv.result},dispatch:function(e){e=b.event.fix(e||bb.event);var bz=((b._data(this,"events")||{})[e.type]||[]),bA=bz.delegateCount,bG=[].slice.call(arguments,0),by=!e.exclusive&&!e.namespace,bH=[],bC,bB,bK,bx,bF,bE,bv,bD,bI,bw,bJ;bG[0]=e;e.delegateTarget=this;if(bA&&!e.target.disabled&&!(e.button&&e.type==="click")){bx=b(this);bx.context=this.ownerDocument||this;for(bK=e.target;bK!=this;bK=bK.parentNode||this){bE={};bD=[];bx[0]=bK;for(bC=0;bC<bA;bC++){bI=bz[bC];bw=bI.selector;if(bE[bw]===L){bE[bw]=(bI.quick?j(bK,bI.quick):bx.is(bw))}if(bE[bw]){bD.push(bI)}}if(bD.length){bH.push({elem:bK,matches:bD})}}}if(bz.length>bA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC<bH.length&&!e.isPropagationStopped();bC++){bv=bH[bC];e.currentTarget=bv.elem;for(bB=0;bB<bv.matches.length&&!e.isImmediatePropagationStopped();bB++){bI=bv.matches[bB];if(by||(!e.namespace&&!bI.namespace)||e.namespace_re&&e.namespace_re.test(bI.namespace)){e.data=bI.data;e.handleObj=bI;bF=((b.event.special[bI.origType]||{}).handle||bI.handler).apply(bv.elem,bG);if(bF!==L){e.result=bF;if(bF===false){e.preventDefault();e.stopPropagation()}}}}}return e.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(bv,e){if(bv.which==null){bv.which=e.charCode!=null?e.charCode:e.keyCode}return bv}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(bx,bw){var by,bz,e,bv=bw.button,bA=bw.fromElement;if(bx.pageX==null&&bw.clientX!=null){by=bx.target.ownerDocument||av;bz=by.documentElement;e=by.body;bx.pageX=bw.clientX+(bz&&bz.scrollLeft||e&&e.scrollLeft||0)-(bz&&bz.clientLeft||e&&e.clientLeft||0);bx.pageY=bw.clientY+(bz&&bz.scrollTop||e&&e.scrollTop||0)-(bz&&bz.clientTop||e&&e.clientTop||0)}if(!bx.relatedTarget&&bA){bx.relatedTarget=bA===bx.target?bw.toElement:bA}if(!bx.which&&bv!==L){bx.which=(bv&1?1:(bv&2?3:(bv&4?2:0)))}return bx}},fix:function(bw){if(bw[b.expando]){return bw}var bv,bz,e=bw,bx=b.event.fixHooks[bw.type]||{},by=bx.props?this.props.concat(bx.props):this.props;bw=b.Event(e);for(bv=by.length;bv;){bz=by[--bv];bw[bz]=e[bz]}if(!bw.target){bw.target=e.srcElement||av}if(bw.target.nodeType===3){bw.target=bw.target.parentNode}if(bw.metaKey===L){bw.metaKey=bw.ctrlKey}return bx.filter?bx.filter(bw,e):bw},special:{ready:{setup:b.bindReady},load:{noBubble:true},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(bw,bv,e){if(b.isWindow(this)){this.onbeforeunload=e}},teardown:function(bv,e){if(this.onbeforeunload===e){this.onbeforeunload=null}}}},simulate:function(bw,by,bx,bv){var bz=b.extend(new b.Event(),bx,{type:bw,isSimulated:true,originalEvent:{}});if(bv){b.event.trigger(bz,null,by)}else{b.event.dispatch.call(by,bz)}if(bz.isDefaultPrevented()){bx.preventDefault()}}};b.event.handle=b.event.dispatch;b.removeEvent=av.removeEventListener?function(bv,e,bw){if(bv.removeEventListener){bv.removeEventListener(e,bw,false)}}:function(bv,e,bw){if(bv.detachEvent){bv.detachEvent("on"+e,bw)}};b.Event=function(bv,e){if(!(this instanceof b.Event)){return new b.Event(bv,e)}if(bv&&bv.type){this.originalEvent=bv;this.type=bv.type;this.isDefaultPrevented=(bv.defaultPrevented||bv.returnValue===false||bv.getPreventDefault&&bv.getPreventDefault())?i:bk}else{this.type=bv}if(e){b.extend(this,e)}this.timeStamp=bv&&bv.timeStamp||b.now();this[b.expando]=true};function bk(){return false}function i(){return true}b.Event.prototype={preventDefault:function(){this.isDefaultPrevented=i;var bv=this.originalEvent;if(!bv){return}if(bv.preventDefault){bv.preventDefault()}else{bv.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=i;var bv=this.originalEvent;if(!bv){return}if(bv.stopPropagation){bv.stopPropagation()}bv.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=i;this.stopPropagation()},isDefaultPrevented:bk,isPropagationStopped:bk,isImmediatePropagationStopped:bk};b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(bv,e){b.event.special[bv]={delegateType:e,bindType:e,handle:function(bz){var bB=this,bA=bz.relatedTarget,by=bz.handleObj,bw=by.selector,bx;if(!bA||(bA!==bB&&!b.contains(bB,bA))){bz.type=by.origType;bx=by.handler.apply(this,arguments);bz.type=e}return bx}}});if(!b.support.submitBubbles){b.event.special.submit={setup:function(){if(b.nodeName(this,"form")){return false}b.event.add(this,"click._submit keypress._submit",function(bx){var bw=bx.target,bv=b.nodeName(bw,"input")||b.nodeName(bw,"button")?bw.form:L;if(bv&&!bv._submit_attached){b.event.add(bv,"submit._submit",function(e){if(this.parentNode&&!e.isTrigger){b.event.simulate("submit",this.parentNode,e,true)}});bv._submit_attached=true}})},teardown:function(){if(b.nodeName(this,"form")){return false}b.event.remove(this,"._submit")}}}if(!b.support.changeBubbles){b.event.special.change={setup:function(){if(bd.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio"){b.event.add(this,"propertychange._change",function(e){if(e.originalEvent.propertyName==="checked"){this._just_changed=true}});b.event.add(this,"click._change",function(e){if(this._just_changed&&!e.isTrigger){this._just_changed=false;b.event.simulate("change",this,e,true)}})}return false}b.event.add(this,"beforeactivate._change",function(bw){var bv=bw.target;if(bd.test(bv.nodeName)&&!bv._change_attached){b.event.add(bv,"change._change",function(e){if(this.parentNode&&!e.isSimulated&&!e.isTrigger){b.event.simulate("change",this.parentNode,e,true)}});bv._change_attached=true}})},handle:function(bv){var e=bv.target;if(this!==e||bv.isSimulated||bv.isTrigger||(e.type!=="radio"&&e.type!=="checkbox")){return bv.handleObj.handler.apply(this,arguments)}},teardown:function(){b.event.remove(this,"._change");return bd.test(this.nodeName)}}}if(!b.support.focusinBubbles){b.each({focus:"focusin",blur:"focusout"},function(bx,e){var bv=0,bw=function(by){b.event.simulate(e,by.target,b.event.fix(by),true)};b.event.special[e]={setup:function(){if(bv++===0){av.addEventListener(bx,bw,true)}},teardown:function(){if(--bv===0){av.removeEventListener(bx,bw,true)}}}})}b.fn.extend({on:function(bw,e,bz,by,bv){var bA,bx;if(typeof bw==="object"){if(typeof e!=="string"){bz=e;e=L}for(bx in bw){this.on(bx,e,bz,bw[bx],bv)}return this}if(bz==null&&by==null){by=e;bz=e=L}else{if(by==null){if(typeof e==="string"){by=bz;bz=L}else{by=bz;bz=e;e=L}}}if(by===false){by=bk}else{if(!by){return this}}if(bv===1){bA=by;by=function(bB){b().off(bB);return bA.apply(this,arguments)};by.guid=bA.guid||(bA.guid=b.guid++)}return this.each(function(){b.event.add(this,bw,by,bz,e)})},one:function(bv,e,bx,bw){return this.on.call(this,bv,e,bx,bw,1)},off:function(bw,e,by){if(bw&&bw.preventDefault&&bw.handleObj){var bv=bw.handleObj;b(bw.delegateTarget).off(bv.namespace?bv.type+"."+bv.namespace:bv.type,bv.selector,bv.handler);return this}if(typeof bw==="object"){for(var bx in bw){this.off(bx,e,bw[bx])}return this}if(e===false||typeof e==="function"){by=e;e=L}if(by===false){by=bk}return this.each(function(){b.event.remove(this,bw,by,e)})},bind:function(e,bw,bv){return this.on(e,null,bw,bv)},unbind:function(e,bv){return this.off(e,null,bv)},live:function(e,bw,bv){b(this.context).on(e,this.selector,bw,bv);return this},die:function(e,bv){b(this.context).off(e,this.selector||"**",bv);return this},delegate:function(e,bv,bx,bw){return this.on(bv,e,bx,bw)},undelegate:function(e,bv,bw){return arguments.length==1?this.off(e,"**"):this.off(bv,e,bw)},trigger:function(e,bv){return this.each(function(){b.event.trigger(e,bv,this)})},triggerHandler:function(e,bv){if(this[0]){return b.event.trigger(e,bv,this[0],true)}},toggle:function(bx){var bv=arguments,e=bx.guid||b.guid++,bw=0,by=function(bz){var bA=(b._data(this,"lastToggle"+bx.guid)||0)%bw;b._data(this,"lastToggle"+bx.guid,bA+1);bz.preventDefault();return bv[bA].apply(this,arguments)||false};by.guid=e;while(bw<bv.length){bv[bw++].guid=e}return this.click(by)},hover:function(e,bv){return this.mouseenter(e).mouseleave(bv||e)}});b.each(("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu").split(" "),function(bv,e){b.fn[e]=function(bx,bw){if(bw==null){bw=bx;bx=null}return arguments.length>0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}});
+/*!
+ * Sizzle CSS Selector Engine
+ * Copyright 2011, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ * More information: http://sizzlejs.com/
+ */
+(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e<bR.length;e++){if(bR[e]===bR[e-1]){bR.splice(e--,1)}}}}return bR};by.matches=function(e,bR){return by(e,null,null,bR)};by.matchesSelector=function(e,bR){return by(bR,null,null,[e]).length>0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS<bU;bS++){bV=bE.order[bS];if((bT=bE.leftMatch[bV].exec(bX))){bR=bT[1];bT.splice(1,1);if(bR.substr(bR.length-1)!=="\\"){bT[1]=(bT[1]||"").replace(bK,"");bW=bE.find[bV](bT,e,bY);if(bW!=null){bX=bX.replace(bE.match[bV],"");break}}}}if(!bW){bW=typeof e.getElementsByTagName!=="undefined"?e.getElementsByTagName("*"):[]}return{set:bW,expr:bX}};by.filter=function(b1,b0,b4,bU){var bW,e,bZ,b6,b3,bR,bT,bV,b2,bS=b1,b5=[],bY=b0,bX=b0&&b0[0]&&by.isXML(b0[0]);while(b1&&b0.length){for(bZ in bE.filter){if((bW=bE.leftMatch[bZ].exec(b1))!=null&&bW[2]){bR=bE.filter[bZ];bT=bW[1];e=false;bW.splice(1,1);if(bT.substr(bT.length-1)==="\\"){continue}if(bY===b5){b5=[]}if(bE.preFilter[bZ]){bW=bE.preFilter[bZ](bW,bY,b4,b5,bU,bX);if(!bW){e=b6=true}else{if(bW===true){continue}}}if(bW){for(bV=0;(b3=bY[bV])!=null;bV++){if(b3){b6=bR(b3,bW,bV,bY);b2=bU^b6;if(b4&&b6!=null){if(b2){e=true}else{bY[bV]=false}}else{if(b2){b5.push(b3);e=true}}}}}if(b6!==L){if(!b4){bY=b5}b1=b1.replace(bE.match[bZ],"");if(!e){return[]}break}}}if(b1===bS){if(e==null){by.error(b1)}else{break}}bS=b1}return bY};by.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)};var bw=by.getText=function(bU){var bS,bT,e=bU.nodeType,bR="";if(e){if(e===1||e===9){if(typeof bU.textContent==="string"){return bU.textContent}else{if(typeof bU.innerText==="string"){return bU.innerText.replace(bO,"")}else{for(bU=bU.firstChild;bU;bU=bU.nextSibling){bR+=bw(bU)}}}}else{if(e===3||e===4){return bU.nodeValue}}}else{for(bS=0;(bT=bU[bS]);bS++){if(bT.nodeType!==8){bR+=bw(bT)}}}return bR};var bE=by.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(e){return e.getAttribute("href")},type:function(e){return e.getAttribute("type")}},relative:{"+":function(bW,bR){var bT=typeof bR==="string",bV=bT&&!bQ.test(bR),bX=bT&&!bV;if(bV){bR=bR.toLowerCase()}for(var bS=0,e=bW.length,bU;bS<e;bS++){if((bU=bW[bS])){while((bU=bU.previousSibling)&&bU.nodeType!==1){}bW[bS]=bX||bU&&bU.nodeName.toLowerCase()===bR?bU||false:bU===bR}}if(bX){by.filter(bR,bW,true)}},">":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS<e;bS++){bV=bW[bS];if(bV){var bT=bV.parentNode;bW[bS]=bT.nodeName.toLowerCase()===bR?bT:false}}}else{for(;bS<e;bS++){bV=bW[bS];if(bV){bW[bS]=bU?bV.parentNode:bV.parentNode===bR}}if(bU){by.filter(bR,bW,true)}}},"":function(bT,bR,bV){var bU,bS=bI++,e=bN;if(typeof bR==="string"&&!bQ.test(bR)){bR=bR.toLowerCase();bU=bR;e=bv}e("parentNode",bR,bS,bT,bU,bV)},"~":function(bT,bR,bV){var bU,bS=bI++,e=bN;if(typeof bR==="string"&&!bQ.test(bR)){bR=bR.toLowerCase();bU=bR;e=bv}e("previousSibling",bR,bS,bT,bU,bV)}},find:{ID:function(bR,bS,bT){if(typeof bS.getElementById!=="undefined"&&!bT){var e=bS.getElementById(bR[1]);return e&&e.parentNode?[e]:[]}},NAME:function(bS,bV){if(typeof bV.getElementsByName!=="undefined"){var bR=[],bU=bV.getElementsByName(bS[1]);for(var bT=0,e=bU.length;bT<e;bT++){if(bU[bT].getAttribute("name")===bS[1]){bR.push(bU[bT])}}return bR.length===0?null:bR}},TAG:function(e,bR){if(typeof bR.getElementsByTagName!=="undefined"){return bR.getElementsByTagName(e[1])}}},preFilter:{CLASS:function(bT,bR,bS,e,bW,bX){bT=" "+bT[1].replace(bK,"")+" ";if(bX){return bT}for(var bU=0,bV;(bV=bR[bU])!=null;bU++){if(bV){if(bW^(bV.className&&(" "+bV.className+" ").replace(/[\t\n\r]/g," ").indexOf(bT)>=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1},lt:function(bS,bR,e){return bR<e[3]-0},gt:function(bS,bR,e){return bR>e[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV<bU;bV++){if(bT[bV]===bS){return false}}return true}else{by.error(e)}}}},CHILD:function(bS,bU){var bT,b0,bW,bZ,e,bV,bY,bX=bU[1],bR=bS;switch(bX){case"only":case"first":while((bR=bR.previousSibling)){if(bR.nodeType===1){return false}}if(bX==="first"){return true}bR=bS;case"last":while((bR=bR.nextSibling)){if(bR.nodeType===1){return false}}return true;case"nth":bT=bU[2];b0=bU[3];if(bT===1&&b0===0){return true}bW=bU[0];bZ=bS.parentNode;if(bZ&&(bZ[bC]!==bW||!bS.nodeIndex)){bV=0;for(bR=bZ.firstChild;bR;bR=bR.nextSibling){if(bR.nodeType===1){bR.nodeIndex=++bV}}bZ[bC]=bW}bY=bS.nodeIndex-b0;if(bT===0){return bY===0}else{return(bY%bT===0&&bY/bT>=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS<e;bS++){bR.push(bU[bS])}}else{for(;bU[bS];bS++){bR.push(bU[bS])}}}return bR}}var bJ,bG;if(av.documentElement.compareDocumentPosition){bJ=function(bR,e){if(bR===e){bB=true;return 0}if(!bR.compareDocumentPosition||!e.compareDocumentPosition){return bR.compareDocumentPosition?-1:1}return bR.compareDocumentPosition(e)&4?-1:1}}else{bJ=function(bY,bX){if(bY===bX){bB=true;return 0}else{if(bY.sourceIndex&&bX.sourceIndex){return bY.sourceIndex-bX.sourceIndex}}var bV,bR,bS=[],e=[],bU=bY.parentNode,bW=bX.parentNode,bZ=bU;if(bU===bW){return bG(bY,bX)}else{if(!bU){return -1}else{if(!bW){return 1}}}while(bZ){bS.unshift(bZ);bZ=bZ.parentNode}bZ=bW;while(bZ){e.unshift(bZ);bZ=bZ.parentNode}bV=bS.length;bR=e.length;for(var bT=0;bT<bV&&bT<bR;bT++){if(bS[bT]!==e[bT]){return bG(bS[bT],e[bT])}}return bT===bV?bG(bY,e[bT],-1):bG(bS[bT],bX,1)};bG=function(bR,e,bS){if(bR===e){return bS}var bT=bR.nextSibling;while(bT){if(bT===e){return -1}bT=bT.nextSibling}return 1}}(function(){var bR=av.createElement("div"),bS="script"+(new Date()).getTime(),e=av.documentElement;bR.innerHTML="<a name='"+bS+"'/>";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="<a href='#'></a>";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="<p class='TEST'></p>";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="<div class='test e'></div><div class='test'></div>";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT<bS;bT++){var e=bZ[bT];if(e){var bU=false;e=e[bR];while(e){if(e[bC]===bV){bU=bZ[e.sizset];break}if(e.nodeType===1&&!bY){e[bC]=bV;e.sizset=bT}if(e.nodeName.toLowerCase()===bW){bU=e;break}e=e[bR]}bZ[bT]=bU}}}function bN(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT<bS;bT++){var e=bZ[bT];if(e){var bU=false;e=e[bR];while(e){if(e[bC]===bV){bU=bZ[e.sizset];break}if(e.nodeType===1){if(!bY){e[bC]=bV;e.sizset=bT}if(typeof bW!=="string"){if(e===bW){bU=true;break}}else{if(by.filter(bW,[e]).length>0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT<bR;bT++){by(bS,bY[bT],bX,bW)}return by.filter(bU,bX)};by.attr=b.attr;by.selectors.attrMap={};b.find=by;b.expr=by.selectors;b.expr[":"]=b.expr.filters;b.unique=by.uniqueSort;b.text=by.getText;b.isXMLDoc=by.isXML;b.contains=by.contains})();var ab=/Until$/,aq=/^(?:parents|prevUntil|prevAll)/,a9=/,/,bp=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,H=b.expr.match.POS,ay={children:true,contents:true,next:true,prev:true};b.fn.extend({find:function(e){var bw=this,by,bv;if(typeof e!=="string"){return b(e).filter(function(){for(by=0,bv=bw.length;by<bv;by++){if(b.contains(bw[by],this)){return true}}})}var bx=this.pushStack("","find",e),bA,bB,bz;for(by=0,bv=this.length;by<bv;by++){bA=bx.length;b.find(e,this[by],bx);if(by>0){for(bB=bA;bB<bx.length;bB++){for(bz=0;bz<bA;bz++){if(bx[bz]===bx[bB]){bx.splice(bB--,1);break}}}}}return bx},has:function(bv){var e=b(bv);return this.filter(function(){for(var bx=0,bw=e.length;bx<bw;bx++){if(b.contains(this,e[bx])){return true}}})},not:function(e){return this.pushStack(aG(this,e,false),"not",e)},filter:function(e){return this.pushStack(aG(this,e,true),"filter",e)},is:function(e){return !!e&&(typeof e==="string"?H.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw<by.length;bw++){if(b(bz).is(by[bw])){bv.push({selector:by[bw],elem:bz,level:bB})}}bz=bz.parentNode;bB++}return bv}var bA=H.test(by)||typeof by!=="string"?b(by,bx||this.context):0;for(bw=0,e=this.length;bw<e;bw++){bz=this[bw];while(bz){if(bA?bA.index(bz)>-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/<tbody/i,W=/<|&#?\w+;/,ae=/<(?:script|style)/i,O=/<(?:script|object|embed|option|style)/i,ah=new RegExp("<(?:"+aR+")","i"),o=/checked\s*(?:[^=]|=\s*.checked.)/i,bm=/\/(java|ecma)script/i,aN=/^\s*<!(?:\[CDATA\[|\-\-)/,ax={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},ac=a(av);ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div<div>","</div>"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1></$2>");try{for(var bw=0,bv=this.length;bw<bv;bw++){if(this[bw].nodeType===1){b.cleanData(this[bw].getElementsByTagName("*"));this[bw].innerHTML=bx}}}catch(by){this.empty().append(bx)}}else{if(b.isFunction(bx)){this.each(function(bz){var e=b(this);e.html(bx.call(this,bz,e.html()))})}else{this.empty().append(bx)}}}return this},replaceWith:function(e){if(this[0]&&this[0].parentNode){if(b.isFunction(e)){return this.each(function(bx){var bw=b(this),bv=bw.html();bw.replaceWith(e.call(this,bx,bv))})}if(typeof e!=="string"){e=b(e).detach()}return this.each(function(){var bw=this.nextSibling,bv=this.parentNode;b(this).remove();if(bw){b(bw).before(e)}else{b(bv).append(e)}})}else{return this.length?this.pushStack(b(b.isFunction(e)?e():e),"replaceWith",e):this}},detach:function(e){return this.remove(e,true)},domManip:function(bB,bF,bE){var bx,by,bA,bD,bC=bB[0],bv=[];if(!b.support.checkClone&&arguments.length===3&&typeof bC==="string"&&o.test(bC)){return this.each(function(){b(this).domManip(bB,bF,bE,true)})}if(b.isFunction(bC)){return this.each(function(bH){var bG=b(this);bB[0]=bC.call(this,bH,bF?bG.html():L);bG.domManip(bB,bF,bE)})}if(this[0]){bD=bC&&bC.parentNode;if(b.support.parentNode&&bD&&bD.nodeType===11&&bD.childNodes.length===this.length){bx={fragment:bD}}else{bx=b.buildFragment(bB,this,bv)}bA=bx.fragment;if(bA.childNodes.length===1){by=bA=bA.firstChild}else{by=bA.firstChild}if(by){bF=bF&&b.nodeName(by,"tr");for(var bw=0,e=this.length,bz=e-1;bw<e;bw++){bE.call(bF?ba(this[bw],by):this[bw],bx.cacheable||(e>1&&bw<bz)?b.clone(bA,true,true):bA)}}if(bv.length){b.each(bv,bo)}}return this}});function ba(e,bv){return b.nodeName(e,"table")?(e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody"))):e}function t(bB,bv){if(bv.nodeType!==1||!b.hasData(bB)){return}var by,bx,e,bA=b._data(bB),bz=b._data(bv,bA),bw=bA.events;if(bw){delete bz.handle;bz.events={};for(by in bw){for(bx=0,e=bw[by].length;bx<e;bx++){b.event.add(bv,by+(bw[by][bx].namespace?".":"")+bw[by][bx].namespace,bw[by][bx],bw[by][bx].data)}}}if(bz.data){bz.data=b.extend({},bz.data)}}function ai(bv,e){var bw;if(e.nodeType!==1){return}if(e.clearAttributes){e.clearAttributes()}if(e.mergeAttributes){e.mergeAttributes(bv)}bw=e.nodeName.toLowerCase();if(bw==="object"){e.outerHTML=bv.outerHTML}else{if(bw==="input"&&(bv.type==="checkbox"||bv.type==="radio")){if(bv.checked){e.defaultChecked=e.checked=bv.checked}if(e.value!==bv.value){e.value=bv.value}}else{if(bw==="option"){e.selected=bv.defaultSelected}else{if(bw==="input"||bw==="textarea"){e.defaultValue=bv.defaultValue}}}}e.removeAttribute(b.expando)}b.buildFragment=function(bz,bx,bv){var by,e,bw,bA,bB=bz[0];if(bx&&bx[0]){bA=bx[0].ownerDocument||bx[0]}if(!bA.createDocumentFragment){bA=av}if(bz.length===1&&typeof bB==="string"&&bB.length<512&&bA===av&&bB.charAt(0)==="<"&&!O.test(bB)&&(b.support.checkClone||!o.test(bB))&&(b.support.html5Clone||!ah.test(bB))){e=true;bw=b.fragments[bB];if(bw&&bw!==1){by=bw}}if(!by){by=bA.createDocumentFragment();b.clean(bz,bA,by,bv)}if(e){b.fragments[bB]=bw?by:1}return{fragment:by,cacheable:e}};b.fragments={};b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,bv){b.fn[e]=function(bw){var bz=[],bC=b(bw),bB=this.length===1&&this[0].parentNode;if(bB&&bB.nodeType===11&&bB.childNodes.length===1&&bC.length===1){bC[bv](this[0]);return this}else{for(var bA=0,bx=bC.length;bA<bx;bA++){var by=(bA>0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1></$2>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]==="<table>"&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB<bG;bB++){E(bz[bB])}}else{E(bz)}}if(bz.nodeType){bI.push(bz)}else{bI=b.merge(bI,bz)}}if(bH){bF=function(bL){return !bL.type||bm.test(bL.type)};for(bE=0;bI[bE];bE++){if(bA&&b.nodeName(bI[bE],"script")&&(!bI[bE].type||bI[bE].type.toLowerCase()==="text/javascript")){bA.push(bI[bE].parentNode?bI[bE].parentNode.removeChild(bI[bE]):bI[bE])}else{if(bI[bE].nodeType===1){var bJ=b.grep(bI[bE].getElementsByTagName("script"),bF);bI.splice.apply(bI,[bE+1,0].concat(bJ))}bH.appendChild(bI[bE])}}}return bI},cleanData:function(bv){var by,bw,e=b.cache,bB=b.event.special,bA=b.support.deleteExpando;for(var bz=0,bx;(bx=bv[bz])!=null;bz++){if(bx.nodeName&&b.noData[bx.nodeName.toLowerCase()]){continue}bw=bx[b.expando];if(bw){by=e[bw];if(by&&by.events){for(var bC in by.events){if(bB[bC]){b.event.remove(bx,bC)}else{b.removeEvent(bx,bC,by.handle)}}if(by.handle){by.handle.elem=null}}if(bA){delete bx[b.expando]}else{if(bx.removeAttribute){bx.removeAttribute(b.expando)}}delete e[bw]}}}});function bo(e,bv){if(bv.src){b.ajax({url:bv.src,async:false,dataType:"script"})}else{b.globalEval((bv.text||bv.textContent||bv.innerHTML||"").replace(aN,"/*$0*/"))}if(bv.parentNode){bv.parentNode.removeChild(bv)}}var ak=/alpha\([^)]*\)/i,au=/opacity=([^)]*)/,z=/([A-Z]|^ms)/g,bc=/^-?\d+(?:px)?$/i,bn=/^-?\d/,I=/^([\-+])=([\-+.\de]+)/,a7={position:"absolute",visibility:"hidden",display:"block"},an=["Left","Right"],a1=["Top","Bottom"],Z,aI,aX;b.fn.css=function(e,bv){if(arguments.length===2&&bv===L){return this}return b.access(this,e,bv,true,function(bx,bw,by){return by!==L?b.style(bx,bw,by):b.css(bx,bw)})};b.extend({cssHooks:{opacity:{get:function(bw,bv){if(bv){var e=Z(bw,"opacity","opacity");return e===""?"1":e}else{return bw.style.opacity}}}},cssNumber:{fillOpacity:true,fontWeight:true,lineHeight:true,opacity:true,orphans:true,widows:true,zIndex:true,zoom:true},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(bx,bw,bD,by){if(!bx||bx.nodeType===3||bx.nodeType===8||!bx.style){return}var bB,bC,bz=b.camelCase(bw),bv=bx.style,bE=b.cssHooks[bz];bw=b.cssProps[bz]||bz;if(bD!==L){bC=typeof bD;if(bC==="string"&&(bB=I.exec(bD))){bD=(+(bB[1]+1)*+bB[2])+parseFloat(b.css(bx,bw));bC="number"}if(bD==null||bC==="number"&&isNaN(bD)){return}if(bC==="number"&&!b.cssNumber[bz]){bD+="px"}if(!bE||!("set" in bE)||(bD=bE.set(bx,bD))!==L){try{bv[bw]=bD}catch(bA){}}}else{if(bE&&"get" in bE&&(bB=bE.get(bx,false,by))!==L){return bB}return bv[bw]}},css:function(by,bx,bv){var bw,e;bx=b.camelCase(bx);e=b.cssHooks[bx];bx=b.cssProps[bx]||bx;if(bx==="cssFloat"){bx="float"}if(e&&"get" in e&&(bw=e.get(by,true,bv))!==L){return bw}else{if(Z){return Z(by,bx)}}},swap:function(bx,bw,by){var e={};for(var bv in bw){e[bv]=bx.style[bv];bx.style[bv]=bw[bv]}by.call(bx);for(bv in bw){bx.style[bv]=e[bv]}}});b.curCSS=b.css;b.each(["height","width"],function(bv,e){b.cssHooks[e]={get:function(by,bx,bw){var bz;if(bx){if(by.offsetWidth!==0){return p(by,e,bw)}else{b.swap(by,a7,function(){bz=p(by,e,bw)})}return bz}},set:function(bw,bx){if(bc.test(bx)){bx=parseFloat(bx);if(bx>=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var