aboutsummaryrefslogtreecommitdiff
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 bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;if(bA>0){if(bv!=="border"){for(;bx<e;bx++){if(!bv){bA-=parseFloat(b.css(by,"padding"+bz[bx]))||0}if(bv==="margin"){bA+=parseFloat(b.css(by,bv+bz[bx]))||0}else{bA-=parseFloat(b.css(by,"border"+bz[bx]+"Width"))||0}}}return bA+"px"}bA=Z(by,bw,bw);if(bA<0||bA==null){bA=by.style[bw]||0}bA=parseFloat(bA)||0;if(bv){for(;bx<e;bx++){bA+=parseFloat(b.css(by,"padding"+bz[bx]))||0;if(bv!=="padding"){bA+=parseFloat(b.css(by,"border"+bz[bx]+"Width"))||0}if(bv==="margin"){bA+=parseFloat(b.css(by,bv+bz[bx]))||0}}}return bA+"px"}if(b.expr&&b.expr.filters){b.expr.filters.hidden=function(bw){var bv=bw.offsetWidth,e=bw.offsetHeight;return(bv===0&&e===0)||(!b.support.reliableHiddenOffsets&&((bw.style&&bw.style.display)||b.css(bw,"display"))==="none")};b.expr.filters.visible=function(e){return !b.expr.filters.hidden(e)}}var k=/%20/g,ap=/\[\]$/,bs=/\r?\n/g,bq=/#.*$/,aD=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,aZ=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,aM=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,aQ=/^(?:GET|HEAD)$/,c=/^\/\//,M=/\?/,a6=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw<bz;bw++){bv=bx[bw];bC=/^\+/.test(bv);if(bC){bv=bv.substr(1)||"*"}bB=e[bv]=e[bv]||[];bB[bC?"unshift":"push"](bA)}}}}function aW(bv,bE,bz,bD,bB,bx){bB=bB||bE.dataTypes[0];bx=bx||{};bx[bB]=true;var bA=bv[bB],bw=0,e=bA?bA.length:0,by=(bv===aa),bC;for(;bw<e&&(by||!bC);bw++){bC=bA[bw](bE,bz,bD);if(typeof bC==="string"){if(!by||bx[bC]){bC=L}else{bE.dataTypes.unshift(bC);bC=aW(bv,bE,bz,bD,bC,bx)}}}if((by||!bC)&&!bx["*"]){bC=aW(bv,bE,bz,bD,"*",bx)}return bC}function am(bw,bx){var bv,e,by=b.ajaxSettings.flatOptions||{};for(bv in bx){if(bx[bv]!==L){(by[bv]?bw:(e||(e={})))[bv]=bx[bv]}}if(e){b.extend(true,bw,e)}}b.fn.extend({load:function(bw,bz,bA){if(typeof bw!=="string"&&A){return A.apply(this,arguments)}else{if(!this.length){return this}}var by=bw.indexOf(" ");if(by>=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("<div>").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA<bw;bA++){if(bA===1){for(bE in bH.converters){if(typeof bE==="string"){bG[bE.toLowerCase()]=bH.converters[bE]}}}bx=bC;bC=bD[bA];if(bC==="*"){bC=bx}else{if(bx!=="*"&&bx!==bC){by=bx+" "+bC;bF=bG[by]||bG["* "+bC];if(!bF){e=L;for(bv in bG){bB=bv.split(" ");if(bB[0]===bx||bB[0]==="*"){e=bG[bB[1]+" "+bC];if(e){bv=bG[bv];if(bv===true){bF=e}else{if(e===true){bF=bv}}break}}}}if(!(bF||e)){b.error("No conversion from "+by.replace(" "," to "))}if(bF!==true){bz=bF?bF(bz):e(bv(bz))}}}}return bz}var aC=b.now(),u=/(\=)\?(&|$)|\?\?/i;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return b.expando+"_"+(aC++)}});b.ajaxPrefilter("json jsonp",function(bD,bA,bC){var bx=bD.contentType==="application/x-www-form-urlencoded"&&(typeof bD.data==="string");if(bD.dataTypes[0]==="jsonp"||bD.jsonp!==false&&(u.test(bD.url)||bx&&u.test(bD.data))){var bB,bw=bD.jsonpCallback=b.isFunction(bD.jsonpCallback)?bD.jsonpCallback():bD.jsonpCallback,bz=bb[bw],e=bD.url,by=bD.data,bv="$1"+bw+"$2";if(bD.jsonp!==false){e=e.replace(u,bv);if(bD.url===e){if(bx){by=by.replace(u,bv)}if(bD.data===by){e+=(/\?/.test(e)?"&":"?")+bD.jsonp+"="+bw}}}bD.url=e;bD.data=by;bb[bw]=function(bE){bB=[bE]};bC.always(function(){bb[bw]=bz;if(bB&&b.isFunction(bz)){bb[bw](bB[0])}});bD.converters["script json"]=function(){if(!bB){b.error(bw+" was not called")}return bB[0]};bD.dataTypes[0]="json";return"script"}});b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){b.globalEval(e);return e}}});b.ajaxPrefilter("script",function(e){if(e.cache===L){e.cache=false}if(e.crossDomain){e.type="GET";e.global=false}});b.ajaxTransport("script",function(bw){if(bw.crossDomain){var e,bv=av.head||av.getElementsByTagName("head")[0]||av.documentElement;return{send:function(bx,by){e=av.createElement("script");e.async="async";if(bw.scriptCharset){e.charset=bw.scriptCharset}e.src=bw.url;e.onload=e.onreadystatechange=function(bA,bz){if(bz||!e.readyState||/loaded|complete/.test(e.readyState)){e.onload=e.onreadystatechange=null;if(bv&&e.parentNode){bv.removeChild(e)}e=L;if(!bz){by(200,"success")}}};bv.insertBefore(e,bv.firstChild)},abort:function(){if(e){e.onload(0,1)}}}}});var B=bb.ActiveXObject?function(){for(var e in N){N[e](0,1)}}:false,y=0,N;function aL(){try{return new bb.XMLHttpRequest()}catch(bv){}}function aj(){try{return new bb.ActiveXObject("Microsoft.XMLHTTP")}catch(bv){}}b.ajaxSettings.xhr=bb.ActiveXObject?function(){return !this.isLocal&&aL()||aj()}:aL;(function(e){b.extend(b.support,{ajax:!!e,cors:!!e&&("withCredentials" in e)})})(b.ajaxSettings.xhr());if(b.support.ajax){b.ajaxTransport(function(e){if(!e.crossDomain||b.support.cors){var bv;return{send:function(bB,bw){var bA=e.xhr(),bz,by;if(e.username){bA.open(e.type,e.url,e.async,e.username,e.password)}else{bA.open(e.type,e.url,e.async)}if(e.xhrFields){for(by in e.xhrFields){bA[by]=e.xhrFields[by]}}if(e.mimeType&&bA.overrideMimeType){bA.overrideMimeType(e.mimeType)}if(!e.crossDomain&&!bB["X-Requested-With"]){bB["X-Requested-With"]="XMLHttpRequest"}try{for(by in bB){bA.setRequestHeader(by,bB[by])}}catch(bx){}bA.send((e.hasContent&&e.data)||null);bv=function(bK,bE){var bF,bD,bC,bI,bH;try{if(bv&&(bE||bA.readyState===4)){bv=L;if(bz){bA.onreadystatechange=b.noop;if(B){delete N[bz]}}if(bE){if(bA.readyState!==4){bA.abort()}}else{bF=bA.status;bC=bA.getAllResponseHeaders();bI={};bH=bA.responseXML;if(bH&&bH.documentElement){bI.xml=bH}bI.text=bA.responseText;try{bD=bA.statusText}catch(bJ){bD=""}if(!bF&&e.isLocal&&!e.crossDomain){bF=bI.text?200:404}else{if(bF===1223){bF=204}}}}}catch(bG){if(!bE){bw(-1,bG)}}if(bI){bw(bF,bD,bI,bC)}};if(!e.async||bA.readyState===4){bv()}else{bz=++y;if(B){if(!N){N={};b(bb).unload(B)}N[bz]=bv}bA.onreadystatechange=bv}},abort:function(){if(bv){bv(0,1)}}}}})}var Q={},a8,m,aB=/^(?:toggle|show|hide)$/,aT=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,a3,aH=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],a4;b.fn.extend({show:function(bx,bA,bz){var bw,by;if(bx||bx===0){return this.animate(a0("show",3),bx,bA,bz)}else{for(var bv=0,e=this.length;bv<e;bv++){bw=this[bv];if(bw.style){by=bw.style.display;if(!b._data(bw,"olddisplay")&&by==="none"){by=bw.style.display=""}if(by===""&&b.css(bw,"display")==="none"){b._data(bw,"olddisplay",x(bw.nodeName))}}}for(bv=0;bv<e;bv++){bw=this[bv];if(bw.style){by=bw.style.display;if(by===""||by==="none"){bw.style.display=b._data(bw,"olddisplay")||""}}}return this}},hide:function(bx,bA,bz){if(bx||bx===0){return this.animate(a0("hide",3),bx,bA,bz)}else{var bw,by,bv=0,e=this.length;for(;bv<e;bv++){bw=this[bv];if(bw.style){by=b.css(bw,"display");if(by!=="none"&&!b._data(bw,"olddisplay")){b._data(bw,"olddisplay",by)}}}for(bv=0;bv<e;bv++){if(this[bv].style){this[bv].style.display="none"}}return this}},_toggle:b.fn.toggle,toggle:function(bw,bv,bx){var e=typeof bw==="boolean";if(b.isFunction(bw)&&b.isFunction(bv)){this._toggle.apply(this,arguments)}else{if(bw==null||e){this.each(function(){var by=e?bw:b(this).is(":hidden");b(this)[by?"show":"hide"]()})}else{this.animate(a0("toggle",3),bw,bv,bx)}}return this},fadeTo:function(e,bx,bw,bv){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:bx},e,bw,bv)},animate:function(bz,bw,by,bx){var e=b.speed(bw,by,bx);if(b.isEmptyObject(bz)){return this.each(e.complete,[false])}bz=b.extend({},bz);function bv(){if(e.queue===false){b._mark(this)}var bE=b.extend({},e),bK=this.nodeType===1,bI=bK&&b(this).is(":hidden"),bB,bF,bD,bJ,bH,bC,bG,bL,bA;bE.animatedProperties={};for(bD in bz){bB=b.camelCase(bD);if(bD!==bB){bz[bB]=bz[bD];delete bz[bD]}bF=bz[bB];if(b.isArray(bF)){bE.animatedProperties[bB]=bF[1];bF=bz[bB]=bF[0]}else{bE.animatedProperties[bB]=bE.specialEasing&&bE.specialEasing[bB]||bE.easing||"swing"}if(bF==="hide"&&bI||bF==="show"&&!bI){return bE.complete.call(this)}if(bK&&(bB==="height"||bB==="width")){bE.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(b.css(this,"display")==="inline"&&b.css(this,"float")==="none"){if(!b.support.inlineBlockNeedsLayout||x(this.nodeName)==="inline"){this.style.display="inline-block"}else{this.style.zoom=1}}}}if(bE.overflow!=null){this.style.overflow="hidden"}for(bD in bz){bJ=new b.fx(this,bE,bD);bF=bz[bD];if(aB.test(bF)){bA=b._data(this,"toggle"+bD)||(bF==="toggle"?bI?"show":"hide":0);if(bA){b._data(this,"toggle"+bD,bA==="show"?"hide":"show");bJ[bA]()}else{bJ[bF]()}}else{bH=aT.exec(bF);bC=bJ.cur();if(bH){bG=parseFloat(bH[2]);bL=bH[3]||(b.cssNumber[bD]?"":"px");if(bL!=="px"){b.style(this,bD,(bG||1)+bL);bC=((bG||1)/bJ.cur())*bC;b.style(this,bD,bC+bL)}if(bH[1]){bG=((bH[1]==="-="?-1:1)*bG)+bC}bJ.custom(bC,bG,bL)}else{bJ.custom(bC,bF,"")}}}return true}return e.queue===false?this.each(bv):this.queue(e.queue,bv)},stop:function(bw,bv,e){if(typeof bw!=="string"){e=bv;bv=bw;bw=L}if(bv&&bw!==false){this.queue(bw||"fx",[])}return this.each(function(){var bx,by=false,bA=b.timers,bz=b._data(this);if(!e){b._unmark(true,this)}function bB(bE,bF,bD){var bC=bF[bD];b.removeData(bE,bD,true);bC.stop(e)}if(bw==null){for(bx in bz){if(bz[bx]&&bz[bx].stop&&bx.indexOf(".run")===bx.length-4){bB(this,bz,bx)}}}else{if(bz[bx=bw+".run"]&&bz[bx].stop){bB(this,bz,bx)}}for(bx=bA.length;bx--;){if(bA[bx].elem===this&&(bw==null||bA[bx].queue===bw)){if(e){bA[bx](true)}else{bA[bx].saveState()}by=true;bA.splice(bx,1)}}if(!(e&&by)){b.dequeue(this,bw)}})}});function bh(){setTimeout(at,0);return(a4=b.now())}function at(){a4=L}function a0(bv,e){var bw={};b.each(aH.concat.apply([],aH.slice(0,e)),function(){bw[this]=bv});return bw}b.each({slideDown:a0("show",1),slideUp:a0("hide",1),slideToggle:a0("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,bv){b.fn[e]=function(bw,by,bx){return this.animate(bv,bw,by,bx)}});b.extend({speed:function(bw,bx,bv){var e=bw&&typeof bw==="object"?b.extend({},bw):{complete:bv||!bv&&bx||b.isFunction(bw)&&bw,duration:bw,easing:bv&&bx||bx&&!b.isFunction(bx)&&bx};e.duration=b.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in b.fx.speeds?b.fx.speeds[e.duration]:b.fx.speeds._default;if(e.queue==null||e.queue===true){e.queue="fx"}e.old=e.complete;e.complete=function(by){if(b.isFunction(e.old)){e.old.call(this)}if(e.queue){b.dequeue(this,e.queue)}else{if(by!==false){b._unmark(this)}}};return e},easing:{linear:function(bw,bx,e,bv){return e+bv*bw},swing:function(bw,bx,e,bv){return((-Math.cos(bw*Math.PI)/2)+0.5)*bv+e}},timers:[],fx:function(bv,e,bw){this.options=e;this.elem=bv;this.prop=bw;e.orig=e.orig||{}}});b.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(b.fx.step[this.prop]||b.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var e,bv=b.css(this.elem,this.prop);return isNaN(e=parseFloat(bv))?!bv||bv==="auto"?0:bv:e},custom:function(bz,by,bx){var e=this,bw=b.fx;this.startTime=a4||bh();this.end=by;this.now=this.start=bz;this.pos=this.state=0;this.unit=bx||this.unit||(b.cssNumber[this.prop]?"":"px");function bv(bA){return e.step(bA)}bv.queue=this.options.queue;bv.elem=this.elem;bv.saveState=function(){if(e.options.hide&&b._data(e.elem,"fxshow"+e.prop)===L){b._data(e.elem,"fxshow"+e.prop,e.start)}};if(bv()&&b.timers.push(bv)&&!a3){a3=setInterval(bw.tick,bw.interval)}},show:function(){var e=b._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=e||b.style(this.elem,this.prop);this.options.show=true;if(e!==L){this.custom(this.cur(),e)}else{this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur())}b(this.elem).show()},hide:function(){this.options.orig[this.prop]=b._data(this.elem,"fxshow"+this.prop)||b.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(by){var bA,bB,bv,bx=a4||bh(),e=true,bz=this.elem,bw=this.options;if(by||bx>=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e<bv.length;e++){bw=bv[e];if(!bw()&&bv[e]===bw){bv.splice(e--,1)}}if(!bv.length){b.fx.stop()}},interval:13,stop:function(){clearInterval(a3);a3=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(e){b.style(e.elem,"opacity",e.now)},_default:function(e){if(e.elem.style&&e.elem.style[e.prop]!=null){e.elem.style[e.prop]=e.now+e.unit}else{e.elem[e.prop]=e.now}}}});b.each(["width","height"],function(e,bv){b.fx.step[bv]=function(bw){b.style(bw.elem,bv,Math.max(0,bw.now)+bw.unit)}});if(b.expr&&b.expr.filters){b.expr.filters.animated=function(e){return b.grep(b.timers,function(bv){return e===bv.elem}).length}}function x(bx){if(!Q[bx]){var e=av.body,bv=b("<"+bx+">").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b})}})(window);/*!
+ * jQuery UI 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI
+ */
+(function(a,d){a.ui=a.ui||{};if(a.ui.version){return}a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(e,f){return typeof e==="number"?this.each(function(){var g=this;setTimeout(function(){a(g).focus();if(f){f.call(g)}},e)}):this._focus.apply(this,arguments)},scrollParent:function(){var e;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){e=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{e=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!e.length?a(document):e},zIndex:function(h){if(h!==d){return this.css("zIndex",h)}if(this.length){var f=a(this[0]),e,g;while(f.length&&f[0]!==document){e=f.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){g=parseInt(f.css("zIndex"),10);if(!isNaN(g)&&g!==0){return g}}f=f.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});a.each(["Width","Height"],function(g,e){var f=e==="Width"?["Left","Right"]:["Top","Bottom"],h=e.toLowerCase(),k={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};function j(m,l,i,n){a.each(f,function(){l-=parseFloat(a.curCSS(m,"padding"+this,true))||0;if(i){l-=parseFloat(a.curCSS(m,"border"+this+"Width",true))||0}if(n){l-=parseFloat(a.curCSS(m,"margin"+this,true))||0}});return l}a.fn["inner"+e]=function(i){if(i===d){return k["inner"+e].call(this)}return this.each(function(){a(this).css(h,j(this,i)+"px")})};a.fn["outer"+e]=function(i,l){if(typeof i!=="number"){return k["outer"+e].call(this,i)}return this.each(function(){a(this).css(h,j(this,i,true,l)+"px")})}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(e){return !a(e).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.extend(a.expr[":"],{data:function(g,f,e){return !!a.data(g,e[3])},focusable:function(e){return c(e,!isNaN(a.attr(e,"tabindex")))},tabbable:function(g){var e=a.attr(g,"tabindex"),f=isNaN(e);return(f||e>=0)&&c(g,!f)}});a(function(){var e=document.body,f=e.appendChild(f=document.createElement("div"));f.offsetHeight;a.extend(f.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});a.support.minHeight=f.offsetHeight===100;a.support.selectstart="onselectstart" in f;e.removeChild(f).style.display="none"});a.extend(a.ui,{plugin:{add:function(f,g,j){var h=a.ui[f].prototype;for(var e in j){h.plugins[e]=h.plugins[e]||[];h.plugins[e].push([g,j[e]])}},call:function(e,g,f){var j=e.plugins[g];if(!j||!e.element[0].parentNode){return}for(var h=0;h<j.length;h++){if(e.options[j[h][0]]){j[h][1].apply(e.element,f)}}}},contains:function(f,e){return document.compareDocumentPosition?f.compareDocumentPosition(e)&16:f!==e&&f.contains(e)},hasScroll:function(h,f){if(a(h).css("overflow")==="hidden"){return false}var e=(f&&f==="left")?"scrollLeft":"scrollTop",g=false;if(h[e]>0){return true}h[e]=1;g=(h[e]>0);h[e]=0;return g},isOverAxis:function(f,e,g){return(f>e)&&(f<(e+g))},isOver:function(j,f,i,h,e,g){return a.ui.isOverAxis(j,i,e)&&a.ui.isOverAxis(f,h,g)}})})(jQuery);/*!
+ * jQuery UI Widget 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Widget
+ */
+(function(b,d){if(b.cleanData){var c=b.cleanData;b.cleanData=function(f){for(var g=0,h;(h=f[g])!=null;g++){try{b(h).triggerHandler("remove")}catch(j){}}c(f)}}else{var a=b.fn.remove;b.fn.remove=function(e,f){return this.each(function(){if(!f){if(!e||b.filter(e,[this]).length){b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(g){}})}}return a.call(b(this),e,f)})}}b.widget=function(f,h,e){var g=f.split(".")[0],j;f=f.split(".")[1];j=g+"-"+f;if(!e){e=h;h=b.Widget}b.expr[":"][j]=function(k){return !!b.data(k,f)};b[g]=b[g]||{};b[g][f]=function(k,l){if(arguments.length){this._createWidget(k,l)}};var i=new h();i.options=b.extend(true,{},i.options);b[g][f].prototype=b.extend(true,i,{namespace:g,widgetName:f,widgetEventPrefix:b[g][f].prototype.widgetEventPrefix||f,widgetBaseClass:j},e);b.widget.bridge(f,b[g][f])};b.widget.bridge=function(f,e){b.fn[f]=function(i){var g=typeof i==="string",h=Array.prototype.slice.call(arguments,1),j=this;i=!g&&h.length?b.extend.apply(null,[true,i].concat(h)):i;if(g&&i.charAt(0)==="_"){return j}if(g){this.each(function(){var k=b.data(this,f),l=k&&b.isFunction(k[i])?k[i].apply(k,h):k;if(l!==k&&l!==d){j=l;return false}})}else{this.each(function(){var k=b.data(this,f);if(k){k.option(i||{})._init()}else{b.data(this,f,new e(i,this))}})}return j}};b.Widget=function(e,f){if(arguments.length){this._createWidget(e,f)}};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(f,g){b.data(g,this.widgetName,this);this.element=b(g);this.options=b.extend(true,{},this.options,this._getCreateOptions(),f);var e=this;this.element.bind("remove."+this.widgetName,function(){e.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(f,g){var e=f;if(arguments.length===0){return b.extend({},this.options)}if(typeof f==="string"){if(g===d){return this.options[f]}e={};e[f]=g}this._setOptions(e);return this},_setOptions:function(f){var e=this;b.each(f,function(g,h){e._setOption(g,h)});return this},_setOption:function(e,f){this.options[e]=f;if(e==="disabled"){this.widget()[f?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",f)}return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(e,f,g){var j,i,h=this.options[e];g=g||{};f=b.Event(f);f.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase();f.target=this.element[0];i=f.originalEvent;if(i){for(j in i){if(!(j in f)){f[j]=i[j]}}}this.element.trigger(f,g);return !(b.isFunction(h)&&h.call(this.element[0],f,g)===false||f.isDefaultPrevented())}}})(jQuery);/*!
+ * jQuery UI Mouse 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Mouse
+ *
+ * Depends:
+ * jquery.ui.widget.js
+ */
+(function(b,c){var a=false;b(document).mouseup(function(d){a=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var d=this;this.element.bind("mousedown."+this.widgetName,function(e){return d._mouseDown(e)}).bind("click."+this.widgetName,function(e){if(true===b.data(e.target,d.widgetName+".preventClickEvent")){b.removeData(e.target,d.widgetName+".preventClickEvent");e.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(f){if(a){return}(this._mouseStarted&&this._mouseUp(f));this._mouseDownEvent=f;var e=this,g=(f.which==1),d=(typeof this.options.cancel=="string"&&f.target.nodeName?b(f.target).closest(this.options.cancel).length:false);if(!g||d||!this._mouseCapture(f)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(f)&&this._mouseDelayMet(f)){this._mouseStarted=(this._mouseStart(f)!==false);if(!this._mouseStarted){f.preventDefault();return true}}if(true===b.data(f.target,this.widgetName+".preventClickEvent")){b.removeData(f.target,this.widgetName+".preventClickEvent")}this._mouseMoveDelegate=function(h){return e._mouseMove(h)};this._mouseUpDelegate=function(h){return e._mouseUp(h)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);f.preventDefault();a=true;return true},_mouseMove:function(d){if(b.browser.msie&&!(document.documentMode>=9)&&!d.button){return this._mouseUp(d)}if(this._mouseStarted){this._mouseDrag(d);return d.preventDefault()}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,d)!==false);(this._mouseStarted?this._mouseDrag(d):this._mouseUp(d))}return !this._mouseStarted},_mouseUp:function(d){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(d.target==this._mouseDownEvent.target){b.data(d.target,this.widgetName+".preventClickEvent",true)}this._mouseStop(d)}return false},_mouseDistanceMet:function(d){return(Math.max(Math.abs(this._mouseDownEvent.pageX-d.pageX),Math.abs(this._mouseDownEvent.pageY-d.pageY))>=this.options.distance)},_mouseDelayMet:function(d){return this.mouseDelayMet},_mouseStart:function(d){},_mouseDrag:function(d){},_mouseStop:function(d){},_mouseCapture:function(d){return true}})})(jQuery);(function(c,d){c.widget("ui.resizable",c.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000},_create:function(){var f=this,k=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(k.aspectRatio),aspectRatio:k.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:k.helper||k.ghost||k.animate?k.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){this.element.wrap(c('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=k.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var l=this.handles.split(",");this.handles={};for(var g=0;g<l.length;g++){var j=c.trim(l[g]),e="ui-resizable-"+j;var h=c('<div class="ui-resizable-handle '+e+'"></div>');if(/sw|se|ne|nw/.test(j)){h.css({zIndex:++k.zIndex})}if("se"==j){h.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[j]=".ui-resizable-"+j;this.element.append(h)}}this._renderAxis=function(q){q=q||this.element;for(var n in this.handles){if(this.handles[n].constructor==String){this.handles[n]=c(this.handles[n],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var o=c(this.handles[n],this.element),p=0;p=/sw|ne|nw|se|n|s/.test(n)?o.outerHeight():o.outerWidth();var m=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");q.css(m,p);this._proportionallyResize()}if(!c(this.handles[n]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!f.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}f.axis=i&&i[1]?i[1]:"se"}});if(k.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){if(k.disabled){return}c(this).removeClass("ui-resizable-autohide");f._handles.show()},function(){if(k.disabled){return}if(!f.resizing){c(this).addClass("ui-resizable-autohide");f._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var e=function(g){c(g).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){e(this.element);var f=this.element;f.after(this.originalElement.css({position:f.css("position"),width:f.outerWidth(),height:f.outerHeight(),top:f.css("top"),left:f.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);e(this.originalElement);return this},_mouseCapture:function(f){var g=false;for(var e in this.handles){if(c(this.handles[e])[0]==f.target){g=true}}return !this.options.disabled&&g},_mouseStart:function(g){var j=this.options,f=this.element.position(),e=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(e.is(".ui-draggable")||(/absolute/).test(e.css("position"))){e.css({position:"absolute",top:f.top,left:f.left})}this._renderProxy();var k=b(this.helper.css("left")),h=b(this.helper.css("top"));if(j.containment){k+=c(j.containment).scrollLeft()||0;h+=c(j.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:k,top:h};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:k,top:h};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:g.pageX,top:g.pageY};this.aspectRatio=(typeof j.aspectRatio=="number")?j.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var i=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",i=="auto"?this.axis+"-resize":i);e.addClass("ui-resizable-resizing");this._propagate("start",g);return true},_mouseDrag:function(e){var h=this.helper,g=this.options,m={},q=this,j=this.originalMousePosition,n=this.axis;var r=(e.pageX-j.left)||0,p=(e.pageY-j.top)||0;var i=this._change[n];if(!i){return false}var l=i.apply(this,[e,r,p]),k=c.browser.msie&&c.browser.version<7,f=this.sizeDiff;this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey){l=this._updateRatio(l,e)}l=this._respectSize(l,e);this._propagate("resize",e);h.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(l);this._trigger("resize",e,this.ui());return false},_mouseStop:function(h){this.resizing=false;var i=this.options,m=this;if(this._helper){var g=this._proportionallyResizeElements,e=g.length&&(/textarea/i).test(g[0].nodeName),f=e&&c.ui.hasScroll(g[0],"left")?0:m.sizeDiff.height,k=e?0:m.sizeDiff.width;var n={width:(m.helper.width()-k),height:(m.helper.height()-f)},j=(parseInt(m.element.css("left"),10)+(m.position.left-m.originalPosition.left))||null,l=(parseInt(m.element.css("top"),10)+(m.position.top-m.originalPosition.top))||null;if(!i.animate){this.element.css(c.extend(n,{top:l,left:j}))}m.helper.height(m.size.height);m.helper.width(m.size.width);if(this._helper&&!i.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",h);if(this._helper){this.helper.remove()}return false},_updateVirtualBoundaries:function(g){var j=this.options,i,h,f,k,e;e={minWidth:a(j.minWidth)?j.minWidth:0,maxWidth:a(j.maxWidth)?j.maxWidth:Infinity,minHeight:a(j.minHeight)?j.minHeight:0,maxHeight:a(j.maxHeight)?j.maxHeight:Infinity};if(this._aspectRatio||g){i=e.minHeight*this.aspectRatio;f=e.minWidth/this.aspectRatio;h=e.maxHeight*this.aspectRatio;k=e.maxWidth/this.aspectRatio;if(i>e.minWidth){e.minWidth=i}if(f>e.minHeight){e.minHeight=f}if(h<e.maxWidth){e.maxWidth=h}if(k<e.maxHeight){e.maxHeight=k}}this._vBoundaries=e},_updateCache:function(e){var f=this.options;this.offset=this.helper.offset();if(a(e.left)){this.position.left=e.left}if(a(e.top)){this.position.top=e.top}if(a(e.height)){this.size.height=e.height}if(a(e.width)){this.size.width=e.width}},_updateRatio:function(h,g){var i=this.options,j=this.position,f=this.size,e=this.axis;if(a(h.height)){h.width=(h.height*this.aspectRatio)}else{if(a(h.width)){h.height=(h.width/this.aspectRatio)}}if(e=="sw"){h.left=j.left+(f.width-h.width);h.top=null}if(e=="nw"){h.top=j.top+(f.height-h.height);h.left=j.left+(f.width-h.width)}return h},_respectSize:function(l,g){var j=this.helper,i=this._vBoundaries,r=this._aspectRatio||g.shiftKey,q=this.axis,t=a(l.width)&&i.maxWidth&&(i.maxWidth<l.width),m=a(l.height)&&i.maxHeight&&(i.maxHeight<l.height),h=a(l.width)&&i.minWidth&&(i.minWidth>l.width),s=a(l.height)&&i.minHeight&&(i.minHeight>l.height);if(h){l.width=i.minWidth}if(s){l.height=i.minHeight}if(t){l.width=i.maxWidth}if(m){l.height=i.maxHeight}var f=this.originalPosition.left+this.originalSize.width,p=this.position.top+this.size.height;var k=/sw|nw|w/.test(q),e=/nw|ne|n/.test(q);if(h&&k){l.left=f-i.minWidth}if(t&&k){l.left=f-i.maxWidth}if(s&&e){l.top=p-i.minHeight}if(m&&e){l.top=p-i.maxHeight}var n=!l.width&&!l.height;if(n&&!l.left&&l.top){l.top=null}else{if(n&&!l.top&&l.left){l.left=null}}return l},_proportionallyResize:function(){var k=this.options;if(!this._proportionallyResizeElements.length){return}var g=this.helper||this.element;for(var f=0;f<this._proportionallyResizeElements.length;f++){var h=this._proportionallyResizeElements[f];if(!this.borderDif){var e=[h.css("borderTopWidth"),h.css("borderRightWidth"),h.css("borderBottomWidth"),h.css("borderLeftWidth")],j=[h.css("paddingTop"),h.css("paddingRight"),h.css("paddingBottom"),h.css("paddingLeft")];this.borderDif=c.map(e,function(l,n){var m=parseInt(l,10)||0,o=parseInt(j[n],10)||0;return m+o})}if(c.browser.msie&&!(!(c(g).is(":hidden")||c(g).parents(":hidden").length))){continue}h.css({height:(g.height()-this.borderDif[0]-this.borderDif[2])||0,width:(g.width()-this.borderDif[1]-this.borderDif[3])||0})}},_renderProxy:function(){var f=this.element,i=this.options;this.elementOffset=f.offset();if(this._helper){this.helper=this.helper||c('<div style="overflow:hidden;"></div>');var e=c.browser.msie&&c.browser.version<7,g=(e?1:0),h=(e?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+h,height:this.element.outerHeight()+h,position:"absolute",left:this.elementOffset.left-g+"px",top:this.elementOffset.top-g+"px",zIndex:++i.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(g,f,e){return{width:this.originalSize.width+f}},w:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{left:i.left+f,width:g.width-f}},n:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{top:i.top+e,height:g.height-e}},s:function(g,f,e){return{height:this.originalSize.height+e}},se:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},sw:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[g,f,e]))},ne:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},nw:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[g,f,e]))}},_propagate:function(f,e){c.ui.plugin.call(this,f,[e,this.ui()]);(f!="resize"&&this._trigger(f,e,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});c.extend(c.ui.resizable,{version:"1.8.18"});c.ui.plugin.add("resizable","alsoResize",{start:function(f,g){var e=c(this).data("resizable"),i=e.options;var h=function(j){c(j).each(function(){var k=c(this);k.data("resizable-alsoresize",{width:parseInt(k.width(),10),height:parseInt(k.height(),10),left:parseInt(k.css("left"),10),top:parseInt(k.css("top"),10)})})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.parentNode){if(i.alsoResize.length){i.alsoResize=i.alsoResize[0];h(i.alsoResize)}else{c.each(i.alsoResize,function(j){h(j)})}}else{h(i.alsoResize)}},resize:function(g,i){var f=c(this).data("resizable"),j=f.options,h=f.originalSize,l=f.originalPosition;var k={height:(f.size.height-h.height)||0,width:(f.size.width-h.width)||0,top:(f.position.top-l.top)||0,left:(f.position.left-l.left)||0},e=function(m,n){c(m).each(function(){var q=c(this),r=c(this).data("resizable-alsoresize"),p={},o=n&&n.length?n:q.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];c.each(o,function(s,u){var t=(r[u]||0)+(k[u]||0);if(t&&t>=0){p[u]=t||null}});q.css(p)})};if(typeof(j.alsoResize)=="object"&&!j.alsoResize.nodeType){c.each(j.alsoResize,function(m,n){e(m,n)})}else{e(j.alsoResize)}},stop:function(e,f){c(this).removeData("resizable-alsoresize")}});c.ui.plugin.add("resizable","animate",{stop:function(i,n){var p=c(this).data("resizable"),j=p.options;var h=p._proportionallyResizeElements,e=h.length&&(/textarea/i).test(h[0].nodeName),f=e&&c.ui.hasScroll(h[0],"left")?0:p.sizeDiff.height,l=e?0:p.sizeDiff.width;var g={width:(p.size.width-l),height:(p.size.height-f)},k=(parseInt(p.element.css("left"),10)+(p.position.left-p.originalPosition.left))||null,m=(parseInt(p.element.css("top"),10)+(p.position.top-p.originalPosition.top))||null;p.element.animate(c.extend(g,m&&k?{top:m,left:k}:{}),{duration:j.animateDuration,easing:j.animateEasing,step:function(){var o={width:parseInt(p.element.css("width"),10),height:parseInt(p.element.css("height"),10),top:parseInt(p.element.css("top"),10),left:parseInt(p.element.css("left"),10)};if(h&&h.length){c(h[0]).css({width:o.width,height:o.height})}p._updateCache(o);p._propagate("resize",i)}})}});c.ui.plugin.add("resizable","containment",{start:function(f,r){var t=c(this).data("resizable"),j=t.options,l=t.element;var g=j.containment,k=(g instanceof c)?g.get(0):(/parent/.test(g))?l.parent().get(0):g;if(!k){return}t.containerElement=c(k);if(/document/.test(g)||g==document){t.containerOffset={left:0,top:0};t.containerPosition={left:0,top:0};t.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var n=c(k),i=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){i[p]=b(n.css("padding"+o))});t.containerOffset=n.offset();t.containerPosition=n.position();t.containerSize={height:(n.innerHeight()-i[3]),width:(n.innerWidth()-i[1])};var q=t.containerOffset,e=t.containerSize.height,m=t.containerSize.width,h=(c.ui.hasScroll(k,"left")?k.scrollWidth:m),s=(c.ui.hasScroll(k)?k.scrollHeight:e);t.parentData={element:k,left:q.left,top:q.top,width:h,height:s}}},resize:function(g,q){var t=c(this).data("resizable"),i=t.options,f=t.containerSize,p=t.containerOffset,m=t.size,n=t.position,r=t._aspectRatio||g.shiftKey,e={top:0,left:0},h=t.containerElement;if(h[0]!=document&&(/static/).test(h.css("position"))){e=p}if(n.left<(t._helper?p.left:0)){t.size.width=t.size.width+(t._helper?(t.position.left-p.left):(t.position.left-e.left));if(r){t.size.height=t.size.width/i.aspectRatio}t.position.left=i.helper?p.left:0}if(n.top<(t._helper?p.top:0)){t.size.height=t.size.height+(t._helper?(t.position.top-p.top):t.position.top);if(r){t.size.width=t.size.height*i.aspectRatio}t.position.top=t._helper?p.top:0}t.offset.left=t.parentData.left+t.position.left;t.offset.top=t.parentData.top+t.position.top;var l=Math.abs((t._helper?t.offset.left-e.left:(t.offset.left-e.left))+t.sizeDiff.width),s=Math.abs((t._helper?t.offset.top-e.top:(t.offset.top-p.top))+t.sizeDiff.height);var k=t.containerElement.get(0)==t.element.parent().get(0),j=/relative|absolute/.test(t.containerElement.css("position"));if(k&&j){l-=t.parentData.left}if(l+t.size.width>=t.parentData.width){t.size.width=t.parentData.width-l;if(r){t.size.height=t.size.width/t.aspectRatio}}if(s+t.size.height>=t.parentData.height){t.size.height=t.parentData.height-s;if(r){t.size.width=t.size.height*t.aspectRatio}}},stop:function(f,n){var q=c(this).data("resizable"),g=q.options,l=q.position,m=q.containerOffset,e=q.containerPosition,i=q.containerElement;var j=c(q.helper),r=j.offset(),p=j.outerWidth()-q.sizeDiff.width,k=j.outerHeight()-q.sizeDiff.height;if(q._helper&&!g.animate&&(/relative/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}if(q._helper&&!g.animate&&(/static/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}}});c.ui.plugin.add("resizable","ghost",{start:function(g,h){var e=c(this).data("resizable"),i=e.options,f=e.size;e.ghost=e.originalElement.clone();e.ghost.css({opacity:0.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof i.ghost=="string"?i.ghost:"");e.ghost.appendTo(e.helper)},resize:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost){e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})}},stop:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost&&e.helper){e.helper.get(0).removeChild(e.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(e,m){var p=c(this).data("resizable"),h=p.options,k=p.size,i=p.originalSize,j=p.originalPosition,n=p.axis,l=h._aspectRatio||e.shiftKey;h.grid=typeof h.grid=="number"?[h.grid,h.grid]:h.grid;var g=Math.round((k.width-i.width)/(h.grid[0]||1))*(h.grid[0]||1),f=Math.round((k.height-i.height)/(h.grid[1]||1))*(h.grid[1]||1);if(/^(se|s|e)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f}else{if(/^(ne)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f}else{if(/^(sw)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.left=j.left-g}else{p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f;p.position.left=j.left-g}}}}});var b=function(e){return parseInt(e,10)||0};var a=function(e){return !isNaN(parseInt(e,10))}})(jQuery);/*!
+ * jQuery hashchange event - v1.3 - 7/21/2010
+ * http://benalman.com/projects/jquery-hashchange-plugin/
+ *
+ * Copyright (c) 2010 "Cowboy" Ben Alman
+ * Dual licensed under the MIT and GPL licenses.
+ * http://benalman.com/about/license/
+ */
+(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$('<iframe tabindex="-1" title="empty"/>').hide().one("load",function(){r||l(a());n()}).attr("src",r||"javascript:0").insertAfter("body")[0].contentWindow;h.onpropertychange=function(){try{if(event.propertyName==="title"){q.document.title=h.title}}catch(s){}}}};j.stop=k;o=function(){return a(q.location.href)};l=function(v,s){var u=q.document,t=$.fn[c].domain;if(v!==s){u.title=h.title;u.open();t&&u.write('<script>document.domain="'+t+'"<\/script>');u.close();q.location.hash=v}}})();return j})()})(jQuery,this);(function(c){var a=c.scrollTo=function(f,e,d){c(window).scrollTo(f,e,d)};a.defaults={axis:"xy",duration:parseFloat(c.fn.jquery)>=1.3?0:1};a.window=function(d){return c(window)._scrollable()};c.fn._scrollable=function(){return this.map(function(){var e=this,d=!e.nodeName||c.inArray(e.nodeName.toLowerCase(),["iframe","#document","html","body"])!=-1;if(!d){return e}var f=(e.contentWindow||e).document||e.ownerDocument||e;return c.browser.safari||f.compatMode=="BackCompat"?f.body:f.documentElement})};c.fn.scrollTo=function(f,e,d){if(typeof e=="object"){d=e;e=0}if(typeof d=="function"){d={onAfter:d}}if(f=="max"){f=9000000000}d=c.extend({},a.defaults,d);e=e||d.speed||d.duration;d.queue=d.queue&&d.axis.length>1;if(d.queue){e/=2}d.offset=b(d.offset);d.over=b(d.over);return this._scrollable().each(function(){var l=this,j=c(l),k=f,i,g={},m=j.is("html,body");switch(typeof k){case"number":case"string":if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(k)){k=b(k);break}k=c(k,this);case"object":if(k.is||k.style){i=(k=c(k)).offset()}}c.each(d.axis.split(""),function(q,r){var s=r=="x"?"Left":"Top",u=s.toLowerCase(),p="scroll"+s,o=l[p],n=a.max(l,r);if(i){g[p]=i[u]+(m?0:o-j.offset()[u]);if(d.margin){g[p]-=parseInt(k.css("margin"+s))||0;g[p]-=parseInt(k.css("border"+s+"Width"))||0}g[p]+=d.offset[u]||0;if(d.over[u]){g[p]+=k[r=="x"?"width":"height"]()*d.over[u]}}else{var t=k[u];g[p]=t.slice&&t.slice(-1)=="%"?parseFloat(t)/100*n:t}if(/^\d+$/.test(g[p])){g[p]=g[p]<=0?0:Math.min(g[p],n)}if(!q&&d.queue){if(o!=g[p]){h(d.onAfterFirst)}delete g[p]}});h(d.onAfter);function h(n){j.animate(g,e,d.easing,n&&function(){n.call(this,f,d)})}}).end()};a.max=function(j,i){var h=i=="x"?"Width":"Height",e="scroll"+h;if(!c(j).is("html,body")){return j[e]-c(j)[h.toLowerCase()]()}var g="client"+h,f=j.ownerDocument.documentElement,d=j.ownerDocument.body;return Math.max(f[e],d[e])-Math.min(f[g],d[g])};function b(d){return typeof d=="object"?d:{top:d,left:d}}})(jQuery);/*!
+ PowerTip - v1.2.0 - 2013-04-03
+ http://stevenbenner.github.com/jquery-powertip/
+ Copyright (c) 2013 Steven Benner (http://stevenbenner.com/).
+ Released under MIT license.
+ https://raw.github.com/stevenbenner/jquery-powertip/master/LICENSE.txt
+*/
+(function(a){if(typeof define==="function"&&define.amd){define(["jquery"],a)}else{a(jQuery)}}(function(k){var A=k(document),s=k(window),w=k("body");var n="displayController",e="hasActiveHover",d="forcedOpen",u="hasMouseMove",f="mouseOnToPopup",g="originalTitle",y="powertip",o="powertipjq",l="powertiptarget",E=180/Math.PI;var c={isTipOpen:false,isFixedTipOpen:false,isClosing:false,tipOpenImminent:false,activeHover:null,currentX:0,currentY:0,previousX:0,previousY:0,desyncTimeout:null,mouseTrackingActive:false,delayInProgress:false,windowWidth:0,windowHeight:0,scrollTop:0,scrollLeft:0};var p={none:0,top:1,bottom:2,left:4,right:8};k.fn.powerTip=function(F,N){if(!this.length){return this}if(k.type(F)==="string"&&k.powerTip[F]){return k.powerTip[F].call(this,this,N)}var O=k.extend({},k.fn.powerTip.defaults,F),G=new x(O);h();this.each(function M(){var R=k(this),Q=R.data(y),P=R.data(o),T=R.data(l),S;if(R.data(n)){k.powerTip.destroy(R)}S=R.attr("title");if(!Q&&!T&&!P&&S){R.data(y,S);R.data(g,S);R.removeAttr("title")}R.data(n,new t(R,O,G))});if(!O.manual){this.on({"mouseenter.powertip":function J(P){k.powerTip.show(this,P)},"mouseleave.powertip":function L(){k.powerTip.hide(this)},"focus.powertip":function K(){k.powerTip.show(this)},"blur.powertip":function H(){k.powerTip.hide(this,true)},"keydown.powertip":function I(P){if(P.keyCode===27){k.powerTip.hide(this,true)}}})}return this};k.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false};k.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};k.powerTip={show:function z(F,G){if(G){i(G);c.previousX=G.pageX;c.previousY=G.pageY;k(F).data(n).show()}else{k(F).first().data(n).show(true,true)}return F},reposition:function r(F){k(F).first().data(n).resetPosition();return F},hide:function D(G,F){if(G){k(G).first().data(n).hide(F)}else{if(c.activeHover){c.activeHover.data(n).hide(true)}}return G},destroy:function C(G){k(G).off(".powertip").each(function F(){var I=k(this),H=[g,n,e,d];if(I.data(g)){I.attr("title",I.data(g));H.push(y)}I.removeData(H)});return G}};k.powerTip.showTip=k.powerTip.show;k.powerTip.closeTip=k.powerTip.hide;function b(){var F=this;F.top="auto";F.left="auto";F.right="auto";F.bottom="auto";F.set=function(H,G){if(k.isNumeric(G)){F[H]=Math.round(G)}}}function t(K,N,F){var J=null;function L(P,Q){M();if(!K.data(e)){if(!P){c.tipOpenImminent=true;J=setTimeout(function O(){J=null;I()},N.intentPollInterval)}else{if(Q){K.data(d,true)}F.showTip(K)}}}function G(P){M();c.tipOpenImminent=false;if(K.data(e)){K.data(d,false);if(!P){c.delayInProgress=true;J=setTimeout(function O(){J=null;F.hideTip(K);c.delayInProgress=false},N.closeDelay)}else{F.hideTip(K)}}}function I(){var Q=Math.abs(c.previousX-c.currentX),O=Math.abs(c.previousY-c.currentY),P=Q+O;if(P<N.intentSensitivity){F.showTip(K)}else{c.previousX=c.currentX;c.previousY=c.currentY;L()}}function M(){J=clearTimeout(J);c.delayInProgress=false}function H(){F.resetPosition(K)}this.show=L;this.hide=G;this.cancel=M;this.resetPosition=H}function j(){function G(M,L,J,O,P){var K=L.split("-")[0],N=new b(),I;if(q(M)){I=H(M,K)}else{I=F(M,K)}switch(L){case"n":N.set("left",I.left-(J/2));N.set("bottom",c.windowHeight-I.top+P);break;case"e":N.set("left",I.left+P);N.set("top",I.top-(O/2));break;case"s":N.set("left",I.left-(J/2));N.set("top",I.top+P);break;case"w":N.set("top",I.top-(O/2));N.set("right",c.windowWidth-I.left+P);break;case"nw":N.set("bottom",c.windowHeight-I.top+P);N.set("right",c.windowWidth-I.left-20);break;case"nw-alt":N.set("left",I.left);N.set("bottom",c.windowHeight-I.top+P);break;case"ne":N.set("left",I.left-20);N.set("bottom",c.windowHeight-I.top+P);break;case"ne-alt":N.set("bottom",c.windowHeight-I.top+P);N.set("right",c.windowWidth-I.left);break;case"sw":N.set("top",I.top+P);N.set("right",c.windowWidth-I.left-20);break;case"sw-alt":N.set("left",I.left);N.set("top",I.top+P);break;case"se":N.set("left",I.left-20);N.set("top",I.top+P);break;case"se-alt":N.set("top",I.top+P);N.set("right",c.windowWidth-I.left);break}return N}function F(K,J){var O=K.offset(),N=K.outerWidth(),I=K.outerHeight(),M,L;switch(J){case"n":M=O.left+N/2;L=O.top;break;case"e":M=O.left+N;L=O.top+I/2;break;case"s":M=O.left+N/2;L=O.top+I;break;case"w":M=O.left;L=O.top+I/2;break;case"nw":M=O.left;L=O.top;break;case"ne":M=O.left+N;L=O.top;break;case"sw":M=O.left;L=O.top+I;break;case"se":M=O.left+N;L=O.top+I;break}return{top:L,left:M}}function H(O,K){var S=O.closest("svg")[0],N=O[0],W=S.createSVGPoint(),L=N.getBBox(),V=N.getScreenCTM(),M=L.width/2,Q=L.height/2,P=[],I=["nw","n","ne","e","se","s","sw","w"],U,X,R,T;function J(){P.push(W.matrixTransform(V))}W.x=L.x;W.y=L.y;J();W.x+=M;J();W.x+=M;J();W.y+=Q;J();W.y+=Q;J();W.x-=M;J();W.x-=M;J();W.y-=Q;J();if(P[0].y!==P[1].y||P[0].x!==P[7].x){X=Math.atan2(V.b,V.a)*E;R=Math.ceil(((X%360)-22.5)/45);if(R<1){R+=8}while(R--){I.push(I.shift())}}for(T=0;T<P.length;T++){if(I[T]===K){U=P[T];break}}return{top:U.y+c.scrollTop,left:U.x+c.scrollLeft}}this.compute=G}function x(Q){var P=new j(),O=k("#"+Q.popupId);if(O.length===0){O=k("<div/>",{id:Q.popupId});if(w.length===0){w=k("body")}w.append(O)}if(Q.followMouse){if(!O.data(u)){A.on("mousemove",M);s.on("scroll",M);O.data(u,true)}}if(Q.mouseOnToPopup){O.on({mouseenter:function L(){if(O.data(f)){if(c.activeHover){c.activeHover.data(n).cancel()}}},mouseleave:function N(){if(c.activeHover){c.activeHover.data(n).hide()}}})}function I(S){S.data(e,true);O.queue(function R(T){H(S);T()})}function H(S){var U;if(!S.data(e)){return}if(c.isTipOpen){if(!c.isClosing){K(c.activeHover)}O.delay(100).queue(function R(V){H(S);V()});return}S.trigger("powerTipPreRender");U=B(S);if(U){O.empty().append(U)}else{return}S.trigger("powerTipRender");c.activeHover=S;c.isTipOpen=true;O.data(f,Q.mouseOnToPopup);if(!Q.followMouse){G(S);c.isFixedTipOpen=true}else{M()}O.fadeIn(Q.fadeInTime,function T(){if(!c.desyncTimeout){c.desyncTimeout=setInterval(J,500)}S.trigger("powerTipOpen")})}function K(R){c.isClosing=true;c.activeHover=null;c.isTipOpen=false;c.desyncTimeout=clearInterval(c.desyncTimeout);R.data(e,false);R.data(d,false);O.fadeOut(Q.fadeOutTime,function S(){var T=new b();c.isClosing=false;c.isFixedTipOpen=false;O.removeClass();T.set("top",c.currentY+Q.offset);T.set("left",c.currentX+Q.offset);O.css(T);R.trigger("powerTipClose")})}function M(){if(!c.isFixedTipOpen&&(c.isTipOpen||(c.tipOpenImminent&&O.data(u)))){var R=O.outerWidth(),V=O.outerHeight(),U=new b(),S,T;U.set("top",c.currentY+Q.offset);U.set("left",c.currentX+Q.offset);S=m(U,R,V);if(S!==p.none){T=a(S);if(T===1){if(S===p.right){U.set("left",c.windowWidth-R)}else{if(S===p.bottom){U.set("top",c.scrollTop+c.windowHeight-V)}}}else{U.set("left",c.currentX-R-Q.offset);U.set("top",c.currentY-V-Q.offset)}}O.css(U)}}function G(S){var R,T;if(Q.smartPlacement){R=k.fn.powerTip.smartPlacementLists[Q.placement];k.each(R,function(U,W){var V=m(F(S,W),O.outerWidth(),O.outerHeight());T=W;if(V===p.none){return false}})}else{F(S,Q.placement);T=Q.placement}O.addClass(T)}function F(U,T){var R=0,S,W,V=new b();V.set("top",0);V.set("left",0);O.css(V);do{S=O.outerWidth();W=O.outerHeight();V=P.compute(U,T,S,W,Q.offset);O.css(V)}while(++R<=5&&(S!==O.outerWidth()||W!==O.outerHeight()));return V}function J(){var R=false;if(c.isTipOpen&&!c.isClosing&&!c.delayInProgress){if(c.activeHover.data(e)===false||c.activeHover.is(":disabled")){R=true}else{if(!v(c.activeHover)&&!c.activeHover.is(":focus")&&!c.activeHover.data(d)){if(O.data(f)){if(!v(O)){R=true}}else{R=true}}}if(R){K(c.activeHover)}}}this.showTip=I;this.hideTip=K;this.resetPosition=G}function q(F){return window.SVGElement&&F[0] instanceof SVGElement}function h(){if(!c.mouseTrackingActive){c.mouseTrackingActive=true;k(function H(){c.scrollLeft=s.scrollLeft();c.scrollTop=s.scrollTop();c.windowWidth=s.width();c.windowHeight=s.height()});A.on("mousemove",i);s.on({resize:function G(){c.windowWidth=s.width();c.windowHeight=s.height()},scroll:function F(){var I=s.scrollLeft(),J=s.scrollTop();if(I!==c.scrollLeft){c.currentX+=I-c.scrollLeft;c.scrollLeft=I}if(J!==c.scrollTop){c.currentY+=J-c.scrollTop;c.scrollTop=J}}})}}function i(F){c.currentX=F.pageX;c.currentY=F.pageY}function v(F){var H=F.offset(),J=F[0].getBoundingClientRect(),I=J.right-J.left,G=J.bottom-J.top;return c.currentX>=H.left&&c.currentX<=H.left+I&&c.currentY>=H.top&&c.currentY<=H.top+G}function B(I){var G=I.data(y),F=I.data(o),K=I.data(l),H,J;if(G){if(k.isFunction(G)){G=G.call(I[0])}J=G}else{if(F){if(k.isFunction(F)){F=F.call(I[0])}if(F.length>0){J=F.clone(true,true)}}else{if(K){H=k("#"+K);if(H.length>0){J=H.html()}}}}return J}function m(M,L,K){var G=c.scrollTop,J=c.scrollLeft,I=G+c.windowHeight,F=J+c.windowWidth,H=p.none;if(M.top<G||Math.abs(M.bottom-c.windowHeight)-K<G){H|=p.top}if(M.top+K>I||Math.abs(M.bottom-c.windowHeight)>I){H|=p.bottom}if(M.left<J||M.right+L>F){H|=p.left}if(M.left+L>F||M.right<J){H|=p.right}return H}function a(G){var F=0;while(G){G&=G-1;F++}return F}}));/*!
+ * jQuery UI Touch Punch 0.2.3
+ *
+ * Copyright 2011–2014, Dave Furfero
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ *
+ * Depends:
+ * jquery.ui.widget.js
+ * jquery.ui.mouse.js
+ */
+(function(b){b.support.touch="ontouchend" in document;if(!b.support.touch){return}var d=b.ui.mouse.prototype,f=d._mouseInit,c=d._mouseDestroy,a;function e(h,i){if(h.originalEvent.touches.length>1){return}h.preventDefault();var j=h.originalEvent.changedTouches[0],g=document.createEvent("MouseEvents");g.initMouseEvent(i,true,true,window,1,j.screenX,j.screenY,j.clientX,j.clientY,false,false,false,false,0,null);h.target.dispatchEvent(g)}d._touchStart=function(h){var g=this;if(a||!g._mouseCapture(h.originalEvent.changedTouches[0])){return}a=true;g._touchMoved=false;e(h,"mouseover");e(h,"mousemove");e(h,"mousedown")};d._touchMove=function(g){if(!a){return}this._touchMoved=true;e(g,"mousemove")};d._touchEnd=function(g){if(!a){return}e(g,"mouseup");e(g,"mouseout");if(!this._touchMoved){e(g,"click")}a=false};d._mouseInit=function(){var g=this;g.element.bind({touchstart:b.proxy(g,"_touchStart"),touchmove:b.proxy(g,"_touchMove"),touchend:b.proxy(g,"_touchEnd")});f.call(g)};d._mouseDestroy=function(){var g=this;g.element.unbind({touchstart:b.proxy(g,"_touchStart"),touchmove:b.proxy(g,"_touchMove"),touchend:b.proxy(g,"_touchEnd")});c.call(g)}})(jQuery);/*!
+ * SmartMenus jQuery Plugin - v1.0.0 - January 27, 2016
+ * http://www.smartmenus.org/
+ *
+ * Copyright Vasil Dinkov, Vadikom Web Ltd.
+ * http://vadikom.com
+ *
+ * Licensed MIT
+ */
+(function(a){if(typeof define==="function"&&define.amd){define(["jquery"],a)}else{if(typeof module==="object"&&typeof module.exports==="object"){module.exports=a(require("jquery"))}else{a(jQuery)}}}(function(a){var b=[],e=!!window.createPopup,f=false,d="ontouchstart" in window,h=false,g=window.requestAnimationFrame||function(l){return setTimeout(l,1000/60)},c=window.cancelAnimationFrame||function(l){clearTimeout(l)};function k(m){var n=".smartmenus_mouse";if(!h&&!m){var o=true,l=null;a(document).bind(i([["mousemove",function(s){var t={x:s.pageX,y:s.pageY,timeStamp:new Date().getTime()};if(l){var q=Math.abs(l.x-t.x),p=Math.abs(l.y-t.y);if((q>0||p>0)&&q<=2&&p<=2&&t.timeStamp-l.timeStamp<=300){f=true;if(o){var r=a(s.target).closest("a");if(r.is("a")){a.each(b,function(){if(a.contains(this.$root[0],r[0])){this.itemEnter({currentTarget:r[0]});return false}})}o=false}}}l=t}],[d?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut",function(p){if(j(p.originalEvent)){f=false}}]],n));h=true}else{if(h&&m){a(document).unbind(n);h=false}}}function j(l){return !/^(4|mouse)$/.test(l.pointerType)}function i(l,n){if(!n){n=""}var m={};a.each(l,function(o,p){m[p[0].split(" ").join(n+" ")+n]=p[1]});return m}a.SmartMenus=function(m,l){this.$root=a(m);this.opts=l;this.rootId="";this.accessIdPrefix="";this.$subArrow=null;this.activatedItems=[];this.visibleSubMenus=[];this.showTimeout=0;this.hideTimeout=0;this.scrollTimeout=0;this.clickActivated=false;this.focusActivated=false;this.zIndexInc=0;this.idInc=0;this.$firstLink=null;this.$firstSub=null;this.disabled=false;this.$disableOverlay=null;this.$touchScrollingSub=null;this.cssTransforms3d="perspective" in m.style||"webkitPerspective" in m.style;this.wasCollapsible=false;this.init()};a.extend(a.SmartMenus,{hideAll:function(){a.each(b,function(){this.menuHideAll()})},destroy:function(){while(b.length){b[0].destroy()}k(true)},prototype:{init:function(n){var l=this;if(!n){b.push(this);this.rootId=(new Date().getTime()+Math.random()+"").replace(/\D/g,"");this.accessIdPrefix="sm-"+this.rootId+"-";if(this.$root.hasClass("sm-rtl")){this.opts.rightToLeftSubMenus=true}var r=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).bind(i([["mouseover focusin",a.proxy(this.rootOver,this)],["mouseout focusout",a.proxy(this.rootOut,this)],["keydown",a.proxy(this.rootKeyDown,this)]],r)).delegate("a",i([["mouseenter",a.proxy(this.itemEnter,this)],["mouseleave",a.proxy(this.itemLeave,this)],["mousedown",a.proxy(this.itemDown,this)],["focus",a.proxy(this.itemFocus,this)],["blur",a.proxy(this.itemBlur,this)],["click",a.proxy(this.itemClick,this)]],r));r+=this.rootId;if(this.opts.hideOnClick){a(document).bind(i([["touchstart",a.proxy(this.docTouchStart,this)],["touchmove",a.proxy(this.docTouchMove,this)],["touchend",a.proxy(this.docTouchEnd,this)],["click",a.proxy(this.docClick,this)]],r))}a(window).bind(i([["resize orientationchange",a.proxy(this.winResize,this)]],r));if(this.opts.subIndicators){this.$subArrow=a("<span/>").addClass("sub-arrow");if(this.opts.subIndicatorsText){this.$subArrow.html(this.opts.subIndicatorsText)}}k()}this.$firstSub=this.$root.find("ul").each(function(){l.menuInit(a(this))}).eq(0);this.$firstLink=this.$root.find("a").eq(0);if(this.opts.markCurrentItem){var p=/(index|default)\.[^#\?\/]*/i,m=/#.*/,q=window.location.href.replace(p,""),o=q.replace(m,"");this.$root.find("a").each(function(){var s=this.href.replace(p,""),t=a(this);if(s==q||s==o){t.addClass("current");if(l.opts.markCurrentTree){t.parentsUntil("[data-smartmenus-id]","ul").each(function(){a(this).dataSM("parent-a").addClass("current")})}}})}this.wasCollapsible=this.isCollapsible()},destroy:function(m){if(!m){var n=".smartmenus";this.$root.removeData("smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").unbind(n).undelegate(n);n+=this.rootId;a(document).unbind(n);a(window).unbind(n);if(this.opts.subIndicators){this.$subArrow=null}}this.menuHideAll();var l=this;this.$root.find("ul").each(function(){var o=a(this);if(o.dataSM("scroll-arrows")){o.dataSM("scroll-arrows").remove()}if(o.dataSM("shown-before")){if(l.opts.subMenusMinWidth||l.opts.subMenusMaxWidth){o.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap")}if(o.dataSM("scroll-arrows")){o.dataSM("scroll-arrows").remove()}o.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})}if((o.attr("id")||"").indexOf(l.accessIdPrefix)==0){o.removeAttr("id")}}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("ie-shim").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded");this.$root.find("a.has-submenu").each(function(){var o=a(this);if(o.attr("id").indexOf(l.accessIdPrefix)==0){o.removeAttr("id")}}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub");if(this.opts.subIndicators){this.$root.find("span.sub-arrow").remove()}if(this.opts.markCurrentItem){this.$root.find("a.current").removeClass("current")}if(!m){this.$root=null;this.$firstLink=null;this.$firstSub=null;if(this.$disableOverlay){this.$disableOverlay.remove();this.$disableOverlay=null}b.splice(a.inArray(this,b),1)}},disable:function(l){if(!this.disabled){this.menuHideAll();if(!l&&!this.opts.isPopup&&this.$root.is(":visible")){var m=this.$root.offset();this.$disableOverlay=a('<div class="sm-jquery-disable-overlay"/>').css({position:"absolute",top:m.top,left:m.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(true),opacity:0}).appendTo(document.body)}this.disabled=true}},docClick:function(l){if(this.$touchScrollingSub){this.$touchScrollingSub=null;return}if(this.visibleSubMenus.length&&!a.contains(this.$root[0],l.target)||a(l.target).is("a")){this.menuHideAll()}},docTouchEnd:function(m){if(!this.lastTouch){return}if(this.visibleSubMenus.length&&(this.lastTouch.x2===undefined||this.lastTouch.x1==this.lastTouch.x2)&&(this.lastTouch.y2===undefined||this.lastTouch.y1==this.lastTouch.y2)&&(!this.lastTouch.target||!a.contains(this.$root[0],this.lastTouch.target))){if(this.hideTimeout){clearTimeout(this.hideTimeout);this.hideTimeout=0}var l=this;this.hideTimeout=setTimeout(function(){l.menuHideAll()},350)}this.lastTouch=null},docTouchMove:function(m){if(!this.lastTouch){return}var l=m.originalEvent.touches[0];this.lastTouch.x2=l.pageX;this.lastTouch.y2=l.pageY},docTouchStart:function(m){var l=m.originalEvent.touches[0];this.lastTouch={x1:l.pageX,y1:l.pageY,target:l.target}},enable:function(){if(this.disabled){if(this.$disableOverlay){this.$disableOverlay.remove();this.$disableOverlay=null}this.disabled=false}},getClosestMenu:function(m){var l=a(m).closest("ul");while(l.dataSM("in-mega")){l=l.parent().closest("ul")}return l[0]||null},getHeight:function(l){return this.getOffset(l,true)},getOffset:function(n,l){var m;if(n.css("display")=="none"){m={position:n[0].style.position,visibility:n[0].style.visibility};n.css({position:"absolute",visibility:"hidden"}).show()}var o=n[0].getBoundingClientRect&&n[0].getBoundingClientRect(),p=o&&(l?o.height||o.bottom-o.top:o.width||o.right-o.left);if(!p&&p!==0){p=l?n[0].offsetHeight:n[0].offsetWidth}if(m){n.hide().css(m)}return p},getStartZIndex:function(l){var m=parseInt(this[l?"$root":"$firstSub"].css("z-index"));if(!l&&isNaN(m)){m=parseInt(this.$root.css("z-index"))}return !isNaN(m)?m:1},getTouchPoint:function(l){return l.touches&&l.touches[0]||l.changedTouches&&l.changedTouches[0]||l},getViewport:function(l){var m=l?"Height":"Width",o=document.documentElement["client"+m],n=window["inner"+m];if(n){o=Math.min(o,n)}return o},getViewportHeight:function(){return this.getViewport(true)},getViewportWidth:function(){return this.getViewport()},getWidth:function(l){return this.getOffset(l)},handleEvents:function(){return !this.disabled&&this.isCSSOn()},handleItemEvents:function(l){return this.handleEvents()&&!this.isLinkInMegaMenu(l)},isCollapsible:function(){return this.$firstSub.css("position")=="static"},isCSSOn:function(){return this.$firstLink.css("display")=="block"},isFixed:function(){var l=this.$root.css("position")=="fixed";if(!l){this.$root.parentsUntil("body").each(function(){if(a(this).css("position")=="fixed"){l=true;return false}})}return l},isLinkInMegaMenu:function(l){return a(this.getClosestMenu(l[0])).hasClass("mega-menu")},isTouchMode:function(){return !f||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(p,l){var n=p.closest("ul"),q=n.dataSM("level");if(q>1&&(!this.activatedItems[q-2]||this.activatedItems[q-2][0]!=n.dataSM("parent-a")[0])){var m=this;a(n.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(n).each(function(){m.itemActivate(a(this).dataSM("parent-a"))})}if(!this.isCollapsible()||l){this.menuHideSubMenus(!this.activatedItems[q-1]||this.activatedItems[q-1][0]!=p[0]?q-1:q)}this.activatedItems[q-1]=p;if(this.$root.triggerHandler("activate.smapi",p[0])===false){return}var o=p.dataSM("sub");if(o&&(this.isTouchMode()||(!this.opts.showOnClick||this.clickActivated))){this.menuShow(o)}},itemBlur:function(m){var l=a(m.currentTarget);if(!this.handleItemEvents(l)){return}this.$root.triggerHandler("blur.smapi",l[0])},itemClick:function(o){var n=a(o.currentTarget);if(!this.handleItemEvents(n)){return}if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==n.closest("ul")[0]){this.$touchScrollingSub=null;o.stopPropagation();return false}if(this.$root.triggerHandler("click.smapi",n[0])===false){return false}var p=a(o.target).is("span.sub-arrow"),m=n.dataSM("sub"),l=m?m.dataSM("level")==2:false;if(m&&!m.is(":visible")){if(this.opts.showOnClick&&l){this.clickActivated=true}this.itemActivate(n);if(m.is(":visible")){this.focusActivated=true;return false}}else{if(this.isCollapsible()&&p){this.itemActivate(n);this.menuHide(m);return false}}if(this.opts.showOnClick&&l||n.hasClass("disabled")||this.$root.triggerHandler("select.smapi",n[0])===false){return false}},itemDown:function(m){var l=a(m.currentTarget);if(!this.handleItemEvents(l)){return}l.dataSM("mousedown",true)},itemEnter:function(n){var m=a(n.currentTarget);if(!this.handleItemEvents(m)){return}if(!this.isTouchMode()){if(this.showTimeout){clearTimeout(this.showTimeout);this.showTimeout=0}var l=this;this.showTimeout=setTimeout(function(){l.itemActivate(m)},this.opts.showOnClick&&m.closest("ul").dataSM("level")==1?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",m[0])},itemFocus:function(m){var l=a(m.currentTarget);if(!this.handleItemEvents(l)){return}if(this.focusActivated&&(!this.isTouchMode()||!l.dataSM("mousedown"))&&(!this.activatedItems.length||this.activatedItems[this.activatedItems.length-1][0]!=l[0])){this.itemActivate(l,true)}this.$root.triggerHandler("focus.smapi",l[0])},itemLeave:function(m){var l=a(m.currentTarget);if(!this.handleItemEvents(l)){return}if(!this.isTouchMode()){l[0].blur();if(this.showTimeout){clearTimeout(this.showTimeout);this.showTimeout=0}}l.removeDataSM("mousedown");this.$root.triggerHandler("mouseleave.smapi",l[0])},menuHide:function(m){if(this.$root.triggerHandler("beforehide.smapi",m[0])===false){return}m.stop(true,true);if(m.css("display")!="none"){var l=function(){m.css("z-index","")};if(this.isCollapsible()){if(this.opts.collapsibleHideFunction){this.opts.collapsibleHideFunction.call(this,m,l)}else{m.hide(this.opts.collapsibleHideDuration,l)}}else{if(this.opts.hideFunction){this.opts.hideFunction.call(this,m,l)}else{m.hide(this.opts.hideDuration,l)}}if(m.dataSM("ie-shim")){m.dataSM("ie-shim").remove().css({"-webkit-transform":"",transform:""})}if(m.dataSM("scroll")){this.menuScrollStop(m);m.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).unbind(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()}m.dataSM("parent-a").removeClass("highlighted").attr("aria-expanded","false");m.attr({"aria-expanded":"false","aria-hidden":"true"});var n=m.dataSM("level");this.activatedItems.splice(n-1,1);this.visibleSubMenus.splice(a.inArray(m,this.visibleSubMenus),1);this.$root.triggerHandler("hide.smapi",m[0])}},menuHideAll:function(){if(this.showTimeout){clearTimeout(this.showTimeout);this.showTimeout=0}var m=this.opts.isPopup?1:0;for(var l=this.visibleSubMenus.length-1;l>=m;l--){this.menuHide(this.visibleSubMenus[l])}if(this.opts.isPopup){this.$root.stop(true,true);if(this.$root.is(":visible")){if(this.opts.hideFunction){this.opts.hideFunction.call(this,this.$root)}else{this.$root.hide(this.opts.hideDuration)}if(this.$root.dataSM("ie-shim")){this.$root.dataSM("ie-shim").remove()}}}this.activatedItems=[];this.visibleSubMenus=[];this.clickActivated=false;this.focusActivated=false;this.zIndexInc=0;this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(n){for(var l=this.activatedItems.length-1;l>=n;l--){var m=this.activatedItems[l].dataSM("sub");if(m){this.menuHide(m)}}},menuIframeShim:function(l){if(e&&this.opts.overlapControlsInIE&&!l.dataSM("ie-shim")){l.dataSM("ie-shim",a("<iframe/>").attr({src:"javascript:0",tabindex:-9}).css({position:"absolute",top:"auto",left:"0",opacity:0,border:"0"}))}},menuInit:function(l){if(!l.dataSM("in-mega")){if(l.hasClass("mega-menu")){l.find("ul").dataSM("in-mega",true)}var q=2,m=l[0];while((m=m.parentNode.parentNode)!=this.$root[0]){q++}var n=l.prevAll("a").eq(-1);if(!n.length){n=l.prevAll().find("a").eq(-1)}n.addClass("has-submenu").dataSM("sub",l);l.dataSM("parent-a",n).dataSM("level",q).parent().dataSM("sub",l);var o=n.attr("id")||this.accessIdPrefix+(++this.idInc),p=l.attr("id")||this.accessIdPrefix+(++this.idInc);n.attr({id:o,"aria-haspopup":"true","aria-controls":p,"aria-expanded":"false"});l.attr({id:p,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"});if(this.opts.subIndicators){n[this.opts.subIndicatorsPos](this.$subArrow.clone())}}},menuPosition:function(K){var r=K.dataSM("parent-a"),D=r.closest("li"),E=D.parent(),l=K.dataSM("level"),t=this.getWidth(K),J=this.getHeight(K),u=r.offset(),o=u.left,m=u.top,q=this.getWidth(r),F=this.getHeight(r),H=a(window),v=H.scrollLeft(),s=H.scrollTop(),z=this.getViewportWidth(),L=this.getViewportHeight(),w=E.parent().is("[data-sm-horizontal-sub]")||l==2&&!E.hasClass("sm-vertical"),B=this.opts.rightToLeftSubMenus&&!D.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&D.is("[data-sm-reverse]"),p=l==2?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,n=l==2?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY,C,A;if(w){C=B?q-t-p:p;A=this.opts.bottomToTopSubMenus?-J-n:F+n}else{C=B?p-t:q-p;A=this.opts.bottomToTopSubMenus?F-n-J:n}if(this.opts.keepInViewport){var N=o+C,M=m+A;if(B&&N<v){C=w?v-N+C:q-p}else{if(!B&&N+t>v+z){C=w?v+z-t-N+C:p-t}}if(!w){if(J<L&&M+J>s+L){A+=s+L-J-M}else{if(J>=L||M<s){A+=s-M}}}if(w&&(M+J>s+L+0.49||M<s)||!w&&J>L+0.49){var G=this;if(!K.dataSM("scroll-arrows")){K.dataSM("scroll-arrows",a([a('<span class="scroll-up"><span class="scroll-up-arrow"></span></span>')[0],a('<span class="scroll-down"><span class="scroll-down-arrow"></span></span>')[0]]).bind({mouseenter:function(){K.dataSM("scroll").up=a(this).hasClass("scroll-up");G.menuScroll(K)},mouseleave:function(x){G.menuScrollStop(K);G.menuScrollOut(K,x)},"mousewheel DOMMouseScroll":function(x){x.preventDefault()}}).insertAfter(K))}var I=".smartmenus_scroll";K.dataSM("scroll",{y:this.cssTransforms3d?0:A-F,step:1,itemH:F,subH:J,arrowDownH:this.getHeight(K.dataSM("scroll-arrows").eq(1))}).bind(i([["mouseover",function(x){G.menuScrollOver(K,x)}],["mouseout",function(x){G.menuScrollOut(K,x)}],["mousewheel DOMMouseScroll",function(x){G.menuScrollMousewheel(K,x)}]],I)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:C+(parseInt(K.css("border-left-width"))||0),width:t-(parseInt(K.css("border-left-width"))||0)-(parseInt(K.css("border-right-width"))||0),zIndex:K.css("z-index")}).eq(w&&this.opts.bottomToTopSubMenus?0:1).show();if(this.isFixed()){K.css({"touch-action":"none","-ms-touch-action":"none"}).bind(i([[d?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp",function(x){G.menuScrollTouch(K,x)}]],I))}}}K.css({top:"auto",left:"0",marginLeft:C,marginTop:A-F});this.menuIframeShim(K);if(K.dataSM("ie-shim")){K.dataSM("ie-shim").css({zIndex:K.css("z-index"),width:t,height:J,marginLeft:C,marginTop:A-F})}},menuScroll:function(r,m,n){var p=r.dataSM("scroll"),q=r.dataSM("scroll-arrows"),o=p.up?p.upEnd:p.downEnd,s;if(!m&&p.momentum){p.momentum*=0.92;s=p.momentum;if(s<0.5){this.menuScrollStop(r);return}}else{s=n||(m||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(p.step))}var l=r.dataSM("level");if(this.activatedItems[l-1]&&this.activatedItems[l-1].dataSM("sub")&&this.activatedItems[l-1].dataSM("sub").is(":visible")){this.menuHideSubMenus(l-1)}p.y=p.up&&o<=p.y||!p.up&&o>=p.y?p.y:(Math.abs(o-p.y)>s?p.y+(p.up?s:-s):o);r.add(r.dataSM("ie-shim")).css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+p.y+"px, 0)",transform:"translate3d(0, "+p.y+"px, 0)"}:{marginTop:p.y});if(f&&(p.up&&p.y>p.downEnd||!p.up&&p.y<p.upEnd)){q.eq(p.up?1:0).show()}if(p.y==o){if(f){q.eq(p.up?0:1).hide()}this.menuScrollStop(r)}else{if(!m){if(this.opts.scrollAccelerate&&p.step<this.opts.scrollStep){p.step+=0.2}var t=this;this.scrollTimeout=g(function(){t.menuScroll(r)})}}},menuScrollMousewheel:function(m,n){if(this.getClosestMenu(n.target)==m[0]){n=n.originalEvent;var l=(n.wheelDelta||-n.detail)>0;if(m.dataSM("scroll-arrows").eq(l?0:1).is(":visible")){m.dataSM("scroll").up=l;this.menuScroll(m,true)}}n.preventDefault()},menuScrollOut:function(l,m){if(f){if(!/^scroll-(up|down)/.test((m.relatedTarget||"").className)&&(l[0]!=m.relatedTarget&&!a.contains(l[0],m.relatedTarget)||this.getClosestMenu(m.relatedTarget)!=l[0])){l.dataSM("scroll-arrows").css("visibility","hidden")}}},menuScrollOver:function(n,o){if(f){if(!/^scroll-(up|down)/.test(o.target.className)&&this.getClosestMenu(o.target)==n[0]){this.menuScrollRefreshData(n);var m=n.dataSM("scroll"),l=a(window).scrollTop()-n.dataSM("parent-a").offset().top-m.itemH;n.dataSM("scroll-arrows").eq(0).css("margin-top",l).end().eq(1).css("margin-top",l+this.getViewportHeight()-m.arrowDownH).end().css("visibility","visible")}}},menuScrollRefreshData:function(n){var m=n.dataSM("scroll"),l=a(window).scrollTop()-n.dataSM("parent-a").offset().top-m.itemH;if(this.cssTransforms3d){l=-(parseFloat(n.css("margin-top"))-l)}a.extend(m,{upEnd:l,downEnd:l+this.getViewportHeight()-m.subH})},menuScrollStop:function(l){if(this.scrollTimeout){c(this.scrollTimeout);this.scrollTimeout=0;l.dataSM("scroll").step=1;return true}},menuScrollTouch:function(p,q){q=q.originalEvent;if(j(q)){var m=this.getTouchPoint(q);if(this.getClosestMenu(m.target)==p[0]){var o=p.dataSM("scroll");if(/(start|down)$/i.test(q.type)){if(this.menuScrollStop(p)){q.preventDefault();this.$touchScrollingSub=p}else{this.$touchScrollingSub=null}this.menuScrollRefreshData(p);a.extend(o,{touchStartY:m.pageY,touchStartTime:q.timeStamp})}else{if(/move$/i.test(q.type)){var n=o.touchY!==undefined?o.touchY:o.touchStartY;if(n!==undefined&&n!=m.pageY){this.$touchScrollingSub=p;var l=n<m.pageY;if(o.up!==undefined&&o.up!=l){a.extend(o,{touchStartY:m.pageY,touchStartTime:q.timeStamp})}a.extend(o,{up:l,touchY:m.pageY});this.menuScroll(p,true,Math.abs(m.pageY-n))}q.preventDefault()}else{if(o.touchY!==undefined){if(o.momentum=Math.pow(Math.abs(m.pageY-o.touchStartY)/(q.timeStamp-o.touchStartTime),2)*15){this.menuScrollStop(p);this.menuScroll(p);q.preventDefault()}delete o.touchY}}}}}},menuShow:function(n){if(!n.dataSM("beforefirstshowfired")){n.dataSM("beforefirstshowfired",true);if(this.$root.triggerHandler("beforefirstshow.smapi",n[0])===false){return}}if(this.$root.triggerHandler("beforeshow.smapi",n[0])===false){return}n.dataSM("shown-before",true).stop(true,true);if(!n.is(":visible")){var m=n.dataSM("parent-a");if(this.opts.keepHighlighted||this.isCollapsible()){m.addClass("highlighted")}if(this.isCollapsible()){n.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""})}else{n.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1);if(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth){n.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap");if(this.opts.subMenusMinWidth){n.css("min-width",this.opts.subMenusMinWidth)}if(this.opts.subMenusMaxWidth){var o=this.getWidth(n);n.css("max-width",this.opts.subMenusMaxWidth);if(o>this.getWidth(n)){n.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}}}this.menuPosition(n);if(n.dataSM("ie-shim")){n.dataSM("ie-shim").insertBefore(n)}}var l=function(){n.css("overflow","")};if(this.isCollapsible()){if(this.opts.collapsibleShowFunction){this.opts.collapsibleShowFunction.call(this,n,l)}else{n.show(this.opts.collapsibleShowDuration,l)}}else{if(this.opts.showFunction){this.opts.showFunction.call(this,n,l)}else{n.show(this.opts.showDuration,l)}}m.attr("aria-expanded","true");n.attr({"aria-expanded":"true","aria-hidden":"false"});this.visibleSubMenus.push(n);this.$root.triggerHandler("show.smapi",n[0])}},popupHide:function(l){if(this.hideTimeout){clearTimeout(this.hideTimeout);this.hideTimeout=0}var m=this;this.hideTimeout=setTimeout(function(){m.menuHideAll()},l?1:this.opts.hideTimeout)},popupShow:function(o,n){if(!this.opts.isPopup){alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.');return}if(this.hideTimeout){clearTimeout(this.hideTimeout);this.hideTimeout=0}this.$root.dataSM("shown-before",true).stop(true,true);if(!this.$root.is(":visible")){this.$root.css({left:o,top:n});this.menuIframeShim(this.$root);if(this.$root.dataSM("ie-shim")){this.$root.dataSM("ie-shim").css({zIndex:this.$root.css("z-index"),width:this.getWidth(this.$root),height:this.getHeight(this.$root),left:o,top:n}).insertBefore(this.$root)}var m=this,l=function(){m.$root.css("overflow","")};if(this.opts.showFunction){this.opts.showFunction.call(this,this.$root,l)}else{this.$root.show(this.opts.showDuration,l)}this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(true);this.init(true)},rootKeyDown:function(o){if(!this.handleEvents()){return}switch(o.keyCode){case 27:var m=this.activatedItems[0];if(m){this.menuHideAll();m[0].focus();var n=m.dataSM("sub");if(n){this.menuHide(n)}}break;case 32:var l=a(o.target);if(l.is("a")&&this.handleItemEvents(l)){var n=l.dataSM("sub");if(n&&!n.is(":visible")){this.itemClick({currentTarget:o.target});o.preventDefault()}}break}},rootOut:function(m){if(!this.handleEvents()||this.isTouchMode()||m.target==this.$root[0]){return}if(this.hideTimeout){clearTimeout(this.hideTimeout);this.hideTimeout=0}if(!this.opts.showOnClick||!this.opts.hideOnClick){var l=this;this.hideTimeout=setTimeout(function(){l.menuHideAll()},this.opts.hideTimeout)}},rootOver:function(l){if(!this.handleEvents()||this.isTouchMode()||l.target==this.$root[0]){return}if(this.hideTimeout){clearTimeout(this.hideTimeout);this.hideTimeout=0}},winResize:function(m){if(!this.handleEvents()){if(this.$disableOverlay){var n=this.$root.offset();this.$disableOverlay.css({top:n.top,left:n.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}return}if(!("onorientationchange" in window)||m.type=="orientationchange"){var l=this.isCollapsible();if(!(this.wasCollapsible&&l)){if(this.activatedItems.length){this.activatedItems[this.activatedItems.length-1][0].blur()}this.menuHideAll()}this.wasCollapsible=l}}}});a.fn.dataSM=function(l,m){if(m){return this.data(l+"_smartmenus",m)}return this.data(l+"_smartmenus")};a.fn.removeDataSM=function(l){return this.removeData(l+"_smartmenus")};a.fn.smartmenus=function(m){if(typeof m=="string"){var l=arguments,o=m;Array.prototype.shift.call(l);return this.each(function(){var p=a(this).data("smartmenus");if(p&&p[o]){p[o].apply(p,l)}})}var n=a.extend({},a.fn.smartmenus.defaults,m);return this.each(function(){new a.SmartMenus(this,n)})};a.fn.smartmenus.defaults={isPopup:false,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:true,subIndicatorsPos:"prepend",subIndicatorsText:"+",scrollStep:30,scrollAccelerate:true,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(m,l){m.fadeOut(200,l)},collapsibleShowDuration:0,collapsibleShowFunction:function(m,l){m.slideDown(200,l)},collapsibleHideDuration:0,collapsibleHideFunction:function(m,l){m.slideUp(200,l)},showOnClick:false,hideOnClick:true,noMouseOver:false,keepInViewport:true,keepHighlighted:true,markCurrentItem:false,markCurrentTree:true,rightToLeftSubMenus:false,bottomToTopSubMenus:false,overlapControlsInIE:true};return a})); \ No newline at end of file
diff --git a/doc/doxyout/hcrypto/html/menu.js b/doc/doxyout/hcrypto/html/menu.js
new file mode 100644
index 000000000000..97db4c239227
--- /dev/null
+++ b/doc/doxyout/hcrypto/html/menu.js
@@ -0,0 +1,26 @@
+function initMenu(relPath,searchEnabled,serverSide,searchPage,search) {
+ function makeTree(data,relPath) {
+ var result='';
+ if ('children' in data) {
+ result+='<ul>';
+ for (var i in data.children) {
+ result+='<li><a href="'+relPath+data.children[i].url+'">'+
+ data.children[i].text+'</a>'+
+ makeTree(data.children[i],relPath)+'</li>';
+ }
+ result+='</ul>';
+ }
+ return result;
+ }
+
+ $('#main-nav').append(makeTree(menudata,relPath));
+ $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu');
+ if (searchEnabled) {
+ if (serverSide) {
+ $('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><div class="left"><form id="FSearchBox" action="'+searchPage+'" method="get"><img id="MSearchSelect" src="'+relPath+'search/mag.png" alt=""/><input type="text" id="MSearchField" name="query" value="'+search+'" size="20" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)"></form></div><div class="right"></div></div></li>');
+ } else {
+ $('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><span class="left"><img id="MSearchSelect" src="'+relPath+'search/mag_sel.png" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/><input type="text" id="MSearchField" value="'+search+'" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/></span><span class="right"><a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="'+relPath+'search/close.png" alt=""/></a></span></div></li>');
+ }
+ }
+ $('#main-menu').smartmenus();
+}
diff --git a/doc/doxyout/hcrypto/html/menudata.js b/doc/doxyout/hcrypto/html/menudata.js
new file mode 100644
index 000000000000..61fa5f5b33e2
--- /dev/null
+++ b/doc/doxyout/hcrypto/html/menudata.js
@@ -0,0 +1,5 @@
+var menudata={children:[
+{text:"Main Page",url:"index.html"},
+{text:"Related Pages",url:"pages.html"},
+{text:"Modules",url:"modules.html"},
+{text:"Examples",url:"examples.html"}]}
diff --git a/doc/doxyout/hcrypto/html/modules.html b/doc/doxyout/hcrypto/html/modules.html
index 870d259e4de0..c928c0e9b413 100644
--- a/doc/doxyout/hcrypto/html/modules.html
+++ b/doc/doxyout/hcrypto/html/modules.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: Module Index</title>
+<title>Modules</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@@ -8,28 +8,34 @@
<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 class="current"><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">Modules</div> </div>
+</div><!--header-->
<div class="contents">
-<h1>Modules</h1>Here is a list of all modules:<ul>
-<li><a class="el" href="group__hcrypto__dh.html">Diffie-Hellman functions</a>
-<li><a class="el" href="group__hcrypto__rsa.html">RSA functions</a>
-<li><a class="el" href="group__hcrypto__evp.html">EVP generic crypto functions</a>
-<li><a class="el" href="group__hcrypto__rand.html">RAND crypto functions</a>
-<li><a class="el" href="group__hcrypto__des.html">DES crypto functions</a>
-<li><a class="el" href="group__hcrypto__core.html">hcrypto function controlling behavior</a>
-<li><a class="el" href="group__hcrypto__misc.html">hcrypto miscellaneous functions</a>
-</ul>
-</div>
+<div class="textblock">Here is a list of all modules:</div><div class="directory">
+<table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__hcrypto__dh.html" target="_self">Diffie-Hellman functions</a></td><td class="desc"></td></tr>
+<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__hcrypto__rsa.html" target="_self">RSA functions</a></td><td class="desc"></td></tr>
+<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__hcrypto__evp.html" target="_self">EVP generic crypto functions</a></td><td class="desc"></td></tr>
+<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__hcrypto__rand.html" target="_self">RAND crypto functions</a></td><td class="desc"></td></tr>
+<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__hcrypto__des.html" target="_self">DES crypto functions</a></td><td class="desc"></td></tr>
+<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__hcrypto__core.html" target="_self">hcrypto function controlling behavior</a></td><td class="desc"></td></tr>
+<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__hcrypto__misc.html" target="_self">hcrypto miscellaneous functions</a></td><td class="desc"></td></tr>
+</table>
+</div><!-- directory -->
+</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/nav_f.png b/doc/doxyout/hcrypto/html/nav_f.png
new file mode 100644
index 000000000000..72a58a529ed3
--- /dev/null
+++ b/doc/doxyout/hcrypto/html/nav_f.png
Binary files differ
diff --git a/doc/doxyout/hcrypto/html/nav_g.png b/doc/doxyout/hcrypto/html/nav_g.png
new file mode 100644
index 000000000000..2093a237a94f
--- /dev/null
+++ b/doc/doxyout/hcrypto/html/nav_g.png
Binary files differ
diff --git a/doc/doxyout/hcrypto/html/nav_h.png b/doc/doxyout/hcrypto/html/nav_h.png
new file mode 100644
index 000000000000..33389b101d9c
--- /dev/null
+++ b/doc/doxyout/hcrypto/html/nav_h.png
Binary files differ
diff --git a/doc/doxyout/hcrypto/html/open.png b/doc/doxyout/hcrypto/html/open.png
new file mode 100644
index 000000000000..30f75c7efe2d
--- /dev/null
+++ b/doc/doxyout/hcrypto/html/open.png
Binary files differ
diff --git a/doc/doxyout/hcrypto/html/page_des.html b/doc/doxyout/hcrypto/html/page_des.html
index cd0794608445..c3902a3d8925 100644
--- a/doc/doxyout/hcrypto/html/page_des.html
+++ b/doc/doxyout/hcrypto/html/page_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 - Data Encryption Standard crypto interface</title>
+<title>DES - Data Encryption Standard crypto interface</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@@ -8,38 +8,41 @@
<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 class="navpath"><a class="el" href="index.html">Heimdal crypto library</a>
- </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 id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="index.html">Heimdal crypto library</a></li> </ul>
</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">DES - Data Encryption Standard crypto interface </div> </div>
+</div><!--header-->
<div class="contents">
-<h1><a class="anchor" name="page_des">DES - Data Encryption Standard crypto interface </a></h1>See the library functions here: <a class="el" href="group__hcrypto__des.html">DES crypto functions</a><p>
-DES was created by IBM, modififed by NSA and then adopted by NBS (now NIST) and published ad FIPS PUB 46 (updated by FIPS 46-1).<p>
-Since the 19th May 2005 DES was withdrawn by NIST and should no longer be used. See <a class="el" href="page_evp.html">EVP - generic crypto interface</a> for replacement encryption algorithms and interfaces.<p>
-Read more the iteresting history of DES on Wikipedia <a href="http://www.wikipedia.org/wiki/Data_Encryption_Standard">http://www.wikipedia.org/wiki/Data_Encryption_Standard</a> .<h2><a class="anchor" name="des_keygen">
-DES key generation</a></h2>
-To generate a DES key safely you have to use the code-snippet below. This is because the <a class="el" href="group__hcrypto__des.html#gd70d485549f7444589f3283e938c0258">DES_random_key()</a> can fail with an abort() in case of and failure to start the random generator.<p>
-There is a replacement function <a class="el" href="group__hcrypto__des.html#gcd3642bcd8a7e93ea977786e5b540d5f">DES_new_random_key()</a>, however that function does not exists in OpenSSL.<p>
-<div class="fragment"><pre class="fragment"> DES_cblock key;
- <span class="keywordflow">do</span> {
- <span class="keywordflow">if</span> (RAND_rand(&amp;key, <span class="keyword">sizeof</span>(key)) != 1)
- <span class="keywordflow">goto</span> failure;
- <a class="code" href="group__hcrypto__des.html#g4179bef43ceb72cc2034f39e7d2d5ae4">DES_set_odd_parity</a>(key);
- } <span class="keywordflow">while</span> (<a class="code" href="group__hcrypto__des.html#g0d8a49cafee4be6cd3922bfb6323fd2d">DES_is_weak_key</a>(&amp;key));
-</pre></div><h2><a class="anchor" name="des_impl">
-DES implementation history</a></h2>
-There was no complete BSD licensed, fast, GPL compatible implementation of DES, so Love wrote the part that was missing, fast key schedule setup and adapted the interface to the orignal libdes.<p>
-The document that got me started for real was "Efficient Implementation of the Data Encryption Standard" by Dag Arne Osvik. I never got to the PC1 transformation was working, instead I used table-lookup was used for all key schedule setup. The document was very useful since it de-mystified other implementations for me.<p>
-The core DES function (SBOX + P transformation) is from Richard Outerbridge public domain DES implementation. My sanity is saved thanks to his work. Thank you Richard. </div>
+<div class="textblock"><p>See the library functions here: <a class="el" href="group__hcrypto__des.html">DES crypto functions</a></p>
+<p>DES was created by IBM, modififed by NSA and then adopted by NBS (now NIST) and published ad FIPS PUB 46 (updated by FIPS 46-1).</p>
+<p>Since the 19th May 2005 DES was withdrawn by NIST and should no longer be used. See <a class="el" href="page_evp.html">EVP - generic crypto interface</a> for replacement encryption algorithms and interfaces.</p>
+<p>Read more the iteresting history of DES on Wikipedia <a href="http://www.wikipedia.org/wiki/Data_Encryption_Standard">http://www.wikipedia.org/wiki/Data_Encryption_Standard</a> .</p>
+<h1><a class="anchor" id="des_keygen"></a>
+DES key generation</h1>
+<p>To generate a DES key safely you have to use the code-snippet below. This is because the <a class="el" href="group__hcrypto__des.html#gad70d485549f7444589f3283e938c0258">DES_random_key()</a> can fail with an abort() in case of and failure to start the random generator.</p>
+<p>There is a replacement function <a class="el" href="group__hcrypto__des.html#gacd3642bcd8a7e93ea977786e5b540d5f">DES_new_random_key()</a>, however that function does not exists in OpenSSL.</p>
+<div class="fragment"><div class="line">DES_cblock key;</div><div class="line"><span class="keywordflow">do</span> {</div><div class="line"> <span class="keywordflow">if</span> (RAND_rand(&amp;key, <span class="keyword">sizeof</span>(key)) != 1)</div><div class="line"> <span class="keywordflow">goto</span> failure;</div><div class="line"> <a class="code" href="group__hcrypto__des.html#ga4179bef43ceb72cc2034f39e7d2d5ae4">DES_set_odd_parity</a>(key);</div><div class="line">} <span class="keywordflow">while</span> (<a class="code" href="group__hcrypto__des.html#ga0d8a49cafee4be6cd3922bfb6323fd2d">DES_is_weak_key</a>(&amp;key));</div></div><!-- fragment --><h1><a class="anchor" id="des_impl"></a>
+DES implementation history</h1>
+<p>There was no complete BSD licensed, fast, GPL compatible implementation of DES, so Love wrote the part that was missing, fast key schedule setup and adapted the interface to the orignal libdes.</p>
+<p>The document that got me started for real was "Efficient
+Implementation of the Data Encryption Standard" by Dag Arne Osvik. I never got to the PC1 transformation was working, instead I used table-lookup was used for all key schedule setup. The document was very useful since it de-mystified other implementations for me.</p>
+<p>The core DES function (SBOX + P transformation) is from Richard Outerbridge public domain DES implementation. My sanity is saved thanks to his work. Thank you Richard. </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/page_dh.html b/doc/doxyout/hcrypto/html/page_dh.html
index fecf6de6f00d..ca5a61db099a 100644
--- a/doc/doxyout/hcrypto/html/page_dh.html
+++ b/doc/doxyout/hcrypto/html/page_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: DH - Diffie-Hellman key exchange</title>
+<title>DH - Diffie-Hellman key exchange</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@@ -8,23 +8,30 @@
<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 class="navpath"><a class="el" href="index.html">Heimdal crypto library</a>
- </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 id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="index.html">Heimdal crypto library</a></li> </ul>
</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">DH - Diffie-Hellman key exchange </div> </div>
+</div><!--header-->
<div class="contents">
-<h1><a class="anchor" name="page_dh">DH - Diffie-Hellman key exchange </a></h1>Diffie-Hellman key exchange is a protocol that allows two parties to establish a shared secret key.<p>
-Include and example how to use <a class="el" href="group__hcrypto__dh.html#g76c6e12bd1f0b9977d80fee83b086031">DH_new()</a> and friends here.<p>
-See the library functions here: <a class="el" href="group__hcrypto__dh.html">Diffie-Hellman functions</a> </div>
+<div class="textblock"><p>Diffie-Hellman key exchange is a protocol that allows two parties to establish a shared secret key.</p>
+<p>Include and example how to use <a class="el" href="group__hcrypto__dh.html#ga76c6e12bd1f0b9977d80fee83b086031">DH_new()</a> and friends here.</p>
+<p>See the library functions here: <a class="el" href="group__hcrypto__dh.html">Diffie-Hellman functions</a> </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/page_evp.html b/doc/doxyout/hcrypto/html/page_evp.html
index 81cc72b39b33..8d405db5d294 100644
--- a/doc/doxyout/hcrypto/html/page_evp.html
+++ b/doc/doxyout/hcrypto/html/page_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 interface</title>
+<title>EVP - generic crypto interface</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@@ -8,23 +8,31 @@
<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 class="navpath"><a class="el" href="index.html">Heimdal crypto library</a>
- </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 id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="index.html">Heimdal crypto library</a></li> </ul>
</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">EVP - generic crypto interface </div> </div>
+</div><!--header-->
<div class="contents">
-<h1><a class="anchor" name="page_evp">EVP - generic crypto interface </a></h1>See the library functions here: <a class="el" href="group__hcrypto__evp.html">EVP generic crypto functions</a><h2><a class="anchor" name="evp_cipher">
-EVP Cipher</a></h2>
-The use of <a class="el" href="group__hcrypto__evp.html#g98da5a5c1aa25d9cb2e4717fa11314bd">EVP_CipherInit_ex()</a> and EVP_Cipher() is pretty easy to understand forward, then <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> really needs an example to explain <a class="el" href="example__evp__cipher_8c-example.html">example_evp_cipher::c</a> . </div>
+<div class="textblock"><p>See the library functions here: <a class="el" href="group__hcrypto__evp.html">EVP generic crypto functions</a></p>
+<h1><a class="anchor" id="evp_cipher"></a>
+EVP Cipher</h1>
+<p>The use of <a class="el" href="group__hcrypto__evp.html#ga98da5a5c1aa25d9cb2e4717fa11314bd">EVP_CipherInit_ex()</a> and EVP_Cipher() is pretty easy to understand forward, then <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> really needs an example to explain <a class="el" href="example_evp_cipher_8c-example.html">example_evp_cipher.c</a> . </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/page_rand.html b/doc/doxyout/hcrypto/html/page_rand.html
index 727954d6e9cb..c874c4bb0eec 100644
--- a/doc/doxyout/hcrypto/html/page_rand.html
+++ b/doc/doxyout/hcrypto/html/page_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 - random number</title>
+<title>RAND - random number</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@@ -8,21 +8,28 @@
<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 class="navpath"><a class="el" href="index.html">Heimdal crypto library</a>
- </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 id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="index.html">Heimdal crypto library</a></li> </ul>
</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">RAND - random number </div> </div>
+</div><!--header-->
<div class="contents">
-<h1><a class="anchor" name="page_rand">RAND - random number </a></h1>See the library functions here: <a class="el" href="group__hcrypto__rand.html">RAND crypto functions</a> </div>
+<div class="textblock"><p>See the library functions here: <a class="el" href="group__hcrypto__rand.html">RAND crypto functions</a> </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/page_rsa.html b/doc/doxyout/hcrypto/html/page_rsa.html
index 912f2362db5c..00381fe1826a 100644
--- a/doc/doxyout/hcrypto/html/page_rsa.html
+++ b/doc/doxyout/hcrypto/html/page_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 - public-key cryptography</title>
+<title>RSA - public-key cryptography</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@@ -8,24 +8,32 @@
<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 class="navpath"><a class="el" href="index.html">Heimdal crypto library</a>
- </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 id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="index.html">Heimdal crypto library</a></li> </ul>
</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">RSA - public-key cryptography </div> </div>
+</div><!--header-->
<div class="contents">
-<h1><a class="anchor" name="page_rsa">RSA - public-key cryptography </a></h1>RSA is named by its inventors (Ron Rivest, Adi Shamir, and Leonard Adleman) (published in 1977), patented expired in 21 September 2000.<p>
-Speed for RSA in seconds no key blinding 1000 iteration, same rsa keys (1024 and 2048) operation performed each eteration sign, verify, encrypt, decrypt on a random bit pattern<p>
-name 1024 2048 4098 ================================= gmp: 0.73 6.60 44.80 tfm: 2.45 -- -- ltm: 3.79 20.74 105.41 (default in hcrypto) openssl: 4.04 11.90 82.59 cdsa: 15.89 102.89 721.40 imath: 40.62 -- --<p>
-See the library functions here: <a class="el" href="group__hcrypto__rsa.html">RSA functions</a> </div>
+<div class="textblock"><p>RSA is named by its inventors (Ron Rivest, Adi Shamir, and Leonard Adleman) (published in 1977), patented expired in 21 September 2000.</p>
+<p>Speed for RSA in seconds no key blinding 1000 iteration, same rsa keys (1024 and 2048) operation performed each eteration sign, verify, encrypt, decrypt on a random bit pattern</p>
+<h1>name 1024 2048 4098 </h1>
+<p>gmp: 0.73 6.60 44.80 tfm: 2.45 &ndash; &ndash; ltm: 3.79 20.74 105.41 (default in hcrypto) openssl: 4.04 11.90 82.59 cdsa: 15.89 102.89 721.40 imath: 40.62 &ndash; &ndash;</p>
+<p>See the library functions here: <a class="el" href="group__hcrypto__rsa.html">RSA functions</a> </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/pages.html b/doc/doxyout/hcrypto/html/pages.html
new file mode 100644
index 000000000000..ec09e18e28ed
--- /dev/null
+++ b/doc/doxyout/hcrypto/html/pages.html
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>Related Pages</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">Related Pages</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">Here is a list of all related documentation pages:</div><div class="directory">
+<table class="directory">
+</table>
+</div><!-- directory -->
+</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/splitbar.png b/doc/doxyout/hcrypto/html/splitbar.png
new file mode 100644
index 000000000000..fe895f2c5817
--- /dev/null
+++ b/doc/doxyout/hcrypto/html/splitbar.png
Binary files differ
diff --git a/doc/doxyout/hcrypto/html/sync_off.png b/doc/doxyout/hcrypto/html/sync_off.png
new file mode 100644
index 000000000000..3b443fc62892
--- /dev/null
+++ b/doc/doxyout/hcrypto/html/sync_off.png
Binary files differ
diff --git a/doc/doxyout/hcrypto/html/sync_on.png b/doc/doxyout/hcrypto/html/sync_on.png
new file mode 100644
index 000000000000..e08320fb64e6
--- /dev/null
+++ b/doc/doxyout/hcrypto/html/sync_on.png
Binary files differ
diff --git a/doc/doxyout/hcrypto/html/tab_a.png b/doc/doxyout/hcrypto/html/tab_a.png
new file mode 100644
index 000000000000..3b725c41c5a5
--- /dev/null
+++ b/doc/doxyout/hcrypto/html/tab_a.png
Binary files differ
diff --git a/doc/doxyout/hcrypto/html/tab_b.gif b/doc/doxyout/hcrypto/html/tab_b.gif
deleted file mode 100644
index 0d623483ffdf..000000000000
--- a/doc/doxyout/hcrypto/html/tab_b.gif
+++ /dev/null
Binary files differ
diff --git a/doc/doxyout/hcrypto/html/tab_b.png b/doc/doxyout/hcrypto/html/tab_b.png
new file mode 100644
index 000000000000..e2b4a8638cb3
--- /dev/null
+++ b/doc/doxyout/hcrypto/html/tab_b.png
Binary files differ
diff --git a/doc/doxyout/hcrypto/html/tab_h.png b/doc/doxyout/hcrypto/html/tab_h.png
new file mode 100644
index 000000000000..fd5cb705488e
--- /dev/null
+++ b/doc/doxyout/hcrypto/html/tab_h.png
Binary files differ
diff --git a/doc/doxyout/hcrypto/html/tab_l.gif b/doc/doxyout/hcrypto/html/tab_l.gif
deleted file mode 100644
index 9b1e6337c929..000000000000
--- a/doc/doxyout/hcrypto/html/tab_l.gif
+++ /dev/null
Binary files differ
diff --git a/doc/doxyout/hcrypto/html/tab_r.gif b/doc/doxyout/hcrypto/html/tab_r.gif
deleted file mode 100644
index ce9dd9f533cb..000000000000
--- a/doc/doxyout/hcrypto/html/tab_r.gif
+++ /dev/null
Binary files differ
diff --git a/doc/doxyout/hcrypto/html/tab_s.png b/doc/doxyout/hcrypto/html/tab_s.png
new file mode 100644
index 000000000000..ab478c95b673
--- /dev/null
+++ b/doc/doxyout/hcrypto/html/tab_s.png
Binary files differ
diff --git a/doc/doxyout/hcrypto/html/tabs.css b/doc/doxyout/hcrypto/html/tabs.css
index 95f00a91da30..a28614b8e3d0 100644
--- a/doc/doxyout/hcrypto/html/tabs.css
+++ b/doc/doxyout/hcrypto/html/tabs.css
@@ -1,102 +1 @@
-/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */
-
-DIV.tabs
-{
- float : left;
- width : 100%;
- background : url("tab_b.gif") repeat-x bottom;
- margin-bottom : 4px;
-}
-
-DIV.tabs UL
-{
- margin : 0px;
- padding-left : 10px;
- list-style : none;
-}
-
-DIV.tabs LI, DIV.tabs FORM
-{
- display : inline;
- margin : 0px;
- padding : 0px;
-}
-
-DIV.tabs FORM
-{
- float : right;
-}
-
-DIV.tabs A
-{
- float : left;
- background : url("tab_r.gif") no-repeat right top;
- border-bottom : 1px solid #84B0C7;
- font-size : x-small;
- font-weight : bold;
- text-decoration : none;
-}
-
-DIV.tabs A:hover
-{
- background-position: 100% -150px;
-}
-
-DIV.tabs A:link, DIV.tabs A:visited,
-DIV.tabs A:active, DIV.tabs A:hover
-{
- color: #1A419D;
-}
-
-DIV.tabs SPAN
-{
- float : left;
- display : block;
- background : url("tab_l.gif") no-repeat left top;
- padding : 5px 9px;
- white-space : nowrap;
-}
-
-DIV.tabs INPUT
-{
- float : right;
- display : inline;
- font-size : 1em;
-}
-
-DIV.tabs TD
-{
- font-size : x-small;
- font-weight : bold;
- text-decoration : none;
-}
-
-
-
-/* Commented Backslash Hack hides rule from IE5-Mac \*/
-DIV.tabs SPAN {float : none;}
-/* End IE5-Mac hack */
-
-DIV.tabs A:hover SPAN
-{
- background-position: 0% -150px;
-}
-
-DIV.tabs LI.current A
-{
- background-position: 100% -150px;
- border-width : 0px;
-}
-
-DIV.tabs LI.current SPAN
-{
- background-position: 0% -150px;
- padding-bottom : 6px;
-}
-
-DIV.navpath
-{
- background : none;
- border : none;
- border-bottom : 1px solid #84B0C7;
-}
+.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}#doc-content{overflow:auto;display:block;padding:0;margin:0;-webkit-overflow-scrolling:touch}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0 1px 1px rgba(255,255,255,0.9);color:#283a5d;outline:0}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace!important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283a5d transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;-moz-border-radius:0!important;-webkit-border-radius:0;border-radius:0!important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a:hover span.sub-arrow{border-color:white transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;-moz-border-radius:5px!important;-webkit-border-radius:5px;border-radius:5px!important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0!important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent white}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px!important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}} \ No newline at end of file
diff --git a/doc/doxyout/hcrypto/man/man3/OSSL_CIPHER_ALGORITHM.3 b/doc/doxyout/hcrypto/man/man3/OSSL_CIPHER_ALGORITHM.3
new file mode 100644
index 000000000000..d526f956e4fb
--- /dev/null
+++ b/doc/doxyout/hcrypto/man/man3/OSSL_CIPHER_ALGORITHM.3
@@ -0,0 +1 @@
+.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/PKCS5_PBKDF2_HMAC.3 b/doc/doxyout/hcrypto/man/man3/PKCS5_PBKDF2_HMAC.3
new file mode 100644
index 000000000000..a6545bd8d828
--- /dev/null
+++ b/doc/doxyout/hcrypto/man/man3/PKCS5_PBKDF2_HMAC.3
@@ -0,0 +1 @@
+.so man3/hcrypto_misc.3
diff --git a/doc/doxyout/hcrypto/man/man3/WINCNG_CIPHER_ALGORITHM.3 b/doc/doxyout/hcrypto/man/man3/WINCNG_CIPHER_ALGORITHM.3
new file mode 100644
index 000000000000..d526f956e4fb
--- /dev/null
+++ b/doc/doxyout/hcrypto/man/man3/WINCNG_CIPHER_ALGORITHM.3
@@ -0,0 +1 @@
+.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/WINCNG_CIPHER_ALGORITHM_UNAVAILABLE.3 b/doc/doxyout/hcrypto/man/man3/WINCNG_CIPHER_ALGORITHM_UNAVAILABLE.3
new file mode 100644
index 000000000000..d526f956e4fb
--- /dev/null
+++ b/doc/doxyout/hcrypto/man/man3/WINCNG_CIPHER_ALGORITHM_UNAVAILABLE.3
@@ -0,0 +1 @@
+.so man3/hcrypto_evp.3
diff --git a/doc/doxyout/hcrypto/man/man3/hcrypto_core.3 b/doc/doxyout/hcrypto/man/man3/hcrypto_core.3
index f7d829aee197..dbb50b0fab84 100644
--- a/doc/doxyout/hcrypto/man/man3/hcrypto_core.3
+++ b/doc/doxyout/hcrypto/man/man3/hcrypto_core.3
@@ -1,8 +1,11 @@
-.TH "hcrypto function controlling behavior" 3 "11 Jan 2012" "Version 1.5.2" "Heimdal crypto library" \" -*- nroff -*-
+.TH "hcrypto_core" 3 "Fri Dec 8 2017" "Version 7.5.0" "Heimdal crypto library" \" -*- nroff -*-
.ad l
.nh
.SH NAME
-hcrypto function controlling behavior \-
+hcrypto_core
+.SH SYNOPSIS
+.br
+.PP
.SS "Functions"
.in +1c
@@ -28,49 +31,47 @@ hcrypto function controlling behavior \-
.SH "Function Documentation"
.PP
.SS "int EVP_CIPHER_CTX_ctrl (EVP_CIPHER_CTX * ctx, int type, int arg, void * data)"
-.PP
Perform a operation on a ctx
.PP
\fBParameters:\fP
.RS 4
-\fIctx\fP context to perform operation on.
+\fIctx\fP context to perform operation on\&.
.br
-\fItype\fP type of operation.
+\fItype\fP type of operation\&.
.br
-\fIarg\fP argument to operation.
+\fIarg\fP argument to operation\&.
.br
-\fIdata\fP addition data to operation.
+\fIdata\fP addition data to operation\&.
.RE
.PP
\fBReturns:\fP
.RS 4
-1 for success, 0 for failure.
+1 for success, 0 for failure\&.
.RE
.PP
.SS "int EVP_CIPHER_CTX_rand_key (EVP_CIPHER_CTX * ctx, void * key)"
-.PP
-Generate a random key for the specificed EVP_CIPHER.
+Generate a random key for the specificed EVP_CIPHER\&.
.PP
\fBParameters:\fP
.RS 4
-\fIctx\fP EVP_CIPHER_CTX type to build the key for.
+\fIctx\fP EVP_CIPHER_CTX type to build the key for\&.
.br
-\fIkey\fP return key, must be at least \fBEVP_CIPHER_key_length()\fP byte long.
+\fIkey\fP return key, must be at least \fBEVP_CIPHER_key_length()\fP byte long\&.
.RE
.PP
\fBReturns:\fP
.RS 4
-1 for success, 0 for failure.
+1 for success, 0 for failure\&.
.RE
.PP
.SS "void OpenSSL_add_all_algorithms (void)"
-.PP
-Add all algorithms to the crypto core.
+Add all algorithms to the crypto core\&.
.SS "void OpenSSL_add_all_algorithms_conf (void)"
-.PP
-Add all algorithms to the crypto core using configuration file.
+Add all algorithms to the crypto core using configuration file\&.
.SS "void OpenSSL_add_all_algorithms_noconf (void)"
-.PP
-Add all algorithms to the crypto core, but don't use the configuration file.
+Add all algorithms to the crypto core, but don't use the configuration file\&.
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Heimdal crypto library from the source code\&.
diff --git a/doc/doxyout/hcrypto/man/man3/hcrypto_des.3 b/doc/doxyout/hcrypto/man/man3/hcrypto_des.3
index fd70a60a30e8..5459961fb3ca 100644
--- a/doc/doxyout/hcrypto/man/man3/hcrypto_des.3
+++ b/doc/doxyout/hcrypto/man/man3/hcrypto_des.3
@@ -1,8 +1,11 @@
-.TH "DES crypto functions" 3 "11 Jan 2012" "Version 1.5.2" "Heimdal crypto library" \" -*- nroff -*-
+.TH "hcrypto_des" 3 "Fri Dec 8 2017" "Version 7.5.0" "Heimdal crypto library" \" -*- nroff -*-
.ad l
.nh
.SH NAME
-DES crypto functions \-
+hcrypto_des
+.SH SYNOPSIS
+.br
+.PP
.SS "Functions"
.in +1c
@@ -66,14 +69,13 @@ DES crypto functions \-
.in -1c
.SH "Detailed Description"
.PP
-See the \fBDES - Data Encryption Standard crypto interface\fP for description and examples.
+See the \fBDES - Data Encryption Standard crypto interface\fP for description and examples\&.
.SH "Function Documentation"
.PP
.SS "uint32_t DES_cbc_cksum (const void * in, DES_cblock * output, long length, DES_key_schedule * ks, DES_cblock * iv)"
+Crete a checksum using DES in CBC encryption mode\&. This mode is only used for Kerberos 4, and it should stay that way\&.
.PP
-Crete a checksum using DES in CBC encryption mode. This mode is only used for Kerberos 4, and it should stay that way.
-.PP
-The IV must always be diffrent for diffrent input data blocks.
+The IV must always be diffrent for diffrent input data blocks\&.
.PP
\fBParameters:\fP
.RS 4
@@ -90,10 +92,9 @@ The IV must always be diffrent for diffrent input data blocks.
.PP
.SS "void DES_cbc_encrypt (const void * in, void * out, long length, DES_key_schedule * ks, DES_cblock * iv, int encp)"
+Encrypt/decrypt a block using DES in Chain Block Cipher mode (cbc)\&.
.PP
-Encrypt/decrypt a block using DES in Chain Block Cipher mode (cbc).
-.PP
-The IV must always be diffrent for diffrent input data blocks.
+The IV must always be diffrent for diffrent input data blocks\&.
.PP
\fBParameters:\fP
.RS 4
@@ -107,15 +108,14 @@ The IV must always be diffrent for diffrent input data blocks.
.br
\fIiv\fP initial vector to use
.br
-\fIencp\fP if non zero, encrypt. if zero, decrypt.
+\fIencp\fP if non zero, encrypt\&. if zero, decrypt\&.
.RE
.PP
.SS "void DES_cfb64_encrypt (const void * in, void * out, long length, DES_key_schedule * ks, DES_cblock * iv, int * num, int encp)"
+Encrypt/decrypt using DES in cipher feedback mode with 64 bit feedback\&.
.PP
-Encrypt/decrypt using DES in cipher feedback mode with 64 bit feedback.
-.PP
-The IV must always be diffrent for diffrent input data blocks.
+The IV must always be diffrent for diffrent input data blocks\&.
.PP
\fBParameters:\fP
.RS 4
@@ -129,30 +129,28 @@ The IV must always be diffrent for diffrent input data blocks.
.br
\fIiv\fP initial vector to use
.br
-\fInum\fP offset into in cipher block encryption/decryption stop last time.
+\fInum\fP offset into in cipher block encryption/decryption stop last time\&.
.br
-\fIencp\fP if non zero, encrypt. if zero, decrypt.
+\fIencp\fP if non zero, encrypt\&. if zero, decrypt\&.
.RE
.PP
.SS "int HC_DEPRECATED DES_check_key_parity (DES_cblock * key)"
-.PP
-Check if the key have correct parity.
+Check if the key have correct parity\&.
.PP
\fBParameters:\fP
.RS 4
-\fIkey\fP key to check the parity.
+\fIkey\fP key to check the parity\&.
.RE
.PP
\fBReturns:\fP
.RS 4
-1 on success, 0 on failure.
+1 on success, 0 on failure\&.
.RE
.PP
.SS "void DES_ecb3_encrypt (DES_cblock * input, DES_cblock * output, DES_key_schedule * ks1, DES_key_schedule * ks2, DES_key_schedule * ks3, int encp)"
-.PP
-Encrypt/decrypt a block using triple DES using EDE mode, encrypt/decrypt/encrypt.
+Encrypt/decrypt a block using triple DES using EDE mode, encrypt/decrypt/encrypt\&.
.PP
\fBParameters:\fP
.RS 4
@@ -166,13 +164,12 @@ Encrypt/decrypt a block using triple DES using EDE mode, encrypt/decrypt/encrypt
.br
\fIks3\fP key schedule to use
.br
-\fIencp\fP if non zero, encrypt. if zero, decrypt.
+\fIencp\fP if non zero, encrypt\&. if zero, decrypt\&.
.RE
.PP
.SS "void DES_ecb_encrypt (DES_cblock * input, DES_cblock * output, DES_key_schedule * ks, int encp)"
-.PP
-Encrypt/decrypt a block using DES.
+Encrypt/decrypt a block using DES\&.
.PP
\fBParameters:\fP
.RS 4
@@ -182,15 +179,14 @@ Encrypt/decrypt a block using DES.
.br
\fIks\fP key schedule to use
.br
-\fIencp\fP if non zero, encrypt. if zero, decrypt.
+\fIencp\fP if non zero, encrypt\&. if zero, decrypt\&.
.RE
.PP
.SS "void DES_ede3_cbc_encrypt (const void * in, void * out, long length, DES_key_schedule * ks1, DES_key_schedule * ks2, DES_key_schedule * ks3, DES_cblock * iv, int encp)"
+Encrypt/decrypt using Triple DES in Chain Block Cipher mode (cbc)\&.
.PP
-Encrypt/decrypt using Triple DES in Chain Block Cipher mode (cbc).
-.PP
-The IV must always be diffrent for diffrent input data blocks.
+The IV must always be diffrent for diffrent input data blocks\&.
.PP
\fBParameters:\fP
.RS 4
@@ -208,13 +204,12 @@ The IV must always be diffrent for diffrent input data blocks.
.br
\fIiv\fP initial vector to use
.br
-\fIencp\fP if non zero, encrypt. if zero, decrypt.
+\fIencp\fP if non zero, encrypt\&. if zero, decrypt\&.
.RE
.PP
.SS "void DES_encrypt (uint32_t u[2], DES_key_schedule * ks, int encp)"
-.PP
-Encrypt/decrypt a block using DES. Also called ECB mode
+Encrypt/decrypt a block using DES\&. Also called ECB mode
.PP
\fBParameters:\fP
.RS 4
@@ -222,72 +217,67 @@ Encrypt/decrypt a block using DES. Also called ECB mode
.br
\fIks\fP key schedule to use
.br
-\fIencp\fP if non zero, encrypt. if zero, decrypt.
+\fIencp\fP if non zero, encrypt\&. if zero, decrypt\&.
.RE
.PP
.SS "void HC_DEPRECATED DES_init_random_number_generator (DES_cblock * seed)"
-.PP
-Seed the random number generator. Deprecated, use \fBRAND - random number\fP
+Seed the random number generator\&. Deprecated, use \fBRAND - random number\fP
.PP
\fBParameters:\fP
.RS 4
-\fIseed\fP a seed to seed that random number generate with.
+\fIseed\fP a seed to seed that random number generate with\&.
.RE
.PP
.SS "int DES_is_weak_key (DES_cblock * key)"
-.PP
-Checks if the key is any of the weaks keys that makes DES attacks trival.
+Checks if the key is any of the weaks keys that makes DES attacks trival\&.
.PP
\fBParameters:\fP
.RS 4
-\fIkey\fP key to check.
+\fIkey\fP key to check\&.
.RE
.PP
\fBReturns:\fP
.RS 4
-1 if the key is weak, 0 otherwise.
+1 if the key is weak, 0 otherwise\&.
.RE
.PP
.SS "int DES_key_sched (DES_cblock * key, DES_key_schedule * ks)"
-.PP
-Compatibility function for eay libdes, works just like \fBDES_set_key_checked()\fP.
+Compatibility function for eay libdes, works just like \fBDES_set_key_checked()\fP\&.
.PP
\fBParameters:\fP
.RS 4
-\fIkey\fP a key to initialize the key schedule with.
+\fIkey\fP a key to initialize the key schedule with\&.
.br
-\fIks\fP a key schedule to initialize.
+\fIks\fP a key schedule to initialize\&.
.RE
.PP
\fBReturns:\fP
.RS 4
-0 on success, -1 on invalid parity, -2 on weak key.
+0 on success, -1 on invalid parity, -2 on weak key\&.
.RE
.PP
.SS "int HC_DEPRECATED DES_new_random_key (DES_cblock * key)"
-.PP
-Generate a random des key using a random block, fixup parity and skip weak keys.
+Generate a random des key using a random block, fixup parity and skip weak keys\&.
.PP
\fBParameters:\fP
.RS 4
-\fIkey\fP is set to a random key.
+\fIkey\fP is set to a random key\&.
.RE
.PP
\fBReturns:\fP
.RS 4
-0 on success, non zero on random number generator failure.
+0 on success, non zero on random number generator failure\&.
.RE
.PP
.SS "void DES_pcbc_encrypt (const void * in, void * out, long length, DES_key_schedule * ks, DES_cblock * iv, int encp)"
+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\&.
.PP
-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.
-.PP
-The IV must always be diffrent for diffrent input data blocks.
+The IV must always be diffrent for diffrent input data blocks\&.
.PP
\fBParameters:\fP
.RS 4
@@ -301,29 +291,27 @@ The IV must always be diffrent for diffrent input data blocks.
.br
\fIiv\fP initial vector to use
.br
-\fIencp\fP if non zero, encrypt. if zero, decrypt.
+\fIencp\fP if non zero, encrypt\&. if zero, decrypt\&.
.RE
.PP
.SS "void HC_DEPRECATED DES_random_key (DES_cblock * key)"
-.PP
-Generate a random key, deprecated since it doesn't return an error code, use \fBDES_new_random_key()\fP.
+Generate a random key, deprecated since it doesn't return an error code, use \fBDES_new_random_key()\fP\&.
.PP
\fBParameters:\fP
.RS 4
-\fIkey\fP is set to a random key.
+\fIkey\fP is set to a random key\&.
.RE
.PP
.SS "int HC_DEPRECATED DES_set_key (DES_cblock * key, DES_key_schedule * ks)"
-.PP
-Setup a des key schedule from a key. Deprecated function, use \fBDES_set_key_unchecked()\fP or \fBDES_set_key_checked()\fP instead.
+Setup a des key schedule from a key\&. Deprecated function, use \fBDES_set_key_unchecked()\fP or \fBDES_set_key_checked()\fP instead\&.
.PP
\fBParameters:\fP
.RS 4
-\fIkey\fP a key to initialize the key schedule with.
+\fIkey\fP a key to initialize the key schedule with\&.
.br
-\fIks\fP a key schedule to initialize.
+\fIks\fP a key schedule to initialize\&.
.RE
.PP
\fBReturns:\fP
@@ -333,33 +321,31 @@ Setup a des key schedule from a key. Deprecated function, use \fBDES_set_key_unc
.PP
.SS "int DES_set_key_checked (DES_cblock * key, DES_key_schedule * ks)"
-.PP
-Just like \fBDES_set_key_unchecked()\fP except checking that the key is not weak for or have correct parity.
+Just like \fBDES_set_key_unchecked()\fP except checking that the key is not weak for or have correct parity\&.
.PP
\fBParameters:\fP
.RS 4
-\fIkey\fP a key to initialize the key schedule with.
+\fIkey\fP a key to initialize the key schedule with\&.
.br
-\fIks\fP a key schedule to initialize.
+\fIks\fP a key schedule to initialize\&.
.RE
.PP
\fBReturns:\fP
.RS 4
-0 on success, -1 on invalid parity, -2 on weak key.
+0 on success, -1 on invalid parity, -2 on weak key\&.
.RE
.PP
.SS "int DES_set_key_unchecked (DES_cblock * key, DES_key_schedule * ks)"
+Setup a des key schedule from a key\&. The key is no longer needed after this transaction and can cleared\&.
.PP
-Setup a des key schedule from a key. The key is no longer needed after this transaction and can cleared.
-.PP
-Does NOT check that the key is weak for or have wrong parity.
+Does NOT check that the key is weak for or have wrong parity\&.
.PP
\fBParameters:\fP
.RS 4
-\fIkey\fP a key to initialize the key schedule with.
+\fIkey\fP a key to initialize the key schedule with\&.
.br
-\fIks\fP a key schedule to initialize.
+\fIks\fP a key schedule to initialize\&.
.RE
.PP
\fBReturns:\fP
@@ -369,18 +355,16 @@ Does NOT check that the key is weak for or have wrong parity.
.PP
.SS "void DES_set_odd_parity (DES_cblock * key)"
-.PP
-Set the parity of the key block, used to generate a des key from a random key. See \fBDES key generation\fP.
+Set the parity of the key block, used to generate a des key from a random key\&. See \fBDES key generation\fP\&.
.PP
\fBParameters:\fP
.RS 4
-\fIkey\fP key to fixup the parity for.
+\fIkey\fP key to fixup the parity for\&.
.RE
.PP
.SS "void DES_string_to_key (const char * str, DES_cblock * key)"
-.PP
-Convert a string to a DES key. Use something like \fBPKCS5_PBKDF2_HMAC_SHA1()\fP to create key from passwords.
+Convert a string to a DES key\&. Use something like \fBPKCS5_PBKDF2_HMAC_SHA1()\fP to create key from passwords\&.
.PP
\fBParameters:\fP
.RS 4
@@ -390,3 +374,6 @@ Convert a string to a DES key. Use something like \fBPKCS5_PBKDF2_HMAC_SHA1()\fP
.RE
.PP
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Heimdal crypto library from the source code\&.
diff --git a/doc/doxyout/hcrypto/man/man3/hcrypto_dh.3 b/doc/doxyout/hcrypto/man/man3/hcrypto_dh.3
index 035faf2e279c..8be0607585e3 100644
--- a/doc/doxyout/hcrypto/man/man3/hcrypto_dh.3
+++ b/doc/doxyout/hcrypto/man/man3/hcrypto_dh.3
@@ -1,8 +1,11 @@
-.TH "Diffie-Hellman functions" 3 "11 Jan 2012" "Version 1.5.2" "Heimdal crypto library" \" -*- nroff -*-
+.TH "hcrypto_dh" 3 "Fri Dec 8 2017" "Version 7.5.0" "Heimdal crypto library" \" -*- nroff -*-
.ad l
.nh
.SH NAME
-Diffie-Hellman functions \-
+hcrypto_dh
+.SH SYNOPSIS
+.br
+.PP
.SS "Functions"
.in +1c
@@ -57,20 +60,19 @@ Diffie-Hellman functions \-
.in -1c
.SH "Detailed Description"
.PP
-See the \fBDH - Diffie-Hellman key exchange\fP for description and examples.
+See the \fBDH - Diffie-Hellman key exchange\fP for description and examples\&.
.SH "Function Documentation"
.PP
.SS "int DH_check_pubkey (const DH * dh, const BIGNUM * pub_key, int * codes)"
-.PP
-Check that the public key is sane.
+Check that the public key is sane\&.
.PP
\fBParameters:\fP
.RS 4
-\fIdh\fP the local peer DH parameters.
+\fIdh\fP the local peer DH parameters\&.
.br
-\fIpub_key\fP the remote peer public key parameters.
+\fIpub_key\fP the remote peer public key parameters\&.
.br
-\fIcodes\fP return that the failures of the pub_key are.
+\fIcodes\fP return that the failures of the pub_key are\&.
.RE
.PP
\fBReturns:\fP
@@ -78,107 +80,93 @@ Check that the public key is sane.
1 on success, 0 on failure and *codes is set the the combined fail check for the public key
.RE
.PP
-
-.PP
Checks that the function performs are:
.IP "\(bu" 2
pub_key is not negative
-.PP
-.PP
.IP "\(bu" 2
-pub_key > 1 and pub_key < p - 1, to avoid small subgroups attack.
-.PP
-.PP
+pub_key > 1 and pub_key < p - 1, to avoid small subgroups attack\&.
.IP "\(bu" 2
-if g == 2, pub_key have more then one bit set, if bits set is 1, log_2(pub_key) is trival
+if g == 2, pub_key have more then one bit set, if bits set is 1, log_2(pub_key) is trival
.PP
.SS "int DH_compute_key (unsigned char * shared_key, const BIGNUM * peer_pub_key, DH * dh)"
-.PP
-Complute the shared secret key.
+Complute the shared secret key\&.
.PP
\fBParameters:\fP
.RS 4
-\fIshared_key\fP the resulting shared key, need to be at least \fBDH_size()\fP large.
+\fIshared_key\fP the resulting shared key, need to be at least \fBDH_size()\fP large\&.
.br
-\fIpeer_pub_key\fP the peer's public key.
+\fIpeer_pub_key\fP the peer's public key\&.
.br
-\fIdh\fP the dh key pair.
+\fIdh\fP the dh key pair\&.
.RE
.PP
\fBReturns:\fP
.RS 4
-1 on success.
+1 on success\&.
.RE
.PP
-
-.PP
-Checks that the pubkey passed in is valid using \fBDH_check_pubkey()\fP.
+Checks that the pubkey passed in is valid using \fBDH_check_pubkey()\fP\&.
.SS "void DH_free (DH * dh)"
-.PP
-Free a DH object and release related resources, like ENGINE, that the object was using.
+Free a DH object and release related resources, like ENGINE, that the object was using\&.
.PP
\fBParameters:\fP
.RS 4
-\fIdh\fP object to be freed.
+\fIdh\fP object to be freed\&.
.RE
.PP
.SS "int DH_generate_key (DH * dh)"
-.PP
-Generate a new DH private-public key pair. The dh parameter must be allocted first with \fBDH_new()\fP. dh->p and dp->g must be set.
+Generate a new DH private-public key pair\&. The dh parameter must be allocted first with \fBDH_new()\fP\&. dh->p and dp->g must be set\&.
.PP
\fBParameters:\fP
.RS 4
-\fIdh\fP dh parameter.
+\fIdh\fP dh parameter\&.
.RE
.PP
\fBReturns:\fP
.RS 4
-1 on success.
+1 on success\&.
.RE
.PP
.SS "int DH_generate_parameters_ex (DH * dh, int prime_len, int generator, BN_GENCB * cb)"
-.PP
-Generate DH parameters for the DH object give parameters.
+Generate DH parameters for the DH object give parameters\&.
.PP
\fBParameters:\fP
.RS 4
-\fIdh\fP The DH object to generate parameters for.
+\fIdh\fP The DH object to generate parameters for\&.
.br
\fIprime_len\fP length of the prime
.br
\fIgenerator\fP generator, g
.br
-\fIcb\fP Callback parameters to show progress, can be NULL.
+\fIcb\fP Callback parameters to show progress, can be NULL\&.
.RE
.PP
\fBReturns:\fP
.RS 4
-the maximum size in bytes of the out data.
+the maximum size in bytes of the out data\&.
.RE
.PP
.SS "const DH_METHOD* DH_get_default_method (void)"
-.PP
-Return the default DH implementation.
+Return the default DH implementation\&.
.PP
\fBReturns:\fP
.RS 4
-pointer to a DH_METHOD.
+pointer to a DH_METHOD\&.
.RE
.PP
.SS "void* DH_get_ex_data (DH * dh, int idx)"
-.PP
-Get the data for index idx in the DH object.
+Get the data for index idx in the DH object\&.
.PP
\fBParameters:\fP
.RS 4
-\fIdh\fP DH object.
+\fIdh\fP DH object\&.
.br
-\fIidx\fP index to get the data for.
+\fIidx\fP index to get the data for\&.
.RE
.PP
\fBReturns:\fP
@@ -188,123 +176,117 @@ the object store in index idx
.PP
.SS "const DH_METHOD* DH_ltm_method (void)"
-.PP
-DH implementation using libtommath.
+DH implementation using libtommath\&.
.PP
\fBReturns:\fP
.RS 4
-the DH_METHOD for the DH implementation using libtommath.
+the DH_METHOD for the DH implementation using libtommath\&.
.RE
.PP
.SS "DH* DH_new (void)"
-.PP
-Create a new DH object using DH_new_method(NULL), see \fBDH_new_method()\fP.
+Create a new DH object using DH_new_method(NULL), see \fBDH_new_method()\fP\&.
.PP
\fBReturns:\fP
.RS 4
-a newly allocated DH object.
+a newly allocated DH object\&.
.RE
.PP
.SS "DH* DH_new_method (ENGINE * engine)"
-.PP
-Create a new DH object from the given engine, if the NULL is used, the default engine is used. Free the DH object with \fBDH_free()\fP.
+Create a new DH object from the given engine, if the NULL is used, the default engine is used\&. Free the DH object with \fBDH_free()\fP\&.
.PP
\fBParameters:\fP
.RS 4
-\fIengine\fP The engine to use to allocate the DH object.
+\fIengine\fP The engine to use to allocate the DH object\&.
.RE
.PP
\fBReturns:\fP
.RS 4
-a newly allocated DH object.
+a newly allocated DH object\&.
.RE
.PP
.SS "const DH_METHOD* DH_null_method (void)"
-.PP
-Return the dummy DH implementation.
+Return the dummy DH implementation\&.
.PP
\fBReturns:\fP
.RS 4
-pointer to a DH_METHOD.
+pointer to a DH_METHOD\&.
.RE
.PP
.SS "void DH_set_default_method (const DH_METHOD * meth)"
-.PP
-Set the default DH implementation.
+Set the default DH implementation\&.
.PP
\fBParameters:\fP
.RS 4
-\fImeth\fP pointer to a DH_METHOD.
+\fImeth\fP pointer to a DH_METHOD\&.
.RE
.PP
.SS "int DH_set_ex_data (DH * dh, int idx, void * data)"
-.PP
-Set the data index idx in the DH object to data.
+Set the data index idx in the DH object to data\&.
.PP
\fBParameters:\fP
.RS 4
-\fIdh\fP DH object.
+\fIdh\fP DH object\&.
.br
-\fIidx\fP index to set the data for.
+\fIidx\fP index to set the data for\&.
.br
-\fIdata\fP data to store for the index idx.
+\fIdata\fP data to store for the index idx\&.
.RE
.PP
\fBReturns:\fP
.RS 4
-1 on success.
+1 on success\&.
.RE
.PP
.SS "int DH_set_method (DH * dh, const DH_METHOD * method)"
-.PP
-Set a new method for the DH keypair.
+Set a new method for the DH keypair\&.
.PP
\fBParameters:\fP
.RS 4
-\fIdh\fP dh parameter.
+\fIdh\fP dh parameter\&.
.br
-\fImethod\fP the new method for the DH parameter.
+\fImethod\fP the new method for the DH parameter\&.
.RE
.PP
\fBReturns:\fP
.RS 4
-1 on success.
+1 on success\&.
.RE
.PP
.SS "int DH_size (const DH * dh)"
-.PP
-The maximum output size of the \fBDH_compute_key()\fP function.
+The maximum output size of the \fBDH_compute_key()\fP function\&.
.PP
\fBParameters:\fP
.RS 4
-\fIdh\fP The DH object to get the size from.
+\fIdh\fP The DH object to get the size from\&.
.RE
.PP
\fBReturns:\fP
.RS 4
-the maximum size in bytes of the out data.
+the maximum size in bytes of the out data\&.
.RE
.PP
.SS "int DH_up_ref (DH * dh)"
-.PP
-Add a reference to the DH object. The object should be free with \fBDH_free()\fP to drop the reference.
+Add a reference to the DH object\&. The object should be free with \fBDH_free()\fP to drop the reference\&.
.PP
\fBParameters:\fP
.RS 4
-\fIdh\fP the object to increase the reference count too.
+\fIdh\fP the object to increase the reference count too\&.
.RE
.PP
\fBReturns:\fP
.RS 4
-the updated reference count, can't safely be used except for debug printing.
+the updated reference count, can't safely be used except for debug printing\&.
.RE
.PP
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Heimdal crypto library from the source code\&.
diff --git a/doc/doxyout/hcrypto/man/man3/hcrypto_evp.3 b/doc/doxyout/hcrypto/man/man3/hcrypto_evp.3
index 0997d55d5090..bc5487706999 100644
--- a/doc/doxyout/hcrypto/man/man3/hcrypto_evp.3
+++ b/doc/doxyout/hcrypto/man/man3/hcrypto_evp.3
@@ -1,8 +1,11 @@
-.TH "EVP generic crypto functions" 3 "11 Jan 2012" "Version 1.5.2" "Heimdal crypto library" \" -*- nroff -*-
+.TH "hcrypto_evp" 3 "Fri Dec 8 2017" "Version 7.5.0" "Heimdal crypto library" \" -*- nroff -*-
.ad l
.nh
.SH NAME
-EVP generic crypto functions \-
+hcrypto_evp
+.SH SYNOPSIS
+.br
+.PP
.SS "Functions"
.in +1c
@@ -73,6 +76,60 @@ EVP generic crypto functions \-
.RI "const EVP_CIPHER * \fBEVP_hcrypto_camellia_256_cbc\fP (void)"
.br
.ti -1c
+.RI "\fBOSSL_CIPHER_ALGORITHM\fP (rc2_cbc, hc_EVP_CIPH_CBC_MODE|hc_EVP_CIPH_VARIABLE_LENGTH) OSSL_CIPHER_ALGORITHM(rc2_40_cbc"
+.br
+.ti -1c
+.RI "hc_EVP_CIPH_CBC_MODE \fBOSSL_CIPHER_ALGORITHM\fP (rc2_64_cbc, hc_EVP_CIPH_CBC_MODE|hc_EVP_CIPH_VARIABLE_LENGTH) OSSL_CIPHER_ALGORITHM(rc4"
+.br
+.ti -1c
+.RI "\fBWINCNG_CIPHER_ALGORITHM\fP (des_ede3_cbc, BCRYPT_3DES_ALGORITHM, 8, 24, 8, EVP_CIPH_CBC_MODE)"
+.br
+.ti -1c
+.RI "\fBWINCNG_CIPHER_ALGORITHM\fP (des_cbc, BCRYPT_DES_ALGORITHM, 8, 8, 8, EVP_CIPH_CBC_MODE)"
+.br
+.ti -1c
+.RI "\fBWINCNG_CIPHER_ALGORITHM\fP (aes_128_cbc, BCRYPT_AES_ALGORITHM, 16, 16, 16, EVP_CIPH_CBC_MODE)"
+.br
+.ti -1c
+.RI "\fBWINCNG_CIPHER_ALGORITHM\fP (aes_192_cbc, BCRYPT_AES_ALGORITHM, 16, 24, 16, EVP_CIPH_CBC_MODE)"
+.br
+.ti -1c
+.RI "\fBWINCNG_CIPHER_ALGORITHM\fP (aes_256_cbc, BCRYPT_AES_ALGORITHM, 16, 32, 16, EVP_CIPH_CBC_MODE)"
+.br
+.ti -1c
+.RI "\fBWINCNG_CIPHER_ALGORITHM\fP (aes_128_cfb8, BCRYPT_AES_ALGORITHM, 16, 16, 16, EVP_CIPH_CFB8_MODE)"
+.br
+.ti -1c
+.RI "\fBWINCNG_CIPHER_ALGORITHM\fP (aes_192_cfb8, BCRYPT_AES_ALGORITHM, 16, 24, 16, EVP_CIPH_CFB8_MODE)"
+.br
+.ti -1c
+.RI "\fBWINCNG_CIPHER_ALGORITHM\fP (aes_256_cfb8, BCRYPT_AES_ALGORITHM, 16, 32, 16, EVP_CIPH_CFB8_MODE)"
+.br
+.ti -1c
+.RI "\fBWINCNG_CIPHER_ALGORITHM\fP (rc2_cbc, BCRYPT_RC2_ALGORITHM, 8, 16, 8, EVP_CIPH_CBC_MODE)"
+.br
+.ti -1c
+.RI "\fBWINCNG_CIPHER_ALGORITHM\fP (rc2_40_cbc, BCRYPT_RC2_ALGORITHM, 8, 5, 8, EVP_CIPH_CBC_MODE)"
+.br
+.ti -1c
+.RI "\fBWINCNG_CIPHER_ALGORITHM\fP (rc2_64_cbc, BCRYPT_RC2_ALGORITHM, 8, 8, 8, EVP_CIPH_CBC_MODE)"
+.br
+.ti -1c
+.RI "\fBWINCNG_CIPHER_ALGORITHM_UNAVAILABLE\fP (camellia_128_cbc)"
+.br
+.ti -1c
+.RI "\fBWINCNG_CIPHER_ALGORITHM_UNAVAILABLE\fP (camellia_192_cbc)"
+.br
+.ti -1c
+.RI "\fBWINCNG_CIPHER_ALGORITHM_UNAVAILABLE\fP (camellia_256_cbc)"
+.br
+.ti -1c
+.RI "\fBWINCNG_CIPHER_ALGORITHM\fP (rc4, BCRYPT_RC4_ALGORITHM, 1, 16, 0, EVP_CIPH_STREAM_CIPHER|EVP_CIPH_VARIABLE_LENGTH)"
+.br
+.ti -1c
+.RI "\fBWINCNG_CIPHER_ALGORITHM\fP (rc4_40, BCRYPT_RC4_ALGORITHM, 1, 5, 0, EVP_CIPH_STREAM_CIPHER|EVP_CIPH_VARIABLE_LENGTH)"
+.br
+.ti -1c
.RI "size_t \fBEVP_MD_size\fP (const EVP_MD *md)"
.br
.ti -1c
@@ -249,78 +306,71 @@ EVP generic crypto functions \-
.in -1c
.SH "Detailed Description"
.PP
-See the \fBEVP - generic crypto interface\fP for description and examples.
+See the \fBEVP - generic crypto interface\fP for description and examples\&.
.SH "Function Documentation"
.PP
.SS "const EVP_CIPHER* EVP_aes_128_cbc (void)"
-.PP
The AES-128 cipher type
.PP
\fBReturns:\fP
.RS 4
-the AES-128 EVP_CIPHER pointer.
+the AES-128 EVP_CIPHER pointer\&.
.RE
.PP
.PP
\fBExamples: \fP
.in +1c
-\fBexample_evp_cipher.c\fP.
+\fBexample_evp_cipher\&.c\fP\&.
.SS "const EVP_CIPHER* EVP_aes_128_cfb8 (void)"
-.PP
The AES-128 cipher type
.PP
\fBReturns:\fP
.RS 4
-the AES-128 EVP_CIPHER pointer.
+the AES-128 EVP_CIPHER pointer\&.
.RE
.PP
.SS "const EVP_CIPHER* EVP_aes_192_cbc (void)"
-.PP
The AES-192 cipher type
.PP
\fBReturns:\fP
.RS 4
-the AES-192 EVP_CIPHER pointer.
+the AES-192 EVP_CIPHER pointer\&.
.RE
.PP
.SS "const EVP_CIPHER* EVP_aes_192_cfb8 (void)"
-.PP
The AES-192 cipher type
.PP
\fBReturns:\fP
.RS 4
-the AES-192 EVP_CIPHER pointer.
+the AES-192 EVP_CIPHER pointer\&.
.RE
.PP
.SS "const EVP_CIPHER* EVP_aes_256_cbc (void)"
-.PP
The AES-256 cipher type
.PP
\fBReturns:\fP
.RS 4
-the AES-256 EVP_CIPHER pointer.
+the AES-256 EVP_CIPHER pointer\&.
.RE
.PP
.SS "const EVP_CIPHER* EVP_aes_256_cfb8 (void)"
-.PP
The AES-256 cipher type
.PP
\fBReturns:\fP
.RS 4
-the AES-256 EVP_CIPHER pointer.
+the AES-256 EVP_CIPHER pointer\&.
.RE
.PP
.SS "int EVP_BytesToKey (const EVP_CIPHER * type, const EVP_MD * md, const void * salt, const void * data, size_t datalen, unsigned int count, void * keydata, void * ivdata)"
+Provides a legancy string to key function, used in PEM files\&.
.PP
-Provides a legancy string to key function, used in PEM files.
-.PP
-New protocols should use new string to key functions like NIST SP56-800A or PKCS#5 v2.0 (see \fBPKCS5_PBKDF2_HMAC_SHA1()\fP).
+New protocols should use new string to key functions like NIST SP56-800A or PKCS#5 v2\&.0 (see \fBPKCS5_PBKDF2_HMAC_SHA1()\fP)\&.
.PP
\fBParameters:\fP
.RS 4
@@ -328,126 +378,118 @@ New protocols should use new string to key functions like NIST SP56-800A or PKCS
.br
\fImd\fP message digest to use
.br
-\fIsalt\fP salt salt string, should be an binary 8 byte buffer.
+\fIsalt\fP salt salt string, should be an binary 8 byte buffer\&.
.br
-\fIdata\fP the password/input key string.
+\fIdata\fP the password/input key string\&.
.br
-\fIdatalen\fP length of data parameter.
+\fIdatalen\fP length of data parameter\&.
.br
-\fIcount\fP iteration counter.
+\fIcount\fP iteration counter\&.
.br
-\fIkeydata\fP output keydata, needs to of the size \fBEVP_CIPHER_key_length()\fP.
+\fIkeydata\fP output keydata, needs to of the size \fBEVP_CIPHER_key_length()\fP\&.
.br
-\fIivdata\fP output ivdata, needs to of the size \fBEVP_CIPHER_block_size()\fP.
+\fIivdata\fP output ivdata, needs to of the size \fBEVP_CIPHER_block_size()\fP\&.
.RE
.PP
\fBReturns:\fP
.RS 4
-the size of derived key.
+the size of derived key\&.
.RE
.PP
.SS "const EVP_CIPHER* EVP_camellia_128_cbc (void)"
-.PP
The Camellia-128 cipher type
.PP
\fBReturns:\fP
.RS 4
-the Camellia-128 EVP_CIPHER pointer.
+the Camellia-128 EVP_CIPHER pointer\&.
.RE
.PP
.SS "const EVP_CIPHER* EVP_camellia_192_cbc (void)"
-.PP
The Camellia-198 cipher type
.PP
\fBReturns:\fP
.RS 4
-the Camellia-198 EVP_CIPHER pointer.
+the Camellia-198 EVP_CIPHER pointer\&.
.RE
.PP
.SS "const EVP_CIPHER* EVP_camellia_256_cbc (void)"
-.PP
The Camellia-256 cipher type
.PP
\fBReturns:\fP
.RS 4
-the Camellia-256 EVP_CIPHER pointer.
+the Camellia-256 EVP_CIPHER pointer\&.
.RE
.PP
.SS "size_t EVP_CIPHER_block_size (const EVP_CIPHER * c)"
-.PP
-Return the block size of the cipher.
+Return the block size of the cipher\&.
.PP
\fBParameters:\fP
.RS 4
-\fIc\fP cipher to get the block size from.
+\fIc\fP cipher to get the block size from\&.
.RE
.PP
\fBReturns:\fP
.RS 4
-the block size of the cipher.
+the block size of the cipher\&.
.RE
.PP
.PP
\fBExamples: \fP
.in +1c
-\fBexample_evp_cipher.c\fP.
+\fBexample_evp_cipher\&.c\fP\&.
.SS "size_t EVP_CIPHER_CTX_block_size (const EVP_CIPHER_CTX * ctx)"
-.PP
-Return the block size of the cipher context.
+Return the block size of the cipher context\&.
.PP
\fBParameters:\fP
.RS 4
-\fIctx\fP cipher context to get the block size from.
+\fIctx\fP cipher context to get the block size from\&.
.RE
.PP
\fBReturns:\fP
.RS 4
-the block size of the cipher context.
+the block size of the cipher context\&.
.RE
.PP
.SS "const EVP_CIPHER* EVP_CIPHER_CTX_cipher (EVP_CIPHER_CTX * ctx)"
-.PP
-Return the EVP_CIPHER for a EVP_CIPHER_CTX context.
+Return the EVP_CIPHER for a EVP_CIPHER_CTX context\&.
.PP
\fBParameters:\fP
.RS 4
-\fIctx\fP the context to get the cipher type from.
+\fIctx\fP the context to get the cipher type from\&.
.RE
.PP
\fBReturns:\fP
.RS 4
-the EVP_CIPHER pointer.
+the EVP_CIPHER pointer\&.
.RE
.PP
.SS "int EVP_CIPHER_CTX_cleanup (EVP_CIPHER_CTX * c)"
-.PP
-Clean up the EVP_CIPHER_CTX context.
+Clean up the EVP_CIPHER_CTX context\&.
.PP
\fBParameters:\fP
.RS 4
-\fIc\fP the cipher to clean up.
+\fIc\fP the cipher to clean up\&.
.RE
.PP
\fBReturns:\fP
.RS 4
-1 on success.
+1 on success\&.
.RE
.PP
.PP
\fBExamples: \fP
.in +1c
-\fBexample_evp_cipher.c\fP.
+\fBexample_evp_cipher\&.c\fP\&.
.SS "unsigned long EVP_CIPHER_CTX_flags (const EVP_CIPHER_CTX * ctx)"
-.PP
-Get the flags for an EVP_CIPHER_CTX context.
+Get the flags for an EVP_CIPHER_CTX context\&.
.PP
\fBParameters:\fP
.RS 4
@@ -456,13 +498,12 @@ Get the flags for an EVP_CIPHER_CTX context.
.PP
\fBReturns:\fP
.RS 4
-the flags for an EVP_CIPHER_CTX.
+the flags for an EVP_CIPHER_CTX\&.
.RE
.PP
.SS "void* EVP_CIPHER_CTX_get_app_data (EVP_CIPHER_CTX * ctx)"
-.PP
-Get the app data for an EVP_CIPHER_CTX context.
+Get the app data for an EVP_CIPHER_CTX context\&.
.PP
\fBParameters:\fP
.RS 4
@@ -471,57 +512,53 @@ Get the app data for an EVP_CIPHER_CTX context.
.PP
\fBReturns:\fP
.RS 4
-the app data for an EVP_CIPHER_CTX.
+the app data for an EVP_CIPHER_CTX\&.
.RE
.PP
.SS "void EVP_CIPHER_CTX_init (EVP_CIPHER_CTX * c)"
-.PP
-Initiate a EVP_CIPHER_CTX context. Clean up with \fBEVP_CIPHER_CTX_cleanup()\fP.
+Initiate a EVP_CIPHER_CTX context\&. Clean up with \fBEVP_CIPHER_CTX_cleanup()\fP\&.
.PP
\fBParameters:\fP
.RS 4
-\fIc\fP the cipher initiate.
+\fIc\fP the cipher initiate\&.
.RE
.PP
.PP
\fBExamples: \fP
.in +1c
-\fBexample_evp_cipher.c\fP.
+\fBexample_evp_cipher\&.c\fP\&.
.SS "size_t EVP_CIPHER_CTX_iv_length (const EVP_CIPHER_CTX * ctx)"
-.PP
-Return the IV size of the cipher context.
+Return the IV size of the cipher context\&.
.PP
\fBParameters:\fP
.RS 4
-\fIctx\fP cipher context to get the IV size from.
+\fIctx\fP cipher context to get the IV size from\&.
.RE
.PP
\fBReturns:\fP
.RS 4
-the IV size of the cipher context.
+the IV size of the cipher context\&.
.RE
.PP
.SS "size_t EVP_CIPHER_CTX_key_length (const EVP_CIPHER_CTX * ctx)"
-.PP
-Return the key size of the cipher context.
+Return the key size of the cipher context\&.
.PP
\fBParameters:\fP
.RS 4
-\fIctx\fP cipher context to get the key size from.
+\fIctx\fP cipher context to get the key size from\&.
.RE
.PP
\fBReturns:\fP
.RS 4
-the key size of the cipher context.
+the key size of the cipher context\&.
.RE
.PP
.SS "int EVP_CIPHER_CTX_mode (const EVP_CIPHER_CTX * ctx)"
-.PP
-Get the mode for an EVP_CIPHER_CTX context.
+Get the mode for an EVP_CIPHER_CTX context\&.
.PP
\fBParameters:\fP
.RS 4
@@ -530,24 +567,22 @@ Get the mode for an EVP_CIPHER_CTX context.
.PP
\fBReturns:\fP
.RS 4
-the mode for an EVP_CIPHER_CTX.
+the mode for an EVP_CIPHER_CTX\&.
.RE
.PP
.SS "void EVP_CIPHER_CTX_set_app_data (EVP_CIPHER_CTX * ctx, void * data)"
-.PP
-Set the app data for an EVP_CIPHER_CTX context.
+Set the app data for an EVP_CIPHER_CTX context\&.
.PP
\fBParameters:\fP
.RS 4
\fIctx\fP the EVP_CIPHER_CTX to set the app data for
.br
-\fIdata\fP the app data to set for an EVP_CIPHER_CTX.
+\fIdata\fP the app data to set for an EVP_CIPHER_CTX\&.
.RE
.PP
.SS "int EVP_CIPHER_CTX_set_key_length (EVP_CIPHER_CTX * c, int length)"
-.PP
If the cipher type supports it, change the key length
.PP
\fBParameters:\fP
@@ -559,160 +594,150 @@ If the cipher type supports it, change the key length
.PP
\fBReturns:\fP
.RS 4
-1 on success.
+1 on success\&.
.RE
.PP
.SS "size_t EVP_CIPHER_iv_length (const EVP_CIPHER * c)"
-.PP
-Return the IV size of the cipher.
+Return the IV size of the cipher\&.
.PP
\fBParameters:\fP
.RS 4
-\fIc\fP cipher to get the IV size from.
+\fIc\fP cipher to get the IV size from\&.
.RE
.PP
\fBReturns:\fP
.RS 4
-the IV size of the cipher.
+the IV size of the cipher\&.
.RE
.PP
.PP
\fBExamples: \fP
.in +1c
-\fBexample_evp_cipher.c\fP.
+\fBexample_evp_cipher\&.c\fP\&.
.SS "size_t EVP_CIPHER_key_length (const EVP_CIPHER * c)"
-.PP
-Return the key size of the cipher.
+Return the key size of the cipher\&.
.PP
\fBParameters:\fP
.RS 4
-\fIc\fP cipher to get the key size from.
+\fIc\fP cipher to get the key size from\&.
.RE
.PP
\fBReturns:\fP
.RS 4
-the key size of the cipher.
+the key size of the cipher\&.
.RE
.PP
.PP
\fBExamples: \fP
.in +1c
-\fBexample_evp_cipher.c\fP.
+\fBexample_evp_cipher\&.c\fP\&.
.SS "int EVP_CipherFinal_ex (EVP_CIPHER_CTX * ctx, void * out, int * outlen)"
-.PP
Encipher/decipher final data
.PP
\fBParameters:\fP
.RS 4
-\fIctx\fP the cipher context.
+\fIctx\fP the cipher context\&.
.br
-\fIout\fP output data from the operation.
+\fIout\fP output data from the operation\&.
.br
\fIoutlen\fP output length
.RE
.PP
-The input length needs to be at least \fBEVP_CIPHER_block_size()\fP bytes long.
+The input length needs to be at least \fBEVP_CIPHER_block_size()\fP bytes long\&.
.PP
-See \fBEVP Cipher\fP for an example how to use this function.
+See \fBEVP Cipher\fP for an example how to use this function\&.
.PP
\fBReturns:\fP
.RS 4
-1 on success.
+1 on success\&.
.RE
.PP
.PP
\fBExamples: \fP
.in +1c
-\fBexample_evp_cipher.c\fP.
+\fBexample_evp_cipher\&.c\fP\&.
.SS "int EVP_CipherInit_ex (EVP_CIPHER_CTX * ctx, const EVP_CIPHER * c, ENGINE * engine, const void * key, const void * iv, int encp)"
-.PP
-Initiate the EVP_CIPHER_CTX context to encrypt or decrypt data. Clean up with \fBEVP_CIPHER_CTX_cleanup()\fP.
+Initiate the EVP_CIPHER_CTX context to encrypt or decrypt data\&. Clean up with \fBEVP_CIPHER_CTX_cleanup()\fP\&.
.PP
\fBParameters:\fP
.RS 4
\fIctx\fP context to initiate
.br
-\fIc\fP cipher to use.
+\fIc\fP cipher to use\&.
.br
-\fIengine\fP crypto engine to use, NULL to select default.
+\fIengine\fP crypto engine to use, NULL to select default\&.
.br
-\fIkey\fP the crypto key to use, NULL will use the previous value.
+\fIkey\fP the crypto key to use, NULL will use the previous value\&.
.br
-\fIiv\fP the IV to use, NULL will use the previous value.
+\fIiv\fP the IV to use, NULL will use the previous value\&.
.br
-\fIencp\fP non zero will encrypt, -1 use the previous value.
+\fIencp\fP non zero will encrypt, -1 use the previous value\&.
.RE
.PP
\fBReturns:\fP
.RS 4
-1 on success.
+1 on success\&.
.RE
.PP
.PP
\fBExamples: \fP
.in +1c
-\fBexample_evp_cipher.c\fP.
+\fBexample_evp_cipher\&.c\fP\&.
.SS "int EVP_CipherUpdate (EVP_CIPHER_CTX * ctx, void * out, int * outlen, void * in, size_t inlen)"
-.PP
Encipher/decipher partial data
.PP
\fBParameters:\fP
.RS 4
-\fIctx\fP the cipher context.
+\fIctx\fP the cipher context\&.
.br
-\fIout\fP output data from the operation.
+\fIout\fP output data from the operation\&.
.br
\fIoutlen\fP output length
.br
-\fIin\fP input data to the operation.
+\fIin\fP input data to the operation\&.
.br
-\fIinlen\fP length of data.
+\fIinlen\fP length of data\&.
.RE
.PP
-The output buffer length should at least be \fBEVP_CIPHER_block_size()\fP byte longer then the input length.
+The output buffer length should at least be \fBEVP_CIPHER_block_size()\fP byte longer then the input length\&.
.PP
-See \fBEVP Cipher\fP for an example how to use this function.
+See \fBEVP Cipher\fP for an example how to use this function\&.
.PP
\fBReturns:\fP
.RS 4
-1 on success.
+1 on success\&.
.RE
.PP
-
-.PP
-If there in no spare bytes in the left from last Update and the input length is on the block boundery, the \fBEVP_CipherUpdate()\fP 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.
+If there in no spare bytes in the left from last Update and the input length is on the block boundery, the \fBEVP_CipherUpdate()\fP 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\&.
.PP
\fBExamples: \fP
.in +1c
-\fBexample_evp_cipher.c\fP.
+\fBexample_evp_cipher\&.c\fP\&.
.SS "const EVP_CIPHER* EVP_des_cbc (void)"
-.PP
The DES cipher type
.PP
\fBReturns:\fP
.RS 4
-the DES-CBC EVP_CIPHER pointer.
+the DES-CBC EVP_CIPHER pointer\&.
.RE
.PP
.SS "const EVP_CIPHER* EVP_des_ede3_cbc (void)"
-.PP
-The tripple DES cipher type
+The triple DES cipher type
.PP
\fBReturns:\fP
.RS 4
-the DES-EDE3-CBC EVP_CIPHER pointer.
+the DES-EDE3-CBC EVP_CIPHER pointer\&.
.RE
.PP
.SS "int EVP_Digest (const void * data, size_t dsize, void * hash, unsigned int * hsize, const EVP_MD * md, ENGINE * engine)"
-.PP
-Do the whole \fBEVP_MD_CTX_create()\fP, \fBEVP_DigestInit_ex()\fP, \fBEVP_DigestUpdate()\fP, \fBEVP_DigestFinal_ex()\fP, \fBEVP_MD_CTX_destroy()\fP dance in one call.
+Do the whole \fBEVP_MD_CTX_create()\fP, \fBEVP_DigestInit_ex()\fP, \fBEVP_DigestUpdate()\fP, \fBEVP_DigestFinal_ex()\fP, \fBEVP_MD_CTX_destroy()\fP dance in one call\&.
.PP
\fBParameters:\fP
.RS 4
@@ -720,62 +745,59 @@ Do the whole \fBEVP_MD_CTX_create()\fP, \fBEVP_DigestInit_ex()\fP, \fBEVP_Digest
.br
\fIdsize\fP length of data
.br
-\fIhash\fP output data of at least \fBEVP_MD_size()\fP length.
+\fIhash\fP output data of at least \fBEVP_MD_size()\fP length\&.
.br
-\fIhsize\fP output length of hash.
+\fIhsize\fP output length of hash\&.
.br
\fImd\fP message digest to use
.br
-\fIengine\fP engine to use, NULL for default engine.
+\fIengine\fP engine to use, NULL for default engine\&.
.RE
.PP
\fBReturns:\fP
.RS 4
-1 on success.
+1 on success\&.
.RE
.PP
.SS "int EVP_DigestFinal_ex (EVP_MD_CTX * ctx, void * hash, unsigned int * size)"
-.PP
-Complete the message digest.
+Complete the message digest\&.
.PP
\fBParameters:\fP
.RS 4
-\fIctx\fP the context to complete.
+\fIctx\fP the context to complete\&.
.br
-\fIhash\fP the output of the message digest function. At least \fBEVP_MD_size()\fP.
+\fIhash\fP the output of the message digest function\&. At least \fBEVP_MD_size()\fP\&.
.br
-\fIsize\fP the output size of hash.
+\fIsize\fP the output size of hash\&.
.RE
.PP
\fBReturns:\fP
.RS 4
-1 on success.
+1 on success\&.
.RE
.PP
.SS "int EVP_DigestInit_ex (EVP_MD_CTX * ctx, const EVP_MD * md, ENGINE * engine)"
-.PP
-Init a EVP_MD_CTX for use a specific message digest and engine.
+Init a EVP_MD_CTX for use a specific message digest and engine\&.
.PP
\fBParameters:\fP
.RS 4
-\fIctx\fP the message digest context to init.
+\fIctx\fP the message digest context to init\&.
.br
-\fImd\fP the message digest to use.
+\fImd\fP the message digest to use\&.
.br
-\fIengine\fP the engine to use, NULL to use the default engine.
+\fIengine\fP the engine to use, NULL to use the default engine\&.
.RE
.PP
\fBReturns:\fP
.RS 4
-1 on success.
+1 on success\&.
.RE
.PP
.SS "int EVP_DigestUpdate (EVP_MD_CTX * ctx, const void * data, size_t size)"
-.PP
-Update the digest with some data.
+Update the digest with some data\&.
.PP
\fBParameters:\fP
.RS 4
@@ -788,278 +810,251 @@ Update the digest with some data.
.PP
\fBReturns:\fP
.RS 4
-1 on success.
+1 on success\&.
.RE
.PP
.SS "const EVP_CIPHER* EVP_enc_null (void)"
-.PP
-The NULL cipher type, does no encryption/decryption.
+The NULL cipher type, does no encryption/decryption\&.
.PP
\fBReturns:\fP
.RS 4
-the null EVP_CIPHER pointer.
+the null EVP_CIPHER pointer\&.
.RE
.PP
.SS "const EVP_CIPHER* EVP_get_cipherbyname (const char * name)"
-.PP
-Get the cipher type using their name.
+Get the cipher type using their name\&.
.PP
\fBParameters:\fP
.RS 4
-\fIname\fP the name of the cipher.
+\fIname\fP the name of the cipher\&.
.RE
.PP
\fBReturns:\fP
.RS 4
-the selected EVP_CIPHER pointer or NULL if not found.
+the selected EVP_CIPHER pointer or NULL if not found\&.
.RE
.PP
.SS "const EVP_CIPHER* EVP_hcrypto_aes_128_cbc (void)"
-.PP
The AES-128 cipher type (hcrypto)
.PP
\fBReturns:\fP
.RS 4
-the AES-128 EVP_CIPHER pointer.
+the AES-128 EVP_CIPHER pointer\&.
.RE
.PP
.SS "const EVP_CIPHER* EVP_hcrypto_aes_128_cfb8 (void)"
-.PP
The AES-128 CFB8 cipher type (hcrypto)
.PP
\fBReturns:\fP
.RS 4
-the AES-128 EVP_CIPHER pointer.
+the AES-128 EVP_CIPHER pointer\&.
.RE
.PP
.SS "const EVP_CIPHER* EVP_hcrypto_aes_192_cbc (void)"
-.PP
The AES-192 cipher type (hcrypto)
.PP
\fBReturns:\fP
.RS 4
-the AES-192 EVP_CIPHER pointer.
+the AES-192 EVP_CIPHER pointer\&.
.RE
.PP
.SS "const EVP_CIPHER* EVP_hcrypto_aes_192_cfb8 (void)"
-.PP
The AES-192 CFB8 cipher type (hcrypto)
.PP
\fBReturns:\fP
.RS 4
-the AES-192 EVP_CIPHER pointer.
+the AES-192 EVP_CIPHER pointer\&.
.RE
.PP
.SS "const EVP_CIPHER* EVP_hcrypto_aes_256_cbc (void)"
-.PP
The AES-256 cipher type (hcrypto)
.PP
\fBReturns:\fP
.RS 4
-the AES-256 EVP_CIPHER pointer.
+the AES-256 EVP_CIPHER pointer\&.
.RE
.PP
.SS "const EVP_CIPHER* EVP_hcrypto_aes_256_cfb8 (void)"
-.PP
The AES-256 CFB8 cipher type (hcrypto)
.PP
\fBReturns:\fP
.RS 4
-the AES-256 EVP_CIPHER pointer.
+the AES-256 EVP_CIPHER pointer\&.
.RE
.PP
.SS "const EVP_CIPHER* EVP_hcrypto_camellia_128_cbc (void)"
-.PP
The Camellia-128 cipher type - hcrypto
.PP
\fBReturns:\fP
.RS 4
-the Camellia-128 EVP_CIPHER pointer.
+the Camellia-128 EVP_CIPHER pointer\&.
.RE
.PP
.SS "const EVP_CIPHER* EVP_hcrypto_camellia_192_cbc (void)"
-.PP
The Camellia-198 cipher type - hcrypto
.PP
\fBReturns:\fP
.RS 4
-the Camellia-198 EVP_CIPHER pointer.
+the Camellia-198 EVP_CIPHER pointer\&.
.RE
.PP
.SS "const EVP_CIPHER* EVP_hcrypto_camellia_256_cbc (void)"
-.PP
The Camellia-256 cipher type - hcrypto
.PP
\fBReturns:\fP
.RS 4
-the Camellia-256 EVP_CIPHER pointer.
+the Camellia-256 EVP_CIPHER pointer\&.
.RE
.PP
.SS "const EVP_CIPHER* EVP_hcrypto_des_cbc (void)"
-.PP
The DES cipher type
.PP
\fBReturns:\fP
.RS 4
-the DES-CBC EVP_CIPHER pointer.
+the DES-CBC EVP_CIPHER pointer\&.
.RE
.PP
.SS "const EVP_CIPHER* EVP_hcrypto_des_ede3_cbc (void)"
-.PP
-The tripple DES cipher type - hcrypto
+The triple DES cipher type - hcrypto
.PP
\fBReturns:\fP
.RS 4
-the DES-EDE3-CBC EVP_CIPHER pointer.
+the DES-EDE3-CBC EVP_CIPHER pointer\&.
.RE
.PP
.SS "const EVP_MD* EVP_hcrypto_md2 (void)"
-.PP
The message digest MD2 - hcrypto
.PP
\fBReturns:\fP
.RS 4
-the message digest type.
+the message digest type\&.
.RE
.PP
.SS "const EVP_MD* EVP_hcrypto_md4 (void)"
-.PP
The message digest MD4 - hcrypto
.PP
\fBReturns:\fP
.RS 4
-the message digest type.
+the message digest type\&.
.RE
.PP
.SS "const EVP_MD* EVP_hcrypto_md5 (void)"
-.PP
The message digest MD5 - hcrypto
.PP
\fBReturns:\fP
.RS 4
-the message digest type.
+the message digest type\&.
.RE
.PP
.SS "const EVP_CIPHER* EVP_hcrypto_rc2_40_cbc (void)"
-.PP
The RC2-40 cipher type
.PP
\fBReturns:\fP
.RS 4
-the RC2-40 EVP_CIPHER pointer.
+the RC2-40 EVP_CIPHER pointer\&.
.RE
.PP
.SS "const EVP_CIPHER* EVP_hcrypto_rc2_64_cbc (void)"
-.PP
The RC2-64 cipher type
.PP
\fBReturns:\fP
.RS 4
-the RC2-64 EVP_CIPHER pointer.
+the RC2-64 EVP_CIPHER pointer\&.
.RE
.PP
.SS "const EVP_CIPHER* EVP_hcrypto_rc2_cbc (void)"
-.PP
The RC2 cipher type - hcrypto
.PP
\fBReturns:\fP
.RS 4
-the RC2 EVP_CIPHER pointer.
+the RC2 EVP_CIPHER pointer\&.
.RE
.PP
.SS "const EVP_MD* EVP_hcrypto_sha1 (void)"
-.PP
The message digest SHA1 - hcrypto
.PP
\fBReturns:\fP
.RS 4
-the message digest type.
+the message digest type\&.
.RE
.PP
.SS "const EVP_MD* EVP_hcrypto_sha256 (void)"
-.PP
The message digest SHA256 - hcrypto
.PP
\fBReturns:\fP
.RS 4
-the message digest type.
+the message digest type\&.
.RE
.PP
.SS "const EVP_MD* EVP_hcrypto_sha384 (void)"
-.PP
The message digest SHA384 - hcrypto
.PP
\fBReturns:\fP
.RS 4
-the message digest type.
+the message digest type\&.
.RE
.PP
.SS "const EVP_MD* EVP_hcrypto_sha512 (void)"
-.PP
The message digest SHA512 - hcrypto
.PP
\fBReturns:\fP
.RS 4
-the message digest type.
+the message digest type\&.
.RE
.PP
.SS "const EVP_MD* EVP_md2 (void)"
-.PP
The message digest MD2
.PP
\fBReturns:\fP
.RS 4
-the message digest type.
+the message digest type\&.
.RE
.PP
.SS "const EVP_MD* EVP_md4 (void)"
-.PP
The message digest MD4
.PP
\fBReturns:\fP
.RS 4
-the message digest type.
+the message digest type\&.
.RE
.PP
.SS "const EVP_MD* EVP_md5 (void)"
-.PP
The message digest MD5
.PP
\fBReturns:\fP
.RS 4
-the message digest type.
+the message digest type\&.
.RE
.PP
.SS "size_t EVP_MD_block_size (const EVP_MD * md)"
-.PP
-Return the blocksize of the message digest function.
+Return the blocksize of the message digest function\&.
.PP
\fBParameters:\fP
.RS 4
@@ -1073,8 +1068,7 @@ size size of the message digest block size
.PP
.SS "size_t EVP_MD_CTX_block_size (EVP_MD_CTX * ctx)"
-.PP
-Return the blocksize of the message digest function.
+Return the blocksize of the message digest function\&.
.PP
\fBParameters:\fP
.RS 4
@@ -1088,68 +1082,62 @@ size size of the message digest block size
.PP
.SS "int EVP_MD_CTX_cleanup (EVP_MD_CTX * ctx)"
-.PP
-Free the resources used by the EVP_MD context.
+Free the resources used by the EVP_MD context\&.
.PP
\fBParameters:\fP
.RS 4
-\fIctx\fP the context to free the resources from.
+\fIctx\fP the context to free the resources from\&.
.RE
.PP
\fBReturns:\fP
.RS 4
-1 on success.
+1 on success\&.
.RE
.PP
.SS "EVP_MD_CTX* EVP_MD_CTX_create (void)"
-.PP
-Allocate a messsage digest context object. Free with \fBEVP_MD_CTX_destroy()\fP.
+Allocate a messsage digest context object\&. Free with \fBEVP_MD_CTX_destroy()\fP\&.
.PP
\fBReturns:\fP
.RS 4
-a newly allocated message digest context object.
+a newly allocated message digest context object\&.
.RE
.PP
.SS "void EVP_MD_CTX_destroy (EVP_MD_CTX * ctx)"
-.PP
-Free a messsage digest context object.
+Free a messsage digest context object\&.
.PP
\fBParameters:\fP
.RS 4
-\fIctx\fP context to free.
+\fIctx\fP context to free\&.
.RE
.PP
.SS "void EVP_MD_CTX_init (EVP_MD_CTX * ctx)"
-.PP
-Initiate a messsage digest context object. Deallocate with \fBEVP_MD_CTX_cleanup()\fP. Please use \fBEVP_MD_CTX_create()\fP instead.
+Initiate a messsage digest context object\&. Deallocate with \fBEVP_MD_CTX_cleanup()\fP\&. Please use \fBEVP_MD_CTX_create()\fP instead\&.
.PP
\fBParameters:\fP
.RS 4
-\fIctx\fP variable to initiate.
+\fIctx\fP variable to initiate\&.
.RE
.PP
.SS "const EVP_MD* EVP_MD_CTX_md (EVP_MD_CTX * ctx)"
-.PP
-Get the EVP_MD use for a specified context.
+Get the EVP_MD use for a specified context\&.
.PP
\fBParameters:\fP
.RS 4
-\fIctx\fP the EVP_MD context to get the EVP_MD for.
+\fIctx\fP the EVP_MD context to get the EVP_MD for\&.
.RE
.PP
\fBReturns:\fP
.RS 4
-the EVP_MD used for the context.
+the EVP_MD used for the context\&.
.RE
.PP
.SS "size_t EVP_MD_CTX_size (EVP_MD_CTX * ctx)"
-.PP
-Return the output size of the message digest function.
+Return the output size of the message digest function\&.
.PP
\fBParameters:\fP
.RS 4
@@ -1158,23 +1146,21 @@ Return the output size of the message digest function.
.PP
\fBReturns:\fP
.RS 4
-size output size of the message digest function.
+size output size of the message digest function\&.
.RE
.PP
.SS "const EVP_MD* EVP_md_null (void)"
-.PP
The null message digest
.PP
\fBReturns:\fP
.RS 4
-the message digest type.
+the message digest type\&.
.RE
.PP
.SS "size_t EVP_MD_size (const EVP_MD * md)"
-.PP
-Return the output size of the message digest function.
+Return the output size of the message digest function\&.
.PP
\fBParameters:\fP
.RS 4
@@ -1183,117 +1169,297 @@ Return the output size of the message digest function.
.PP
\fBReturns:\fP
.RS 4
-size output size of the message digest function.
+size output size of the message digest function\&.
.RE
.PP
.SS "const EVP_CIPHER* EVP_rc2_40_cbc (void)"
-.PP
The RC2 cipher type
.PP
\fBReturns:\fP
.RS 4
-the RC2 EVP_CIPHER pointer.
+the RC2 EVP_CIPHER pointer\&.
.RE
.PP
.SS "const EVP_CIPHER* EVP_rc2_64_cbc (void)"
-.PP
The RC2 cipher type
.PP
\fBReturns:\fP
.RS 4
-the RC2 EVP_CIPHER pointer.
+the RC2 EVP_CIPHER pointer\&.
.RE
.PP
.SS "const EVP_CIPHER* EVP_rc2_cbc (void)"
-.PP
The RC2 cipher type
.PP
\fBReturns:\fP
.RS 4
-the RC2 EVP_CIPHER pointer.
+the RC2 EVP_CIPHER pointer\&.
.RE
.PP
.SS "const EVP_CIPHER* EVP_rc4 (void)"
-.PP
The RC4 cipher type
.PP
\fBReturns:\fP
.RS 4
-the RC4 EVP_CIPHER pointer.
+the RC4 EVP_CIPHER pointer\&.
.RE
.PP
.SS "const EVP_CIPHER* EVP_rc4_40 (void)"
-.PP
The RC4-40 cipher type
.PP
\fBReturns:\fP
.RS 4
-the RC4-40 EVP_CIPHER pointer.
+the RC4-40 EVP_CIPHER pointer\&.
.RE
.PP
.SS "const EVP_MD* EVP_sha (void)"
-.PP
The message digest SHA1
.PP
\fBReturns:\fP
.RS 4
-the message digest type.
+the message digest type\&.
.RE
.PP
.SS "const EVP_MD* EVP_sha1 (void)"
-.PP
The message digest SHA1
.PP
\fBReturns:\fP
.RS 4
-the message digest type.
+the message digest type\&.
.RE
.PP
.SS "const EVP_MD* EVP_sha256 (void)"
-.PP
The message digest SHA256
.PP
\fBReturns:\fP
.RS 4
-the message digest type.
+the message digest type\&.
.RE
.PP
.SS "const EVP_MD* EVP_sha384 (void)"
-.PP
The message digest SHA384
.PP
\fBReturns:\fP
.RS 4
-the message digest type.
+the message digest type\&.
.RE
.PP
.SS "const EVP_MD* EVP_sha512 (void)"
-.PP
The message digest SHA512
.PP
\fBReturns:\fP
.RS 4
-the message digest type.
+the message digest type\&.
.RE
.PP
.SS "const EVP_CIPHER* EVP_wincrypt_des_ede3_cbc (void)"
+The triple DES cipher type (Micrsoft crypt provider)
+.PP
+\fBReturns:\fP
+.RS 4
+the DES-EDE3-CBC EVP_CIPHER pointer\&.
+.RE
+.PP
+
+.SS "OSSL_CIPHER_ALGORITHM (rc2_cbc, hc_EVP_CIPH_CBC_MODE| hc_EVP_CIPH_VARIABLE_LENGTH)"
+The triple DES cipher type (OpenSSL provider)
+.PP
+\fBReturns:\fP
+.RS 4
+the DES-EDE3-CBC EVP_CIPHER pointer\&. The DES cipher type (OpenSSL provider)
+.PP
+the DES-CBC EVP_CIPHER pointer\&. The AES-128 cipher type (OpenSSL provider)
+.PP
+the AES-128-CBC EVP_CIPHER pointer\&. The AES-192 cipher type (OpenSSL provider)
+.PP
+the AES-192-CBC EVP_CIPHER pointer\&. The AES-256 cipher type (OpenSSL provider)
+.PP
+the AES-256-CBC EVP_CIPHER pointer\&. The AES-128 CFB8 cipher type (OpenSSL provider)
+.PP
+the AES-128-CFB8 EVP_CIPHER pointer\&. The AES-192 CFB8 cipher type (OpenSSL provider)
+.PP
+the AES-192-CFB8 EVP_CIPHER pointer\&. The AES-256 CFB8 cipher type (OpenSSL provider)
+.PP
+the AES-256-CFB8 EVP_CIPHER pointer\&. The RC2 cipher type - OpenSSL
+.PP
+the RC2 EVP_CIPHER pointer\&. The RC2-40 cipher type - OpenSSL
+.PP
+the RC2-40 EVP_CIPHER pointer\&.
+.RE
+.PP
+
+.SS "hc_EVP_CIPH_CBC_MODE OSSL_CIPHER_ALGORITHM (rc2_64_cbc, hc_EVP_CIPH_CBC_MODE| hc_EVP_CIPH_VARIABLE_LENGTH)"
+The RC2-64 cipher type - OpenSSL
+.PP
+\fBReturns:\fP
+.RS 4
+the RC2-64 EVP_CIPHER pointer\&. The Camellia-128 cipher type - OpenSSL
+.PP
+the Camellia-128 EVP_CIPHER pointer\&. The Camellia-198 cipher type - OpenSSL
+.PP
+the Camellia-198 EVP_CIPHER pointer\&. The Camellia-256 cipher type - OpenSSL
+.PP
+the Camellia-256 EVP_CIPHER pointer\&. The RC4 cipher type (OpenSSL provider)
+.PP
+the RC4 EVP_CIPHER pointer\&.
+.RE
+.PP
+
+.SS "WINCNG_CIPHER_ALGORITHM (des_ede3_cbc, BCRYPT_3DES_ALGORITHM, 8, 24, 8, EVP_CIPH_CBC_MODE)"
+The triple DES cipher type (Windows CNG provider)
+.PP
+\fBReturns:\fP
+.RS 4
+the DES-EDE3-CBC EVP_CIPHER pointer\&.
+.RE
+.PP
+
+.SS "WINCNG_CIPHER_ALGORITHM (des_cbc, BCRYPT_DES_ALGORITHM, 8, 8, 8, EVP_CIPH_CBC_MODE)"
+The DES cipher type (Windows CNG provider)
+.PP
+\fBReturns:\fP
+.RS 4
+the DES-CBC EVP_CIPHER pointer\&.
+.RE
+.PP
+
+.SS "WINCNG_CIPHER_ALGORITHM (aes_128_cbc, BCRYPT_AES_ALGORITHM, 16, 16, 16, EVP_CIPH_CBC_MODE)"
+The AES-128 cipher type (Windows CNG provider)
+.PP
+\fBReturns:\fP
+.RS 4
+the AES-128-CBC EVP_CIPHER pointer\&.
+.RE
+.PP
+
+.SS "WINCNG_CIPHER_ALGORITHM (aes_192_cbc, BCRYPT_AES_ALGORITHM, 16, 24, 16, EVP_CIPH_CBC_MODE)"
+The AES-192 cipher type (Windows CNG provider)
+.PP
+\fBReturns:\fP
+.RS 4
+the AES-192-CBC EVP_CIPHER pointer\&.
+.RE
+.PP
+
+.SS "WINCNG_CIPHER_ALGORITHM (aes_256_cbc, BCRYPT_AES_ALGORITHM, 16, 32, 16, EVP_CIPH_CBC_MODE)"
+The AES-256 cipher type (Windows CNG provider)
+.PP
+\fBReturns:\fP
+.RS 4
+the AES-256-CBC EVP_CIPHER pointer\&.
+.RE
+.PP
+
+.SS "WINCNG_CIPHER_ALGORITHM (aes_128_cfb8, BCRYPT_AES_ALGORITHM, 16, 16, 16, EVP_CIPH_CFB8_MODE)"
+The AES-128 CFB8 cipher type (Windows CNG provider)
.PP
-The tripple DES cipher type (Micrsoft crypt provider)
+\fBReturns:\fP
+.RS 4
+the AES-128-CFB8 EVP_CIPHER pointer\&.
+.RE
+.PP
+
+.SS "WINCNG_CIPHER_ALGORITHM (aes_192_cfb8, BCRYPT_AES_ALGORITHM, 16, 24, 16, EVP_CIPH_CFB8_MODE)"
+The AES-192 CFB8 cipher type (Windows CNG provider)
+.PP
+\fBReturns:\fP
+.RS 4
+the AES-192-CFB8 EVP_CIPHER pointer\&.
+.RE
+.PP
+
+.SS "WINCNG_CIPHER_ALGORITHM (aes_256_cfb8, BCRYPT_AES_ALGORITHM, 16, 32, 16, EVP_CIPH_CFB8_MODE)"
+The AES-256 CFB8 cipher type (Windows CNG provider)
+.PP
+\fBReturns:\fP
+.RS 4
+the AES-256-CFB8 EVP_CIPHER pointer\&.
+.RE
+.PP
+
+.SS "WINCNG_CIPHER_ALGORITHM (rc2_cbc, BCRYPT_RC2_ALGORITHM, 8, 16, 8, EVP_CIPH_CBC_MODE)"
+The RC2 cipher type - Windows CNG
+.PP
+\fBReturns:\fP
+.RS 4
+the RC2 EVP_CIPHER pointer\&.
+.RE
+.PP
+
+.SS "WINCNG_CIPHER_ALGORITHM (rc2_40_cbc, BCRYPT_RC2_ALGORITHM, 8, 5, 8, EVP_CIPH_CBC_MODE)"
+The RC2-40 cipher type - Windows CNG
+.PP
+\fBReturns:\fP
+.RS 4
+the RC2-40 EVP_CIPHER pointer\&.
+.RE
+.PP
+
+.SS "WINCNG_CIPHER_ALGORITHM (rc2_64_cbc, BCRYPT_RC2_ALGORITHM, 8, 8, 8, EVP_CIPH_CBC_MODE)"
+The RC2-64 cipher type - Windows CNG
+.PP
+\fBReturns:\fP
+.RS 4
+the RC2-64 EVP_CIPHER pointer\&.
+.RE
+.PP
+
+.SS "WINCNG_CIPHER_ALGORITHM (rc4, BCRYPT_RC4_ALGORITHM, 1, 16, 0, EVP_CIPH_STREAM_CIPHER| EVP_CIPH_VARIABLE_LENGTH)"
+The RC4 cipher type (Windows CNG provider)
+.PP
+\fBReturns:\fP
+.RS 4
+the RC4 EVP_CIPHER pointer\&.
+.RE
+.PP
+
+.SS "WINCNG_CIPHER_ALGORITHM (rc4_40, BCRYPT_RC4_ALGORITHM, 1, 5, 0, EVP_CIPH_STREAM_CIPHER| EVP_CIPH_VARIABLE_LENGTH)"
+The RC4-40 cipher type (Windows CNG provider)
+.PP
+\fBReturns:\fP
+.RS 4
+the RC4 EVP_CIPHER pointer\&.
+.RE
+.PP
+
+.SS "WINCNG_CIPHER_ALGORITHM_UNAVAILABLE (camellia_128_cbc)"
+The Camellia-128 cipher type - CommonCrypto
+.PP
+\fBReturns:\fP
+.RS 4
+the Camellia-128 EVP_CIPHER pointer\&.
+.RE
+.PP
+
+.SS "WINCNG_CIPHER_ALGORITHM_UNAVAILABLE (camellia_192_cbc)"
+The Camellia-198 cipher type - CommonCrypto
.PP
\fBReturns:\fP
.RS 4
-the DES-EDE3-CBC EVP_CIPHER pointer.
+the Camellia-198 EVP_CIPHER pointer\&.
.RE
.PP
+.SS "WINCNG_CIPHER_ALGORITHM_UNAVAILABLE (camellia_256_cbc)"
+The Camellia-256 cipher type - CommonCrypto
+.PP
+\fBReturns:\fP
+.RS 4
+the Camellia-256 EVP_CIPHER pointer\&.
+.RE
+.PP
+
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Heimdal crypto library from the source code\&.
diff --git a/doc/doxyout/hcrypto/man/man3/hcrypto_misc.3 b/doc/doxyout/hcrypto/man/man3/hcrypto_misc.3
index 1335d23a4236..c93ac5761a63 100644
--- a/doc/doxyout/hcrypto/man/man3/hcrypto_misc.3
+++ b/doc/doxyout/hcrypto/man/man3/hcrypto_misc.3
@@ -1,12 +1,18 @@
-.TH "hcrypto miscellaneous functions" 3 "11 Jan 2012" "Version 1.5.2" "Heimdal crypto library" \" -*- nroff -*-
+.TH "hcrypto_misc" 3 "Fri Dec 8 2017" "Version 7.5.0" "Heimdal crypto library" \" -*- nroff -*-
.ad l
.nh
.SH NAME
-hcrypto miscellaneous functions \-
+hcrypto_misc
+.SH SYNOPSIS
+.br
+.PP
.SS "Functions"
.in +1c
.ti -1c
+.RI "int \fBPKCS5_PBKDF2_HMAC\fP (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)"
+.br
+.ti -1c
.RI "int \fBPKCS5_PBKDF2_HMAC_SHA1\fP (const void *password, size_t password_len, const void *salt, size_t salt_len, unsigned long iter, size_t keylen, void *key)"
.br
.in -1c
@@ -15,30 +21,60 @@ hcrypto miscellaneous functions \-
.SH "Function Documentation"
.PP
-.SS "int PKCS5_PBKDF2_HMAC_SHA1 (const void * password, size_t password_len, const void * salt, size_t salt_len, unsigned long iter, size_t keylen, void * key)"
+.SS "int PKCS5_PBKDF2_HMAC (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)"
+As descriped in PKCS5, convert a password, salt, and iteration counter into a crypto key\&.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIpassword\fP Password\&.
+.br
+\fIpassword_len\fP Length of password\&.
+.br
+\fIsalt\fP Salt
+.br
+\fIsalt_len\fP Length of salt\&.
+.br
+\fIiter\fP iteration counter\&.
+.br
+\fImd\fP the digest function\&.
+.br
+\fIkeylen\fP the output key length\&.
+.br
+\fIkey\fP the output key\&.
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 on success, non 1 on failure\&.
+.RE
.PP
-As descriped in PKCS5, convert a password, salt, and iteration counter into a crypto key.
+
+.SS "int PKCS5_PBKDF2_HMAC_SHA1 (const void * password, size_t password_len, const void * salt, size_t salt_len, unsigned long iter, size_t keylen, void * key)"
+As descriped in PKCS5, convert a password, salt, and iteration counter into a crypto key\&.
.PP
\fBParameters:\fP
.RS 4
-\fIpassword\fP Password.
+\fIpassword\fP Password\&.
.br
-\fIpassword_len\fP Length of password.
+\fIpassword_len\fP Length of password\&.
.br
\fIsalt\fP Salt
.br
-\fIsalt_len\fP Length of salt.
+\fIsalt_len\fP Length of salt\&.
.br
-\fIiter\fP iteration counter.
+\fIiter\fP iteration counter\&.
.br
-\fIkeylen\fP the output key length.
+\fIkeylen\fP the output key length\&.
.br
-\fIkey\fP the output key.
+\fIkey\fP the output key\&.
.RE
.PP
\fBReturns:\fP
.RS 4
-1 on success, non 1 on failure.
+1 on success, non 1 on failure\&.
.RE
.PP
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Heimdal crypto library from the source code\&.
diff --git a/doc/doxyout/hcrypto/man/man3/hcrypto_rand.3 b/doc/doxyout/hcrypto/man/man3/hcrypto_rand.3
index 075ec81569ec..e7505bc06afa 100644
--- a/doc/doxyout/hcrypto/man/man3/hcrypto_rand.3
+++ b/doc/doxyout/hcrypto/man/man3/hcrypto_rand.3
@@ -1,8 +1,11 @@
-.TH "RAND crypto functions" 3 "11 Jan 2012" "Version 1.5.2" "Heimdal crypto library" \" -*- nroff -*-
+.TH "hcrypto_rand" 3 "Fri Dec 8 2017" "Version 7.5.0" "Heimdal crypto library" \" -*- nroff -*-
.ad l
.nh
.SH NAME
-RAND crypto functions \-
+hcrypto_rand
+.SH SYNOPSIS
+.br
+.PP
.SS "Functions"
.in +1c
@@ -45,26 +48,24 @@ RAND crypto functions \-
.in -1c
.SH "Detailed Description"
.PP
-See the \fBRAND - random number\fP for description and examples.
+See the \fBRAND - random number\fP for description and examples\&.
.SH "Function Documentation"
.PP
.SS "void RAND_add (const void * indata, size_t size, double entropi)"
-.PP
-Seed that random number generator. Secret material can securely be feed into the function, they will never be returned.
+Seed that random number generator\&. Secret material can securely be feed into the function, they will never be returned\&.
.PP
\fBParameters:\fP
.RS 4
-\fIindata\fP the input data.
+\fIindata\fP the input data\&.
.br
-\fIsize\fP size of in data.
+\fIsize\fP size of in data\&.
.br
-\fIentropi\fP entropi in data.
+\fIentropi\fP entropi in data\&.
.RE
.PP
.SS "int RAND_bytes (void * outdata, size_t size)"
-.PP
-Get a random block from the random generator, can be used for key material.
+Get a random block from the random generator, can be used for key material\&.
.PP
\fBParameters:\fP
.RS 4
@@ -75,48 +76,55 @@ Get a random block from the random generator, can be used for key material.
.PP
\fBReturns:\fP
.RS 4
-1 on success, 0 on failure.
+1 on success, 0 on failure\&.
.RE
.PP
.SS "void RAND_cleanup (void)"
-.PP
-Reset and free memory used by the random generator.
+Reset and free memory used by the random generator\&.
.SS "const char* RAND_file_name (char * filename, size_t size)"
-.PP
-Return the default random state filename for a user to use for \fBRAND_load_file()\fP, and \fBRAND_write_file()\fP.
+Return the default random state filename for a user to use for \fBRAND_load_file()\fP, and \fBRAND_write_file()\fP\&.
.PP
\fBParameters:\fP
.RS 4
-\fIfilename\fP buffer to hold file name.
+\fIfilename\fP buffer to hold file name\&.
.br
-\fIsize\fP size of buffer filename.
+\fIsize\fP size of buffer filename\&.
.RE
.PP
\fBReturns:\fP
.RS 4
-the buffer filename or NULL on failure.
+the buffer filename or NULL on failure\&.
.RE
.PP
.SS "const RAND_METHOD* RAND_get_rand_method (void)"
+Get the default random method\&.
.PP
-Get the default random method.
-.SS "int RAND_load_file (const char * filename, size_t size)"
+\fBReturns:\fP
+.RS 4
+Returns a RAND_METHOD
+.RE
.PP
-Load a a file and feed it into \fBRAND_seed()\fP.
+
+.SS "int RAND_load_file (const char * filename, size_t size)"
+Load a a file and feed it into \fBRAND_seed()\fP\&.
.PP
\fBParameters:\fP
.RS 4
-\fIfilename\fP name of file to read.
+\fIfilename\fP name of file to read\&.
.br
-\fIsize\fP minimum size to read.
+\fIsize\fP minimum size to read\&.
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns the number of seed bytes loaded (0 indicates failure)
.RE
.PP
.SS "int RAND_pseudo_bytes (void * outdata, size_t size)"
-.PP
-Get a random block from the random generator, should NOT be used for key material.
+Get a random block from the random generator, should NOT be used for key material\&.
.PP
\fBParameters:\fP
.RS 4
@@ -127,13 +135,12 @@ Get a random block from the random generator, should NOT be used for key materia
.PP
\fBReturns:\fP
.RS 4
-1 on success, 0 on failure.
+1 on success, 0 on failure\&.
.RE
.PP
.SS "void RAND_seed (const void * indata, size_t size)"
-.PP
-Seed that random number generator. Secret material can securely be feed into the function, they will never be returned.
+Seed that random number generator\&. Secret material can securely be feed into the function, they will never be returned\&.
.PP
\fBParameters:\fP
.RS 4
@@ -144,57 +151,56 @@ Seed that random number generator. Secret material can securely be feed into the
.PP
.SS "int RAND_set_rand_engine (ENGINE * engine)"
-.PP
-Set the default random method from engine.
+Set the default random method from engine\&.
.PP
\fBParameters:\fP
.RS 4
-\fIengine\fP use engine, if NULL is passed it, old method and engine is cleared.
+\fIengine\fP use engine, if NULL is passed it, old method and engine is cleared\&.
.RE
.PP
\fBReturns:\fP
.RS 4
-1 on success, 0 on failure.
+1 on success, 0 on failure\&.
.RE
.PP
.SS "int RAND_set_rand_method (const RAND_METHOD * meth)"
-.PP
-Set the default random method.
+Set the default random method\&.
.PP
\fBParameters:\fP
.RS 4
-\fImeth\fP set the new default method.
+\fImeth\fP set the new default method\&.
.RE
.PP
\fBReturns:\fP
.RS 4
-1 on success.
+1 on success\&.
.RE
.PP
.SS "int RAND_status (void)"
-.PP
Return status of the random generator
.PP
\fBReturns:\fP
.RS 4
-1 if the random generator can deliver random data.
+1 if the random generator can deliver random data\&.
.RE
.PP
.SS "int RAND_write_file (const char * filename)"
-.PP
-Write of random numbers to a file to store for later initiation with \fBRAND_load_file()\fP.
+Write of random numbers to a file to store for later initiation with \fBRAND_load_file()\fP\&.
.PP
\fBParameters:\fP
.RS 4
-\fIfilename\fP name of file to write.
+\fIfilename\fP name of file to write\&.
.RE
.PP
\fBReturns:\fP
.RS 4
-1 on success and non-one on failure.
+1 on success and non-one on failure\&.
.RE
.PP
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Heimdal crypto library from the source code\&.
diff --git a/doc/doxyout/hcrypto/man/man3/hcrypto_rsa.3 b/doc/doxyout/hcrypto/man/man3/hcrypto_rsa.3
index 662a1706bc37..96c1330a1f96 100644
--- a/doc/doxyout/hcrypto/man/man3/hcrypto_rsa.3
+++ b/doc/doxyout/hcrypto/man/man3/hcrypto_rsa.3
@@ -1,8 +1,11 @@
-.TH "RSA functions" 3 "11 Jan 2012" "Version 1.5.2" "Heimdal crypto library" \" -*- nroff -*-
+.TH "hcrypto_rsa" 3 "Fri Dec 8 2017" "Version 7.5.0" "Heimdal crypto library" \" -*- nroff -*-
.ad l
.nh
.SH NAME
-RSA functions \-
+hcrypto_rsa
+.SH SYNOPSIS
+.br
+.PP
.SS "Functions"
.in +1c
@@ -33,22 +36,20 @@ RSA functions \-
.in -1c
.SH "Detailed Description"
.PP
-See the \fBRSA - public-key cryptography\fP for description and examples.
+See the \fBRSA - public-key cryptography\fP for description and examples\&.
.SH "Function Documentation"
.PP
.SS "void RSA_free (RSA * rsa)"
-.PP
-Free an allocation RSA object.
+Free an allocation RSA object\&.
.PP
\fBParameters:\fP
.RS 4
-\fIrsa\fP the RSA object to free.
+\fIrsa\fP the RSA object to free\&.
.RE
.PP
.SS "void* RSA_get_app_data (const RSA * rsa)"
-.PP
-Get the application data for the RSA object.
+Get the application data for the RSA object\&.
.PP
\fBParameters:\fP
.RS 4
@@ -62,48 +63,44 @@ the data object
.PP
.SS "const RSA_METHOD* RSA_get_method (const RSA * rsa)"
-.PP
-Return the RSA_METHOD used for this RSA object.
+Return the RSA_METHOD used for this RSA object\&.
.PP
\fBParameters:\fP
.RS 4
-\fIrsa\fP the object to get the method from.
+\fIrsa\fP the object to get the method from\&.
.RE
.PP
\fBReturns:\fP
.RS 4
-the method used for this RSA object.
+the method used for this RSA object\&.
.RE
.PP
.SS "RSA* RSA_new (void)"
-.PP
-Same as \fBRSA_new_method()\fP using NULL as engine.
+Same as \fBRSA_new_method()\fP using NULL as engine\&.
.PP
\fBReturns:\fP
.RS 4
-a newly allocated RSA object. Free with \fBRSA_free()\fP.
+a newly allocated RSA object\&. Free with \fBRSA_free()\fP\&.
.RE
.PP
.SS "RSA* RSA_new_method (ENGINE * engine)"
-.PP
-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().
+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()\&.
.PP
\fBParameters:\fP
.RS 4
-\fIengine\fP Specific what ENGINE RSA provider should be used.
+\fIengine\fP Specific what ENGINE RSA provider should be used\&.
.RE
.PP
\fBReturns:\fP
.RS 4
-a newly allocated RSA object. Free with \fBRSA_free()\fP.
+a newly allocated RSA object\&. Free with \fBRSA_free()\fP\&.
.RE
.PP
.SS "int RSA_set_app_data (RSA * rsa, void * arg)"
-.PP
-Set the application data for the RSA object.
+Set the application data for the RSA object\&.
.PP
\fBParameters:\fP
.RS 4
@@ -114,39 +111,40 @@ Set the application data for the RSA object.
.PP
\fBReturns:\fP
.RS 4
-1 on success.
+1 on success\&.
.RE
.PP
.SS "int RSA_set_method (RSA * rsa, const RSA_METHOD * method)"
-.PP
-Set a new method for the RSA keypair.
+Set a new method for the RSA keypair\&.
.PP
\fBParameters:\fP
.RS 4
-\fIrsa\fP rsa parameter.
+\fIrsa\fP rsa parameter\&.
.br
-\fImethod\fP the new method for the RSA parameter.
+\fImethod\fP the new method for the RSA parameter\&.
.RE
.PP
\fBReturns:\fP
.RS 4
-1 on success.
+1 on success\&.
.RE
.PP
.SS "int RSA_up_ref (RSA * rsa)"
-.PP
-Add an extra reference to the RSA object. The object should be free with \fBRSA_free()\fP to drop the reference.
+Add an extra reference to the RSA object\&. The object should be free with \fBRSA_free()\fP to drop the reference\&.
.PP
\fBParameters:\fP
.RS 4
-\fIrsa\fP the object to add reference counting too.
+\fIrsa\fP the object to add reference counting too\&.
.RE
.PP
\fBReturns:\fP
.RS 4
-the current reference count, can't safely be used except for debug printing.
+the current reference count, can't safely be used except for debug printing\&.
.RE
.PP
+.SH "Author"
+.PP
+Generated automatically by Doxygen for Heimdal crypto library from the source code\&.
diff --git a/doc/doxyout/hcrypto/man/man3/page_des.3 b/doc/doxyout/hcrypto/man/man3/page_des.3
index 056bf05cb7d4..b5066afc336b 100644
--- a/doc/doxyout/hcrypto/man/man3/page_des.3
+++ b/doc/doxyout/hcrypto/man/man3/page_des.3
@@ -1,35 +1,36 @@
-.TH "page_des" 3 "11 Jan 2012" "Version 1.5.2" "Heimdal crypto library" \" -*- nroff -*-
+.TH "page_des" 3 "Fri Dec 8 2017" "Version 7.5.0" "Heimdal crypto library" \" -*- nroff -*-
.ad l
.nh
.SH NAME
-page_des \- DES - Data Encryption Standard crypto interface
-See the library functions here: \fBDES crypto functions\fP
+page_desDES - Data Encryption Standard crypto interface
+ \- See the library functions here: \fBDES crypto functions\fP
.PP
-DES was created by IBM, modififed by NSA and then adopted by NBS (now NIST) and published ad FIPS PUB 46 (updated by FIPS 46-1).
+DES was created by IBM, modififed by NSA and then adopted by NBS (now NIST) and published ad FIPS PUB 46 (updated by FIPS 46-1)\&.
.PP
-Since the 19th May 2005 DES was withdrawn by NIST and should no longer be used. See \fBEVP - generic crypto interface\fP for replacement encryption algorithms and interfaces.
+Since the 19th May 2005 DES was withdrawn by NIST and should no longer be used\&. See \fBEVP - generic crypto interface\fP for replacement encryption algorithms and interfaces\&.
.PP
-Read more the iteresting history of DES on Wikipedia http://www.wikipedia.org/wiki/Data_Encryption_Standard .
+Read more the iteresting history of DES on Wikipedia http://www.wikipedia.org/wiki/Data_Encryption_Standard \&.
.SH "DES key generation"
.PP
-To generate a DES key safely you have to use the code-snippet below. This is because the \fBDES_random_key()\fP can fail with an abort() in case of and failure to start the random generator.
+To generate a DES key safely you have to use the code-snippet below\&. This is because the \fBDES_random_key()\fP can fail with an abort() in case of and failure to start the random generator\&.
.PP
-There is a replacement function \fBDES_new_random_key()\fP, however that function does not exists in OpenSSL.
+There is a replacement function \fBDES_new_random_key()\fP, however that function does not exists in OpenSSL\&.
.PP
.PP
.nf
- DES_cblock key;
- do {
- if (RAND_rand(&key, sizeof(key)) != 1)
- goto failure;
- DES_set_odd_parity(key);
- } while (DES_is_weak_key(&key));
+DES_cblock key;
+do {
+ if (RAND_rand(&key, sizeof(key)) != 1)
+ goto failure;
+ DES_set_odd_parity(key);
+} while (DES_is_weak_key(&key));
.fi
.PP
.SH "DES implementation history"
.PP
-There was no complete BSD licensed, fast, GPL compatible implementation of DES, so Love wrote the part that was missing, fast key schedule setup and adapted the interface to the orignal libdes.
+There was no complete BSD licensed, fast, GPL compatible implementation of DES, so Love wrote the part that was missing, fast key schedule setup and adapted the interface to the orignal libdes\&.
.PP
-The document that got me started for real was 'Efficient Implementation of the Data Encryption Standard' by Dag Arne Osvik. I never got to the PC1 transformation was working, instead I used table-lookup was used for all key schedule setup. The document was very useful since it de-mystified other implementations for me.
+The document that got me started for real was 'Efficient
+Implementation of the Data Encryption Standard' by Dag Arne Osvik\&. I never got to the PC1 transformation was working, instead I used table-lookup was used for all key schedule setup\&. The document was very useful since it de-mystified other implementations for me\&.
.PP
-The core DES function (SBOX + P transformation) is from Richard Outerbridge public domain DES implementation. My sanity is saved thanks to his work. Thank you Richard.
+The core DES function (SBOX + P transformation) is from Richard Outerbridge public domain DES implementation\&. My sanity is saved thanks to his work\&. Thank you Richard\&.
diff --git a/doc/doxyout/hcrypto/man/man3/page_dh.3 b/doc/doxyout/hcrypto/man/man3/page_dh.3
index 2b3d6be53008..8dad9d2f737a 100644
--- a/doc/doxyout/hcrypto/man/man3/page_dh.3
+++ b/doc/doxyout/hcrypto/man/man3/page_dh.3
@@ -1,10 +1,10 @@
-.TH "page_dh" 3 "11 Jan 2012" "Version 1.5.2" "Heimdal crypto library" \" -*- nroff -*-
+.TH "page_dh" 3 "Fri Dec 8 2017" "Version 7.5.0" "Heimdal crypto library" \" -*- nroff -*-
.ad l
.nh
.SH NAME
-page_dh \- DH - Diffie-Hellman key exchange
-Diffie-Hellman key exchange is a protocol that allows two parties to establish a shared secret key.
+page_dhDH - Diffie-Hellman key exchange
+ \- Diffie-Hellman key exchange is a protocol that allows two parties to establish a shared secret key\&.
.PP
-Include and example how to use \fBDH_new()\fP and friends here.
+Include and example how to use \fBDH_new()\fP and friends here\&.
.PP
See the library functions here: \fBDiffie-Hellman functions\fP
diff --git a/doc/doxyout/hcrypto/man/man3/page_evp.3 b/doc/doxyout/hcrypto/man/man3/page_evp.3
index ab210428df91..c97d894714c7 100644
--- a/doc/doxyout/hcrypto/man/man3/page_evp.3
+++ b/doc/doxyout/hcrypto/man/man3/page_evp.3
@@ -1,9 +1,9 @@
-.TH "page_evp" 3 "11 Jan 2012" "Version 1.5.2" "Heimdal crypto library" \" -*- nroff -*-
+.TH "page_evp" 3 "Fri Dec 8 2017" "Version 7.5.0" "Heimdal crypto library" \" -*- nroff -*-
.ad l
.nh
.SH NAME
-page_evp \- EVP - generic crypto interface
-See the library functions here: \fBEVP generic crypto functions\fP
+page_evpEVP - generic crypto interface
+ \- See the library functions here: \fBEVP generic crypto functions\fP
.SH "EVP Cipher"
.PP
-The use of \fBEVP_CipherInit_ex()\fP and EVP_Cipher() is pretty easy to understand forward, then \fBEVP_CipherUpdate()\fP and \fBEVP_CipherFinal_ex()\fP really needs an example to explain \fBexample_evp_cipher::c\fP .
+The use of \fBEVP_CipherInit_ex()\fP and EVP_Cipher() is pretty easy to understand forward, then \fBEVP_CipherUpdate()\fP and \fBEVP_CipherFinal_ex()\fP really needs an example to explain \fBexample_evp_cipher\&.c\fP \&.
diff --git a/doc/doxyout/hcrypto/man/man3/page_rand.3 b/doc/doxyout/hcrypto/man/man3/page_rand.3
index 07a394246e1d..c4051f083889 100644
--- a/doc/doxyout/hcrypto/man/man3/page_rand.3
+++ b/doc/doxyout/hcrypto/man/man3/page_rand.3
@@ -1,6 +1,6 @@
-.TH "page_rand" 3 "11 Jan 2012" "Version 1.5.2" "Heimdal crypto library" \" -*- nroff -*-
+.TH "page_rand" 3 "Fri Dec 8 2017" "Version 7.5.0" "Heimdal crypto library" \" -*- nroff -*-
.ad l
.nh
.SH NAME
-page_rand \- RAND - random number
-See the library functions here: \fBRAND crypto functions\fP
+page_randRAND - random number
+ \- See the library functions here: \fBRAND crypto functions\fP
diff --git a/doc/doxyout/hcrypto/man/man3/page_rsa.3 b/doc/doxyout/hcrypto/man/man3/page_rsa.3
index 97e326d9b82a..bc257ec59d87 100644
--- a/doc/doxyout/hcrypto/man/man3/page_rsa.3
+++ b/doc/doxyout/hcrypto/man/man3/page_rsa.3
@@ -1,12 +1,15 @@
-.TH "page_rsa" 3 "11 Jan 2012" "Version 1.5.2" "Heimdal crypto library" \" -*- nroff -*-
+.TH "page_rsa" 3 "Fri Dec 8 2017" "Version 7.5.0" "Heimdal crypto library" \" -*- nroff -*-
.ad l
.nh
.SH NAME
-page_rsa \- RSA - public-key cryptography
-RSA is named by its inventors (Ron Rivest, Adi Shamir, and Leonard Adleman) (published in 1977), patented expired in 21 September 2000.
+page_rsaRSA - public-key cryptography
+ \- RSA is named by its inventors (Ron Rivest, Adi Shamir, and Leonard Adleman) (published in 1977), patented expired in 21 September 2000\&.
.PP
Speed for RSA in seconds no key blinding 1000 iteration, same rsa keys (1024 and 2048) operation performed each eteration sign, verify, encrypt, decrypt on a random bit pattern
.PP
-name 1024 2048 4098 ================================= gmp: 0.73 6.60 44.80 tfm: 2.45 -- -- ltm: 3.79 20.74 105.41 (default in hcrypto) openssl: 4.04 11.90 82.59 cdsa: 15.89 102.89 721.40 imath: 40.62 -- --
+.SH "name 1024 2048 4098 "
+.PP
+.PP
+gmp: 0\&.73 6\&.60 44\&.80 tfm: 2\&.45 -- -- ltm: 3\&.79 20\&.74 105\&.41 (default in hcrypto) openssl: 4\&.04 11\&.90 82\&.59 cdsa: 15\&.89 102\&.89 721\&.40 imath: 40\&.62 -- --
.PP
See the library functions here: \fBRSA functions\fP
diff --git a/doc/doxyout/hcrypto/manpages b/doc/doxyout/hcrypto/manpages
index fbd13d0ec2ac..e78c8c4f8268 100644
--- a/doc/doxyout/hcrypto/manpages
+++ b/doc/doxyout/hcrypto/manpages
@@ -1,153 +1,157 @@
-hcrypto/man/man3/DES_cbc_cksum.3
-hcrypto/man/man3/DES_cbc_encrypt.3
-hcrypto/man/man3/DES_cfb64_encrypt.3
-hcrypto/man/man3/DES_check_key_parity.3
-hcrypto/man/man3/DES_ecb3_encrypt.3
-hcrypto/man/man3/DES_ecb_encrypt.3
-hcrypto/man/man3/DES_ede3_cbc_encrypt.3
-hcrypto/man/man3/DES_encrypt.3
-hcrypto/man/man3/DES_init_random_number_generator.3
-hcrypto/man/man3/DES_is_weak_key.3
-hcrypto/man/man3/DES_key_sched.3
-hcrypto/man/man3/DES_new_random_key.3
-hcrypto/man/man3/DES_pcbc_encrypt.3
-hcrypto/man/man3/DES_random_key.3
-hcrypto/man/man3/DES_set_key.3
-hcrypto/man/man3/DES_set_key_checked.3
-hcrypto/man/man3/DES_set_key_unchecked.3
-hcrypto/man/man3/DES_set_odd_parity.3
-hcrypto/man/man3/DES_string_to_key.3
-hcrypto/man/man3/DH_check_pubkey.3
-hcrypto/man/man3/DH_compute_key.3
-hcrypto/man/man3/DH_free.3
-hcrypto/man/man3/DH_generate_key.3
-hcrypto/man/man3/DH_generate_parameters_ex.3
-hcrypto/man/man3/DH_get_default_method.3
-hcrypto/man/man3/DH_get_ex_data.3
-hcrypto/man/man3/DH_ltm_method.3
-hcrypto/man/man3/DH_new.3
-hcrypto/man/man3/DH_new_method.3
-hcrypto/man/man3/DH_null_method.3
-hcrypto/man/man3/DH_set_default_method.3
-hcrypto/man/man3/DH_set_ex_data.3
-hcrypto/man/man3/DH_set_method.3
-hcrypto/man/man3/DH_size.3
-hcrypto/man/man3/DH_up_ref.3
-hcrypto/man/man3/EVP_aes_128_cbc.3
-hcrypto/man/man3/EVP_aes_128_cfb8.3
-hcrypto/man/man3/EVP_aes_192_cbc.3
-hcrypto/man/man3/EVP_aes_192_cfb8.3
+hcrypto/man/man3/EVP_CIPHER_CTX_cipher.3
+hcrypto/man/man3/EVP_hcrypto_aes_128_cbc.3
+hcrypto/man/man3/EVP_camellia_128_cbc.3
+hcrypto/man/man3/EVP_CIPHER_CTX_ctrl.3
+hcrypto/man/man3/EVP_hcrypto_aes_128_cfb8.3
hcrypto/man/man3/EVP_aes_256_cbc.3
+hcrypto/man/man3/DES_set_key_checked.3
+hcrypto/man/man3/hcrypto_des.3
+hcrypto/man/man3/EVP_MD_CTX_block_size.3
+hcrypto/man/man3/DES_is_weak_key.3
hcrypto/man/man3/EVP_aes_256_cfb8.3
-hcrypto/man/man3/EVP_BytesToKey.3
-hcrypto/man/man3/EVP_camellia_128_cbc.3
-hcrypto/man/man3/EVP_camellia_192_cbc.3
-hcrypto/man/man3/EVP_camellia_256_cbc.3
-hcrypto/man/man3/EVP_CIPHER_block_size.3
+hcrypto/man/man3/EVP_aes_128_cfb8.3
hcrypto/man/man3/EVP_CIPHER_CTX_block_size.3
-hcrypto/man/man3/EVP_CIPHER_CTX_cipher.3
-hcrypto/man/man3/EVP_CIPHER_CTX_cleanup.3
-hcrypto/man/man3/EVP_CIPHER_CTX_ctrl.3
-hcrypto/man/man3/EVP_CIPHER_CTX_flags.3
-hcrypto/man/man3/EVP_CIPHER_CTX_get_app_data.3
-hcrypto/man/man3/EVP_CIPHER_CTX_init.3
-hcrypto/man/man3/EVP_CIPHER_CTX_iv_length.3
-hcrypto/man/man3/EVP_CIPHER_CTX_key_length.3
-hcrypto/man/man3/EVP_CIPHER_CTX_mode.3
-hcrypto/man/man3/EVP_CIPHER_CTX_rand_key.3
-hcrypto/man/man3/EVP_CIPHER_CTX_set_app_data.3
-hcrypto/man/man3/EVP_CIPHER_CTX_set_key_length.3
-hcrypto/man/man3/EVP_CIPHER_iv_length.3
-hcrypto/man/man3/EVP_CIPHER_key_length.3
-hcrypto/man/man3/EVP_CipherFinal_ex.3
-hcrypto/man/man3/EVP_CipherInit_ex.3
-hcrypto/man/man3/EVP_CipherUpdate.3
+hcrypto/man/man3/DH_new_method.3
+hcrypto/man/man3/PKCS5_PBKDF2_HMAC_SHA1.3
hcrypto/man/man3/EVP_des_cbc.3
-hcrypto/man/man3/EVP_des_ede3_cbc.3
-hcrypto/man/man3/EVP_Digest.3
-hcrypto/man/man3/EVP_DigestFinal_ex.3
-hcrypto/man/man3/EVP_DigestInit_ex.3
-hcrypto/man/man3/EVP_DigestUpdate.3
-hcrypto/man/man3/EVP_enc_null.3
-hcrypto/man/man3/EVP_get_cipherbyname.3
-hcrypto/man/man3/EVP_hcrypto_aes_128_cbc.3
-hcrypto/man/man3/EVP_hcrypto_aes_128_cfb8.3
+hcrypto/man/man3/EVP_hcrypto_md2.3
+hcrypto/man/man3/DH_ltm_method.3
hcrypto/man/man3/EVP_hcrypto_aes_192_cbc.3
-hcrypto/man/man3/EVP_hcrypto_aes_192_cfb8.3
-hcrypto/man/man3/EVP_hcrypto_aes_256_cbc.3
+hcrypto/man/man3/EVP_camellia_192_cbc.3
hcrypto/man/man3/EVP_hcrypto_aes_256_cfb8.3
-hcrypto/man/man3/EVP_hcrypto_camellia_128_cbc.3
-hcrypto/man/man3/EVP_hcrypto_camellia_192_cbc.3
-hcrypto/man/man3/EVP_hcrypto_camellia_256_cbc.3
-hcrypto/man/man3/EVP_hcrypto_des_cbc.3
-hcrypto/man/man3/EVP_hcrypto_des_ede3_cbc.3
-hcrypto/man/man3/EVP_hcrypto_md2.3
-hcrypto/man/man3/EVP_hcrypto_md4.3
-hcrypto/man/man3/EVP_hcrypto_md5.3
-hcrypto/man/man3/EVP_hcrypto_rc2_40_cbc.3
+hcrypto/man/man3/RAND_load_file.3
+hcrypto/man/man3/EVP_md5.3
hcrypto/man/man3/EVP_hcrypto_rc2_64_cbc.3
+hcrypto/man/man3/DES_string_to_key.3
hcrypto/man/man3/EVP_hcrypto_rc2_cbc.3
-hcrypto/man/man3/EVP_hcrypto_sha1.3
-hcrypto/man/man3/EVP_hcrypto_sha256.3
-hcrypto/man/man3/EVP_hcrypto_sha384.3
-hcrypto/man/man3/EVP_hcrypto_sha512.3
-hcrypto/man/man3/EVP_md2.3
-hcrypto/man/man3/EVP_md4.3
-hcrypto/man/man3/EVP_md5.3
-hcrypto/man/man3/EVP_MD_block_size.3
-hcrypto/man/man3/EVP_MD_CTX_block_size.3
-hcrypto/man/man3/EVP_MD_CTX_cleanup.3
-hcrypto/man/man3/EVP_MD_CTX_create.3
-hcrypto/man/man3/EVP_MD_CTX_destroy.3
-hcrypto/man/man3/EVP_MD_CTX_init.3
+hcrypto/man/man3/EVP_CIPHER_CTX_rand_key.3
+hcrypto/man/man3/EVP_hcrypto_aes_192_cfb8.3
+hcrypto/man/man3/EVP_CIPHER_block_size.3
+hcrypto/man/man3/EVP_hcrypto_rc2_40_cbc.3
+hcrypto/man/man3/hcrypto_misc.3
+hcrypto/man/man3/hcrypto_evp.3
+hcrypto/man/man3/OpenSSL_add_all_algorithms_noconf.3
+hcrypto/man/man3/RAND_bytes.3
+hcrypto/man/man3/RAND_file_name.3
+hcrypto/man/man3/RAND_write_file.3
+hcrypto/man/man3/PKCS5_PBKDF2_HMAC.3
+hcrypto/man/man3/RAND_cleanup.3
+hcrypto/man/man3/EVP_aes_192_cfb8.3
+hcrypto/man/man3/EVP_CIPHER_CTX_mode.3
hcrypto/man/man3/EVP_MD_CTX_md.3
-hcrypto/man/man3/EVP_MD_CTX_size.3
-hcrypto/man/man3/EVP_md_null.3
+hcrypto/man/man3/DH_up_ref.3
+hcrypto/man/man3/DH_set_method.3
+hcrypto/man/man3/EVP_hcrypto_des_cbc.3
+hcrypto/man/man3/DH_null_method.3
hcrypto/man/man3/EVP_MD_size.3
+hcrypto/man/man3/EVP_md2.3
+hcrypto/man/man3/EVP_hcrypto_md5.3
+hcrypto/man/man3/EVP_CipherUpdate.3
+hcrypto/man/man3/EVP_enc_null.3
+hcrypto/man/man3/RSA_up_ref.3
+hcrypto/man/man3/EVP_MD_CTX_destroy.3
+hcrypto/man/man3/DES_new_random_key.3
+hcrypto/man/man3/EVP_BytesToKey.3
+hcrypto/man/man3/EVP_wincrypt_des_ede3_cbc.3
+hcrypto/man/man3/EVP_MD_block_size.3
+hcrypto/man/man3/EVP_rc4_40.3
+hcrypto/man/man3/RSA_new.3
+hcrypto/man/man3/EVP_aes_192_cbc.3
+hcrypto/man/man3/DES_ecb_encrypt.3
+hcrypto/man/man3/OpenSSL_add_all_algorithms_conf.3
+hcrypto/man/man3/hcrypto_core.3
+hcrypto/man/man3/WINCNG_CIPHER_ALGORITHM.3
+hcrypto/man/man3/DES_random_key.3
+hcrypto/man/man3/DH_check_pubkey.3
+hcrypto/man/man3/EVP_camellia_256_cbc.3
+hcrypto/man/man3/hcrypto_rsa.3
+hcrypto/man/man3/EVP_hcrypto_aes_256_cbc.3
+hcrypto/man/man3/EVP_rc2_cbc.3
+hcrypto/man/man3/EVP_CIPHER_CTX_flags.3
hcrypto/man/man3/EVP_rc2_40_cbc.3
+hcrypto/man/man3/DES_set_odd_parity.3
+hcrypto/man/man3/EVP_CIPHER_CTX_init.3
hcrypto/man/man3/EVP_rc2_64_cbc.3
-hcrypto/man/man3/EVP_rc2_cbc.3
-hcrypto/man/man3/EVP_rc4.3
-hcrypto/man/man3/EVP_rc4_40.3
+hcrypto/man/man3/EVP_MD_CTX_size.3
+hcrypto/man/man3/DH_get_ex_data.3
hcrypto/man/man3/EVP_sha.3
-hcrypto/man/man3/EVP_sha1.3
+hcrypto/man/man3/EVP_aes_128_cbc.3
+hcrypto/man/man3/DES_encrypt.3
+hcrypto/man/man3/RAND_set_rand_method.3
+hcrypto/man/man3/DES_key_sched.3
+hcrypto/man/man3/EVP_md_null.3
+hcrypto/man/man3/RAND_status.3
+hcrypto/man/man3/EVP_CIPHER_key_length.3
+hcrypto/man/man3/RSA_get_method.3
+hcrypto/man/man3/DES_cbc_cksum.3
+hcrypto/man/man3/EVP_hcrypto_md4.3
+hcrypto/man/man3/EVP_hcrypto_sha512.3
+hcrypto/man/man3/EVP_CipherInit_ex.3
+hcrypto/man/man3/DH_compute_key.3
+hcrypto/man/man3/RAND_pseudo_bytes.3
+hcrypto/man/man3/EVP_CIPHER_CTX_get_app_data.3
+hcrypto/man/man3/DES_ecb3_encrypt.3
+hcrypto/man/man3/DES_check_key_parity.3
+hcrypto/man/man3/DH_generate_key.3
hcrypto/man/man3/EVP_sha256.3
+hcrypto/man/man3/EVP_hcrypto_sha384.3
+hcrypto/man/man3/EVP_MD_CTX_init.3
+hcrypto/man/man3/DES_pcbc_encrypt.3
+hcrypto/man/man3/page_rsa.3
+hcrypto/man/man3/DH_set_ex_data.3
+hcrypto/man/man3/EVP_hcrypto_sha256.3
+hcrypto/man/man3/EVP_des_ede3_cbc.3
hcrypto/man/man3/EVP_sha384.3
+hcrypto/man/man3/EVP_hcrypto_camellia_128_cbc.3
+hcrypto/man/man3/EVP_CIPHER_CTX_key_length.3
+hcrypto/man/man3/RAND_seed.3
+hcrypto/man/man3/EVP_hcrypto_camellia_192_cbc.3
+hcrypto/man/man3/RSA_set_app_data.3
+hcrypto/man/man3/DH_generate_parameters_ex.3
hcrypto/man/man3/EVP_sha512.3
-hcrypto/man/man3/EVP_wincrypt_des_ede3_cbc.3
-hcrypto/man/man3/hcrypto_core.3
-hcrypto/man/man3/hcrypto_des.3
-hcrypto/man/man3/hcrypto_dh.3
-hcrypto/man/man3/hcrypto_evp.3
-hcrypto/man/man3/hcrypto_misc.3
+hcrypto/man/man3/EVP_DigestInit_ex.3
+hcrypto/man/man3/EVP_hcrypto_des_ede3_cbc.3
+hcrypto/man/man3/EVP_CIPHER_iv_length.3
+hcrypto/man/man3/RSA_new_method.3
+hcrypto/man/man3/EVP_sha1.3
+hcrypto/man/man3/RAND_set_rand_engine.3
+hcrypto/man/man3/EVP_hcrypto_sha1.3
+hcrypto/man/man3/EVP_CIPHER_CTX_cleanup.3
+hcrypto/man/man3/DES_init_random_number_generator.3
+hcrypto/man/man3/OSSL_CIPHER_ALGORITHM.3
+hcrypto/man/man3/DH_set_default_method.3
+hcrypto/man/man3/DES_cbc_encrypt.3
+hcrypto/man/man3/EVP_CIPHER_CTX_set_app_data.3
+hcrypto/man/man3/EVP_MD_CTX_cleanup.3
hcrypto/man/man3/hcrypto_rand.3
-hcrypto/man/man3/hcrypto_rsa.3
-hcrypto/man/man3/OpenSSL_add_all_algorithms.3
-hcrypto/man/man3/OpenSSL_add_all_algorithms_conf.3
-hcrypto/man/man3/OpenSSL_add_all_algorithms_noconf.3
+hcrypto/man/man3/page_rand.3
+hcrypto/man/man3/EVP_CIPHER_CTX_set_key_length.3
+hcrypto/man/man3/EVP_hcrypto_camellia_256_cbc.3
+hcrypto/man/man3/WINCNG_CIPHER_ALGORITHM_UNAVAILABLE.3
hcrypto/man/man3/page_des.3
+hcrypto/man/man3/EVP_md4.3
hcrypto/man/man3/page_dh.3
+hcrypto/man/man3/EVP_CIPHER_CTX_iv_length.3
+hcrypto/man/man3/DH_new.3
+hcrypto/man/man3/EVP_MD_CTX_create.3
+hcrypto/man/man3/RSA_free.3
hcrypto/man/man3/page_evp.3
-hcrypto/man/man3/page_rand.3
-hcrypto/man/man3/page_rsa.3
-hcrypto/man/man3/PKCS5_PBKDF2_HMAC_SHA1.3
-hcrypto/man/man3/RAND_add.3
-hcrypto/man/man3/RAND_bytes.3
-hcrypto/man/man3/RAND_cleanup.3
-hcrypto/man/man3/RAND_file_name.3
+hcrypto/man/man3/EVP_DigestUpdate.3
+hcrypto/man/man3/EVP_rc4.3
+hcrypto/man/man3/hcrypto_dh.3
hcrypto/man/man3/RAND_get_rand_method.3
-hcrypto/man/man3/RAND_load_file.3
-hcrypto/man/man3/RAND_pseudo_bytes.3
-hcrypto/man/man3/RAND_seed.3
-hcrypto/man/man3/RAND_set_rand_engine.3
-hcrypto/man/man3/RAND_set_rand_method.3
-hcrypto/man/man3/RAND_status.3
-hcrypto/man/man3/RAND_write_file.3
-hcrypto/man/man3/RSA_free.3
-hcrypto/man/man3/RSA_get_app_data.3
-hcrypto/man/man3/RSA_get_method.3
-hcrypto/man/man3/RSA_new.3
-hcrypto/man/man3/RSA_new_method.3
-hcrypto/man/man3/RSA_set_app_data.3
+hcrypto/man/man3/DES_cfb64_encrypt.3
hcrypto/man/man3/RSA_set_method.3
-hcrypto/man/man3/RSA_up_ref.3
+hcrypto/man/man3/DES_ede3_cbc_encrypt.3
+hcrypto/man/man3/RAND_add.3
+hcrypto/man/man3/RSA_get_app_data.3
+hcrypto/man/man3/EVP_get_cipherbyname.3
+hcrypto/man/man3/DES_set_key.3
+hcrypto/man/man3/DH_get_default_method.3
+hcrypto/man/man3/OpenSSL_add_all_algorithms.3
+hcrypto/man/man3/EVP_Digest.3
+hcrypto/man/man3/EVP_DigestFinal_ex.3
+hcrypto/man/man3/DH_size.3
+hcrypto/man/man3/DES_set_key_unchecked.3
+hcrypto/man/man3/DH_free.3
+hcrypto/man/man3/EVP_CipherFinal_ex.3