aboutsummaryrefslogtreecommitdiffstats
path: root/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html
diff options
context:
space:
mode:
authorAngelos Mouzakitis <a.mouzakitis@virtualopensystems.com>2023-10-10 14:33:42 +0000
committerAngelos Mouzakitis <a.mouzakitis@virtualopensystems.com>2023-10-10 14:33:42 +0000
commitaf1a266670d040d2f4083ff309d732d648afba2a (patch)
tree2fc46203448ddcc6f81546d379abfaeb323575e9 /roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html
parente02cda008591317b1625707ff8e115a4841aa889 (diff)
Add submodule dependency filesHEADmaster
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html')
-rw-r--r--roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/doxygen.css310
-rw-r--r--roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/doxygen.pngbin0 -> 1281 bytes
-rw-r--r--roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/group__cc__ccache__iterator__reference.html96
-rw-r--r--roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/group__cc__ccache__reference.html96
-rw-r--r--roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/group__cc__context__reference.html161
-rw-r--r--roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/group__cc__credentials__iterator__reference.html133
-rw-r--r--roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/group__cc__credentials__reference.html197
-rw-r--r--roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/group__cc__string__reference.html96
-rw-r--r--roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/group__ccapi__constants__reference.html407
-rw-r--r--roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/group__ccapi__types__reference.html138
-rw-r--r--roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/group__helper__macros.html1377
-rw-r--r--roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/index.html85
-rw-r--r--roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__ccache__d.html43
-rw-r--r--roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__ccache__f.html722
-rw-r--r--roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__ccache__iterator__d.html43
-rw-r--r--roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__ccache__iterator__f.html117
-rw-r--r--roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__context__d.html43
-rw-r--r--roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__context__f.html513
-rw-r--r--roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__credentials__d.html67
-rw-r--r--roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__credentials__f.html85
-rw-r--r--roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__credentials__iterator__d.html43
-rw-r--r--roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__credentials__iterator__f.html85
-rw-r--r--roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__credentials__union.html118
-rw-r--r--roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__credentials__v4__t.html358
-rw-r--r--roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__credentials__v5__t.html334
-rw-r--r--roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__data.html94
-rw-r--r--roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__string__d.html67
-rw-r--r--roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__string__f.html51
28 files changed, 5879 insertions, 0 deletions
diff --git a/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/doxygen.css b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/doxygen.css
new file mode 100644
index 000000000..05615b2e6
--- /dev/null
+++ b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/doxygen.css
@@ -0,0 +1,310 @@
+BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV {
+ font-family: Geneva, Arial, Helvetica, sans-serif;
+}
+BODY,TD {
+ font-size: 90%;
+}
+H1 {
+ text-align: center;
+ font-size: 160%;
+}
+H2 {
+ font-size: 120%;
+}
+H3 {
+ font-size: 100%;
+}
+CAPTION { font-weight: bold }
+DIV.qindex {
+ width: 100%;
+ background-color: #e8eef2;
+ border: 1px solid #84b0c7;
+ text-align: center;
+ margin: 2px;
+ padding: 2px;
+ line-height: 140%;
+}
+DIV.nav {
+ 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;
+}
+TD.navtab {
+ font-size: 70%;
+}
+A.qindex {
+ text-decoration: none;
+ font-weight: bold;
+ color: #1A419D;
+}
+A.qindex:visited {
+ text-decoration: none;
+ font-weight: bold;
+ color: #1A419D
+}
+A.qindex:hover {
+ text-decoration: none;
+ background-color: #ddddff;
+}
+A.qindexHL {
+ text-decoration: none;
+ font-weight: bold;
+ background-color: #6666cc;
+ color: #ffffff;
+ border: 1px double #9295C2;
+}
+A.qindexHL:hover {
+ text-decoration: none;
+ background-color: #6666cc;
+ color: #ffffff;
+}
+A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff }
+A.el { text-decoration: none; font-weight: bold }
+A.elRef { font-weight: bold }
+A.code:link { text-decoration: none; font-weight: normal; color: #0000FF}
+A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF}
+A.codeRef:link { font-weight: normal; color: #0000FF}
+A.codeRef:visited { font-weight: normal; color: #0000FF}
+A:hover { text-decoration: none; background-color: #f2f2ff }
+DL.el { margin-left: -1cm }
+.fragment {
+ font-family: Fixed, monospace;
+ font-size: 95%;
+}
+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;
+}
+DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px }
+TD.md { background-color: #F4F4FB; font-weight: bold; }
+TD.mdPrefix {
+ background-color: #F4F4FB;
+ color: #606060;
+ font-size: 80%;
+}
+TD.mdname1 { background-color: #F4F4FB; font-weight: bold; color: #602020; }
+TD.mdname { background-color: #F4F4FB; font-weight: bold; color: #602020; width: 600px; }
+DIV.groupHeader {
+ margin-left: 16px;
+ margin-top: 12px;
+ margin-bottom: 6px;
+ font-weight: bold;
+}
+DIV.groupText { margin-left: 16px; font-style: italic; font-size: 90% }
+BODY {
+ background: white;
+ color: black;
+ margin-right: 20px;
+ margin-left: 20px;
+}
+TD.indexkey {
+ background-color: #e8eef2;
+ 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 }
+.mdTable {
+ border: 1px solid #868686;
+ background-color: #F4F4FB;
+}
+.mdRow {
+ padding: 8px 10px;
+}
+.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%;
+ 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%;
+}
+.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%;
+}
+.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%;
+}
+.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%;
+}
+.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%;
+}
+.search { color: #003399;
+ font-weight: bold;
+}
+FORM.search {
+ margin-bottom: 0px;
+ margin-top: 0px;
+}
+INPUT.search { font-size: 75%;
+ color: #000080;
+ font-weight: normal;
+ background-color: #e8eef2;
+}
+TD.tiny { font-size: 75%;
+}
+a {
+ color: #1A41A8;
+}
+a:visited {
+ color: #2A3798;
+}
+.dirtab { padding: 4px;
+ border-collapse: collapse;
+ border: 1px solid #84b0c7;
+}
+TH.dirtab { background: #e8eef2;
+ font-weight: bold;
+}
+HR { height: 1px;
+ border: none;
+ border-top: 1px solid black;
+}
+
diff --git a/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/doxygen.png b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/doxygen.png
new file mode 100644
index 000000000..f0a274bba
--- /dev/null
+++ b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/doxygen.png
Binary files differ
diff --git a/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/group__cc__ccache__iterator__reference.html b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/group__cc__ccache__iterator__reference.html
new file mode 100644
index 000000000..2c8bfe27b
--- /dev/null
+++ b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/group__cc__ccache__iterator__reference.html
@@ -0,0 +1,96 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Credentials Cache API : cc_ccache_iterator_t Overview</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.4.6 -->
+<h1>cc_ccache_iterator_t Overview</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
+The cc_ccache_iterator_t type represents an iterator that iterates over a set of ccaches and returns them in all in some order. A new instance of this type can be obtained by calling <a class="el" href="group__helper__macros.html#g6957bc9570e4769a5b1213d2a1d90cd7">cc_context_new_ccache_iterator()</a>.<p>
+For API function documentation see <a class="el" href="structcc__ccache__iterator__f.html">cc_ccache_iterator_f</a>.
+<p>
+<h2>Data Structures</h2>
+<ul>
+<li>struct <a class="el" href="structcc__ccache__iterator__d.html">cc_ccache_iterator_d</a>
+</ul>
+<h2>Typedefs</h2>
+<ul>
+<li>typedef <a class="el" href="structcc__ccache__iterator__f.html">cc_ccache_iterator_f</a> <a class="el" href="group__cc__ccache__iterator__reference.html#g55a6d891b6840466cc956bdd327dc314">cc_ccache_iterator_f</a>
+<li>typedef <a class="el" href="structcc__ccache__iterator__d.html">cc_ccache_iterator_d</a> <a class="el" href="group__cc__ccache__iterator__reference.html#g0ab4121cf78b7e0f92a90e9d4c15f0cf">cc_ccache_iterator_d</a>
+<li>typedef <a class="el" href="structcc__ccache__iterator__d.html">cc_ccache_iterator_d</a> * <a class="el" href="group__cc__ccache__iterator__reference.html#gce800a50d1fe0dcb05b6be0884232318">cc_ccache_iterator_t</a>
+</ul>
+<hr><h2>Typedef Documentation</h2>
+<a class="anchor" name="g55a6d891b6840466cc956bdd327dc314"></a><!-- doxytag: member="CredentialsCache.h::cc_ccache_iterator_f" ref="g55a6d891b6840466cc956bdd327dc314" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">typedef struct <a class="el" href="structcc__ccache__iterator__f.html">cc_ccache_iterator_f</a> <a class="el" href="structcc__ccache__iterator__f.html">cc_ccache_iterator_f</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="g0ab4121cf78b7e0f92a90e9d4c15f0cf"></a><!-- doxytag: member="CredentialsCache.h::cc_ccache_iterator_d" ref="g0ab4121cf78b7e0f92a90e9d4c15f0cf" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">typedef struct <a class="el" href="structcc__ccache__iterator__d.html">cc_ccache_iterator_d</a> <a class="el" href="structcc__ccache__iterator__d.html">cc_ccache_iterator_d</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="gce800a50d1fe0dcb05b6be0884232318"></a><!-- doxytag: member="CredentialsCache.h::cc_ccache_iterator_t" ref="gce800a50d1fe0dcb05b6be0884232318" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">typedef <a class="el" href="structcc__ccache__iterator__d.html">cc_ccache_iterator_d</a>* <a class="el" href="structcc__ccache__iterator__d.html">cc_ccache_iterator_t</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Oct 2 17:16:06 2007 for Credentials Cache API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
+</body>
+</html>
diff --git a/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/group__cc__ccache__reference.html b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/group__cc__ccache__reference.html
new file mode 100644
index 000000000..ce47b73c6
--- /dev/null
+++ b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/group__cc__ccache__reference.html
@@ -0,0 +1,96 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Credentials Cache API : cc_ccache_t Overview</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.4.6 -->
+<h1>cc_ccache_t Overview</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
+The cc_ccache_t type represents a reference to a ccache. Callers can access a ccache and the credentials stored in it via a cc_ccache_t. A cc_ccache_t can be acquired via <a class="el" href="group__helper__macros.html#g256a5ba17fe0e4502e0722d9b081bbef">cc_context_open_ccache()</a>, <a class="el" href="group__helper__macros.html#g45a7ce29eb409baabadcae1bc95d5c57">cc_context_open_default_ccache()</a>, or <a class="el" href="group__helper__macros.html#gcff0b3e247a2adc95442324fec6c5651">cc_ccache_iterator_next()</a>.<p>
+For API function documentation see <a class="el" href="structcc__ccache__f.html">cc_ccache_f</a>.
+<p>
+<h2>Data Structures</h2>
+<ul>
+<li>struct <a class="el" href="structcc__ccache__d.html">cc_ccache_d</a>
+</ul>
+<h2>Typedefs</h2>
+<ul>
+<li>typedef <a class="el" href="structcc__ccache__f.html">cc_ccache_f</a> <a class="el" href="group__cc__ccache__reference.html#ga88aed938d3678e263f6507fcd6e5e38">cc_ccache_f</a>
+<li>typedef <a class="el" href="structcc__ccache__d.html">cc_ccache_d</a> <a class="el" href="group__cc__ccache__reference.html#g8eaae84d4f6a48e1e21eb4fe8a0b367a">cc_ccache_d</a>
+<li>typedef <a class="el" href="structcc__ccache__d.html">cc_ccache_d</a> * <a class="el" href="group__cc__ccache__reference.html#gf59e3c32bf0b7d9cc409438cebb2f048">cc_ccache_t</a>
+</ul>
+<hr><h2>Typedef Documentation</h2>
+<a class="anchor" name="ga88aed938d3678e263f6507fcd6e5e38"></a><!-- doxytag: member="CredentialsCache.h::cc_ccache_f" ref="ga88aed938d3678e263f6507fcd6e5e38" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">typedef struct <a class="el" href="structcc__ccache__f.html">cc_ccache_f</a> <a class="el" href="structcc__ccache__f.html">cc_ccache_f</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="g8eaae84d4f6a48e1e21eb4fe8a0b367a"></a><!-- doxytag: member="CredentialsCache.h::cc_ccache_d" ref="g8eaae84d4f6a48e1e21eb4fe8a0b367a" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">typedef struct <a class="el" href="structcc__ccache__d.html">cc_ccache_d</a> <a class="el" href="structcc__ccache__d.html">cc_ccache_d</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="gf59e3c32bf0b7d9cc409438cebb2f048"></a><!-- doxytag: member="CredentialsCache.h::cc_ccache_t" ref="gf59e3c32bf0b7d9cc409438cebb2f048" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">typedef <a class="el" href="structcc__ccache__d.html">cc_ccache_d</a>* <a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Oct 2 17:16:06 2007 for Credentials Cache API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
+</body>
+</html>
diff --git a/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/group__cc__context__reference.html b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/group__cc__context__reference.html
new file mode 100644
index 000000000..cd7e6be3d
--- /dev/null
+++ b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/group__cc__context__reference.html
@@ -0,0 +1,161 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Credentials Cache API : cc_context_t Overview</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.4.6 -->
+<h1>cc_context_t Overview</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
+The cc_context_t type gives the caller access to a ccache collection. Before being able to call any functions in the CCache API, the caller needs to acquire an instance of cc_context_t by calling <a class="el" href="group__cc__context__reference.html#ge4174587d8bb261e32194bbb9585fb82">cc_initialize()</a>.<p>
+For API function documentation see <a class="el" href="structcc__context__f.html">cc_context_f</a>.
+<p>
+<h2>Data Structures</h2>
+<ul>
+<li>struct <a class="el" href="structcc__context__d.html">cc_context_d</a>
+</ul>
+<h2>Typedefs</h2>
+<ul>
+<li>typedef <a class="el" href="structcc__context__f.html">cc_context_f</a> <a class="el" href="group__cc__context__reference.html#gf285100b13ebff78db5ce1efb30e689d">cc_context_f</a>
+<li>typedef <a class="el" href="structcc__context__d.html">cc_context_d</a> <a class="el" href="group__cc__context__reference.html#g989a601250a2a05fd23b46c546084add">cc_context_d</a>
+<li>typedef <a class="el" href="structcc__context__d.html">cc_context_d</a> * <a class="el" href="group__cc__context__reference.html#gea6f60fd799984a7178bcb4d4c7290c0">cc_context_t</a>
+</ul>
+<h2>Functions</h2>
+<ul>
+<li>CCACHE_API <a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a> <a class="el" href="group__cc__context__reference.html#ge4174587d8bb261e32194bbb9585fb82">cc_initialize</a> (<a class="el" href="structcc__context__d.html">cc_context_t</a> *out_context, <a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a> in_version, <a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a> *out_supported_version, char const **out_vendor)
+<dl class="el"><dd class="mdescRight">Initialize a new cc_context. <a href="#ge4174587d8bb261e32194bbb9585fb82"></a><br></dl></ul>
+<hr><h2>Typedef Documentation</h2>
+<a class="anchor" name="gf285100b13ebff78db5ce1efb30e689d"></a><!-- doxytag: member="CredentialsCache.h::cc_context_f" ref="gf285100b13ebff78db5ce1efb30e689d" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">typedef struct <a class="el" href="structcc__context__f.html">cc_context_f</a> <a class="el" href="structcc__context__f.html">cc_context_f</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="g989a601250a2a05fd23b46c546084add"></a><!-- doxytag: member="CredentialsCache.h::cc_context_d" ref="g989a601250a2a05fd23b46c546084add" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">typedef struct <a class="el" href="structcc__context__d.html">cc_context_d</a> <a class="el" href="structcc__context__d.html">cc_context_d</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="gea6f60fd799984a7178bcb4d4c7290c0"></a><!-- doxytag: member="CredentialsCache.h::cc_context_t" ref="gea6f60fd799984a7178bcb4d4c7290c0" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">typedef <a class="el" href="structcc__context__d.html">cc_context_d</a>* <a class="el" href="structcc__context__d.html">cc_context_t</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="ge4174587d8bb261e32194bbb9585fb82"></a><!-- doxytag: member="CredentialsCache.h::cc_initialize" ref="ge4174587d8bb261e32194bbb9585fb82" args="(cc_context_t *out_context, cc_int32 in_version, cc_int32 *out_supported_version, char const **out_vendor)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">CCACHE_API <a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a> cc_initialize </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structcc__context__d.html">cc_context_t</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>out_context</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>in_version</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>out_supported_version</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>char const **&nbsp;</td>
+ <td class="mdname" nowrap> <em>out_vendor</em></td>
+ </tr>
+ <tr>
+ <td class="md"></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Initialize a new cc_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>out_context</em>&nbsp;</td><td>on exit, a new context object. Must be free with <a class="el" href="group__helper__macros.html#g8ff82ce108889d4ed29f46ffe6efc40e">cc_context_release()</a>. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>in_version</em>&nbsp;</td><td>the requested API version. This should be the maximum version the application supports. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>out_supported_version</em>&nbsp;</td><td>if non-NULL, on exit contains the maximum API version supported by the implementation. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>out_vendor</em>&nbsp;</td><td>if non-NULL, on exit contains a pointer to a read-only C string which contains a string describing the vendor which implemented the credentials cache API. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>. On failure, an error code representing the failure. May return CCAPI v2 error CC_BAD_API_VERSION if <a class="el" href="group__ccapi__constants__reference.html#gg06fc87d81c62e9abb8790b6e5713c55bafee271af4e43ec6c9bb2e3e849cc1f9">ccapi_version_2</a> is passed in. </dd></dl>
+ </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Oct 2 17:16:06 2007 for Credentials Cache API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
+</body>
+</html>
diff --git a/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/group__cc__credentials__iterator__reference.html b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/group__cc__credentials__iterator__reference.html
new file mode 100644
index 000000000..41ba42f86
--- /dev/null
+++ b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/group__cc__credentials__iterator__reference.html
@@ -0,0 +1,133 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Credentials Cache API : cc_credentials_iterator_t</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.4.6 -->
+<h1>cc_credentials_iterator_t</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
+The cc_credentials_iterator_t type represents an iterator that iterates over a set of credentials. A new instance of this type can be obtained by calling <a class="el" href="group__helper__macros.html#g893b31c419e71c2f528781d3036fa3ff">cc_ccache_new_credentials_iterator()</a>.<p>
+For API function documentation see <a class="el" href="structcc__credentials__iterator__f.html">cc_credentials_iterator_f</a>.
+<p>
+<h2>Data Structures</h2>
+<ul>
+<li>struct <a class="el" href="structcc__credentials__iterator__d.html">cc_credentials_iterator_d</a>
+</ul>
+<h2>Typedefs</h2>
+<ul>
+<li>typedef <a class="el" href="structcc__credentials__iterator__f.html">cc_credentials_iterator_f</a> <a class="el" href="group__cc__credentials__iterator__reference.html#g220581901999fe870ab65046e56cd1d6">cc_credentials_iterator_f</a>
+<li>typedef <a class="el" href="structcc__credentials__iterator__d.html">cc_credentials_iterator_d</a> <a class="el" href="group__cc__credentials__iterator__reference.html#ga1ad98d009f803bb13c04331bb47aee8">cc_credentials_iterator_d</a>
+<li>typedef <a class="el" href="structcc__credentials__iterator__d.html">cc_credentials_iterator_d</a> * <a class="el" href="group__cc__credentials__iterator__reference.html#g0d07a146ead685954032d0d7a6af7d4a">cc_credentials_iterator_t</a>
+</ul>
+<h2>Variables</h2>
+<ul>
+<li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="group__cc__credentials__iterator__reference.html#g7d765e583b5994785e214df663e8959c">cc_credentials_iterator_f::clone</a> )(<a class="el" href="structcc__credentials__iterator__d.html">cc_credentials_iterator_t</a> in_credentials_iterator, <a class="el" href="structcc__credentials__iterator__d.html">cc_credentials_iterator_t</a> *out_credentials_iterator)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#g59a9f96a6c00b64c0ab971f7e9b5aae2">cc_credentials_iterator_clone()</a></b>: Make a copy of a credentials iterator. <a href="#g7d765e583b5994785e214df663e8959c"></a><br></dl></ul>
+<hr><h2>Typedef Documentation</h2>
+<a class="anchor" name="g220581901999fe870ab65046e56cd1d6"></a><!-- doxytag: member="CredentialsCache.h::cc_credentials_iterator_f" ref="g220581901999fe870ab65046e56cd1d6" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">typedef struct <a class="el" href="structcc__credentials__iterator__f.html">cc_credentials_iterator_f</a> <a class="el" href="structcc__credentials__iterator__f.html">cc_credentials_iterator_f</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="ga1ad98d009f803bb13c04331bb47aee8"></a><!-- doxytag: member="CredentialsCache.h::cc_credentials_iterator_d" ref="ga1ad98d009f803bb13c04331bb47aee8" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">typedef struct <a class="el" href="structcc__credentials__iterator__d.html">cc_credentials_iterator_d</a> <a class="el" href="structcc__credentials__iterator__d.html">cc_credentials_iterator_d</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="g0d07a146ead685954032d0d7a6af7d4a"></a><!-- doxytag: member="CredentialsCache.h::cc_credentials_iterator_t" ref="g0d07a146ead685954032d0d7a6af7d4a" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">typedef <a class="el" href="structcc__credentials__iterator__d.html">cc_credentials_iterator_d</a>* <a class="el" href="structcc__credentials__iterator__d.html">cc_credentials_iterator_t</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<hr><h2>Variable Documentation</h2>
+<a class="anchor" name="g7d765e583b5994785e214df663e8959c"></a><!-- doxytag: member="cc_credentials_iterator_f::clone" ref="g7d765e583b5994785e214df663e8959c" args=")(cc_credentials_iterator_t in_credentials_iterator, cc_credentials_iterator_t *out_credentials_iterator)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* clone)(<a class="el" href="structcc__credentials__iterator__d.html">cc_credentials_iterator_t</a> in_credentials_iterator, <a class="el" href="structcc__credentials__iterator__d.html">cc_credentials_iterator_t</a> *out_credentials_iterator)<code> [inherited]</code> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#g59a9f96a6c00b64c0ab971f7e9b5aae2">cc_credentials_iterator_clone()</a></b>: Make a copy of a credentials iterator.
+<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_credentials_iterator</em>&nbsp;</td><td>a credentials iterator object. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>out_credentials_iterator</em>&nbsp;</td><td>on exit, a copy of <em>in_credentials_iterator</em>. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>. On failure, an error code representing the failure. </dd></dl>
+ </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Oct 2 17:16:06 2007 for Credentials Cache API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
+</body>
+</html>
diff --git a/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/group__cc__credentials__reference.html b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/group__cc__credentials__reference.html
new file mode 100644
index 000000000..d083e6c07
--- /dev/null
+++ b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/group__cc__credentials__reference.html
@@ -0,0 +1,197 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Credentials Cache API : cc_credentials_t Overview</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.4.6 -->
+<h1>cc_credentials_t Overview</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
+The cc_credentials_t type is used to store a single set of credentials for either Kerberos v4 or Kerberos v5. In addition to its only function, release(), it contains a pointer to a <a class="el" href="structcc__credentials__union.html">cc_credentials_union</a> structure. A <a class="el" href="structcc__credentials__union.html">cc_credentials_union</a> structure contains an integer of the enumerator type cc_credentials_version, which is either <a class="el" href="group__ccapi__constants__reference.html#ggae76da96fff95c157c3b28c4455dc35c017c26531bad42f92f7f3e1f697b58fa">cc_credentials_v4</a> or <a class="el" href="group__ccapi__constants__reference.html#ggae76da96fff95c157c3b28c4455dc35c98335a31ad81a10632568375dcc10668">cc_credentials_v5</a>, and a pointer union, which contains either a <a class="el" href="structcc__credentials__v4__t.html">cc_credentials_v4_t</a> pointer or a <a class="el" href="structcc__credentials__v5__t.html">cc_credentials_v5_t</a> pointer, depending on the value in version.<p>
+Variables of the type cc_credentials_t are allocated by the CCAPI implementation, and should be released with their release() function. API functions which receive credentials structures from the caller always accept <a class="el" href="structcc__credentials__union.html">cc_credentials_union</a>, which is allocated by the caller, and accordingly disposed by the caller.<p>
+For API functions see <a class="el" href="structcc__credentials__f.html">cc_credentials_f</a>.
+<p>
+<h2>Data Structures</h2>
+<ul>
+<li>struct <a class="el" href="structcc__credentials__v4__t.html">cc_credentials_v4_t</a>
+<li>struct <a class="el" href="structcc__data.html">cc_data</a>
+<li>struct <a class="el" href="structcc__credentials__v5__t.html">cc_credentials_v5_t</a>
+<li>struct <a class="el" href="structcc__credentials__union.html">cc_credentials_union</a>
+<li>struct <a class="el" href="structcc__credentials__d.html">cc_credentials_d</a>
+</ul>
+<h2>Typedefs</h2>
+<ul>
+<li>typedef <a class="el" href="structcc__credentials__v4__t.html">cc_credentials_v4_t</a> <a class="el" href="group__cc__credentials__reference.html#g15918c5c162aa2edf2bd1890f8a78c70">cc_credentials_v4_t</a>
+<li>typedef <a class="el" href="structcc__data.html">cc_data</a> <a class="el" href="group__cc__credentials__reference.html#g5004a9b025c5cef3364c4a614b700f50">cc_data</a>
+<li>typedef <a class="el" href="structcc__credentials__v5__t.html">cc_credentials_v5_t</a> <a class="el" href="group__cc__credentials__reference.html#g5e882157ba93358ac4a78760a2ccdbd6">cc_credentials_v5_t</a>
+<li>typedef <a class="el" href="structcc__credentials__union.html">cc_credentials_union</a> <a class="el" href="group__cc__credentials__reference.html#ge277840865f515373fcab3c6299901a3">cc_credentials_union</a>
+<li>typedef <a class="el" href="structcc__credentials__f.html">cc_credentials_f</a> <a class="el" href="group__cc__credentials__reference.html#g85b7bf154216b8f780ddaae4b8b0a96c">cc_credentials_f</a>
+<li>typedef <a class="el" href="structcc__credentials__d.html">cc_credentials_d</a> <a class="el" href="group__cc__credentials__reference.html#g04cec8816d2e51bb3ee5b1b3c1f5429d">cc_credentials_d</a>
+<li>typedef <a class="el" href="structcc__credentials__d.html">cc_credentials_d</a> * <a class="el" href="group__cc__credentials__reference.html#gf7b0ec03495a6818dd9cd0c1d395ece2">cc_credentials_t</a>
+</ul>
+<hr><h2>Typedef Documentation</h2>
+<a class="anchor" name="g15918c5c162aa2edf2bd1890f8a78c70"></a><!-- doxytag: member="CredentialsCache.h::cc_credentials_v4_t" ref="g15918c5c162aa2edf2bd1890f8a78c70" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">typedef struct <a class="el" href="structcc__credentials__v4__t.html">cc_credentials_v4_t</a> <a class="el" href="structcc__credentials__v4__t.html">cc_credentials_v4_t</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="g5004a9b025c5cef3364c4a614b700f50"></a><!-- doxytag: member="CredentialsCache.h::cc_data" ref="g5004a9b025c5cef3364c4a614b700f50" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">typedef struct <a class="el" href="structcc__data.html">cc_data</a> <a class="el" href="structcc__data.html">cc_data</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="g5e882157ba93358ac4a78760a2ccdbd6"></a><!-- doxytag: member="CredentialsCache.h::cc_credentials_v5_t" ref="g5e882157ba93358ac4a78760a2ccdbd6" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">typedef struct <a class="el" href="structcc__credentials__v5__t.html">cc_credentials_v5_t</a> <a class="el" href="structcc__credentials__v5__t.html">cc_credentials_v5_t</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="ge277840865f515373fcab3c6299901a3"></a><!-- doxytag: member="CredentialsCache.h::cc_credentials_union" ref="ge277840865f515373fcab3c6299901a3" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">typedef struct <a class="el" href="structcc__credentials__union.html">cc_credentials_union</a> <a class="el" href="structcc__credentials__union.html">cc_credentials_union</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="g85b7bf154216b8f780ddaae4b8b0a96c"></a><!-- doxytag: member="CredentialsCache.h::cc_credentials_f" ref="g85b7bf154216b8f780ddaae4b8b0a96c" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">typedef struct <a class="el" href="structcc__credentials__f.html">cc_credentials_f</a> <a class="el" href="structcc__credentials__f.html">cc_credentials_f</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="g04cec8816d2e51bb3ee5b1b3c1f5429d"></a><!-- doxytag: member="CredentialsCache.h::cc_credentials_d" ref="g04cec8816d2e51bb3ee5b1b3c1f5429d" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">typedef struct <a class="el" href="structcc__credentials__d.html">cc_credentials_d</a> <a class="el" href="structcc__credentials__d.html">cc_credentials_d</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="gf7b0ec03495a6818dd9cd0c1d395ece2"></a><!-- doxytag: member="CredentialsCache.h::cc_credentials_t" ref="gf7b0ec03495a6818dd9cd0c1d395ece2" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">typedef <a class="el" href="structcc__credentials__d.html">cc_credentials_d</a>* <a class="el" href="structcc__credentials__d.html">cc_credentials_t</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Oct 2 17:16:06 2007 for Credentials Cache API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
+</body>
+</html>
diff --git a/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/group__cc__string__reference.html b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/group__cc__string__reference.html
new file mode 100644
index 000000000..9ce3b7195
--- /dev/null
+++ b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/group__cc__string__reference.html
@@ -0,0 +1,96 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Credentials Cache API : cc_string_t Overview</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.4.6 -->
+<h1>cc_string_t Overview</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
+The cc_string_t represents a C string returned by the API. It has a pointer to the string data and a release() function. This type is used for both principal names and ccache names returned by the API. Principal names may contain UTF-8 encoded strings for internationalization purposes.<p>
+For API function documentation see <a class="el" href="structcc__string__f.html">cc_string_f</a>.
+<p>
+<h2>Data Structures</h2>
+<ul>
+<li>struct <a class="el" href="structcc__string__d.html">cc_string_d</a>
+</ul>
+<h2>Typedefs</h2>
+<ul>
+<li>typedef <a class="el" href="structcc__string__f.html">cc_string_f</a> <a class="el" href="group__cc__string__reference.html#g3d01e5c05378e9e78f126156137d51ce">cc_string_f</a>
+<li>typedef <a class="el" href="structcc__string__d.html">cc_string_d</a> <a class="el" href="group__cc__string__reference.html#g80f57852683632a4c587af5b0f545dea">cc_string_d</a>
+<li>typedef <a class="el" href="structcc__string__d.html">cc_string_d</a> * <a class="el" href="group__cc__string__reference.html#ge6bb6a8c574096b66b5def65eb87a40e">cc_string_t</a>
+</ul>
+<hr><h2>Typedef Documentation</h2>
+<a class="anchor" name="g3d01e5c05378e9e78f126156137d51ce"></a><!-- doxytag: member="CredentialsCache.h::cc_string_f" ref="g3d01e5c05378e9e78f126156137d51ce" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">typedef struct <a class="el" href="structcc__string__f.html">cc_string_f</a> <a class="el" href="structcc__string__f.html">cc_string_f</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="g80f57852683632a4c587af5b0f545dea"></a><!-- doxytag: member="CredentialsCache.h::cc_string_d" ref="g80f57852683632a4c587af5b0f545dea" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">typedef struct <a class="el" href="structcc__string__d.html">cc_string_d</a> <a class="el" href="structcc__string__d.html">cc_string_d</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="ge6bb6a8c574096b66b5def65eb87a40e"></a><!-- doxytag: member="CredentialsCache.h::cc_string_t" ref="ge6bb6a8c574096b66b5def65eb87a40e" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">typedef <a class="el" href="structcc__string__d.html">cc_string_d</a>* <a class="el" href="structcc__string__d.html">cc_string_t</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Oct 2 17:16:06 2007 for Credentials Cache API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
+</body>
+</html>
diff --git a/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/group__ccapi__constants__reference.html b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/group__ccapi__constants__reference.html
new file mode 100644
index 000000000..87ec30b83
--- /dev/null
+++ b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/group__ccapi__constants__reference.html
@@ -0,0 +1,407 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Credentials Cache API : Constants</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.4.6 -->
+<h1>Constants</h1>
+<p>
+<h2>Enumerations</h2>
+<ul>
+<li>enum { <br>
+&nbsp;&nbsp;<a class="el" href="group__ccapi__constants__reference.html#gg06fc87d81c62e9abb8790b6e5713c55bafee271af4e43ec6c9bb2e3e849cc1f9">ccapi_version_2</a> = 2,
+<a class="el" href="group__ccapi__constants__reference.html#gg06fc87d81c62e9abb8790b6e5713c55b26f201de4113dda3b4ec78dcda95d5a1">ccapi_version_3</a> = 3,
+<a class="el" href="group__ccapi__constants__reference.html#gg06fc87d81c62e9abb8790b6e5713c55b833d16677b6eb5531fb1285b216c8f3b">ccapi_version_4</a> = 4,
+<a class="el" href="group__ccapi__constants__reference.html#gg06fc87d81c62e9abb8790b6e5713c55bc3ad534e2499e8e48c86f852c39c8415">ccapi_version_5</a> = 5,
+<br>
+&nbsp;&nbsp;<a class="el" href="group__ccapi__constants__reference.html#gg06fc87d81c62e9abb8790b6e5713c55bc462c2766a9fe8fa84d8fccea65b8ab3">ccapi_version_6</a> = 6,
+<a class="el" href="group__ccapi__constants__reference.html#gg06fc87d81c62e9abb8790b6e5713c55b9c325640a04bb548b92d49df89381bc8">ccapi_version_7</a> = 7,
+<a class="el" href="group__ccapi__constants__reference.html#gg06fc87d81c62e9abb8790b6e5713c55bc33d8c3e3c172be1515cc0d2df8e3d71">ccapi_version_max</a> = ccapi_version_7
+<br>
+ }
+<li>enum { <br>
+&nbsp;&nbsp;<a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a> = 0,
+<a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b748d5a55ed773e002ccc271beb4512c0a">ccIteratorEnd</a> = 201,
+<a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b775735bfd0c621b1c5c2a0067f60cfa9d">ccErrBadParam</a>,
+<a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b74f31ee78c32ed1bea75d364ccbf1e690">ccErrNoMem</a>,
+<br>
+&nbsp;&nbsp;<a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7d9bf97d9c57a6a14ac5b6a7a06e008f7">ccErrInvalidContext</a>,
+<a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b708791e8ed735ecc02c1e6b222f913c71">ccErrInvalidCCache</a>,
+<a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b742b40a71ad0c84171c8d982f6cfdeec9">ccErrInvalidString</a>,
+<a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b78705dd3f7b52ce8e23e9a25f552b4a84">ccErrInvalidCredentials</a>,
+<br>
+&nbsp;&nbsp;<a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7fbc118bc7860198fc6a0b8e4a161363a">ccErrInvalidCCacheIterator</a>,
+<a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b751c0c94d8b4dfb834b27fa7090f7b4f2">ccErrInvalidCredentialsIterator</a>,
+<a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b73e2425cf044691597d10bbc14b3c90ba">ccErrInvalidLock</a>,
+<a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7b508b53d9628aa7e0fca3253d619e78e">ccErrBadName</a>,
+<br>
+&nbsp;&nbsp;<a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7d2f35f60002115819c8c443e67191ea4">ccErrBadCredentialsVersion</a>,
+<a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b759ae48c63ae4aaaa3cd7bc5504847660">ccErrBadAPIVersion</a>,
+<a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b78df04862b2e05986499f0d93268fa7b8">ccErrContextLocked</a>,
+<a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b71606d0e0540ead205a400306e5933c04">ccErrContextUnlocked</a>,
+<br>
+&nbsp;&nbsp;<a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7a453f3f6d7e578f47efbb1734cb46002">ccErrCCacheLocked</a>,
+<a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7d3ebfa156acf72a3a86f14760d315e24">ccErrCCacheUnlocked</a>,
+<a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7b0fa85b2c59d51c3ec205e40191e7619">ccErrBadLockType</a>,
+<a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7604f23ab0c8c3e1d97f8b32c4501a895">ccErrNeverDefault</a>,
+<br>
+&nbsp;&nbsp;<a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b74c8c5082e236270c5dc55e998dfb9288">ccErrCredentialsNotFound</a>,
+<a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b73098feac66058e6ebd02c5e44fa20a9c">ccErrCCacheNotFound</a>,
+<a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b793bd0c54010e2a36d2e2af1e8aaef06f">ccErrContextNotFound</a>,
+<a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7267b21d05e1f4005392c52e439de03a4">ccErrServerUnavailable</a>,
+<br>
+&nbsp;&nbsp;<a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7a18e1555d7af1a60ce1978069e95fe6f">ccErrServerInsecure</a>,
+<a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7fd9fdcb22b761cb3e53e1d6d6b545884">ccErrServerCantBecomeUID</a>,
+<a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7d6825aa88394eb52df80bef870d986db">ccErrTimeOffsetNotSet</a>,
+<a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b75f8cef73e4ac4c8894c4318ef921350e">ccErrBadInternalMessage</a>,
+<br>
+&nbsp;&nbsp;<a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7a35748a788a849ff09dd453ac66f8314">ccErrNotImplemented</a>,
+<a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b79cab6af44e2358aa12f176a60e245d67">ccErrClientNotFound</a>
+<br>
+ }
+<li>enum <a class="el" href="group__ccapi__constants__reference.html#gae76da96fff95c157c3b28c4455dc35c">cc_credential_versions</a> { <a class="el" href="group__ccapi__constants__reference.html#ggae76da96fff95c157c3b28c4455dc35c017c26531bad42f92f7f3e1f697b58fa">cc_credentials_v4</a> = 1,
+<a class="el" href="group__ccapi__constants__reference.html#ggae76da96fff95c157c3b28c4455dc35c98335a31ad81a10632568375dcc10668">cc_credentials_v5</a> = 2,
+<a class="el" href="group__ccapi__constants__reference.html#ggae76da96fff95c157c3b28c4455dc35ca49ae6c35599f5860241601dcb0c9e0d">cc_credentials_v4_v5</a> = 3
+ }
+<li>enum <a class="el" href="group__ccapi__constants__reference.html#g2081cbacd4ec3d5a64c8729fd78fc611">cc_lock_types</a> { <a class="el" href="group__ccapi__constants__reference.html#gg2081cbacd4ec3d5a64c8729fd78fc6110a9a6083623e4c7c8340c0146f032154">cc_lock_read</a> = 0,
+<a class="el" href="group__ccapi__constants__reference.html#gg2081cbacd4ec3d5a64c8729fd78fc611bc97eae3b375c4cee90087597b7f375d">cc_lock_write</a> = 1,
+<a class="el" href="group__ccapi__constants__reference.html#gg2081cbacd4ec3d5a64c8729fd78fc61184bf8feb65a88dc09aa52c6d955111a3">cc_lock_upgrade</a> = 2,
+<a class="el" href="group__ccapi__constants__reference.html#gg2081cbacd4ec3d5a64c8729fd78fc611426c331fb09e249b6944d8ba28893eba">cc_lock_downgrade</a> = 3
+ }
+<li>enum <a class="el" href="group__ccapi__constants__reference.html#g0eff5be22e263d0bd9e4bb6fb0a8e948">cc_lock_modes</a> { <a class="el" href="group__ccapi__constants__reference.html#gg0eff5be22e263d0bd9e4bb6fb0a8e9485fe1eddb0bba9df16dbcc63aeeb79aa3">cc_lock_noblock</a> = 0,
+<a class="el" href="group__ccapi__constants__reference.html#gg0eff5be22e263d0bd9e4bb6fb0a8e94827e385feb864d167880744d0874834d8">cc_lock_block</a> = 1
+ }
+<li>enum { <br>
+&nbsp;&nbsp;<a class="el" href="group__ccapi__constants__reference.html#gg99fb83031ce9923c84392b4e92f956b5ae3147869a486588adf6bc588ee8cc30">cc_v4_name_size</a> = 40,
+<a class="el" href="group__ccapi__constants__reference.html#gg99fb83031ce9923c84392b4e92f956b55abe44162300eabb9a9f65b324cad493">cc_v4_instance_size</a> = 40,
+<a class="el" href="group__ccapi__constants__reference.html#gg99fb83031ce9923c84392b4e92f956b5714d28ea3d6c6807817d7b377afc22f8">cc_v4_realm_size</a> = 40,
+<a class="el" href="group__ccapi__constants__reference.html#gg99fb83031ce9923c84392b4e92f956b5b52bd33d187632efd597f282540b081a">cc_v4_ticket_size</a> = 1254,
+<br>
+&nbsp;&nbsp;<a class="el" href="group__ccapi__constants__reference.html#gg99fb83031ce9923c84392b4e92f956b57532f28276c3a759e487560ee4666a29">cc_v4_key_size</a> = 8
+<br>
+ }
+<li>enum <a class="el" href="group__ccapi__constants__reference.html#ge78c8fbb79f8ff963ec7c88c431721c3">cc_string_to_key_type</a> { <br>
+&nbsp;&nbsp;<a class="el" href="group__ccapi__constants__reference.html#gge78c8fbb79f8ff963ec7c88c431721c3c0beda03d5c9e36ce9a199c98573d39a">cc_v4_stk_afs</a> = 0,
+<a class="el" href="group__ccapi__constants__reference.html#gge78c8fbb79f8ff963ec7c88c431721c31b71e069604cd1cebc2b694ef04aedd1">cc_v4_stk_des</a> = 1,
+<a class="el" href="group__ccapi__constants__reference.html#gge78c8fbb79f8ff963ec7c88c431721c3db66296923c38aa2d7c7420da28d7014">cc_v4_stk_columbia_special</a> = 2,
+<a class="el" href="group__ccapi__constants__reference.html#gge78c8fbb79f8ff963ec7c88c431721c3816b6bb45f51557bc3de5e13d38dc310">cc_v4_stk_krb5</a> = 3,
+<br>
+&nbsp;&nbsp;<a class="el" href="group__ccapi__constants__reference.html#gge78c8fbb79f8ff963ec7c88c431721c3e19e1a52a4289172671e91d87ab027bb">cc_v4_stk_unknown</a> = 4
+<br>
+ }
+</ul>
+<hr><h2>Enumeration Type Documentation</h2>
+<a class="anchor" name="g06fc87d81c62e9abb8790b6e5713c55b"></a><!-- doxytag: member="CredentialsCache.h::@0" ref="g06fc87d81c62e9abb8790b6e5713c55b" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">anonymous enum </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+API version numbers<p>
+These constants are passed into <a class="el" href="group__cc__context__reference.html#ge4174587d8bb261e32194bbb9585fb82">cc_initialize()</a> to indicate the version of the API the caller wants to use.<p>
+CCAPI v1 and v2 are deprecated and should not be used. <dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="gg06fc87d81c62e9abb8790b6e5713c55bafee271af4e43ec6c9bb2e3e849cc1f9"></a><!-- doxytag: member="ccapi_version_2" ref="gg06fc87d81c62e9abb8790b6e5713c55bafee271af4e43ec6c9bb2e3e849cc1f9" args="" -->ccapi_version_2</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="gg06fc87d81c62e9abb8790b6e5713c55b26f201de4113dda3b4ec78dcda95d5a1"></a><!-- doxytag: member="ccapi_version_3" ref="gg06fc87d81c62e9abb8790b6e5713c55b26f201de4113dda3b4ec78dcda95d5a1" args="" -->ccapi_version_3</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="gg06fc87d81c62e9abb8790b6e5713c55b833d16677b6eb5531fb1285b216c8f3b"></a><!-- doxytag: member="ccapi_version_4" ref="gg06fc87d81c62e9abb8790b6e5713c55b833d16677b6eb5531fb1285b216c8f3b" args="" -->ccapi_version_4</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="gg06fc87d81c62e9abb8790b6e5713c55bc3ad534e2499e8e48c86f852c39c8415"></a><!-- doxytag: member="ccapi_version_5" ref="gg06fc87d81c62e9abb8790b6e5713c55bc3ad534e2499e8e48c86f852c39c8415" args="" -->ccapi_version_5</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="gg06fc87d81c62e9abb8790b6e5713c55bc462c2766a9fe8fa84d8fccea65b8ab3"></a><!-- doxytag: member="ccapi_version_6" ref="gg06fc87d81c62e9abb8790b6e5713c55bc462c2766a9fe8fa84d8fccea65b8ab3" args="" -->ccapi_version_6</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="gg06fc87d81c62e9abb8790b6e5713c55b9c325640a04bb548b92d49df89381bc8"></a><!-- doxytag: member="ccapi_version_7" ref="gg06fc87d81c62e9abb8790b6e5713c55b9c325640a04bb548b92d49df89381bc8" args="" -->ccapi_version_7</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="gg06fc87d81c62e9abb8790b6e5713c55bc33d8c3e3c172be1515cc0d2df8e3d71"></a><!-- doxytag: member="ccapi_version_max" ref="gg06fc87d81c62e9abb8790b6e5713c55bc33d8c3e3c172be1515cc0d2df8e3d71" args="" -->ccapi_version_max</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="gdf764cbdea00d65edcd07bb9953ad2b7"></a><!-- doxytag: member="CredentialsCache.h::@1" ref="gdf764cbdea00d65edcd07bb9953ad2b7" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">anonymous enum </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Error codes <dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26"></a><!-- doxytag: member="ccNoError" ref="ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26" args="" -->ccNoError</em>&nbsp;</td><td>
+Success. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="ggdf764cbdea00d65edcd07bb9953ad2b748d5a55ed773e002ccc271beb4512c0a"></a><!-- doxytag: member="ccIteratorEnd" ref="ggdf764cbdea00d65edcd07bb9953ad2b748d5a55ed773e002ccc271beb4512c0a" args="" -->ccIteratorEnd</em>&nbsp;</td><td>
+Iterator is done iterating. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="ggdf764cbdea00d65edcd07bb9953ad2b775735bfd0c621b1c5c2a0067f60cfa9d"></a><!-- doxytag: member="ccErrBadParam" ref="ggdf764cbdea00d65edcd07bb9953ad2b775735bfd0c621b1c5c2a0067f60cfa9d" args="" -->ccErrBadParam</em>&nbsp;</td><td>
+Bad parameter (NULL or invalid pointer where valid pointer expected). </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="ggdf764cbdea00d65edcd07bb9953ad2b74f31ee78c32ed1bea75d364ccbf1e690"></a><!-- doxytag: member="ccErrNoMem" ref="ggdf764cbdea00d65edcd07bb9953ad2b74f31ee78c32ed1bea75d364ccbf1e690" args="" -->ccErrNoMem</em>&nbsp;</td><td>
+Not enough memory to complete the operation. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="ggdf764cbdea00d65edcd07bb9953ad2b7d9bf97d9c57a6a14ac5b6a7a06e008f7"></a><!-- doxytag: member="ccErrInvalidContext" ref="ggdf764cbdea00d65edcd07bb9953ad2b7d9bf97d9c57a6a14ac5b6a7a06e008f7" args="" -->ccErrInvalidContext</em>&nbsp;</td><td>
+Context is invalid (e.g., it was released). </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="ggdf764cbdea00d65edcd07bb9953ad2b708791e8ed735ecc02c1e6b222f913c71"></a><!-- doxytag: member="ccErrInvalidCCache" ref="ggdf764cbdea00d65edcd07bb9953ad2b708791e8ed735ecc02c1e6b222f913c71" args="" -->ccErrInvalidCCache</em>&nbsp;</td><td>
+CCache is invalid (e.g., it was released or destroyed). </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="ggdf764cbdea00d65edcd07bb9953ad2b742b40a71ad0c84171c8d982f6cfdeec9"></a><!-- doxytag: member="ccErrInvalidString" ref="ggdf764cbdea00d65edcd07bb9953ad2b742b40a71ad0c84171c8d982f6cfdeec9" args="" -->ccErrInvalidString</em>&nbsp;</td><td>
+String is invalid (e.g., it was released). </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="ggdf764cbdea00d65edcd07bb9953ad2b78705dd3f7b52ce8e23e9a25f552b4a84"></a><!-- doxytag: member="ccErrInvalidCredentials" ref="ggdf764cbdea00d65edcd07bb9953ad2b78705dd3f7b52ce8e23e9a25f552b4a84" args="" -->ccErrInvalidCredentials</em>&nbsp;</td><td>
+Credentials are invalid (e.g., they were released), or they have a bad version. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="ggdf764cbdea00d65edcd07bb9953ad2b7fbc118bc7860198fc6a0b8e4a161363a"></a><!-- doxytag: member="ccErrInvalidCCacheIterator" ref="ggdf764cbdea00d65edcd07bb9953ad2b7fbc118bc7860198fc6a0b8e4a161363a" args="" -->ccErrInvalidCCacheIterator</em>&nbsp;</td><td>
+CCache iterator is invalid (e.g., it was released). </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="ggdf764cbdea00d65edcd07bb9953ad2b751c0c94d8b4dfb834b27fa7090f7b4f2"></a><!-- doxytag: member="ccErrInvalidCredentialsIterator" ref="ggdf764cbdea00d65edcd07bb9953ad2b751c0c94d8b4dfb834b27fa7090f7b4f2" args="" -->ccErrInvalidCredentialsIterator</em>&nbsp;</td><td>
+Credentials iterator is invalid (e.g., it was released). </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="ggdf764cbdea00d65edcd07bb9953ad2b73e2425cf044691597d10bbc14b3c90ba"></a><!-- doxytag: member="ccErrInvalidLock" ref="ggdf764cbdea00d65edcd07bb9953ad2b73e2425cf044691597d10bbc14b3c90ba" args="" -->ccErrInvalidLock</em>&nbsp;</td><td>
+Lock is invalid (e.g., it was released). </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="ggdf764cbdea00d65edcd07bb9953ad2b7b508b53d9628aa7e0fca3253d619e78e"></a><!-- doxytag: member="ccErrBadName" ref="ggdf764cbdea00d65edcd07bb9953ad2b7b508b53d9628aa7e0fca3253d619e78e" args="" -->ccErrBadName</em>&nbsp;</td><td>
+Bad credential cache name format. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="ggdf764cbdea00d65edcd07bb9953ad2b7d2f35f60002115819c8c443e67191ea4"></a><!-- doxytag: member="ccErrBadCredentialsVersion" ref="ggdf764cbdea00d65edcd07bb9953ad2b7d2f35f60002115819c8c443e67191ea4" args="" -->ccErrBadCredentialsVersion</em>&nbsp;</td><td>
+Credentials version is invalid. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="ggdf764cbdea00d65edcd07bb9953ad2b759ae48c63ae4aaaa3cd7bc5504847660"></a><!-- doxytag: member="ccErrBadAPIVersion" ref="ggdf764cbdea00d65edcd07bb9953ad2b759ae48c63ae4aaaa3cd7bc5504847660" args="" -->ccErrBadAPIVersion</em>&nbsp;</td><td>
+Unsupported API version. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="ggdf764cbdea00d65edcd07bb9953ad2b78df04862b2e05986499f0d93268fa7b8"></a><!-- doxytag: member="ccErrContextLocked" ref="ggdf764cbdea00d65edcd07bb9953ad2b78df04862b2e05986499f0d93268fa7b8" args="" -->ccErrContextLocked</em>&nbsp;</td><td>
+Context is already locked. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="ggdf764cbdea00d65edcd07bb9953ad2b71606d0e0540ead205a400306e5933c04"></a><!-- doxytag: member="ccErrContextUnlocked" ref="ggdf764cbdea00d65edcd07bb9953ad2b71606d0e0540ead205a400306e5933c04" args="" -->ccErrContextUnlocked</em>&nbsp;</td><td>
+Context is not locked by the caller. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="ggdf764cbdea00d65edcd07bb9953ad2b7a453f3f6d7e578f47efbb1734cb46002"></a><!-- doxytag: member="ccErrCCacheLocked" ref="ggdf764cbdea00d65edcd07bb9953ad2b7a453f3f6d7e578f47efbb1734cb46002" args="" -->ccErrCCacheLocked</em>&nbsp;</td><td>
+CCache is already locked. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="ggdf764cbdea00d65edcd07bb9953ad2b7d3ebfa156acf72a3a86f14760d315e24"></a><!-- doxytag: member="ccErrCCacheUnlocked" ref="ggdf764cbdea00d65edcd07bb9953ad2b7d3ebfa156acf72a3a86f14760d315e24" args="" -->ccErrCCacheUnlocked</em>&nbsp;</td><td>
+CCache is not locked by the caller. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="ggdf764cbdea00d65edcd07bb9953ad2b7b0fa85b2c59d51c3ec205e40191e7619"></a><!-- doxytag: member="ccErrBadLockType" ref="ggdf764cbdea00d65edcd07bb9953ad2b7b0fa85b2c59d51c3ec205e40191e7619" args="" -->ccErrBadLockType</em>&nbsp;</td><td>
+Bad lock type. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="ggdf764cbdea00d65edcd07bb9953ad2b7604f23ab0c8c3e1d97f8b32c4501a895"></a><!-- doxytag: member="ccErrNeverDefault" ref="ggdf764cbdea00d65edcd07bb9953ad2b7604f23ab0c8c3e1d97f8b32c4501a895" args="" -->ccErrNeverDefault</em>&nbsp;</td><td>
+CCache was never default. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="ggdf764cbdea00d65edcd07bb9953ad2b74c8c5082e236270c5dc55e998dfb9288"></a><!-- doxytag: member="ccErrCredentialsNotFound" ref="ggdf764cbdea00d65edcd07bb9953ad2b74c8c5082e236270c5dc55e998dfb9288" args="" -->ccErrCredentialsNotFound</em>&nbsp;</td><td>
+Matching credentials not found in the ccache. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="ggdf764cbdea00d65edcd07bb9953ad2b73098feac66058e6ebd02c5e44fa20a9c"></a><!-- doxytag: member="ccErrCCacheNotFound" ref="ggdf764cbdea00d65edcd07bb9953ad2b73098feac66058e6ebd02c5e44fa20a9c" args="" -->ccErrCCacheNotFound</em>&nbsp;</td><td>
+Matching ccache not found in the collection. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="ggdf764cbdea00d65edcd07bb9953ad2b793bd0c54010e2a36d2e2af1e8aaef06f"></a><!-- doxytag: member="ccErrContextNotFound" ref="ggdf764cbdea00d65edcd07bb9953ad2b793bd0c54010e2a36d2e2af1e8aaef06f" args="" -->ccErrContextNotFound</em>&nbsp;</td><td>
+Matching cache collection not found. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="ggdf764cbdea00d65edcd07bb9953ad2b7267b21d05e1f4005392c52e439de03a4"></a><!-- doxytag: member="ccErrServerUnavailable" ref="ggdf764cbdea00d65edcd07bb9953ad2b7267b21d05e1f4005392c52e439de03a4" args="" -->ccErrServerUnavailable</em>&nbsp;</td><td>
+CCacheServer is unavailable. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="ggdf764cbdea00d65edcd07bb9953ad2b7a18e1555d7af1a60ce1978069e95fe6f"></a><!-- doxytag: member="ccErrServerInsecure" ref="ggdf764cbdea00d65edcd07bb9953ad2b7a18e1555d7af1a60ce1978069e95fe6f" args="" -->ccErrServerInsecure</em>&nbsp;</td><td>
+CCacheServer has detected that it is running as the wrong user. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="ggdf764cbdea00d65edcd07bb9953ad2b7fd9fdcb22b761cb3e53e1d6d6b545884"></a><!-- doxytag: member="ccErrServerCantBecomeUID" ref="ggdf764cbdea00d65edcd07bb9953ad2b7fd9fdcb22b761cb3e53e1d6d6b545884" args="" -->ccErrServerCantBecomeUID</em>&nbsp;</td><td>
+CCacheServer failed to start running as the user. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="ggdf764cbdea00d65edcd07bb9953ad2b7d6825aa88394eb52df80bef870d986db"></a><!-- doxytag: member="ccErrTimeOffsetNotSet" ref="ggdf764cbdea00d65edcd07bb9953ad2b7d6825aa88394eb52df80bef870d986db" args="" -->ccErrTimeOffsetNotSet</em>&nbsp;</td><td>
+KDC time offset not set for this ccache. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="ggdf764cbdea00d65edcd07bb9953ad2b75f8cef73e4ac4c8894c4318ef921350e"></a><!-- doxytag: member="ccErrBadInternalMessage" ref="ggdf764cbdea00d65edcd07bb9953ad2b75f8cef73e4ac4c8894c4318ef921350e" args="" -->ccErrBadInternalMessage</em>&nbsp;</td><td>
+The client and CCacheServer can't communicate (e.g., a version mismatch). </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="ggdf764cbdea00d65edcd07bb9953ad2b7a35748a788a849ff09dd453ac66f8314"></a><!-- doxytag: member="ccErrNotImplemented" ref="ggdf764cbdea00d65edcd07bb9953ad2b7a35748a788a849ff09dd453ac66f8314" args="" -->ccErrNotImplemented</em>&nbsp;</td><td>
+API function not supported by this implementation. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="ggdf764cbdea00d65edcd07bb9953ad2b79cab6af44e2358aa12f176a60e245d67"></a><!-- doxytag: member="ccErrClientNotFound" ref="ggdf764cbdea00d65edcd07bb9953ad2b79cab6af44e2358aa12f176a60e245d67" args="" -->ccErrClientNotFound</em>&nbsp;</td><td>
+CCacheServer has no record of the caller's process (e.g., the server crashed). </td></tr>
+</table>
+</dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="gae76da96fff95c157c3b28c4455dc35c"></a><!-- doxytag: member="CredentialsCache.h::cc_credential_versions" ref="gae76da96fff95c157c3b28c4455dc35c" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">enum <a class="el" href="group__ccapi__constants__reference.html#gae76da96fff95c157c3b28c4455dc35c">cc_credential_versions</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Credentials versions<p>
+These constants are used in several places in the API to discern between Kerberos v4 and Kerberos v5. Not all values are valid inputs and outputs for all functions; function specifications below detail the allowed values.<p>
+Kerberos version constants will always be a bit-field, and can be tested as such; for example the following test will tell you if a ccacheVersion includes v5 credentials:<p>
+if ((ccacheVersion &amp; cc_credentials_v5) != 0) <dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="ggae76da96fff95c157c3b28c4455dc35c017c26531bad42f92f7f3e1f697b58fa"></a><!-- doxytag: member="cc_credentials_v4" ref="ggae76da96fff95c157c3b28c4455dc35c017c26531bad42f92f7f3e1f697b58fa" args="" -->cc_credentials_v4</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="ggae76da96fff95c157c3b28c4455dc35c98335a31ad81a10632568375dcc10668"></a><!-- doxytag: member="cc_credentials_v5" ref="ggae76da96fff95c157c3b28c4455dc35c98335a31ad81a10632568375dcc10668" args="" -->cc_credentials_v5</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="ggae76da96fff95c157c3b28c4455dc35ca49ae6c35599f5860241601dcb0c9e0d"></a><!-- doxytag: member="cc_credentials_v4_v5" ref="ggae76da96fff95c157c3b28c4455dc35ca49ae6c35599f5860241601dcb0c9e0d" args="" -->cc_credentials_v4_v5</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="g2081cbacd4ec3d5a64c8729fd78fc611"></a><!-- doxytag: member="CredentialsCache.h::cc_lock_types" ref="g2081cbacd4ec3d5a64c8729fd78fc611" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">enum <a class="el" href="group__ccapi__constants__reference.html#g2081cbacd4ec3d5a64c8729fd78fc611">cc_lock_types</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Lock types<p>
+These constants are used in the locking functions to describe the type of lock requested. Note that all CCAPI locks are advisory so only callers using the lock calls will be blocked by each other. This is because locking functions were introduced after the CCAPI came into common use and we did not want to break existing callers. <dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="gg2081cbacd4ec3d5a64c8729fd78fc6110a9a6083623e4c7c8340c0146f032154"></a><!-- doxytag: member="cc_lock_read" ref="gg2081cbacd4ec3d5a64c8729fd78fc6110a9a6083623e4c7c8340c0146f032154" args="" -->cc_lock_read</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="gg2081cbacd4ec3d5a64c8729fd78fc611bc97eae3b375c4cee90087597b7f375d"></a><!-- doxytag: member="cc_lock_write" ref="gg2081cbacd4ec3d5a64c8729fd78fc611bc97eae3b375c4cee90087597b7f375d" args="" -->cc_lock_write</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="gg2081cbacd4ec3d5a64c8729fd78fc61184bf8feb65a88dc09aa52c6d955111a3"></a><!-- doxytag: member="cc_lock_upgrade" ref="gg2081cbacd4ec3d5a64c8729fd78fc61184bf8feb65a88dc09aa52c6d955111a3" args="" -->cc_lock_upgrade</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="gg2081cbacd4ec3d5a64c8729fd78fc611426c331fb09e249b6944d8ba28893eba"></a><!-- doxytag: member="cc_lock_downgrade" ref="gg2081cbacd4ec3d5a64c8729fd78fc611426c331fb09e249b6944d8ba28893eba" args="" -->cc_lock_downgrade</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="g0eff5be22e263d0bd9e4bb6fb0a8e948"></a><!-- doxytag: member="CredentialsCache.h::cc_lock_modes" ref="g0eff5be22e263d0bd9e4bb6fb0a8e948" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">enum <a class="el" href="group__ccapi__constants__reference.html#g0eff5be22e263d0bd9e4bb6fb0a8e948">cc_lock_modes</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Locking Modes<p>
+These constants are used in the advisory locking functions to describe whether or not the lock function should block waiting for a lock or return an error immediately. For example, attempting to acquire a lock with a non-blocking call will result in an error if the lock cannot be acquired; otherwise, the call will block until the lock can be acquired. <dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="gg0eff5be22e263d0bd9e4bb6fb0a8e9485fe1eddb0bba9df16dbcc63aeeb79aa3"></a><!-- doxytag: member="cc_lock_noblock" ref="gg0eff5be22e263d0bd9e4bb6fb0a8e9485fe1eddb0bba9df16dbcc63aeeb79aa3" args="" -->cc_lock_noblock</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="gg0eff5be22e263d0bd9e4bb6fb0a8e94827e385feb864d167880744d0874834d8"></a><!-- doxytag: member="cc_lock_block" ref="gg0eff5be22e263d0bd9e4bb6fb0a8e94827e385feb864d167880744d0874834d8" args="" -->cc_lock_block</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="g99fb83031ce9923c84392b4e92f956b5"></a><!-- doxytag: member="CredentialsCache.h::@2" ref="g99fb83031ce9923c84392b4e92f956b5" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">anonymous enum </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Sizes of fields in <a class="el" href="structcc__credentials__v4__t.html">cc_credentials_v4_t</a>. <dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="gg99fb83031ce9923c84392b4e92f956b5ae3147869a486588adf6bc588ee8cc30"></a><!-- doxytag: member="cc_v4_name_size" ref="gg99fb83031ce9923c84392b4e92f956b5ae3147869a486588adf6bc588ee8cc30" args="" -->cc_v4_name_size</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="gg99fb83031ce9923c84392b4e92f956b55abe44162300eabb9a9f65b324cad493"></a><!-- doxytag: member="cc_v4_instance_size" ref="gg99fb83031ce9923c84392b4e92f956b55abe44162300eabb9a9f65b324cad493" args="" -->cc_v4_instance_size</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="gg99fb83031ce9923c84392b4e92f956b5714d28ea3d6c6807817d7b377afc22f8"></a><!-- doxytag: member="cc_v4_realm_size" ref="gg99fb83031ce9923c84392b4e92f956b5714d28ea3d6c6807817d7b377afc22f8" args="" -->cc_v4_realm_size</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="gg99fb83031ce9923c84392b4e92f956b5b52bd33d187632efd597f282540b081a"></a><!-- doxytag: member="cc_v4_ticket_size" ref="gg99fb83031ce9923c84392b4e92f956b5b52bd33d187632efd597f282540b081a" args="" -->cc_v4_ticket_size</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="gg99fb83031ce9923c84392b4e92f956b57532f28276c3a759e487560ee4666a29"></a><!-- doxytag: member="cc_v4_key_size" ref="gg99fb83031ce9923c84392b4e92f956b57532f28276c3a759e487560ee4666a29" args="" -->cc_v4_key_size</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="ge78c8fbb79f8ff963ec7c88c431721c3"></a><!-- doxytag: member="CredentialsCache.h::cc_string_to_key_type" ref="ge78c8fbb79f8ff963ec7c88c431721c3" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">enum <a class="el" href="group__ccapi__constants__reference.html#ge78c8fbb79f8ff963ec7c88c431721c3">cc_string_to_key_type</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+String to key type (Kerberos v4 only) <dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="gge78c8fbb79f8ff963ec7c88c431721c3c0beda03d5c9e36ce9a199c98573d39a"></a><!-- doxytag: member="cc_v4_stk_afs" ref="gge78c8fbb79f8ff963ec7c88c431721c3c0beda03d5c9e36ce9a199c98573d39a" args="" -->cc_v4_stk_afs</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="gge78c8fbb79f8ff963ec7c88c431721c31b71e069604cd1cebc2b694ef04aedd1"></a><!-- doxytag: member="cc_v4_stk_des" ref="gge78c8fbb79f8ff963ec7c88c431721c31b71e069604cd1cebc2b694ef04aedd1" args="" -->cc_v4_stk_des</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="gge78c8fbb79f8ff963ec7c88c431721c3db66296923c38aa2d7c7420da28d7014"></a><!-- doxytag: member="cc_v4_stk_columbia_special" ref="gge78c8fbb79f8ff963ec7c88c431721c3db66296923c38aa2d7c7420da28d7014" args="" -->cc_v4_stk_columbia_special</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="gge78c8fbb79f8ff963ec7c88c431721c3816b6bb45f51557bc3de5e13d38dc310"></a><!-- doxytag: member="cc_v4_stk_krb5" ref="gge78c8fbb79f8ff963ec7c88c431721c3816b6bb45f51557bc3de5e13d38dc310" args="" -->cc_v4_stk_krb5</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="gge78c8fbb79f8ff963ec7c88c431721c3e19e1a52a4289172671e91d87ab027bb"></a><!-- doxytag: member="cc_v4_stk_unknown" ref="gge78c8fbb79f8ff963ec7c88c431721c3e19e1a52a4289172671e91d87ab027bb" args="" -->cc_v4_stk_unknown</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+ </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Oct 2 17:16:06 2007 for Credentials Cache API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
+</body>
+</html>
diff --git a/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/group__ccapi__types__reference.html b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/group__ccapi__types__reference.html
new file mode 100644
index 000000000..9c646b8d9
--- /dev/null
+++ b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/group__ccapi__types__reference.html
@@ -0,0 +1,138 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Credentials Cache API : Basic Types</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.4.6 -->
+<h1>Basic Types</h1>
+<p>
+<h2>Typedefs</h2>
+<ul>
+<li>typedef uint32_t <a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a>
+<li>typedef int32_t <a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>
+<li>typedef int64_t <a class="el" href="group__ccapi__types__reference.html#gb6fb75be8c6af177e86f1b3bc562f031">cc_int64</a>
+<li>typedef uint64_t <a class="el" href="group__ccapi__types__reference.html#g44f60a4b4db805be9d55b476dd949a66">cc_uint64</a>
+<li>typedef <a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> <a class="el" href="group__ccapi__types__reference.html#ge7a754cfe5664beadddaa100646c9742">cc_time_t</a>
+</ul>
+<hr><h2>Typedef Documentation</h2>
+<a class="anchor" name="ga00783c3f4aa70580d0900b1a79aab9d"></a><!-- doxytag: member="CredentialsCache.h::cc_uint32" ref="ga00783c3f4aa70580d0900b1a79aab9d" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">typedef uint32_t <a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Unsigned 32-bit integer type </td>
+ </tr>
+</table>
+<a class="anchor" name="g0ce639c8d65dc6367fb361d5bbcea874"></a><!-- doxytag: member="CredentialsCache.h::cc_int32" ref="g0ce639c8d65dc6367fb361d5bbcea874" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">typedef int32_t <a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Signed 32-bit integer type </td>
+ </tr>
+</table>
+<a class="anchor" name="gb6fb75be8c6af177e86f1b3bc562f031"></a><!-- doxytag: member="CredentialsCache.h::cc_int64" ref="gb6fb75be8c6af177e86f1b3bc562f031" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">typedef int64_t <a class="el" href="group__ccapi__types__reference.html#gb6fb75be8c6af177e86f1b3bc562f031">cc_int64</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Unsigned 64-bit integer type </td>
+ </tr>
+</table>
+<a class="anchor" name="g44f60a4b4db805be9d55b476dd949a66"></a><!-- doxytag: member="CredentialsCache.h::cc_uint64" ref="g44f60a4b4db805be9d55b476dd949a66" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">typedef uint64_t <a class="el" href="group__ccapi__types__reference.html#g44f60a4b4db805be9d55b476dd949a66">cc_uint64</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Signed 64-bit integer type </td>
+ </tr>
+</table>
+<a class="anchor" name="ge7a754cfe5664beadddaa100646c9742"></a><!-- doxytag: member="CredentialsCache.h::cc_time_t" ref="ge7a754cfe5664beadddaa100646c9742" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">typedef <a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> <a class="el" href="group__ccapi__types__reference.html#ge7a754cfe5664beadddaa100646c9742">cc_time_t</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The cc_time_t type is used to represent a time in seconds. The time must be stored as the number of seconds since midnight GMT on January 1, 1970. </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Oct 2 17:16:06 2007 for Credentials Cache API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
+</body>
+</html>
diff --git a/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/group__helper__macros.html b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/group__helper__macros.html
new file mode 100644
index 000000000..cf1c681dc
--- /dev/null
+++ b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/group__helper__macros.html
@@ -0,0 +1,1377 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Credentials Cache API : CCAPI Function Helper Macros</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.4.6 -->
+<h1>CCAPI Function Helper Macros</h1>
+<p>
+<h2>Defines</h2>
+<ul>
+<li>#define <a class="el" href="group__helper__macros.html#g8ff82ce108889d4ed29f46ffe6efc40e">cc_context_release</a>(context)&nbsp;&nbsp;&nbsp;((context) -&gt; functions -&gt; release (context))
+<li>#define <a class="el" href="group__helper__macros.html#g82f551af17455b78fa3a2e3f83c96907">cc_context_get_change_time</a>(context, change_time)&nbsp;&nbsp;&nbsp;((context) -&gt; functions -&gt; get_change_time (context, change_time))
+<li>#define <a class="el" href="group__helper__macros.html#gcb4eb9f1db6f8ebf261339ad87cb6c51">cc_context_get_default_ccache_name</a>(context, name)&nbsp;&nbsp;&nbsp;((context) -&gt; functions -&gt; get_default_ccache_name (context, name))
+<li>#define <a class="el" href="group__helper__macros.html#g256a5ba17fe0e4502e0722d9b081bbef">cc_context_open_ccache</a>(context, name, ccache)&nbsp;&nbsp;&nbsp;((context) -&gt; functions -&gt; open_ccache (context, name, ccache))
+<li>#define <a class="el" href="group__helper__macros.html#g45a7ce29eb409baabadcae1bc95d5c57">cc_context_open_default_ccache</a>(context, ccache)&nbsp;&nbsp;&nbsp;((context) -&gt; functions -&gt; open_default_ccache (context, ccache))
+<li>#define <a class="el" href="group__helper__macros.html#g9fbcbd0f1b107cdaa2a0179e227f82cf">cc_context_create_ccache</a>(context, name, version, principal, ccache)&nbsp;&nbsp;&nbsp;((context) -&gt; functions -&gt; create_ccache (context, name, version, principal, ccache))
+<li>#define <a class="el" href="group__helper__macros.html#g10a184dd699cae4df6f3480290804a72">cc_context_create_default_ccache</a>(context, version, principal, ccache)&nbsp;&nbsp;&nbsp;((context) -&gt; functions -&gt; create_default_ccache (context, version, principal, ccache))
+<li>#define <a class="el" href="group__helper__macros.html#g1a6dffb1db25590351646fdcf9824f09">cc_context_create_new_ccache</a>(context, version, principal, ccache)&nbsp;&nbsp;&nbsp;((context) -&gt; functions -&gt; create_new_ccache (context, version, principal, ccache))
+<li>#define <a class="el" href="group__helper__macros.html#g6957bc9570e4769a5b1213d2a1d90cd7">cc_context_new_ccache_iterator</a>(context, iterator)&nbsp;&nbsp;&nbsp;((context) -&gt; functions -&gt; new_ccache_iterator (context, iterator))
+<li>#define <a class="el" href="group__helper__macros.html#gcf4595340ddc8dafa539a86ac317625d">cc_context_lock</a>(context, type, block)&nbsp;&nbsp;&nbsp;((context) -&gt; functions -&gt; lock (context, type, block))
+<li>#define <a class="el" href="group__helper__macros.html#g544261b88c9ac0f2379a35648cae3f27">cc_context_unlock</a>(context)&nbsp;&nbsp;&nbsp;((context) -&gt; functions -&gt; unlock (context))
+<li>#define <a class="el" href="group__helper__macros.html#g9258ef05d06f3d4dc798ec654f78b967">cc_context_compare</a>(context, compare_to, equal)&nbsp;&nbsp;&nbsp;((context) -&gt; functions -&gt; compare (context, compare_to, equal))
+<li>#define <a class="el" href="group__helper__macros.html#g9eb3508958528c00844a101275497e5a">cc_context_wait_for_change</a>(context)&nbsp;&nbsp;&nbsp;((context) -&gt; functions -&gt; wait_for_change (context))
+<li>#define <a class="el" href="group__helper__macros.html#ge517135d87d8775d77b426d57a491ef0">cc_ccache_release</a>(ccache)&nbsp;&nbsp;&nbsp;((ccache) -&gt; functions -&gt; release (ccache))
+<li>#define <a class="el" href="group__helper__macros.html#ge05b68d91bece2f99b531e96cde8d457">cc_ccache_destroy</a>(ccache)&nbsp;&nbsp;&nbsp;((ccache) -&gt; functions -&gt; destroy (ccache))
+<li>#define <a class="el" href="group__helper__macros.html#g535b92993b85d92b67fa622447afbe13">cc_ccache_set_default</a>(ccache)&nbsp;&nbsp;&nbsp;((ccache) -&gt; functions -&gt; set_default (ccache))
+<li>#define <a class="el" href="group__helper__macros.html#g934f93499765bdd179bb2342ae0f0fa6">cc_ccache_get_credentials_version</a>(ccache, version)&nbsp;&nbsp;&nbsp;((ccache) -&gt; functions -&gt; get_credentials_version (ccache, version))
+<li>#define <a class="el" href="group__helper__macros.html#g042bea6044879ec03996b190792e3ae9">cc_ccache_get_name</a>(ccache, name)&nbsp;&nbsp;&nbsp;((ccache) -&gt; functions -&gt; get_name (ccache, name))
+<li>#define <a class="el" href="group__helper__macros.html#g464aa49a2e8054c9c3c2a3410eaf5c54">cc_ccache_get_principal</a>(ccache, version, principal)&nbsp;&nbsp;&nbsp;((ccache) -&gt; functions -&gt; get_principal (ccache, version, principal))
+<li>#define <a class="el" href="group__helper__macros.html#gfaa81492b5d7b3ba00208a9577ce0ba2">cc_ccache_set_principal</a>(ccache, version, principal)&nbsp;&nbsp;&nbsp;((ccache) -&gt; functions -&gt; set_principal (ccache, version, principal))
+<li>#define <a class="el" href="group__helper__macros.html#g35c1548dbacb8907da7b8c3124eabf39">cc_ccache_store_credentials</a>(ccache, credentials)&nbsp;&nbsp;&nbsp;((ccache) -&gt; functions -&gt; store_credentials (ccache, credentials))
+<li>#define <a class="el" href="group__helper__macros.html#ga1bbc05414ad4c17cea9cd5e5c50c7cc">cc_ccache_remove_credentials</a>(ccache, credentials)&nbsp;&nbsp;&nbsp;((ccache) -&gt; functions -&gt; remove_credentials (ccache, credentials))
+<li>#define <a class="el" href="group__helper__macros.html#g893b31c419e71c2f528781d3036fa3ff">cc_ccache_new_credentials_iterator</a>(ccache, iterator)&nbsp;&nbsp;&nbsp;((ccache) -&gt; functions -&gt; new_credentials_iterator (ccache, iterator))
+<li>#define <a class="el" href="group__helper__macros.html#gb8c2624719ee1c4be5f1b1bc4844f0cc">cc_ccache_lock</a>(ccache, type, block)&nbsp;&nbsp;&nbsp;((ccache) -&gt; functions -&gt; lock (ccache, type, block))
+<li>#define <a class="el" href="group__helper__macros.html#ge9b13c950cb6ee636c4a73d6c569a811">cc_ccache_unlock</a>(ccache)&nbsp;&nbsp;&nbsp;((ccache) -&gt; functions -&gt; unlock (ccache))
+<li>#define <a class="el" href="group__helper__macros.html#g884b0c60718fa1057574a3cd844e96ee">cc_ccache_get_last_default_time</a>(ccache, last_default_time)&nbsp;&nbsp;&nbsp;((ccache) -&gt; functions -&gt; get_last_default_time (ccache, last_default_time))
+<li>#define <a class="el" href="group__helper__macros.html#gb19ef7d2b1bcfb474e18e157fb3bc9c6">cc_ccache_get_change_time</a>(ccache, change_time)&nbsp;&nbsp;&nbsp;((ccache) -&gt; functions -&gt; get_change_time (ccache, change_time))
+<li>#define <a class="el" href="group__helper__macros.html#ge1238f80c37ae89486f2ba29bcbcae38">cc_ccache_move</a>(source, destination)&nbsp;&nbsp;&nbsp;((source) -&gt; functions -&gt; move (source, destination))
+<li>#define <a class="el" href="group__helper__macros.html#g197ff60fac986634fbef8ca102ec54a5">cc_ccache_compare</a>(ccache, compare_to, equal)&nbsp;&nbsp;&nbsp;((ccache) -&gt; functions -&gt; compare (ccache, compare_to, equal))
+<li>#define <a class="el" href="group__helper__macros.html#g1fa36a89752da4a491d2ecdad17f8b0e">cc_ccache_get_kdc_time_offset</a>(ccache, version, time_offset)&nbsp;&nbsp;&nbsp;((ccache) -&gt; functions -&gt; get_kdc_time_offset (ccache, version, time_offset))
+<li>#define <a class="el" href="group__helper__macros.html#g519bf0ab152e5a3d2beee8a76a27d16e">cc_ccache_set_kdc_time_offset</a>(ccache, version, time_offset)&nbsp;&nbsp;&nbsp;((ccache) -&gt; functions -&gt; set_kdc_time_offset (ccache, version, time_offset))
+<li>#define <a class="el" href="group__helper__macros.html#g803c35f92992dc0b73e8809d13ebabab">cc_ccache_clear_kdc_time_offset</a>(ccache, version)&nbsp;&nbsp;&nbsp;((ccache) -&gt; functions -&gt; clear_kdc_time_offset (ccache, version))
+<li>#define <a class="el" href="group__helper__macros.html#gc508ad0c010c88ad8ff0739b43a2b199">cc_ccache_wait_for_change</a>(ccache)&nbsp;&nbsp;&nbsp;((ccache) -&gt; functions -&gt; wait_for_change (ccache))
+<li>#define <a class="el" href="group__helper__macros.html#ge9bebfed2d574e69f29dd341bc8a63d9">cc_string_release</a>(string)&nbsp;&nbsp;&nbsp;((string) -&gt; functions -&gt; release (string))
+<li>#define <a class="el" href="group__helper__macros.html#gab5cad8ca82847950956b0f493132c14">cc_credentials_release</a>(credentials)&nbsp;&nbsp;&nbsp;((credentials) -&gt; functions -&gt; release (credentials))
+<li>#define <a class="el" href="group__helper__macros.html#g39ae30e49dba65b87c6b9794f20fb784">cc_credentials_compare</a>(credentials, compare_to, equal)&nbsp;&nbsp;&nbsp;((credentials) -&gt; functions -&gt; compare (credentials, compare_to, equal))
+<li>#define <a class="el" href="group__helper__macros.html#g34f37496fb8bc414aafb0b265afecb1b">cc_ccache_iterator_release</a>(iterator)&nbsp;&nbsp;&nbsp;((iterator) -&gt; functions -&gt; release (iterator))
+<li>#define <a class="el" href="group__helper__macros.html#gcff0b3e247a2adc95442324fec6c5651">cc_ccache_iterator_next</a>(iterator, ccache)&nbsp;&nbsp;&nbsp;((iterator) -&gt; functions -&gt; next (iterator, ccache))
+<li>#define <a class="el" href="group__helper__macros.html#g904d7757fd7ac40f4ee9b448a389f2dd">cc_ccache_iterator_clone</a>(iterator, new_iterator)&nbsp;&nbsp;&nbsp;((iterator) -&gt; functions -&gt; clone (iterator, new_iterator))
+<li>#define <a class="el" href="group__helper__macros.html#g79f914583e8076ac24c0d5dde4ddb712">cc_credentials_iterator_release</a>(iterator)&nbsp;&nbsp;&nbsp;((iterator) -&gt; functions -&gt; release (iterator))
+<li>#define <a class="el" href="group__helper__macros.html#g0c2f41d90f478b2415b699085f8fcaa4">cc_credentials_iterator_next</a>(iterator, credentials)&nbsp;&nbsp;&nbsp;((iterator) -&gt; functions -&gt; next (iterator, credentials))
+<li>#define <a class="el" href="group__helper__macros.html#g59a9f96a6c00b64c0ab971f7e9b5aae2">cc_credentials_iterator_clone</a>(iterator, new_iterator)&nbsp;&nbsp;&nbsp;((iterator) -&gt; functions -&gt; clone (iterator, new_iterator))
+</ul>
+<hr><h2>Define Documentation</h2>
+<a class="anchor" name="g8ff82ce108889d4ed29f46ffe6efc40e"></a><!-- doxytag: member="CredentialsCache.h::cc_context_release" ref="g8ff82ce108889d4ed29f46ffe6efc40e" args="(context)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_context_release </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">context&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((context) -&gt; functions -&gt; release (context))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__context__f.html">cc_context_f</a> release() </td>
+ </tr>
+</table>
+<a class="anchor" name="g82f551af17455b78fa3a2e3f83c96907"></a><!-- doxytag: member="CredentialsCache.h::cc_context_get_change_time" ref="g82f551af17455b78fa3a2e3f83c96907" args="(context, change_time)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_context_get_change_time </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">context, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>change_time&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((context) -&gt; functions -&gt; get_change_time (context, change_time))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__context__f.html">cc_context_f</a> get_change_time() </td>
+ </tr>
+</table>
+<a class="anchor" name="gcb4eb9f1db6f8ebf261339ad87cb6c51"></a><!-- doxytag: member="CredentialsCache.h::cc_context_get_default_ccache_name" ref="gcb4eb9f1db6f8ebf261339ad87cb6c51" args="(context, name)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_context_get_default_ccache_name </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">context, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>name&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((context) -&gt; functions -&gt; get_default_ccache_name (context, name))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__context__f.html">cc_context_f</a> get_default_ccache_name() </td>
+ </tr>
+</table>
+<a class="anchor" name="g256a5ba17fe0e4502e0722d9b081bbef"></a><!-- doxytag: member="CredentialsCache.h::cc_context_open_ccache" ref="g256a5ba17fe0e4502e0722d9b081bbef" args="(context, name, ccache)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_context_open_ccache </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">context, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>name, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>ccache&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((context) -&gt; functions -&gt; open_ccache (context, name, ccache))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__context__f.html">cc_context_f</a> open_ccache() </td>
+ </tr>
+</table>
+<a class="anchor" name="g45a7ce29eb409baabadcae1bc95d5c57"></a><!-- doxytag: member="CredentialsCache.h::cc_context_open_default_ccache" ref="g45a7ce29eb409baabadcae1bc95d5c57" args="(context, ccache)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_context_open_default_ccache </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">context, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>ccache&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((context) -&gt; functions -&gt; open_default_ccache (context, ccache))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__context__f.html">cc_context_f</a> open_default_ccache() </td>
+ </tr>
+</table>
+<a class="anchor" name="g9fbcbd0f1b107cdaa2a0179e227f82cf"></a><!-- doxytag: member="CredentialsCache.h::cc_context_create_ccache" ref="g9fbcbd0f1b107cdaa2a0179e227f82cf" args="(context, name, version, principal, ccache)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_context_create_ccache </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">context, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>name, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>version, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>principal, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>ccache&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((context) -&gt; functions -&gt; create_ccache (context, name, version, principal, ccache))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__context__f.html">cc_context_f</a> create_ccache() </td>
+ </tr>
+</table>
+<a class="anchor" name="g10a184dd699cae4df6f3480290804a72"></a><!-- doxytag: member="CredentialsCache.h::cc_context_create_default_ccache" ref="g10a184dd699cae4df6f3480290804a72" args="(context, version, principal, ccache)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_context_create_default_ccache </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">context, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>version, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>principal, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>ccache&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((context) -&gt; functions -&gt; create_default_ccache (context, version, principal, ccache))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__context__f.html">cc_context_f</a> create_default_ccache() </td>
+ </tr>
+</table>
+<a class="anchor" name="g1a6dffb1db25590351646fdcf9824f09"></a><!-- doxytag: member="CredentialsCache.h::cc_context_create_new_ccache" ref="g1a6dffb1db25590351646fdcf9824f09" args="(context, version, principal, ccache)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_context_create_new_ccache </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">context, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>version, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>principal, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>ccache&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((context) -&gt; functions -&gt; create_new_ccache (context, version, principal, ccache))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__context__f.html">cc_context_f</a> create_new_ccache() </td>
+ </tr>
+</table>
+<a class="anchor" name="g6957bc9570e4769a5b1213d2a1d90cd7"></a><!-- doxytag: member="CredentialsCache.h::cc_context_new_ccache_iterator" ref="g6957bc9570e4769a5b1213d2a1d90cd7" args="(context, iterator)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_context_new_ccache_iterator </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">context, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>iterator&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((context) -&gt; functions -&gt; new_ccache_iterator (context, iterator))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__context__f.html">cc_context_f</a> new_ccache_iterator() </td>
+ </tr>
+</table>
+<a class="anchor" name="gcf4595340ddc8dafa539a86ac317625d"></a><!-- doxytag: member="CredentialsCache.h::cc_context_lock" ref="gcf4595340ddc8dafa539a86ac317625d" args="(context, type, block)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_context_lock </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">context, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>type, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>block&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((context) -&gt; functions -&gt; lock (context, type, block))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__context__f.html">cc_context_f</a> lock() </td>
+ </tr>
+</table>
+<a class="anchor" name="g544261b88c9ac0f2379a35648cae3f27"></a><!-- doxytag: member="CredentialsCache.h::cc_context_unlock" ref="g544261b88c9ac0f2379a35648cae3f27" args="(context)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_context_unlock </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">context&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((context) -&gt; functions -&gt; unlock (context))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__context__f.html">cc_context_f</a> unlock() </td>
+ </tr>
+</table>
+<a class="anchor" name="g9258ef05d06f3d4dc798ec654f78b967"></a><!-- doxytag: member="CredentialsCache.h::cc_context_compare" ref="g9258ef05d06f3d4dc798ec654f78b967" args="(context, compare_to, equal)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_context_compare </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">context, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>compare_to, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>equal&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((context) -&gt; functions -&gt; compare (context, compare_to, equal))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__context__f.html">cc_context_f</a> compare() </td>
+ </tr>
+</table>
+<a class="anchor" name="g9eb3508958528c00844a101275497e5a"></a><!-- doxytag: member="CredentialsCache.h::cc_context_wait_for_change" ref="g9eb3508958528c00844a101275497e5a" args="(context)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_context_wait_for_change </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">context&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((context) -&gt; functions -&gt; wait_for_change (context))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__context__f.html">cc_context_f</a> wait_for_change() </td>
+ </tr>
+</table>
+<a class="anchor" name="ge517135d87d8775d77b426d57a491ef0"></a><!-- doxytag: member="CredentialsCache.h::cc_ccache_release" ref="ge517135d87d8775d77b426d57a491ef0" args="(ccache)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_ccache_release </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">ccache&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((ccache) -&gt; functions -&gt; release (ccache))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__ccache__f.html">cc_ccache_f</a> release() </td>
+ </tr>
+</table>
+<a class="anchor" name="ge05b68d91bece2f99b531e96cde8d457"></a><!-- doxytag: member="CredentialsCache.h::cc_ccache_destroy" ref="ge05b68d91bece2f99b531e96cde8d457" args="(ccache)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_ccache_destroy </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">ccache&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((ccache) -&gt; functions -&gt; destroy (ccache))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__ccache__f.html">cc_ccache_f</a> destroy() </td>
+ </tr>
+</table>
+<a class="anchor" name="g535b92993b85d92b67fa622447afbe13"></a><!-- doxytag: member="CredentialsCache.h::cc_ccache_set_default" ref="g535b92993b85d92b67fa622447afbe13" args="(ccache)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_ccache_set_default </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">ccache&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((ccache) -&gt; functions -&gt; set_default (ccache))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__ccache__f.html">cc_ccache_f</a> set_default() </td>
+ </tr>
+</table>
+<a class="anchor" name="g934f93499765bdd179bb2342ae0f0fa6"></a><!-- doxytag: member="CredentialsCache.h::cc_ccache_get_credentials_version" ref="g934f93499765bdd179bb2342ae0f0fa6" args="(ccache, version)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_ccache_get_credentials_version </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">ccache, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>version&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((ccache) -&gt; functions -&gt; get_credentials_version (ccache, version))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__ccache__f.html">cc_ccache_f</a> get_credentials_version() </td>
+ </tr>
+</table>
+<a class="anchor" name="g042bea6044879ec03996b190792e3ae9"></a><!-- doxytag: member="CredentialsCache.h::cc_ccache_get_name" ref="g042bea6044879ec03996b190792e3ae9" args="(ccache, name)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_ccache_get_name </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">ccache, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>name&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((ccache) -&gt; functions -&gt; get_name (ccache, name))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__ccache__f.html">cc_ccache_f</a> get_name() </td>
+ </tr>
+</table>
+<a class="anchor" name="g464aa49a2e8054c9c3c2a3410eaf5c54"></a><!-- doxytag: member="CredentialsCache.h::cc_ccache_get_principal" ref="g464aa49a2e8054c9c3c2a3410eaf5c54" args="(ccache, version, principal)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_ccache_get_principal </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">ccache, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>version, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>principal&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((ccache) -&gt; functions -&gt; get_principal (ccache, version, principal))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__ccache__f.html">cc_ccache_f</a> get_principal() </td>
+ </tr>
+</table>
+<a class="anchor" name="gfaa81492b5d7b3ba00208a9577ce0ba2"></a><!-- doxytag: member="CredentialsCache.h::cc_ccache_set_principal" ref="gfaa81492b5d7b3ba00208a9577ce0ba2" args="(ccache, version, principal)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_ccache_set_principal </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">ccache, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>version, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>principal&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((ccache) -&gt; functions -&gt; set_principal (ccache, version, principal))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__ccache__f.html">cc_ccache_f</a> set_principal() </td>
+ </tr>
+</table>
+<a class="anchor" name="g35c1548dbacb8907da7b8c3124eabf39"></a><!-- doxytag: member="CredentialsCache.h::cc_ccache_store_credentials" ref="g35c1548dbacb8907da7b8c3124eabf39" args="(ccache, credentials)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_ccache_store_credentials </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">ccache, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>credentials&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((ccache) -&gt; functions -&gt; store_credentials (ccache, credentials))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__ccache__f.html">cc_ccache_f</a> store_credentials() </td>
+ </tr>
+</table>
+<a class="anchor" name="ga1bbc05414ad4c17cea9cd5e5c50c7cc"></a><!-- doxytag: member="CredentialsCache.h::cc_ccache_remove_credentials" ref="ga1bbc05414ad4c17cea9cd5e5c50c7cc" args="(ccache, credentials)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_ccache_remove_credentials </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">ccache, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>credentials&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((ccache) -&gt; functions -&gt; remove_credentials (ccache, credentials))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__ccache__f.html">cc_ccache_f</a> remove_credentials() </td>
+ </tr>
+</table>
+<a class="anchor" name="g893b31c419e71c2f528781d3036fa3ff"></a><!-- doxytag: member="CredentialsCache.h::cc_ccache_new_credentials_iterator" ref="g893b31c419e71c2f528781d3036fa3ff" args="(ccache, iterator)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_ccache_new_credentials_iterator </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">ccache, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>iterator&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((ccache) -&gt; functions -&gt; new_credentials_iterator (ccache, iterator))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__ccache__f.html">cc_ccache_f</a> new_credentials_iterator() </td>
+ </tr>
+</table>
+<a class="anchor" name="gb8c2624719ee1c4be5f1b1bc4844f0cc"></a><!-- doxytag: member="CredentialsCache.h::cc_ccache_lock" ref="gb8c2624719ee1c4be5f1b1bc4844f0cc" args="(ccache, type, block)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_ccache_lock </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">ccache, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>type, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>block&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((ccache) -&gt; functions -&gt; lock (ccache, type, block))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__ccache__f.html">cc_ccache_f</a> lock() </td>
+ </tr>
+</table>
+<a class="anchor" name="ge9b13c950cb6ee636c4a73d6c569a811"></a><!-- doxytag: member="CredentialsCache.h::cc_ccache_unlock" ref="ge9b13c950cb6ee636c4a73d6c569a811" args="(ccache)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_ccache_unlock </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">ccache&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((ccache) -&gt; functions -&gt; unlock (ccache))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__ccache__f.html">cc_ccache_f</a> unlock() </td>
+ </tr>
+</table>
+<a class="anchor" name="g884b0c60718fa1057574a3cd844e96ee"></a><!-- doxytag: member="CredentialsCache.h::cc_ccache_get_last_default_time" ref="g884b0c60718fa1057574a3cd844e96ee" args="(ccache, last_default_time)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_ccache_get_last_default_time </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">ccache, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>last_default_time&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((ccache) -&gt; functions -&gt; get_last_default_time (ccache, last_default_time))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__ccache__f.html">cc_ccache_f</a> get_last_default_time() </td>
+ </tr>
+</table>
+<a class="anchor" name="gb19ef7d2b1bcfb474e18e157fb3bc9c6"></a><!-- doxytag: member="CredentialsCache.h::cc_ccache_get_change_time" ref="gb19ef7d2b1bcfb474e18e157fb3bc9c6" args="(ccache, change_time)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_ccache_get_change_time </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">ccache, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>change_time&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((ccache) -&gt; functions -&gt; get_change_time (ccache, change_time))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__ccache__f.html">cc_ccache_f</a> get_change_time() </td>
+ </tr>
+</table>
+<a class="anchor" name="ge1238f80c37ae89486f2ba29bcbcae38"></a><!-- doxytag: member="CredentialsCache.h::cc_ccache_move" ref="ge1238f80c37ae89486f2ba29bcbcae38" args="(source, destination)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_ccache_move </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">source, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>destination&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((source) -&gt; functions -&gt; move (source, destination))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__ccache__f.html">cc_ccache_f</a> move() </td>
+ </tr>
+</table>
+<a class="anchor" name="g197ff60fac986634fbef8ca102ec54a5"></a><!-- doxytag: member="CredentialsCache.h::cc_ccache_compare" ref="g197ff60fac986634fbef8ca102ec54a5" args="(ccache, compare_to, equal)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_ccache_compare </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">ccache, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>compare_to, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>equal&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((ccache) -&gt; functions -&gt; compare (ccache, compare_to, equal))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__ccache__f.html">cc_ccache_f</a> compare() </td>
+ </tr>
+</table>
+<a class="anchor" name="g1fa36a89752da4a491d2ecdad17f8b0e"></a><!-- doxytag: member="CredentialsCache.h::cc_ccache_get_kdc_time_offset" ref="g1fa36a89752da4a491d2ecdad17f8b0e" args="(ccache, version, time_offset)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_ccache_get_kdc_time_offset </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">ccache, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>version, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>time_offset&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((ccache) -&gt; functions -&gt; get_kdc_time_offset (ccache, version, time_offset))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__ccache__f.html">cc_ccache_f</a> get_kdc_time_offset() </td>
+ </tr>
+</table>
+<a class="anchor" name="g519bf0ab152e5a3d2beee8a76a27d16e"></a><!-- doxytag: member="CredentialsCache.h::cc_ccache_set_kdc_time_offset" ref="g519bf0ab152e5a3d2beee8a76a27d16e" args="(ccache, version, time_offset)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_ccache_set_kdc_time_offset </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">ccache, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>version, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>time_offset&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((ccache) -&gt; functions -&gt; set_kdc_time_offset (ccache, version, time_offset))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__ccache__f.html">cc_ccache_f</a> set_kdc_time_offset() </td>
+ </tr>
+</table>
+<a class="anchor" name="g803c35f92992dc0b73e8809d13ebabab"></a><!-- doxytag: member="CredentialsCache.h::cc_ccache_clear_kdc_time_offset" ref="g803c35f92992dc0b73e8809d13ebabab" args="(ccache, version)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_ccache_clear_kdc_time_offset </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">ccache, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>version&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((ccache) -&gt; functions -&gt; clear_kdc_time_offset (ccache, version))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__ccache__f.html">cc_ccache_f</a> clear_kdc_time_offset() </td>
+ </tr>
+</table>
+<a class="anchor" name="gc508ad0c010c88ad8ff0739b43a2b199"></a><!-- doxytag: member="CredentialsCache.h::cc_ccache_wait_for_change" ref="gc508ad0c010c88ad8ff0739b43a2b199" args="(ccache)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_ccache_wait_for_change </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">ccache&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((ccache) -&gt; functions -&gt; wait_for_change (ccache))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__ccache__f.html">cc_ccache_f</a> wait_for_change() </td>
+ </tr>
+</table>
+<a class="anchor" name="ge9bebfed2d574e69f29dd341bc8a63d9"></a><!-- doxytag: member="CredentialsCache.h::cc_string_release" ref="ge9bebfed2d574e69f29dd341bc8a63d9" args="(string)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_string_release </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">string&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((string) -&gt; functions -&gt; release (string))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__string__f.html">cc_string_f</a> release() </td>
+ </tr>
+</table>
+<a class="anchor" name="gab5cad8ca82847950956b0f493132c14"></a><!-- doxytag: member="CredentialsCache.h::cc_credentials_release" ref="gab5cad8ca82847950956b0f493132c14" args="(credentials)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_credentials_release </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">credentials&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((credentials) -&gt; functions -&gt; release (credentials))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__credentials__f.html">cc_credentials_f</a> release() </td>
+ </tr>
+</table>
+<a class="anchor" name="g39ae30e49dba65b87c6b9794f20fb784"></a><!-- doxytag: member="CredentialsCache.h::cc_credentials_compare" ref="g39ae30e49dba65b87c6b9794f20fb784" args="(credentials, compare_to, equal)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_credentials_compare </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">credentials, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>compare_to, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>equal&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((credentials) -&gt; functions -&gt; compare (credentials, compare_to, equal))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__credentials__f.html">cc_credentials_f</a> compare() </td>
+ </tr>
+</table>
+<a class="anchor" name="g34f37496fb8bc414aafb0b265afecb1b"></a><!-- doxytag: member="CredentialsCache.h::cc_ccache_iterator_release" ref="g34f37496fb8bc414aafb0b265afecb1b" args="(iterator)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_ccache_iterator_release </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">iterator&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((iterator) -&gt; functions -&gt; release (iterator))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__ccache__iterator__f.html">cc_ccache_iterator_f</a> release() </td>
+ </tr>
+</table>
+<a class="anchor" name="gcff0b3e247a2adc95442324fec6c5651"></a><!-- doxytag: member="CredentialsCache.h::cc_ccache_iterator_next" ref="gcff0b3e247a2adc95442324fec6c5651" args="(iterator, ccache)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_ccache_iterator_next </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">iterator, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>ccache&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((iterator) -&gt; functions -&gt; next (iterator, ccache))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__ccache__iterator__f.html">cc_ccache_iterator_f</a> next() </td>
+ </tr>
+</table>
+<a class="anchor" name="g904d7757fd7ac40f4ee9b448a389f2dd"></a><!-- doxytag: member="CredentialsCache.h::cc_ccache_iterator_clone" ref="g904d7757fd7ac40f4ee9b448a389f2dd" args="(iterator, new_iterator)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_ccache_iterator_clone </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">iterator, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>new_iterator&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((iterator) -&gt; functions -&gt; clone (iterator, new_iterator))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__ccache__iterator__f.html">cc_ccache_iterator_f</a> clone() </td>
+ </tr>
+</table>
+<a class="anchor" name="g79f914583e8076ac24c0d5dde4ddb712"></a><!-- doxytag: member="CredentialsCache.h::cc_credentials_iterator_release" ref="g79f914583e8076ac24c0d5dde4ddb712" args="(iterator)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_credentials_iterator_release </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">iterator&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((iterator) -&gt; functions -&gt; release (iterator))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__credentials__iterator__f.html">cc_credentials_iterator_f</a> release() </td>
+ </tr>
+</table>
+<a class="anchor" name="g0c2f41d90f478b2415b699085f8fcaa4"></a><!-- doxytag: member="CredentialsCache.h::cc_credentials_iterator_next" ref="g0c2f41d90f478b2415b699085f8fcaa4" args="(iterator, credentials)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_credentials_iterator_next </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">iterator, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>credentials&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((iterator) -&gt; functions -&gt; next (iterator, credentials))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__credentials__iterator__f.html">cc_credentials_iterator_f</a> next() </td>
+ </tr>
+</table>
+<a class="anchor" name="g59a9f96a6c00b64c0ab971f7e9b5aae2"></a><!-- doxytag: member="CredentialsCache.h::cc_credentials_iterator_clone" ref="g59a9f96a6c00b64c0ab971f7e9b5aae2" args="(iterator, new_iterator)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define cc_credentials_iterator_clone </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">iterator, <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>new_iterator&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((iterator) -&gt; functions -&gt; clone (iterator, new_iterator))</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helper macro for <a class="el" href="structcc__credentials__iterator__f.html">cc_credentials_iterator_f</a> clone() </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Oct 2 17:16:06 2007 for Credentials Cache API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
+</body>
+</html>
diff --git a/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/index.html b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/index.html
new file mode 100644
index 000000000..bf920052f
--- /dev/null
+++ b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/index.html
@@ -0,0 +1,85 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Credentials Cache API : Credentials Cache API (CCAPI) Documentation</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.4.6 -->
+<h1>Credentials Cache API (CCAPI) Documentation</h1>
+<p>
+<h2><a class="anchor" name="toc">
+Table of Contents</a></h2>
+<ul>
+<li><a class="el" href="index.html#introduction">Introduction</a> </li>
+<li><a class="el" href="index.html#error_handling">Error Handling</a> </li>
+<li><a class="el" href="index.html#synchronization_atomicity">Synchronization and Atomicity</a> </li>
+<li><a class="el" href="index.html#memory_management">Object Memory Management</a> </li>
+<li><a class="el" href="index.html#opaque_types">Opaque Types</a></li>
+</ul>
+<ul>
+<li><a class="el" href="group__ccapi__constants__reference.html">Constants</a> </li>
+<li><a class="el" href="group__ccapi__types__reference.html">Basic Types</a></li>
+</ul>
+<ul>
+<li><a class="el" href="group__cc__context__reference.html">cc_context_t Overview</a> </li>
+<li><a class="el" href="structcc__context__f.html">cc_context_t Functions</a></li>
+</ul>
+<ul>
+<li><a class="el" href="group__cc__ccache__reference.html">cc_ccache_t Overview</a> </li>
+<li><a class="el" href="structcc__ccache__f.html">cc_ccache_t Functions</a></li>
+</ul>
+<ul>
+<li><a class="el" href="group__cc__credentials__reference.html">cc_credentials_t Overview</a> </li>
+<li><a class="el" href="structcc__credentials__f.html">cc_credentials_t Functions</a></li>
+</ul>
+<ul>
+<li><a class="el" href="group__cc__ccache__iterator__reference.html">cc_ccache_iterator_t Overview</a> </li>
+<li><a class="el" href="structcc__ccache__iterator__f.html">cc_ccache_iterator_t Functions</a></li>
+</ul>
+<ul>
+<li><a class="el" href="group__cc__credentials__iterator__reference.html">cc_credentials_iterator_t</a> </li>
+<li><a class="el" href="structcc__credentials__iterator__f.html">cc_credentials_iterator_t Functions</a></li>
+</ul>
+<ul>
+<li><a class="el" href="group__cc__string__reference.html">cc_string_t Overview</a> </li>
+<li><a class="el" href="structcc__string__f.html">cc_string_t Functions</a></li>
+</ul>
+<h2><a class="anchor" name="introduction">
+Introduction</a></h2>
+This is the specification for an API which provides Credentials Cache services for both Kerberos v5 and v4. The idea behind this API is that multiple Kerberos implementations can share a single collection of credentials caches, mediated by this API specification. On the Mac OS and Microsoft Windows platforms this will allow single-login, even when more than one Kerberos shared library is in use on a particular system.<p>
+Abstractly, a credentials cache collection contains one or more credentials caches, or ccaches. A ccache is uniquely identified by its name, which is a string internal to the API and not intended to be presented to users. The user presentable identifier of a ccache is its principal.<p>
+Unlike the previous versions of the API, version 3 of the API stores both Kerberos v4 and v5 credentials in the same ccache.<p>
+At any given time, one ccache is the "default" ccache. The exact meaning of a default ccache is OS-specific; refer to implementation requirements for details.<h2><a class="anchor" name="error_handling">
+Error Handling</a></h2>
+All functions of the API return some of the error constants listed FIXME; the exact list of error constants returned by any API function is provided in the function descriptions below.<p>
+When returning an error constant other than ccNoError or ccIteratorEnd, API functions never modify any of the values passed in by reference.<h2><a class="anchor" name="synchronization_atomicity">
+Synchronization and Atomicity</a></h2>
+Every function in the API is atomic. In order to make a series of calls atomic, callers should lock the ccache or cache collection they are working with to advise other callers not to modify that container. Note that advisory locks are per container so even if you have a read lock on the cache collection other callers can obtain write locks on ccaches in that cache collection.<p>
+Note that iterators do not iterate over ccaches and credentials atomically because locking ccaches and the cache collection over every iteration would degrade performance considerably under high load. However, iterators do guarantee a consistent view of items they are iterating over. Iterators will never return duplicate entries or skip entries when items are removed or added to the container they are iterating over.<p>
+An application can always lock a ccache or the cache collection to guarantee that other callers participating in the advisory locking system do not modify the ccache or cache collection.<p>
+Implementations should not use copy-on-write techniques to implement locks because those techniques imply that same parts of the ccache collection remain visible to some callers even though they are not present in the collection, which is a potential security risk. For example, a copy-on-write technique might make a copy of the entire collection when a read lock is acquired, so as to allow the owner of the lock to access the collection in an apparently unmodified state, while also allowing others to make modifications to the collection. However, this would also enable the owner of the lock to indefinitely (until the expiration time) use credentials that have actually been deleted from the collection.<h2><a class="anchor" name="memory_management">
+Object Memory Management</a></h2>
+The lifetime of an object returned by the API is until release() is called for it. Releasing one object has no effect on existence of any other object. For example, a ccache obtained within a context continue to exist when the context is released.<p>
+Every object returned by the API (cc_context_t, cc_ccache_t, cc_ccache_iterator_t, cc_credentials_t, cc_credentials_iterator_t, cc_string_t) is owned by the caller of the API, and it is the responsibility of the caller to call release() for every object to prevent memory leaks.<h2><a class="anchor" name="opaque_types">
+Opaque Types</a></h2>
+All of the opaque high-level types in CCache API are implemented as structures of function pointers and private data. To perform some operation on a type, the caller of the API has to first obtain an instance of that type, and then call the appropriate function pointer from that instance. For example, to call get_change_time() on a cc_context_t, one would call <a class="el" href="group__cc__context__reference.html#ge4174587d8bb261e32194bbb9585fb82">cc_initialize()</a> which creates a new cc_context_t and then call its get_change_time(), like this:<p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="structcc__context__d.html">cc_context_t</a> context;
+ <a class="code" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a> err = <a class="code" href="group__cc__context__reference.html#ge4174587d8bb261e32194bbb9585fb82">cc_initialize</a> (&amp;context, <a class="code" href="group__ccapi__constants__reference.html#gg06fc87d81c62e9abb8790b6e5713c55b26f201de4113dda3b4ec78dcda95d5a1">ccapi_version_3</a>, nil, nil);
+ <span class="keywordflow">if</span> (err == <a class="code" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>)
+ time = context-&gt;<a class="code" href="structcc__context__d.html#ac5b195bc75b92f5c1924e6a3a6aa611">functions</a>-&gt;<a class="code" href="structcc__context__f.html#51bd5a48dcd263bfb3128cc5838b4cd7">get_change_time</a> (context)
+</pre></div><p>
+All API functions also have convenience preprocessor macros, which make the API seem completely function-based. For example, cc_context_get_change_time (context, time) is equivalent to context-&gt;functions-&gt;get_change_time (context, time). The convenience macros follow the following naming convention:<p>
+The API function some_function() <div class="fragment"><pre class="fragment"> cc_type_t an_object;
+ result = an_object-&gt;functions-&gt;some_function (opaque_pointer, args)
+</pre></div><p>
+has an equivalent convenience macro of the form cc_type_some_function(): <div class="fragment"><pre class="fragment"> cc_type_t an_object;
+ result = cc_type_some_function (an_object, args)
+</pre></div><p>
+The specifications below include the names for both the functions and the convenience macros, in that order. For clarity, it is recommended that clients using the API use the convenience macros, but that is merely a stylistic choice.<p>
+Implementing the API in this manner allows us to extend and change the interface in the future, while preserving compatibility with older clients.<p>
+For example, consider the case when the signature or the semantics of a cc_ccache_t function is changed. The API version number is incremented. The library implementation contains both a function with the old signature and semantics and a function with the new signature and semantics. When a context is created, the API version number used in that context is stored in the context, and therefore it can be used whenever a ccache is created in that context. When a ccache is created in a context with the old API version number, the function pointer structure for the ccache is filled with pointers to functions implementing the old semantics; when a ccache is created in a context with the new API version number, the function pointer structure for the ccache is filled with poitners to functions implementing the new semantics.<p>
+Similarly, if a function is added to the API, the version number in the context can be used to decide whether to include the implementation of the new function in the appropriate function pointer structure or not. <hr size="1"><address style="align: right;"><small>Generated on Tue Oct 2 17:16:05 2007 for Credentials Cache API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
+</body>
+</html>
diff --git a/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__ccache__d.html b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__ccache__d.html
new file mode 100644
index 000000000..c19aa2b59
--- /dev/null
+++ b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__ccache__d.html
@@ -0,0 +1,43 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Credentials Cache API : cc_ccache_d Struct Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.4.6 -->
+<h1>cc_ccache_d Struct Reference<br>
+<small>
+[<a class="el" href="group__cc__ccache__reference.html">cc_ccache_t Overview</a>]</small>
+</h1><!-- doxytag: class="cc_ccache_d" --><h2>Data Fields</h2>
+<ul>
+<li>const <a class="el" href="structcc__ccache__f.html">cc_ccache_f</a> * <a class="el" href="structcc__ccache__d.html#55d1ef4ddfa9a0e84a35791bb5da4bb3">functions</a>
+</ul>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="55d1ef4ddfa9a0e84a35791bb5da4bb3"></a><!-- doxytag: member="cc_ccache_d::functions" ref="55d1ef4ddfa9a0e84a35791bb5da4bb3" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">const <a class="el" href="structcc__ccache__f.html">cc_ccache_f</a>* <a class="el" href="structcc__ccache__d.html#55d1ef4ddfa9a0e84a35791bb5da4bb3">functions</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Oct 2 17:16:05 2007 for Credentials Cache API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
+</body>
+</html>
diff --git a/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__ccache__f.html b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__ccache__f.html
new file mode 100644
index 000000000..ddab94ff9
--- /dev/null
+++ b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__ccache__f.html
@@ -0,0 +1,722 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Credentials Cache API : cc_ccache_f Struct Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.4.6 -->
+<h1>cc_ccache_f Struct Reference</h1><!-- doxytag: class="cc_ccache_f" --><hr><a name="_details"></a><h2>Detailed Description</h2>
+Function pointer table for cc_ccache_t. For more information see <a class="el" href="group__cc__ccache__reference.html">cc_ccache_t Overview</a>.
+<p>
+<h2>Data Fields</h2>
+<ul>
+<li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__f.html#ef46c1c04ceb1a0a479db84ddba7160c">release</a> )(<a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> io_ccache)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#ge517135d87d8775d77b426d57a491ef0">cc_ccache_release()</a></b>: Release memory associated with a cc_ccache_t object. <a href="#ef46c1c04ceb1a0a479db84ddba7160c"></a><br></dl><li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__f.html#86872ea5155e7ff57f4674a8f8c1d6c5">destroy</a> )(<a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> io_ccache)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#ge05b68d91bece2f99b531e96cde8d457">cc_ccache_destroy()</a></b>: Destroy a ccache. <a href="#86872ea5155e7ff57f4674a8f8c1d6c5"></a><br></dl><li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__f.html#93c7e154d7472227b02d240a13dd53da">set_default</a> )(<a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> io_ccache)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#g535b92993b85d92b67fa622447afbe13">cc_ccache_set_default()</a></b>: Make a ccache the default ccache. <a href="#93c7e154d7472227b02d240a13dd53da"></a><br></dl><li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__f.html#934cc9927404ee42460008b49e572158">get_credentials_version</a> )(<a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> in_ccache, <a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> *out_credentials_version)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#g934f93499765bdd179bb2342ae0f0fa6">cc_ccache_get_credentials_version()</a></b>: Get the credentials version of a ccache. <a href="#934cc9927404ee42460008b49e572158"></a><br></dl><li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__f.html#e60fec8fe34019df7108e8deed0f52ac">get_name</a> )(<a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> in_ccache, <a class="el" href="structcc__string__d.html">cc_string_t</a> *out_name)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#g042bea6044879ec03996b190792e3ae9">cc_ccache_get_name()</a></b>: Get the name of a ccache. <a href="#e60fec8fe34019df7108e8deed0f52ac"></a><br></dl><li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__f.html#ef23df23bb71b1f01138b791bc8b6255">get_principal</a> )(<a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> in_ccache, <a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> in_credentials_version, <a class="el" href="structcc__string__d.html">cc_string_t</a> *out_principal)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#g464aa49a2e8054c9c3c2a3410eaf5c54">cc_ccache_get_principal()</a></b>: Get the principal of a ccache. <a href="#ef23df23bb71b1f01138b791bc8b6255"></a><br></dl><li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__f.html#0d72ae907e8357633fe4ff2248818f42">set_principal</a> )(<a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> io_ccache, <a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> in_credentials_version, const char *in_principal)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#gfaa81492b5d7b3ba00208a9577ce0ba2">cc_ccache_set_principal()</a></b>: Set the principal of a ccache. <a href="#0d72ae907e8357633fe4ff2248818f42"></a><br></dl><li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__f.html#c4ac7d0cb5e15309978d8c4990f769a3">store_credentials</a> )(<a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> io_ccache, const <a class="el" href="structcc__credentials__union.html">cc_credentials_union</a> *in_credentials_union)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#g35c1548dbacb8907da7b8c3124eabf39">cc_ccache_store_credentials()</a></b>: Store credentials in a ccache. <a href="#c4ac7d0cb5e15309978d8c4990f769a3"></a><br></dl><li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__f.html#6cc6d19ff6044fafc3cd9f42c338341c">remove_credentials</a> )(<a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> io_ccache, <a class="el" href="structcc__credentials__d.html">cc_credentials_t</a> in_credentials)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#ga1bbc05414ad4c17cea9cd5e5c50c7cc">cc_ccache_remove_credentials()</a></b>: Remove credentials from a ccache. <a href="#6cc6d19ff6044fafc3cd9f42c338341c"></a><br></dl><li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__f.html#4efc19a7cd2ac6695da44cb7f7e9be14">new_credentials_iterator</a> )(<a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> in_ccache, <a class="el" href="structcc__credentials__iterator__d.html">cc_credentials_iterator_t</a> *out_credentials_iterator)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#g893b31c419e71c2f528781d3036fa3ff">cc_ccache_new_credentials_iterator()</a></b>: Iterate over credentials in a ccache. <a href="#4efc19a7cd2ac6695da44cb7f7e9be14"></a><br></dl><li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__f.html#d4e0dc020d293643405a07396b6f5942">move</a> )(<a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> io_source_ccache, <a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> io_destination_ccache)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#ge1238f80c37ae89486f2ba29bcbcae38">cc_ccache_move()</a></b>: Move the contents of one ccache into another, destroying the source. <a href="#d4e0dc020d293643405a07396b6f5942"></a><br></dl><li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__f.html#731d262d2aa179451f824d320c460f58">lock</a> )(<a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> io_ccache, <a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> in_lock_type, <a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> in_block)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#gb8c2624719ee1c4be5f1b1bc4844f0cc">cc_ccache_lock()</a></b>: Lock a ccache. <a href="#731d262d2aa179451f824d320c460f58"></a><br></dl><li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__f.html#bffbfe60a3e8da64224623df5235159a">unlock</a> )(<a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> io_ccache)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#ge9b13c950cb6ee636c4a73d6c569a811">cc_ccache_unlock()</a></b>: Unlock a ccache. <a href="#bffbfe60a3e8da64224623df5235159a"></a><br></dl><li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__f.html#c65301a0ef050524286130185c3ec06d">get_last_default_time</a> )(<a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> in_ccache, <a class="el" href="group__ccapi__types__reference.html#ge7a754cfe5664beadddaa100646c9742">cc_time_t</a> *out_last_default_time)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#gb19ef7d2b1bcfb474e18e157fb3bc9c6">cc_ccache_get_change_time()</a></b>: Get the last time a ccache was the default ccache. <a href="#c65301a0ef050524286130185c3ec06d"></a><br></dl><li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__f.html#a73ffc6e33ca8155cd644aa5d702c36f">get_change_time</a> )(<a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> in_ccache, <a class="el" href="group__ccapi__types__reference.html#ge7a754cfe5664beadddaa100646c9742">cc_time_t</a> *out_change_time)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#gb19ef7d2b1bcfb474e18e157fb3bc9c6">cc_ccache_get_change_time()</a></b>: Get the last time a ccache changed. <a href="#a73ffc6e33ca8155cd644aa5d702c36f"></a><br></dl><li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__f.html#30719ac8b49a62bf73cb2841e397a81d">compare</a> )(<a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> in_ccache, <a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> in_compare_to_ccache, <a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> *out_equal)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#g197ff60fac986634fbef8ca102ec54a5">cc_ccache_compare()</a></b>: Compare two ccache objects. <a href="#30719ac8b49a62bf73cb2841e397a81d"></a><br></dl><li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__f.html#106ee10feffc1681c7583d6aac4d33b4">get_kdc_time_offset</a> )(<a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> in_ccache, <a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> in_credentials_version, <a class="el" href="group__ccapi__types__reference.html#ge7a754cfe5664beadddaa100646c9742">cc_time_t</a> *out_time_offset)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#g1fa36a89752da4a491d2ecdad17f8b0e">cc_ccache_get_kdc_time_offset()</a></b>: Get the KDC time offset for credentials in a ccache. <a href="#106ee10feffc1681c7583d6aac4d33b4"></a><br></dl><li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__f.html#d537ad02da9b4eae3f5e51df0c58ee2e">set_kdc_time_offset</a> )(<a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> io_ccache, <a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> in_credentials_version, <a class="el" href="group__ccapi__types__reference.html#ge7a754cfe5664beadddaa100646c9742">cc_time_t</a> in_time_offset)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#g519bf0ab152e5a3d2beee8a76a27d16e">cc_ccache_set_kdc_time_offset()</a></b>: Set the KDC time offset for credentials in a ccache. <a href="#d537ad02da9b4eae3f5e51df0c58ee2e"></a><br></dl><li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__f.html#bc092bd23b9081d12e695faa55913257">clear_kdc_time_offset</a> )(<a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> io_ccache, <a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> in_credentials_version)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#g803c35f92992dc0b73e8809d13ebabab">cc_ccache_clear_kdc_time_offset()</a></b>: Clear the KDC time offset for credentials in a ccache. <a href="#bc092bd23b9081d12e695faa55913257"></a><br></dl><li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__f.html#4c815231f7e071a1dedd9aef3cedb0ef">wait_for_change</a> )(<a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> in_ccache)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#gc508ad0c010c88ad8ff0739b43a2b199">cc_ccache_wait_for_change()</a></b>: Wait for the next change to a ccache. <a href="#4c815231f7e071a1dedd9aef3cedb0ef"></a><br></dl></ul>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="ef46c1c04ceb1a0a479db84ddba7160c"></a><!-- doxytag: member="cc_ccache_f::release" ref="ef46c1c04ceb1a0a479db84ddba7160c" args=")(cc_ccache_t io_ccache)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__f.html#ef46c1c04ceb1a0a479db84ddba7160c">release</a>)(<a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> io_ccache) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#ge517135d87d8775d77b426d57a491ef0">cc_ccache_release()</a></b>: Release memory associated with a cc_ccache_t 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>io_ccache</em>&nbsp;</td><td>the ccache object to release. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>. On failure, an error code representing the failure. </dd></dl>
+<dl compact><dt><b>Note:</b></dt><dd>Does not modify the ccache. If you wish to remove the ccache see <a class="el" href="group__helper__macros.html#ge05b68d91bece2f99b531e96cde8d457">cc_ccache_destroy()</a>. </dd></dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="86872ea5155e7ff57f4674a8f8c1d6c5"></a><!-- doxytag: member="cc_ccache_f::destroy" ref="86872ea5155e7ff57f4674a8f8c1d6c5" args=")(cc_ccache_t io_ccache)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__f.html#86872ea5155e7ff57f4674a8f8c1d6c5">destroy</a>)(<a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> io_ccache) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#ge05b68d91bece2f99b531e96cde8d457">cc_ccache_destroy()</a></b>: Destroy a ccache.
+<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>io_ccache</em>&nbsp;</td><td>the ccache object to destroy and release. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>. On failure, an error code representing the failure.</dd></dl>
+Destroy the ccache referred to by <em>io_ccache</em> and releases memory associated with the <em>io_ccache</em> object. After this call <em>io_ccache</em> becomes invalid. If <em>io_ccache</em> was the default ccache, the next ccache in the cache collection (if any) becomes the new default. </td>
+ </tr>
+</table>
+<a class="anchor" name="93c7e154d7472227b02d240a13dd53da"></a><!-- doxytag: member="cc_ccache_f::set_default" ref="93c7e154d7472227b02d240a13dd53da" args=")(cc_ccache_t io_ccache)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__f.html#93c7e154d7472227b02d240a13dd53da">set_default</a>)(<a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> io_ccache) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#g535b92993b85d92b67fa622447afbe13">cc_ccache_set_default()</a></b>: Make a ccache the default ccache.
+<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>io_ccache</em>&nbsp;</td><td>a ccache object to make the new default ccache. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>. On failure, an error code representing the failure. </dd></dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="934cc9927404ee42460008b49e572158"></a><!-- doxytag: member="cc_ccache_f::get_credentials_version" ref="934cc9927404ee42460008b49e572158" args=")(cc_ccache_t in_ccache, cc_uint32 *out_credentials_version)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__f.html#934cc9927404ee42460008b49e572158">get_credentials_version</a>)(<a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> in_ccache, <a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> *out_credentials_version) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#g934f93499765bdd179bb2342ae0f0fa6">cc_ccache_get_credentials_version()</a></b>: Get the credentials version of a ccache.
+<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_ccache</em>&nbsp;</td><td>a ccache object. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>out_credentials_version</em>&nbsp;</td><td>on exit, the credentials version of <em>in_ccache</em>. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>. On failure, an error code representing the failure.</dd></dl>
+<a class="el" href="group__helper__macros.html#g934f93499765bdd179bb2342ae0f0fa6">cc_ccache_get_credentials_version()</a> returns one value of the enumerated type cc_credentials_vers. The possible return values are <a class="el" href="group__ccapi__constants__reference.html#ggae76da96fff95c157c3b28c4455dc35c017c26531bad42f92f7f3e1f697b58fa">cc_credentials_v4</a> (if ccache's v4 principal has been set), <a class="el" href="group__ccapi__constants__reference.html#ggae76da96fff95c157c3b28c4455dc35c98335a31ad81a10632568375dcc10668">cc_credentials_v5</a> (if ccache's v5 principal has been set), or <a class="el" href="group__ccapi__constants__reference.html#ggae76da96fff95c157c3b28c4455dc35ca49ae6c35599f5860241601dcb0c9e0d">cc_credentials_v4_v5</a> (if both ccache's v4 and v5 principals have been set). A ccache's principal is set with one of <a class="el" href="group__helper__macros.html#g9fbcbd0f1b107cdaa2a0179e227f82cf">cc_context_create_ccache()</a>, <a class="el" href="group__helper__macros.html#g1a6dffb1db25590351646fdcf9824f09">cc_context_create_new_ccache()</a>, <a class="el" href="group__helper__macros.html#g10a184dd699cae4df6f3480290804a72">cc_context_create_default_ccache()</a>, or <a class="el" href="group__helper__macros.html#gfaa81492b5d7b3ba00208a9577ce0ba2">cc_ccache_set_principal()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="e60fec8fe34019df7108e8deed0f52ac"></a><!-- doxytag: member="cc_ccache_f::get_name" ref="e60fec8fe34019df7108e8deed0f52ac" args=")(cc_ccache_t in_ccache, cc_string_t *out_name)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__f.html#e60fec8fe34019df7108e8deed0f52ac">get_name</a>)(<a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> in_ccache, <a class="el" href="structcc__string__d.html">cc_string_t</a> *out_name) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#g042bea6044879ec03996b190792e3ae9">cc_ccache_get_name()</a></b>: Get the name of a ccache.
+<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_ccache</em>&nbsp;</td><td>a ccache object. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>out_name</em>&nbsp;</td><td>on exit, a cc_string_t representing the name of <em>in_ccache</em>. <em>out_name</em> must be released with <a class="el" href="group__helper__macros.html#ge9bebfed2d574e69f29dd341bc8a63d9">cc_string_release()</a>. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>. On failure, an error code representing the failure. </dd></dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="ef23df23bb71b1f01138b791bc8b6255"></a><!-- doxytag: member="cc_ccache_f::get_principal" ref="ef23df23bb71b1f01138b791bc8b6255" args=")(cc_ccache_t in_ccache, cc_uint32 in_credentials_version, cc_string_t *out_principal)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__f.html#ef23df23bb71b1f01138b791bc8b6255">get_principal</a>)(<a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> in_ccache, <a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> in_credentials_version, <a class="el" href="structcc__string__d.html">cc_string_t</a> *out_principal) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#g464aa49a2e8054c9c3c2a3410eaf5c54">cc_ccache_get_principal()</a></b>: Get the principal of a ccache.
+<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_ccache</em>&nbsp;</td><td>a ccache object. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>in_credentials_version</em>&nbsp;</td><td>the credentials version to get the principal for. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>out_principal</em>&nbsp;</td><td>on exit, a cc_string_t representing the principal of <em>in_ccache</em>. <em>out_principal</em> must be released with <a class="el" href="group__helper__macros.html#ge9bebfed2d574e69f29dd341bc8a63d9">cc_string_release()</a>. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>. On failure, an error code representing the failure.</dd></dl>
+Return the principal for the ccache that was set via <a class="el" href="group__helper__macros.html#g9fbcbd0f1b107cdaa2a0179e227f82cf">cc_context_create_ccache()</a>, <a class="el" href="group__helper__macros.html#g10a184dd699cae4df6f3480290804a72">cc_context_create_default_ccache()</a>, <a class="el" href="group__helper__macros.html#g1a6dffb1db25590351646fdcf9824f09">cc_context_create_new_ccache()</a>, or <a class="el" href="group__helper__macros.html#gfaa81492b5d7b3ba00208a9577ce0ba2">cc_ccache_set_principal()</a>. Principals for v4 and v5 are separate, but should be kept synchronized for each ccache; they can be retrieved by passing cc_credentials_v4 or cc_credentials_v5 in cred_vers. Passing cc_credentials_v4_v5 will result in the error ccErrBadCredentialsVersion. </td>
+ </tr>
+</table>
+<a class="anchor" name="0d72ae907e8357633fe4ff2248818f42"></a><!-- doxytag: member="cc_ccache_f::set_principal" ref="0d72ae907e8357633fe4ff2248818f42" args=")(cc_ccache_t io_ccache, cc_uint32 in_credentials_version, const char *in_principal)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__f.html#0d72ae907e8357633fe4ff2248818f42">set_principal</a>)(<a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> io_ccache, <a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> in_credentials_version, const char *in_principal) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#gfaa81492b5d7b3ba00208a9577ce0ba2">cc_ccache_set_principal()</a></b>: Set the principal of a ccache.
+<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_ccache</em>&nbsp;</td><td>a ccache object. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>in_credentials_version</em>&nbsp;</td><td>the credentials version to set the principal for. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>in_principal</em>&nbsp;</td><td>a C string representing the new principal of <em>in_ccache</em>. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>. On failure, an error code representing the failure.</dd></dl>
+Set the a principal for ccache. The v4 and v5 principals can be set independently, but they should always be kept equal, up to differences in string representation between v4 and v5. Passing cc_credentials_v4_v5 in cred_vers will result in the error ccErrBadCredentialsVersion. </td>
+ </tr>
+</table>
+<a class="anchor" name="c4ac7d0cb5e15309978d8c4990f769a3"></a><!-- doxytag: member="cc_ccache_f::store_credentials" ref="c4ac7d0cb5e15309978d8c4990f769a3" args=")(cc_ccache_t io_ccache, const cc_credentials_union *in_credentials_union)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__f.html#c4ac7d0cb5e15309978d8c4990f769a3">store_credentials</a>)(<a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> io_ccache, const <a class="el" href="structcc__credentials__union.html">cc_credentials_union</a> *in_credentials_union) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#g35c1548dbacb8907da7b8c3124eabf39">cc_ccache_store_credentials()</a></b>: Store credentials in a ccache.
+<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>io_ccache</em>&nbsp;</td><td>a ccache object. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>in_credentials_union</em>&nbsp;</td><td>the credentials to store in <em>io_ccache</em>. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>. On failure, an error code representing the failure.</dd></dl>
+Store a copy of credentials in the ccache.<p>
+See the description of the credentials types for the meaning of <a class="el" href="structcc__credentials__union.html">cc_credentials_union</a> fields.<p>
+Before credentials of a specific credential type can be stored in a ccache, the corresponding principal version has to be set. For example, before you can store Kerberos v4 credentials in a ccache, the Kerberos v4 principal has to be set either by <a class="el" href="group__helper__macros.html#g9fbcbd0f1b107cdaa2a0179e227f82cf">cc_context_create_ccache()</a>, <a class="el" href="group__helper__macros.html#g10a184dd699cae4df6f3480290804a72">cc_context_create_default_ccache()</a>, <a class="el" href="group__helper__macros.html#g1a6dffb1db25590351646fdcf9824f09">cc_context_create_new_ccache()</a>, or <a class="el" href="group__helper__macros.html#gfaa81492b5d7b3ba00208a9577ce0ba2">cc_ccache_set_principal()</a>; likewise for Kerberos v5. Otherwise, ccErrBadCredentialsVersion is returned. </td>
+ </tr>
+</table>
+<a class="anchor" name="6cc6d19ff6044fafc3cd9f42c338341c"></a><!-- doxytag: member="cc_ccache_f::remove_credentials" ref="6cc6d19ff6044fafc3cd9f42c338341c" args=")(cc_ccache_t io_ccache, cc_credentials_t in_credentials)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__f.html#6cc6d19ff6044fafc3cd9f42c338341c">remove_credentials</a>)(<a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> io_ccache, <a class="el" href="structcc__credentials__d.html">cc_credentials_t</a> in_credentials) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#ga1bbc05414ad4c17cea9cd5e5c50c7cc">cc_ccache_remove_credentials()</a></b>: Remove credentials from a ccache.
+<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>io_ccache</em>&nbsp;</td><td>a ccache object. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>in_credentials</em>&nbsp;</td><td>the credentials to remove from <em>io_ccache</em>. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>. On failure, an error code representing the failure.</dd></dl>
+Removes credentials from a ccache. Note that credentials must be previously acquired from the CCache API; only exactly matching credentials will be removed. (This places the burden of determining exactly which credentials to remove on the caller, but ensures there is no ambigity about which credentials will be removed.) cc_credentials_t objects can be obtained by iterating over the ccache's credentials with <a class="el" href="group__helper__macros.html#g893b31c419e71c2f528781d3036fa3ff">cc_ccache_new_credentials_iterator()</a>.<p>
+If found, the credentials are removed from the ccache. The credentials parameter is not modified and should be freed by the caller. It is legitimate to call this function while an iterator is traversing the ccache, and the deletion of a credential already returned by <a class="el" href="group__helper__macros.html#g0c2f41d90f478b2415b699085f8fcaa4">cc_credentials_iterator_next()</a> will not disturb sequence of credentials returned by <a class="el" href="group__helper__macros.html#g0c2f41d90f478b2415b699085f8fcaa4">cc_credentials_iterator_next()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="4efc19a7cd2ac6695da44cb7f7e9be14"></a><!-- doxytag: member="cc_ccache_f::new_credentials_iterator" ref="4efc19a7cd2ac6695da44cb7f7e9be14" args=")(cc_ccache_t in_ccache, cc_credentials_iterator_t *out_credentials_iterator)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__f.html#4efc19a7cd2ac6695da44cb7f7e9be14">new_credentials_iterator</a>)(<a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> in_ccache, <a class="el" href="structcc__credentials__iterator__d.html">cc_credentials_iterator_t</a> *out_credentials_iterator) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#g893b31c419e71c2f528781d3036fa3ff">cc_ccache_new_credentials_iterator()</a></b>: Iterate over credentials in a ccache.
+<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_ccache</em>&nbsp;</td><td>a ccache object. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>out_credentials_iterator</em>&nbsp;</td><td>a credentials iterator for <em>io_ccache</em>. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>. On failure, an error code representing the failure.</dd></dl>
+Allocates memory for iterator and initializes it. Successive calls to <a class="el" href="group__helper__macros.html#g0c2f41d90f478b2415b699085f8fcaa4">cc_credentials_iterator_next()</a> will return credentials from the ccache.<p>
+If changes are made to the ccache while an iterator is being used on it, the iterator must return at least the intersection, and at most the union, of the set of credentials that were in the ccache when the iteration began and the set of credentials that are in the ccache when it ends. </td>
+ </tr>
+</table>
+<a class="anchor" name="d4e0dc020d293643405a07396b6f5942"></a><!-- doxytag: member="cc_ccache_f::move" ref="d4e0dc020d293643405a07396b6f5942" args=")(cc_ccache_t io_source_ccache, cc_ccache_t io_destination_ccache)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__f.html#d4e0dc020d293643405a07396b6f5942">move</a>)(<a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> io_source_ccache, <a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> io_destination_ccache) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#ge1238f80c37ae89486f2ba29bcbcae38">cc_ccache_move()</a></b>: Move the contents of one ccache into another, destroying the source.
+<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>io_source_ccache</em>&nbsp;</td><td>a ccache object to move. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>io_destination_ccache</em>&nbsp;</td><td>a ccache object replace with the contents of <em>io_source_ccache</em>. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>. On failure, an error code representing the failure.</dd></dl>
+<a class="el" href="group__helper__macros.html#ge1238f80c37ae89486f2ba29bcbcae38">cc_ccache_move()</a> atomically copies the credentials, credential versions and principals from one ccache to another. On successful completion <em>io_source_ccache</em> will be released and the ccache it points to will be destroyed. Any credentials previously in <em>io_destination_ccache</em> will be replaced with credentials from <em>io_source_ccache</em>. The only part of <em>io_destination_ccache</em> which remains constant is the name. Any other callers referring to <em>io_destination_ccache</em> will suddenly see new data in it.<p>
+Typically <a class="el" href="group__helper__macros.html#ge1238f80c37ae89486f2ba29bcbcae38">cc_ccache_move()</a> is used when the caller wishes to safely overwrite the contents of a ccache with new data which requires several steps to generate. <a class="el" href="group__helper__macros.html#ge1238f80c37ae89486f2ba29bcbcae38">cc_ccache_move()</a> allows the caller to create a temporary ccache (which can be destroyed if any intermediate step fails) and the atomically copy the temporary cache into the destination. </td>
+ </tr>
+</table>
+<a class="anchor" name="731d262d2aa179451f824d320c460f58"></a><!-- doxytag: member="cc_ccache_f::lock" ref="731d262d2aa179451f824d320c460f58" args=")(cc_ccache_t io_ccache, cc_uint32 in_lock_type, cc_uint32 in_block)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__f.html#731d262d2aa179451f824d320c460f58">lock</a>)(<a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> io_ccache, <a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> in_lock_type, <a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> in_block) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#gb8c2624719ee1c4be5f1b1bc4844f0cc">cc_ccache_lock()</a></b>: Lock a ccache.
+<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>io_ccache</em>&nbsp;</td><td>the ccache object for the ccache you wish to lock. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>in_lock_type</em>&nbsp;</td><td>the type of lock to obtain. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>in_block</em>&nbsp;</td><td>whether or not the function should block if the lock cannot be obtained immediately. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>. On failure, an error code representing the failure.</dd></dl>
+Attempts to acquire an advisory lock for a ccache. Allowed values for lock_type are:<p>
+<ul>
+<li>cc_lock_read: a read lock. </li>
+<li>cc_lock_write: a write lock </li>
+<li>cc_lock_upgrade: upgrade an already-obtained read lock to a write lock </li>
+<li>cc_lock_downgrade: downgrade an already-obtained write lock to a read lock</li>
+</ul>
+If block is cc_lock_block, <a class="el" href="structcc__ccache__f.html#731d262d2aa179451f824d320c460f58">lock()</a> will not return until the lock is acquired. If block is cc_lock_noblock, <a class="el" href="structcc__ccache__f.html#731d262d2aa179451f824d320c460f58">lock()</a> will return immediately, either acquiring the lock and returning ccNoError, or failing to acquire the lock and returning an error explaining why.<p>
+To avoid having to deal with differences between thread semantics on different platforms, locks are granted per ccache, rather than per thread or per process. That means that different threads of execution have to acquire separate contexts in order to be able to synchronize with each other.<p>
+The lock should be unlocked by using <a class="el" href="group__helper__macros.html#ge9b13c950cb6ee636c4a73d6c569a811">cc_ccache_unlock()</a>.<p>
+<dl compact><dt><b>Note:</b></dt><dd>All locks are advisory. For example, callers which do not call <a class="el" href="group__helper__macros.html#gb8c2624719ee1c4be5f1b1bc4844f0cc">cc_ccache_lock()</a> and <a class="el" href="group__helper__macros.html#ge9b13c950cb6ee636c4a73d6c569a811">cc_ccache_unlock()</a> will not be prevented from writing to the ccache when you have a read lock. This is because the CCAPI locking was added after the first release and thus adding mandatory locks would have changed the user experience and performance of existing applications. </dd></dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="bffbfe60a3e8da64224623df5235159a"></a><!-- doxytag: member="cc_ccache_f::unlock" ref="bffbfe60a3e8da64224623df5235159a" args=")(cc_ccache_t io_ccache)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__f.html#bffbfe60a3e8da64224623df5235159a">unlock</a>)(<a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> io_ccache) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#ge9b13c950cb6ee636c4a73d6c569a811">cc_ccache_unlock()</a></b>: Unlock a ccache.
+<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>io_ccache</em>&nbsp;</td><td>a ccache object. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>. On failure, an error code representing the failure. </dd></dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="c65301a0ef050524286130185c3ec06d"></a><!-- doxytag: member="cc_ccache_f::get_last_default_time" ref="c65301a0ef050524286130185c3ec06d" args=")(cc_ccache_t in_ccache, cc_time_t *out_last_default_time)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__f.html#c65301a0ef050524286130185c3ec06d">get_last_default_time</a>)(<a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> in_ccache, <a class="el" href="group__ccapi__types__reference.html#ge7a754cfe5664beadddaa100646c9742">cc_time_t</a> *out_last_default_time) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#gb19ef7d2b1bcfb474e18e157fb3bc9c6">cc_ccache_get_change_time()</a></b>: Get the last time a ccache was the default ccache.
+<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_ccache</em>&nbsp;</td><td>a cache object. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>out_last_default_time</em>&nbsp;</td><td>on exit, the last time the ccache was default. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>. On failure, an error code representing the failure.</dd></dl>
+This function returns the last time when the ccache was made the default ccache. This allows clients to sort the ccaches by how recently they were default, which is useful for user listing of ccaches. If the ccache was never default, ccErrNeverDefault is returned. </td>
+ </tr>
+</table>
+<a class="anchor" name="a73ffc6e33ca8155cd644aa5d702c36f"></a><!-- doxytag: member="cc_ccache_f::get_change_time" ref="a73ffc6e33ca8155cd644aa5d702c36f" args=")(cc_ccache_t in_ccache, cc_time_t *out_change_time)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__f.html#a73ffc6e33ca8155cd644aa5d702c36f">get_change_time</a>)(<a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> in_ccache, <a class="el" href="group__ccapi__types__reference.html#ge7a754cfe5664beadddaa100646c9742">cc_time_t</a> *out_change_time) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#gb19ef7d2b1bcfb474e18e157fb3bc9c6">cc_ccache_get_change_time()</a></b>: Get the last time a ccache changed.
+<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_ccache</em>&nbsp;</td><td>a cache object. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>out_change_time</em>&nbsp;</td><td>on exit, the last time the ccache changed. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>. If the ccache was never the default ccache, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7604f23ab0c8c3e1d97f8b32c4501a895">ccErrNeverDefault</a>. Otherwise, an error code representing the failure.</dd></dl>
+This function returns the time of the most recent change made to a ccache. By maintaining a local copy the caller can deduce whether or not the ccache has been modified since the previous call to <a class="el" href="group__helper__macros.html#gb19ef7d2b1bcfb474e18e157fb3bc9c6">cc_ccache_get_change_time()</a>.<p>
+The time returned by <a class="el" href="group__helper__macros.html#gb19ef7d2b1bcfb474e18e157fb3bc9c6">cc_ccache_get_change_time()</a> increases whenever:<p>
+<ul>
+<li>a credential is stored </li>
+<li>a credential is removed </li>
+<li>a ccache principal is changed </li>
+<li>the ccache becomes the default ccache </li>
+<li>the ccache is no longer the default ccache</li>
+</ul>
+<dl compact><dt><b>Note:</b></dt><dd>In order to be able to compare two values returned by <a class="el" href="group__helper__macros.html#gb19ef7d2b1bcfb474e18e157fb3bc9c6">cc_ccache_get_change_time()</a>, the caller must use the same ccache object to acquire them. Callers should maintain a single ccache object in memory for <a class="el" href="group__helper__macros.html#gb19ef7d2b1bcfb474e18e157fb3bc9c6">cc_ccache_get_change_time()</a> calls rather than creating a new ccache object for every call.</dd></dl>
+<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structcc__ccache__f.html#4c815231f7e071a1dedd9aef3cedb0ef">wait_for_change</a> </dd></dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="30719ac8b49a62bf73cb2841e397a81d"></a><!-- doxytag: member="cc_ccache_f::compare" ref="30719ac8b49a62bf73cb2841e397a81d" args=")(cc_ccache_t in_ccache, cc_ccache_t in_compare_to_ccache, cc_uint32 *out_equal)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__f.html#30719ac8b49a62bf73cb2841e397a81d">compare</a>)(<a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> in_ccache, <a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> in_compare_to_ccache, <a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> *out_equal) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#g197ff60fac986634fbef8ca102ec54a5">cc_ccache_compare()</a></b>: Compare two ccache objects.
+<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_ccache</em>&nbsp;</td><td>a ccache object. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>in_compare_to_ccache</em>&nbsp;</td><td>a ccache object to compare with <em>in_ccache</em>. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>out_equal</em>&nbsp;</td><td>on exit, whether or not the two ccaches refer to the same ccache. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>. On failure, an error code representing the failure. </dd></dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="106ee10feffc1681c7583d6aac4d33b4"></a><!-- doxytag: member="cc_ccache_f::get_kdc_time_offset" ref="106ee10feffc1681c7583d6aac4d33b4" args=")(cc_ccache_t in_ccache, cc_uint32 in_credentials_version, cc_time_t *out_time_offset)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__f.html#106ee10feffc1681c7583d6aac4d33b4">get_kdc_time_offset</a>)(<a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> in_ccache, <a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> in_credentials_version, <a class="el" href="group__ccapi__types__reference.html#ge7a754cfe5664beadddaa100646c9742">cc_time_t</a> *out_time_offset) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#g1fa36a89752da4a491d2ecdad17f8b0e">cc_ccache_get_kdc_time_offset()</a></b>: Get the KDC time offset for credentials in a ccache.
+<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_ccache</em>&nbsp;</td><td>a ccache object. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>in_credentials_version</em>&nbsp;</td><td>the credentials version to get the time offset for. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>out_time_offset</em>&nbsp;</td><td>on exit, the KDC time offset for <em>in_ccache</em> for credentials version <em>in_credentials_version</em>. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a> if a time offset was obtained or <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7d6825aa88394eb52df80bef870d986db">ccErrTimeOffsetNotSet</a> if a time offset has not been set. On failure, an error code representing the failure. </dd></dl>
+<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structcc__ccache__f.html#d537ad02da9b4eae3f5e51df0c58ee2e">set_kdc_time_offset</a>, <a class="el" href="structcc__ccache__f.html#bc092bd23b9081d12e695faa55913257">clear_kdc_time_offset</a></dd></dl>
+Sometimes the KDC and client's clocks get out of sync. <a class="el" href="group__helper__macros.html#g1fa36a89752da4a491d2ecdad17f8b0e">cc_ccache_get_kdc_time_offset()</a> returns the difference between the KDC and client's clocks at the time credentials were acquired. This offset allows callers to figure out how much time is left on a given credential even though the end_time is based on the KDC's clock not the client's clock. </td>
+ </tr>
+</table>
+<a class="anchor" name="d537ad02da9b4eae3f5e51df0c58ee2e"></a><!-- doxytag: member="cc_ccache_f::set_kdc_time_offset" ref="d537ad02da9b4eae3f5e51df0c58ee2e" args=")(cc_ccache_t io_ccache, cc_uint32 in_credentials_version, cc_time_t in_time_offset)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__f.html#d537ad02da9b4eae3f5e51df0c58ee2e">set_kdc_time_offset</a>)(<a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> io_ccache, <a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> in_credentials_version, <a class="el" href="group__ccapi__types__reference.html#ge7a754cfe5664beadddaa100646c9742">cc_time_t</a> in_time_offset) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#g519bf0ab152e5a3d2beee8a76a27d16e">cc_ccache_set_kdc_time_offset()</a></b>: Set the KDC time offset for credentials in a ccache.
+<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_ccache</em>&nbsp;</td><td>a ccache object. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>in_credentials_version</em>&nbsp;</td><td>the credentials version to get the time offset for. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>in_time_offset</em>&nbsp;</td><td>the new KDC time offset for <em>in_ccache</em> for credentials version <em>in_credentials_version</em>. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>. On failure, an error code representing the failure. </dd></dl>
+<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structcc__ccache__f.html#106ee10feffc1681c7583d6aac4d33b4">get_kdc_time_offset</a>, <a class="el" href="structcc__ccache__f.html#bc092bd23b9081d12e695faa55913257">clear_kdc_time_offset</a></dd></dl>
+Sometimes the KDC and client's clocks get out of sync. <a class="el" href="group__helper__macros.html#g519bf0ab152e5a3d2beee8a76a27d16e">cc_ccache_set_kdc_time_offset()</a> sets the difference between the KDC and client's clocks at the time credentials were acquired. This offset allows callers to figure out how much time is left on a given credential even though the end_time is based on the KDC's clock not the client's clock. </td>
+ </tr>
+</table>
+<a class="anchor" name="bc092bd23b9081d12e695faa55913257"></a><!-- doxytag: member="cc_ccache_f::clear_kdc_time_offset" ref="bc092bd23b9081d12e695faa55913257" args=")(cc_ccache_t io_ccache, cc_uint32 in_credentials_version)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__f.html#bc092bd23b9081d12e695faa55913257">clear_kdc_time_offset</a>)(<a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> io_ccache, <a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> in_credentials_version) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#g803c35f92992dc0b73e8809d13ebabab">cc_ccache_clear_kdc_time_offset()</a></b>: Clear the KDC time offset for credentials in a ccache.
+<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_ccache</em>&nbsp;</td><td>a ccache object. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>in_credentials_version</em>&nbsp;</td><td>the credentials version to get the time offset for. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>. On failure, an error code representing the failure. </dd></dl>
+<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structcc__ccache__f.html#106ee10feffc1681c7583d6aac4d33b4">get_kdc_time_offset</a>, <a class="el" href="structcc__ccache__f.html#d537ad02da9b4eae3f5e51df0c58ee2e">set_kdc_time_offset</a></dd></dl>
+Sometimes the KDC and client's clocks get out of sync. <a class="el" href="group__helper__macros.html#g803c35f92992dc0b73e8809d13ebabab">cc_ccache_clear_kdc_time_offset()</a> clears the difference between the KDC and client's clocks at the time credentials were acquired. This offset allows callers to figure out how much time is left on a given credential even though the end_time is based on the KDC's clock not the client's clock. </td>
+ </tr>
+</table>
+<a class="anchor" name="4c815231f7e071a1dedd9aef3cedb0ef"></a><!-- doxytag: member="cc_ccache_f::wait_for_change" ref="4c815231f7e071a1dedd9aef3cedb0ef" args=")(cc_ccache_t in_ccache)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__f.html#4c815231f7e071a1dedd9aef3cedb0ef">wait_for_change</a>)(<a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> in_ccache) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#gc508ad0c010c88ad8ff0739b43a2b199">cc_ccache_wait_for_change()</a></b>: Wait for the next change to a ccache.
+<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_ccache</em>&nbsp;</td><td>a ccache object. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>. On failure, an error code representing the failure.</dd></dl>
+This function blocks until the next change is made to the ccache referenced by <em>in_ccache</em>. By repeatedly calling <a class="el" href="group__helper__macros.html#gc508ad0c010c88ad8ff0739b43a2b199">cc_ccache_wait_for_change()</a> from a worker thread the caller can effectively receive callbacks whenever the ccache changes. This is considerably more efficient than polling with <a class="el" href="group__helper__macros.html#gb19ef7d2b1bcfb474e18e157fb3bc9c6">cc_ccache_get_change_time()</a>.<p>
+<a class="el" href="group__helper__macros.html#gc508ad0c010c88ad8ff0739b43a2b199">cc_ccache_wait_for_change()</a> will return whenever:<p>
+<ul>
+<li>a credential is stored </li>
+<li>a credential is removed </li>
+<li>the ccache principal is changed </li>
+<li>the ccache becomes the default ccache </li>
+<li>the ccache is no longer the default ccache</li>
+</ul>
+<dl compact><dt><b>Note:</b></dt><dd>In order to make sure that the caller doesn't miss any changes, <a class="el" href="group__helper__macros.html#gc508ad0c010c88ad8ff0739b43a2b199">cc_ccache_wait_for_change()</a> always returns immediately after the first time it is called on a new ccache object. Callers must use the same ccache object for successive calls to <a class="el" href="group__helper__macros.html#gc508ad0c010c88ad8ff0739b43a2b199">cc_ccache_wait_for_change()</a> rather than creating a new ccache object for every call.</dd></dl>
+<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structcc__ccache__f.html#a73ffc6e33ca8155cd644aa5d702c36f">get_change_time</a> </dd></dl>
+ </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Oct 2 17:16:05 2007 for Credentials Cache API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
+</body>
+</html>
diff --git a/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__ccache__iterator__d.html b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__ccache__iterator__d.html
new file mode 100644
index 000000000..5e85ee2da
--- /dev/null
+++ b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__ccache__iterator__d.html
@@ -0,0 +1,43 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Credentials Cache API : cc_ccache_iterator_d Struct Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.4.6 -->
+<h1>cc_ccache_iterator_d Struct Reference<br>
+<small>
+[<a class="el" href="group__cc__ccache__iterator__reference.html">cc_ccache_iterator_t Overview</a>]</small>
+</h1><!-- doxytag: class="cc_ccache_iterator_d" --><h2>Data Fields</h2>
+<ul>
+<li>const <a class="el" href="structcc__ccache__iterator__f.html">cc_ccache_iterator_f</a> * <a class="el" href="structcc__ccache__iterator__d.html#7cd2785c0dd1902e651805f478acae3e">functions</a>
+</ul>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="7cd2785c0dd1902e651805f478acae3e"></a><!-- doxytag: member="cc_ccache_iterator_d::functions" ref="7cd2785c0dd1902e651805f478acae3e" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">const <a class="el" href="structcc__ccache__iterator__f.html">cc_ccache_iterator_f</a>* <a class="el" href="structcc__ccache__iterator__d.html#7cd2785c0dd1902e651805f478acae3e">functions</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Oct 2 17:16:05 2007 for Credentials Cache API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
+</body>
+</html>
diff --git a/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__ccache__iterator__f.html b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__ccache__iterator__f.html
new file mode 100644
index 000000000..333aab8f4
--- /dev/null
+++ b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__ccache__iterator__f.html
@@ -0,0 +1,117 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Credentials Cache API : cc_ccache_iterator_f Struct Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.4.6 -->
+<h1>cc_ccache_iterator_f Struct Reference</h1><!-- doxytag: class="cc_ccache_iterator_f" --><hr><a name="_details"></a><h2>Detailed Description</h2>
+Function pointer table for cc_ccache_iterator_t. For more information see <a class="el" href="group__cc__ccache__iterator__reference.html">cc_ccache_iterator_t Overview</a>.
+<p>
+<h2>Data Fields</h2>
+<ul>
+<li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__iterator__f.html#4df0298826e5004ca873b005d6d3b9d0">release</a> )(<a class="el" href="structcc__ccache__iterator__d.html">cc_ccache_iterator_t</a> io_ccache_iterator)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#g34f37496fb8bc414aafb0b265afecb1b">cc_ccache_iterator_release()</a></b>: Release memory associated with a cc_ccache_iterator_t object. <a href="#4df0298826e5004ca873b005d6d3b9d0"></a><br></dl><li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__iterator__f.html#6f1c5bf2a8c3ca2fb1761a039fbf30cb">next</a> )(<a class="el" href="structcc__ccache__iterator__d.html">cc_ccache_iterator_t</a> in_ccache_iterator, <a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> *out_ccache)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#gcff0b3e247a2adc95442324fec6c5651">cc_ccache_iterator_next()</a></b>: Get the next ccache in the cache collection. <a href="#6f1c5bf2a8c3ca2fb1761a039fbf30cb"></a><br></dl><li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__iterator__f.html#3a2fc1000215e7e8a2ef5b29eb4af890">clone</a> )(<a class="el" href="structcc__ccache__iterator__d.html">cc_ccache_iterator_t</a> in_ccache_iterator, <a class="el" href="structcc__ccache__iterator__d.html">cc_ccache_iterator_t</a> *out_ccache_iterator)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#g904d7757fd7ac40f4ee9b448a389f2dd">cc_ccache_iterator_clone()</a></b>: Make a copy of a ccache iterator. <a href="#3a2fc1000215e7e8a2ef5b29eb4af890"></a><br></dl></ul>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="4df0298826e5004ca873b005d6d3b9d0"></a><!-- doxytag: member="cc_ccache_iterator_f::release" ref="4df0298826e5004ca873b005d6d3b9d0" args=")(cc_ccache_iterator_t io_ccache_iterator)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__iterator__f.html#4df0298826e5004ca873b005d6d3b9d0">release</a>)(<a class="el" href="structcc__ccache__iterator__d.html">cc_ccache_iterator_t</a> io_ccache_iterator) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#g34f37496fb8bc414aafb0b265afecb1b">cc_ccache_iterator_release()</a></b>: Release memory associated with a cc_ccache_iterator_t 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>io_ccache_iterator</em>&nbsp;</td><td>the ccache iterator object to release. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>. On failure, an error code representing the failure. </dd></dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="6f1c5bf2a8c3ca2fb1761a039fbf30cb"></a><!-- doxytag: member="cc_ccache_iterator_f::next" ref="6f1c5bf2a8c3ca2fb1761a039fbf30cb" args=")(cc_ccache_iterator_t in_ccache_iterator, cc_ccache_t *out_ccache)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__iterator__f.html#6f1c5bf2a8c3ca2fb1761a039fbf30cb">next</a>)(<a class="el" href="structcc__ccache__iterator__d.html">cc_ccache_iterator_t</a> in_ccache_iterator, <a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> *out_ccache) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#gcff0b3e247a2adc95442324fec6c5651">cc_ccache_iterator_next()</a></b>: Get the next ccache in the cache collection.
+<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_ccache_iterator</em>&nbsp;</td><td>a ccache iterator object. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>out_ccache</em>&nbsp;</td><td>on exit, the next ccache in the cache collection. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a> if the next ccache in the cache collection was obtained or <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b748d5a55ed773e002ccc271beb4512c0a">ccIteratorEnd</a> if there are no more ccaches. On failure, an error code representing the failure. </dd></dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="3a2fc1000215e7e8a2ef5b29eb4af890"></a><!-- doxytag: member="cc_ccache_iterator_f::clone" ref="3a2fc1000215e7e8a2ef5b29eb4af890" args=")(cc_ccache_iterator_t in_ccache_iterator, cc_ccache_iterator_t *out_ccache_iterator)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__ccache__iterator__f.html#3a2fc1000215e7e8a2ef5b29eb4af890">clone</a>)(<a class="el" href="structcc__ccache__iterator__d.html">cc_ccache_iterator_t</a> in_ccache_iterator, <a class="el" href="structcc__ccache__iterator__d.html">cc_ccache_iterator_t</a> *out_ccache_iterator) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#g904d7757fd7ac40f4ee9b448a389f2dd">cc_ccache_iterator_clone()</a></b>: Make a copy of a ccache iterator.
+<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_ccache_iterator</em>&nbsp;</td><td>a ccache iterator object. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>out_ccache_iterator</em>&nbsp;</td><td>on exit, a copy of <em>in_ccache_iterator</em>. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>. On failure, an error code representing the failure. </dd></dl>
+ </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Oct 2 17:16:05 2007 for Credentials Cache API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
+</body>
+</html>
diff --git a/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__context__d.html b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__context__d.html
new file mode 100644
index 000000000..d3904a2a1
--- /dev/null
+++ b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__context__d.html
@@ -0,0 +1,43 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Credentials Cache API : cc_context_d Struct Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.4.6 -->
+<h1>cc_context_d Struct Reference<br>
+<small>
+[<a class="el" href="group__cc__context__reference.html">cc_context_t Overview</a>]</small>
+</h1><!-- doxytag: class="cc_context_d" --><h2>Data Fields</h2>
+<ul>
+<li>const <a class="el" href="structcc__context__f.html">cc_context_f</a> * <a class="el" href="structcc__context__d.html#ac5b195bc75b92f5c1924e6a3a6aa611">functions</a>
+</ul>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="ac5b195bc75b92f5c1924e6a3a6aa611"></a><!-- doxytag: member="cc_context_d::functions" ref="ac5b195bc75b92f5c1924e6a3a6aa611" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">const <a class="el" href="structcc__context__f.html">cc_context_f</a>* <a class="el" href="structcc__context__d.html#ac5b195bc75b92f5c1924e6a3a6aa611">functions</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Oct 2 17:16:05 2007 for Credentials Cache API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
+</body>
+</html>
diff --git a/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__context__f.html b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__context__f.html
new file mode 100644
index 000000000..fe310518a
--- /dev/null
+++ b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__context__f.html
@@ -0,0 +1,513 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Credentials Cache API : cc_context_f Struct Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.4.6 -->
+<h1>cc_context_f Struct Reference</h1><!-- doxytag: class="cc_context_f" --><hr><a name="_details"></a><h2>Detailed Description</h2>
+Function pointer table for cc_context_t. For more information see <a class="el" href="group__cc__context__reference.html">cc_context_t Overview</a>.
+<p>
+<h2>Data Fields</h2>
+<ul>
+<li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__context__f.html#239ea938e3c076e6e245a9236bb05b24">release</a> )(<a class="el" href="structcc__context__d.html">cc_context_t</a> io_context)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#g8ff82ce108889d4ed29f46ffe6efc40e">cc_context_release()</a></b>: Release memory associated with a cc_context_t. <a href="#239ea938e3c076e6e245a9236bb05b24"></a><br></dl><li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__context__f.html#51bd5a48dcd263bfb3128cc5838b4cd7">get_change_time</a> )(<a class="el" href="structcc__context__d.html">cc_context_t</a> in_context, <a class="el" href="group__ccapi__types__reference.html#ge7a754cfe5664beadddaa100646c9742">cc_time_t</a> *out_time)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#g82f551af17455b78fa3a2e3f83c96907">cc_context_get_change_time()</a></b>: Get the last time the cache collection changed. <a href="#51bd5a48dcd263bfb3128cc5838b4cd7"></a><br></dl><li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__context__f.html#4e9432f5a1a10319037b0f04e8219c1b">get_default_ccache_name</a> )(<a class="el" href="structcc__context__d.html">cc_context_t</a> in_context, <a class="el" href="structcc__string__d.html">cc_string_t</a> *out_name)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#gcb4eb9f1db6f8ebf261339ad87cb6c51">cc_context_get_default_ccache_name()</a></b>: Get the name of the default ccache. <a href="#4e9432f5a1a10319037b0f04e8219c1b"></a><br></dl><li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__context__f.html#bf8e7415758b890ca8f01ce5a00985ab">open_ccache</a> )(<a class="el" href="structcc__context__d.html">cc_context_t</a> in_context, const char *in_name, <a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> *out_ccache)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#g256a5ba17fe0e4502e0722d9b081bbef">cc_context_open_ccache()</a></b>: Open a ccache. <a href="#bf8e7415758b890ca8f01ce5a00985ab"></a><br></dl><li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__context__f.html#7f101feaa1c88c8997b678507c029c39">open_default_ccache</a> )(<a class="el" href="structcc__context__d.html">cc_context_t</a> in_context, <a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> *out_ccache)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#g45a7ce29eb409baabadcae1bc95d5c57">cc_context_open_default_ccache()</a></b>: Open the default ccache. <a href="#7f101feaa1c88c8997b678507c029c39"></a><br></dl><li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__context__f.html#82d3579723a0f909cb46c2016ed4ae22">create_ccache</a> )(<a class="el" href="structcc__context__d.html">cc_context_t</a> in_context, const char *in_name, <a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> in_cred_vers, const char *in_principal, <a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> *out_ccache)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#g9fbcbd0f1b107cdaa2a0179e227f82cf">cc_context_create_ccache()</a></b>: Create a new ccache. <a href="#82d3579723a0f909cb46c2016ed4ae22"></a><br></dl><li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__context__f.html#b52a31c1fb59ac752baa16503d8e0e3f">create_default_ccache</a> )(<a class="el" href="structcc__context__d.html">cc_context_t</a> in_context, <a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> in_cred_vers, const char *in_principal, <a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> *out_ccache)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#g10a184dd699cae4df6f3480290804a72">cc_context_create_default_ccache()</a></b>: Create a new default ccache. <a href="#b52a31c1fb59ac752baa16503d8e0e3f"></a><br></dl><li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__context__f.html#939a8ed76079bf71000347c40aeb5b2f">create_new_ccache</a> )(<a class="el" href="structcc__context__d.html">cc_context_t</a> in_context, <a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> in_cred_vers, const char *in_principal, <a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> *out_ccache)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#g1a6dffb1db25590351646fdcf9824f09">cc_context_create_new_ccache()</a></b>: Create a new uniquely named ccache. <a href="#939a8ed76079bf71000347c40aeb5b2f"></a><br></dl><li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__context__f.html#0f945985d42255226915403df147667f">new_ccache_iterator</a> )(<a class="el" href="structcc__context__d.html">cc_context_t</a> in_context, <a class="el" href="structcc__ccache__iterator__d.html">cc_ccache_iterator_t</a> *out_iterator)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#g6957bc9570e4769a5b1213d2a1d90cd7">cc_context_new_ccache_iterator()</a></b>: Get an iterator for the cache collection. <a href="#0f945985d42255226915403df147667f"></a><br></dl><li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__context__f.html#1be78f795193b04c4f45cb7d3c46480c">lock</a> )(<a class="el" href="structcc__context__d.html">cc_context_t</a> in_context, <a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> in_lock_type, <a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> in_block)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#gcf4595340ddc8dafa539a86ac317625d">cc_context_lock()</a></b>: Lock the cache collection. <a href="#1be78f795193b04c4f45cb7d3c46480c"></a><br></dl><li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__context__f.html#55e38bd72efee8445b3abbc3fa5e7e27">unlock</a> )(<a class="el" href="structcc__context__d.html">cc_context_t</a> in_cc_context)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#g544261b88c9ac0f2379a35648cae3f27">cc_context_unlock()</a></b>: Unlock the cache collection. <a href="#55e38bd72efee8445b3abbc3fa5e7e27"></a><br></dl><li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__context__f.html#bb728ccd97eb387991feed0500475112">compare</a> )(<a class="el" href="structcc__context__d.html">cc_context_t</a> in_cc_context, <a class="el" href="structcc__context__d.html">cc_context_t</a> in_compare_to_context, <a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> *out_equal)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#g9258ef05d06f3d4dc798ec654f78b967">cc_context_compare()</a></b>: Compare two context objects. <a href="#bb728ccd97eb387991feed0500475112"></a><br></dl><li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__context__f.html#39a27ecd6d29fb7288f983c42d5686d0">wait_for_change</a> )(<a class="el" href="structcc__context__d.html">cc_context_t</a> in_cc_context)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#g9eb3508958528c00844a101275497e5a">cc_context_wait_for_change()</a></b>: Wait for the next change in the cache collection. <a href="#39a27ecd6d29fb7288f983c42d5686d0"></a><br></dl></ul>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="239ea938e3c076e6e245a9236bb05b24"></a><!-- doxytag: member="cc_context_f::release" ref="239ea938e3c076e6e245a9236bb05b24" args=")(cc_context_t io_context)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__context__f.html#239ea938e3c076e6e245a9236bb05b24">release</a>)(<a class="el" href="structcc__context__d.html">cc_context_t</a> io_context) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#g8ff82ce108889d4ed29f46ffe6efc40e">cc_context_release()</a></b>: Release memory associated with a cc_context_t.
+<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>io_context</em>&nbsp;</td><td>the context object to free. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>. On failure, an error code representing the failure. </dd></dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="51bd5a48dcd263bfb3128cc5838b4cd7"></a><!-- doxytag: member="cc_context_f::get_change_time" ref="51bd5a48dcd263bfb3128cc5838b4cd7" args=")(cc_context_t in_context, cc_time_t *out_time)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__context__f.html#51bd5a48dcd263bfb3128cc5838b4cd7">get_change_time</a>)(<a class="el" href="structcc__context__d.html">cc_context_t</a> in_context, <a class="el" href="group__ccapi__types__reference.html#ge7a754cfe5664beadddaa100646c9742">cc_time_t</a> *out_time) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#g82f551af17455b78fa3a2e3f83c96907">cc_context_get_change_time()</a></b>: Get the last time the cache collection changed.
+<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_context</em>&nbsp;</td><td>the context object for the cache collection to examine. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>out_time</em>&nbsp;</td><td>on exit, the time of the most recent change for the entire ccache collection. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>. On failure, an error code representing the failure.</dd></dl>
+This function returns the time of the most recent change for the entire ccache collection. By maintaining a local copy the caller can deduce whether or not the ccache collection has been modified since the previous call to <a class="el" href="group__helper__macros.html#g82f551af17455b78fa3a2e3f83c96907">cc_context_get_change_time()</a>.<p>
+The time returned by cc_context_get_changed_time() increases whenever:<p>
+<ul>
+<li>a ccache is created </li>
+<li>a ccache is destroyed </li>
+<li>a credential is stored </li>
+<li>a credential is removed </li>
+<li>a ccache principal is changed </li>
+<li>the default ccache is changed</li>
+</ul>
+<dl compact><dt><b>Note:</b></dt><dd>In order to be able to compare two values returned by <a class="el" href="group__helper__macros.html#g82f551af17455b78fa3a2e3f83c96907">cc_context_get_change_time()</a>, the caller must use the same context to acquire them. Callers should maintain a single context in memory for <a class="el" href="group__helper__macros.html#g82f551af17455b78fa3a2e3f83c96907">cc_context_get_change_time()</a> calls rather than creating a new context for every call.</dd></dl>
+<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structcc__context__f.html#39a27ecd6d29fb7288f983c42d5686d0">wait_for_change</a> </dd></dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="4e9432f5a1a10319037b0f04e8219c1b"></a><!-- doxytag: member="cc_context_f::get_default_ccache_name" ref="4e9432f5a1a10319037b0f04e8219c1b" args=")(cc_context_t in_context, cc_string_t *out_name)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__context__f.html#4e9432f5a1a10319037b0f04e8219c1b">get_default_ccache_name</a>)(<a class="el" href="structcc__context__d.html">cc_context_t</a> in_context, <a class="el" href="structcc__string__d.html">cc_string_t</a> *out_name) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#gcb4eb9f1db6f8ebf261339ad87cb6c51">cc_context_get_default_ccache_name()</a></b>: Get the name of the default ccache.
+<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_context</em>&nbsp;</td><td>the context object for the cache collection. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>out_name</em>&nbsp;</td><td>on exit, the name of the default ccache. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>. On failure, an error code representing the failure.</dd></dl>
+This function returns the name of the default ccache. When the default ccache exists, its name is returned. If there are no ccaches in the collection, and thus there is no default ccache, the name that the default ccache should have is returned. The ccache with that name will be used as the default ccache by all processes which initialized Kerberos libraries before the ccache was created.<p>
+If there is no default ccache, and the client is creating a new ccache, it should be created with the default name. If there already is a default ccache, and the client wants to create a new ccache (as opposed to reusing an existing ccache), it should be created with any unique name; <a class="el" href="structcc__context__f.html#939a8ed76079bf71000347c40aeb5b2f">create_new_ccache()</a> can be used to accomplish that more easily.<p>
+If the first ccache is created with a name other than the default name, then the processes already running will not notice the credentials stored in the new ccache, which is normally undesirable. </td>
+ </tr>
+</table>
+<a class="anchor" name="bf8e7415758b890ca8f01ce5a00985ab"></a><!-- doxytag: member="cc_context_f::open_ccache" ref="bf8e7415758b890ca8f01ce5a00985ab" args=")(cc_context_t in_context, const char *in_name, cc_ccache_t *out_ccache)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__context__f.html#bf8e7415758b890ca8f01ce5a00985ab">open_ccache</a>)(<a class="el" href="structcc__context__d.html">cc_context_t</a> in_context, const char *in_name, <a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> *out_ccache) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#g256a5ba17fe0e4502e0722d9b081bbef">cc_context_open_ccache()</a></b>: Open a ccache.
+<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_context</em>&nbsp;</td><td>the context object for the cache collection. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>in_name</em>&nbsp;</td><td>the name of the ccache to open. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>out_ccache</em>&nbsp;</td><td>on exit, a ccache object for the ccache </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>. If no ccache named <em>in_name</em> exists, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b73098feac66058e6ebd02c5e44fa20a9c">ccErrCCacheNotFound</a>. On failure, an error code representing the failure.</dd></dl>
+Opens an already existing ccache identified by its name. It returns a reference to the ccache in <em>out_ccache</em>.<p>
+The list of all ccache names, principals, and credentials versions may be retrieved by calling cc_context_new_cache_iterator(), <a class="el" href="group__helper__macros.html#g042bea6044879ec03996b190792e3ae9">cc_ccache_get_name()</a>, <a class="el" href="group__helper__macros.html#g464aa49a2e8054c9c3c2a3410eaf5c54">cc_ccache_get_principal()</a>, and cc_ccache_get_cred_version(). </td>
+ </tr>
+</table>
+<a class="anchor" name="7f101feaa1c88c8997b678507c029c39"></a><!-- doxytag: member="cc_context_f::open_default_ccache" ref="7f101feaa1c88c8997b678507c029c39" args=")(cc_context_t in_context, cc_ccache_t *out_ccache)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__context__f.html#7f101feaa1c88c8997b678507c029c39">open_default_ccache</a>)(<a class="el" href="structcc__context__d.html">cc_context_t</a> in_context, <a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> *out_ccache) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#g45a7ce29eb409baabadcae1bc95d5c57">cc_context_open_default_ccache()</a></b>: Open the default ccache.
+<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_context</em>&nbsp;</td><td>the context object for the cache collection. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>out_ccache</em>&nbsp;</td><td>on exit, a ccache object for the default ccache </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>. If no default ccache exists, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b73098feac66058e6ebd02c5e44fa20a9c">ccErrCCacheNotFound</a>. On failure, an error code representing the failure.</dd></dl>
+Opens the default ccache. It returns a reference to the ccache in *ccache.<p>
+This function performs the same function as calling cc_context_get_default_ccache_name followed by cc_context_open_ccache, but it performs it atomically. </td>
+ </tr>
+</table>
+<a class="anchor" name="82d3579723a0f909cb46c2016ed4ae22"></a><!-- doxytag: member="cc_context_f::create_ccache" ref="82d3579723a0f909cb46c2016ed4ae22" args=")(cc_context_t in_context, const char *in_name, cc_uint32 in_cred_vers, const char *in_principal, cc_ccache_t *out_ccache)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__context__f.html#82d3579723a0f909cb46c2016ed4ae22">create_ccache</a>)(<a class="el" href="structcc__context__d.html">cc_context_t</a> in_context, const char *in_name, <a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> in_cred_vers, const char *in_principal, <a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> *out_ccache) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#g9fbcbd0f1b107cdaa2a0179e227f82cf">cc_context_create_ccache()</a></b>: Create a new ccache.
+<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_context</em>&nbsp;</td><td>the context object for the cache collection. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>in_name</em>&nbsp;</td><td>the name of the new ccache to create </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>in_cred_vers</em>&nbsp;</td><td>the version of the credentials the new ccache will hold </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>in_principal</em>&nbsp;</td><td>the client principal of the credentials the new ccache will hold </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>out_ccache</em>&nbsp;</td><td>on exit, a ccache object for the newly created ccache </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>. On failure, an error code representing the failure.</dd></dl>
+Create a new credentials cache. The ccache is uniquely identified by its name. The principal given is also associated with the ccache and the credentials version specified. A NULL name is not allowed (and ccErrBadName is returned if one is passed in). Only cc_credentials_v4 and cc_credentials_v5 are valid input values for cred_vers. If you want to create a new ccache that will hold both versions of credentials, call <a class="el" href="group__helper__macros.html#g9fbcbd0f1b107cdaa2a0179e227f82cf">cc_context_create_ccache()</a> with one version, and then <a class="el" href="group__helper__macros.html#gfaa81492b5d7b3ba00208a9577ce0ba2">cc_ccache_set_principal()</a> with the other version.<p>
+If you want to create a new ccache (with a unique name), you should use <a class="el" href="group__helper__macros.html#g1a6dffb1db25590351646fdcf9824f09">cc_context_create_new_ccache()</a> instead. If you want to create or reinitialize the default cache, you should use <a class="el" href="group__helper__macros.html#g10a184dd699cae4df6f3480290804a72">cc_context_create_default_ccache()</a>.<p>
+If name is non-NULL and there is already a ccache named name:<p>
+<ul>
+<li>the credentials in the ccache whose version is cred_vers are removed </li>
+<li>the principal (of the existing ccache) associated with cred_vers is set to principal </li>
+<li>a handle for the existing ccache is returned and all existing handles for the ccache remain valid</li>
+</ul>
+If no ccache named name already exists:<p>
+<ul>
+<li>a new empty ccache is created </li>
+<li>the principal of the new ccache associated with cred_vers is set to principal </li>
+<li>a handle for the new ccache is returned</li>
+</ul>
+For a new ccache, the name should be any unique string. The name is not intended to be presented to users.<p>
+If the created ccache is the first ccache in the collection, it is made the default ccache. Note that normally it is undesirable to create the first ccache with a name different from the default ccache name (as returned by <a class="el" href="group__helper__macros.html#gcb4eb9f1db6f8ebf261339ad87cb6c51">cc_context_get_default_ccache_name()</a>); see the description of <a class="el" href="group__helper__macros.html#gcb4eb9f1db6f8ebf261339ad87cb6c51">cc_context_get_default_ccache_name()</a> for details.<p>
+The principal should be a C string containing an unparsed Kerberos principal in the format of the appropriate Kerberos version, i.e.<div class="fragment"><pre class="fragment">foo.bar/@BAZ
+ * </pre></div> for Kerberos v4 and<div class="fragment"><pre class="fragment">foo/bar/@BAZ </pre></div> for Kerberos v5. </td>
+ </tr>
+</table>
+<a class="anchor" name="b52a31c1fb59ac752baa16503d8e0e3f"></a><!-- doxytag: member="cc_context_f::create_default_ccache" ref="b52a31c1fb59ac752baa16503d8e0e3f" args=")(cc_context_t in_context, cc_uint32 in_cred_vers, const char *in_principal, cc_ccache_t *out_ccache)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__context__f.html#b52a31c1fb59ac752baa16503d8e0e3f">create_default_ccache</a>)(<a class="el" href="structcc__context__d.html">cc_context_t</a> in_context, <a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> in_cred_vers, const char *in_principal, <a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> *out_ccache) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#g10a184dd699cae4df6f3480290804a72">cc_context_create_default_ccache()</a></b>: Create a new default ccache.
+<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_context</em>&nbsp;</td><td>the context object for the cache collection. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>in_cred_vers</em>&nbsp;</td><td>the version of the credentials the new default ccache will hold </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>in_principal</em>&nbsp;</td><td>the client principal of the credentials the new default ccache will hold </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>out_ccache</em>&nbsp;</td><td>on exit, a ccache object for the newly created default ccache </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>. On failure, an error code representing the failure.</dd></dl>
+Create the default credentials cache. The behavior of this function is similar to that of cc_create_ccache(). If there is a default ccache (which is always the case except when there are no ccaches at all in the collection), it is initialized with the specified credentials version and principal, as per cc_create_ccache(); otherwise, a new ccache is created, and its name is the name returned by <a class="el" href="group__helper__macros.html#gcb4eb9f1db6f8ebf261339ad87cb6c51">cc_context_get_default_ccache_name()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="939a8ed76079bf71000347c40aeb5b2f"></a><!-- doxytag: member="cc_context_f::create_new_ccache" ref="939a8ed76079bf71000347c40aeb5b2f" args=")(cc_context_t in_context, cc_uint32 in_cred_vers, const char *in_principal, cc_ccache_t *out_ccache)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__context__f.html#939a8ed76079bf71000347c40aeb5b2f">create_new_ccache</a>)(<a class="el" href="structcc__context__d.html">cc_context_t</a> in_context, <a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> in_cred_vers, const char *in_principal, <a class="el" href="structcc__ccache__d.html">cc_ccache_t</a> *out_ccache) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#g1a6dffb1db25590351646fdcf9824f09">cc_context_create_new_ccache()</a></b>: Create a new uniquely named ccache.
+<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_context</em>&nbsp;</td><td>the context object for the cache collection. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>in_cred_vers</em>&nbsp;</td><td>the version of the credentials the new ccache will hold </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>in_principal</em>&nbsp;</td><td>the client principal of the credentials the new ccache will hold </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>out_ccache</em>&nbsp;</td><td>on exit, a ccache object for the newly created ccache </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>. On failure, an error code representing the failure.</dd></dl>
+Create a new unique credentials cache. The behavior of this function is similar to that of cc_create_ccache(). If there are no ccaches, and therefore no default ccache, the new ccache is created with the default ccache name as would be returned by <a class="el" href="structcc__context__f.html#4e9432f5a1a10319037b0f04e8219c1b">get_default_ccache_name()</a>. If there are some ccaches, and therefore there is a default ccache, the new ccache is created with a new unique name. Clearly, this function never reinitializes a ccache, since it always uses a unique name. </td>
+ </tr>
+</table>
+<a class="anchor" name="0f945985d42255226915403df147667f"></a><!-- doxytag: member="cc_context_f::new_ccache_iterator" ref="0f945985d42255226915403df147667f" args=")(cc_context_t in_context, cc_ccache_iterator_t *out_iterator)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__context__f.html#0f945985d42255226915403df147667f">new_ccache_iterator</a>)(<a class="el" href="structcc__context__d.html">cc_context_t</a> in_context, <a class="el" href="structcc__ccache__iterator__d.html">cc_ccache_iterator_t</a> *out_iterator) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#g6957bc9570e4769a5b1213d2a1d90cd7">cc_context_new_ccache_iterator()</a></b>: Get an iterator for the cache collection.
+<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_context</em>&nbsp;</td><td>the context object for the cache collection. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>out_iterator</em>&nbsp;</td><td>on exit, a ccache iterator object for the ccache collection. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>. On failure, an error code representing the failure.</dd></dl>
+Used to allocate memory and initialize iterator. Successive calls to iterator's next() function will return ccaches in the collection.<p>
+If changes are made to the collection while an iterator is being used on it, the iterator must return at least the intersection, and at most the union, of the set of ccaches that were present when the iteration began and the set of ccaches that are present when it ends. </td>
+ </tr>
+</table>
+<a class="anchor" name="1be78f795193b04c4f45cb7d3c46480c"></a><!-- doxytag: member="cc_context_f::lock" ref="1be78f795193b04c4f45cb7d3c46480c" args=")(cc_context_t in_context, cc_uint32 in_lock_type, cc_uint32 in_block)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__context__f.html#1be78f795193b04c4f45cb7d3c46480c">lock</a>)(<a class="el" href="structcc__context__d.html">cc_context_t</a> in_context, <a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> in_lock_type, <a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> in_block) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#gcf4595340ddc8dafa539a86ac317625d">cc_context_lock()</a></b>: Lock the cache collection.
+<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_context</em>&nbsp;</td><td>the context object for the cache collection. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>in_lock_type</em>&nbsp;</td><td>the type of lock to obtain. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>in_block</em>&nbsp;</td><td>whether or not the function should block if the lock cannot be obtained immediately. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>. On failure, an error code representing the failure.</dd></dl>
+Attempts to acquire an advisory lock for the ccache collection. Allowed values for lock_type are:<p>
+<ul>
+<li>cc_lock_read: a read lock. </li>
+<li>cc_lock_write: a write lock </li>
+<li>cc_lock_upgrade: upgrade an already-obtained read lock to a write lock </li>
+<li>cc_lock_downgrade: downgrade an already-obtained write lock to a read lock</li>
+</ul>
+If block is cc_lock_block, <a class="el" href="structcc__context__f.html#1be78f795193b04c4f45cb7d3c46480c">lock()</a> will not return until the lock is acquired. If block is cc_lock_noblock, <a class="el" href="structcc__context__f.html#1be78f795193b04c4f45cb7d3c46480c">lock()</a> will return immediately, either acquiring the lock and returning ccNoError, or failing to acquire the lock and returning an error explaining why.<p>
+Locks apply only to the list of ccaches, not the contents of those ccaches. To prevent callers participating in the advisory locking from changing the credentials in a cache you must also lock that ccache with <a class="el" href="group__helper__macros.html#gb8c2624719ee1c4be5f1b1bc4844f0cc">cc_ccache_lock()</a>. This is so that you can get the list of ccaches without preventing applications from simultaneously obtaining service tickets.<p>
+To avoid having to deal with differences between thread semantics on different platforms, locks are granted per context, rather than per thread or per process. That means that different threads of execution have to acquire separate contexts in order to be able to synchronize with each other.<p>
+The lock should be unlocked by using <a class="el" href="group__helper__macros.html#g544261b88c9ac0f2379a35648cae3f27">cc_context_unlock()</a>.<p>
+<dl compact><dt><b>Note:</b></dt><dd>All locks are advisory. For example, callers which do not call <a class="el" href="group__helper__macros.html#gcf4595340ddc8dafa539a86ac317625d">cc_context_lock()</a> and <a class="el" href="group__helper__macros.html#g544261b88c9ac0f2379a35648cae3f27">cc_context_unlock()</a> will not be prevented from writing to the cache collection when you have a read lock. This is because the CCAPI locking was added after the first release and thus adding mandatory locks would have changed the user experience and performance of existing applications. </dd></dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="55e38bd72efee8445b3abbc3fa5e7e27"></a><!-- doxytag: member="cc_context_f::unlock" ref="55e38bd72efee8445b3abbc3fa5e7e27" args=")(cc_context_t in_cc_context)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__context__f.html#55e38bd72efee8445b3abbc3fa5e7e27">unlock</a>)(<a class="el" href="structcc__context__d.html">cc_context_t</a> in_cc_context) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#g544261b88c9ac0f2379a35648cae3f27">cc_context_unlock()</a></b>: Unlock the cache collection.
+<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_context</em>&nbsp;</td><td>the context object for the cache collection. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>. On failure, an error code representing the failure. </dd></dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="bb728ccd97eb387991feed0500475112"></a><!-- doxytag: member="cc_context_f::compare" ref="bb728ccd97eb387991feed0500475112" args=")(cc_context_t in_cc_context, cc_context_t in_compare_to_context, cc_uint32 *out_equal)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__context__f.html#bb728ccd97eb387991feed0500475112">compare</a>)(<a class="el" href="structcc__context__d.html">cc_context_t</a> in_cc_context, <a class="el" href="structcc__context__d.html">cc_context_t</a> in_compare_to_context, <a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> *out_equal) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#g9258ef05d06f3d4dc798ec654f78b967">cc_context_compare()</a></b>: Compare two context objects.
+<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_context</em>&nbsp;</td><td>a context object. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>in_compare_to_context</em>&nbsp;</td><td>a context object to compare with <em>in_context</em>. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>out_equal</em>&nbsp;</td><td>on exit, whether or not the two contexts refer to the same cache collection. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>. On failure, an error code representing the failure. </dd></dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="39a27ecd6d29fb7288f983c42d5686d0"></a><!-- doxytag: member="cc_context_f::wait_for_change" ref="39a27ecd6d29fb7288f983c42d5686d0" args=")(cc_context_t in_cc_context)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__context__f.html#39a27ecd6d29fb7288f983c42d5686d0">wait_for_change</a>)(<a class="el" href="structcc__context__d.html">cc_context_t</a> in_cc_context) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#g9eb3508958528c00844a101275497e5a">cc_context_wait_for_change()</a></b>: Wait for the next change in the cache collection.
+<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_context</em>&nbsp;</td><td>a context object. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>. On failure, an error code representing the failure.</dd></dl>
+This function blocks until the next change is made to the cache collection ccache collection. By repeatedly calling <a class="el" href="group__helper__macros.html#g9eb3508958528c00844a101275497e5a">cc_context_wait_for_change()</a> from a worker thread the caller can effectively receive callbacks whenever the cache collection changes. This is considerably more efficient than polling with <a class="el" href="group__helper__macros.html#g82f551af17455b78fa3a2e3f83c96907">cc_context_get_change_time()</a>.<p>
+<a class="el" href="group__helper__macros.html#g9eb3508958528c00844a101275497e5a">cc_context_wait_for_change()</a> will return whenever:<p>
+<ul>
+<li>a ccache is created </li>
+<li>a ccache is destroyed </li>
+<li>a credential is stored </li>
+<li>a credential is removed </li>
+<li>a ccache principal is changed </li>
+<li>the default ccache is changed</li>
+</ul>
+<dl compact><dt><b>Note:</b></dt><dd>In order to make sure that the caller doesn't miss any changes, <a class="el" href="group__helper__macros.html#g9eb3508958528c00844a101275497e5a">cc_context_wait_for_change()</a> always returns immediately after the first time it is called on a new context object. Callers must use the same context object for successive calls to <a class="el" href="group__helper__macros.html#g9eb3508958528c00844a101275497e5a">cc_context_wait_for_change()</a> rather than creating a new context for every call.</dd></dl>
+<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structcc__context__f.html#51bd5a48dcd263bfb3128cc5838b4cd7">get_change_time</a> </dd></dl>
+ </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Oct 2 17:16:05 2007 for Credentials Cache API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
+</body>
+</html>
diff --git a/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__credentials__d.html b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__credentials__d.html
new file mode 100644
index 000000000..8a13251e5
--- /dev/null
+++ b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__credentials__d.html
@@ -0,0 +1,67 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Credentials Cache API : cc_credentials_d Struct Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.4.6 -->
+<h1>cc_credentials_d Struct Reference<br>
+<small>
+[<a class="el" href="group__cc__credentials__reference.html">cc_credentials_t Overview</a>]</small>
+</h1><!-- doxytag: class="cc_credentials_d" --><h2>Data Fields</h2>
+<ul>
+<li>const <a class="el" href="structcc__credentials__union.html">cc_credentials_union</a> * <a class="el" href="structcc__credentials__d.html#35a5997194639f90a5178c5526ea1bf3">data</a>
+<li>const <a class="el" href="structcc__credentials__f.html">cc_credentials_f</a> * <a class="el" href="structcc__credentials__d.html#f94340ad2254e9ae5bc24e184f2ea923">functions</a>
+</ul>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="35a5997194639f90a5178c5526ea1bf3"></a><!-- doxytag: member="cc_credentials_d::data" ref="35a5997194639f90a5178c5526ea1bf3" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">const <a class="el" href="structcc__credentials__union.html">cc_credentials_union</a>* <a class="el" href="structcc__credentials__d.html#35a5997194639f90a5178c5526ea1bf3">data</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="f94340ad2254e9ae5bc24e184f2ea923"></a><!-- doxytag: member="cc_credentials_d::functions" ref="f94340ad2254e9ae5bc24e184f2ea923" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">const <a class="el" href="structcc__credentials__f.html">cc_credentials_f</a>* <a class="el" href="structcc__credentials__d.html#f94340ad2254e9ae5bc24e184f2ea923">functions</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Oct 2 17:16:06 2007 for Credentials Cache API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
+</body>
+</html>
diff --git a/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__credentials__f.html b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__credentials__f.html
new file mode 100644
index 000000000..91f4b3adb
--- /dev/null
+++ b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__credentials__f.html
@@ -0,0 +1,85 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Credentials Cache API : cc_credentials_f Struct Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.4.6 -->
+<h1>cc_credentials_f Struct Reference</h1><!-- doxytag: class="cc_credentials_f" --><hr><a name="_details"></a><h2>Detailed Description</h2>
+Function pointer table for cc_credentials_t. For more information see <a class="el" href="group__cc__credentials__reference.html">cc_credentials_t Overview</a>.
+<p>
+<h2>Data Fields</h2>
+<ul>
+<li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__credentials__f.html#6cc7338e31fd5f2436fb15b23506f57d">release</a> )(<a class="el" href="structcc__credentials__d.html">cc_credentials_t</a> io_credentials)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#gab5cad8ca82847950956b0f493132c14">cc_credentials_release()</a></b>: Release memory associated with a cc_credentials_t object. <a href="#6cc7338e31fd5f2436fb15b23506f57d"></a><br></dl><li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__credentials__f.html#8511e9a8220b2003a1c66b314ca6bc9f">compare</a> )(<a class="el" href="structcc__credentials__d.html">cc_credentials_t</a> in_credentials, <a class="el" href="structcc__credentials__d.html">cc_credentials_t</a> in_compare_to_credentials, <a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> *out_equal)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#g39ae30e49dba65b87c6b9794f20fb784">cc_credentials_compare()</a></b>: Compare two credentials objects. <a href="#8511e9a8220b2003a1c66b314ca6bc9f"></a><br></dl></ul>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="6cc7338e31fd5f2436fb15b23506f57d"></a><!-- doxytag: member="cc_credentials_f::release" ref="6cc7338e31fd5f2436fb15b23506f57d" args=")(cc_credentials_t io_credentials)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__credentials__f.html#6cc7338e31fd5f2436fb15b23506f57d">release</a>)(<a class="el" href="structcc__credentials__d.html">cc_credentials_t</a> io_credentials) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#gab5cad8ca82847950956b0f493132c14">cc_credentials_release()</a></b>: Release memory associated with a cc_credentials_t 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>io_credentials</em>&nbsp;</td><td>the credentials object to release. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>. On failure, an error code representing the failure. </dd></dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="8511e9a8220b2003a1c66b314ca6bc9f"></a><!-- doxytag: member="cc_credentials_f::compare" ref="8511e9a8220b2003a1c66b314ca6bc9f" args=")(cc_credentials_t in_credentials, cc_credentials_t in_compare_to_credentials, cc_uint32 *out_equal)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__credentials__f.html#8511e9a8220b2003a1c66b314ca6bc9f">compare</a>)(<a class="el" href="structcc__credentials__d.html">cc_credentials_t</a> in_credentials, <a class="el" href="structcc__credentials__d.html">cc_credentials_t</a> in_compare_to_credentials, <a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> *out_equal) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#g39ae30e49dba65b87c6b9794f20fb784">cc_credentials_compare()</a></b>: Compare two credentials objects.
+<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_credentials</em>&nbsp;</td><td>a credentials object. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>in_compare_to_credentials</em>&nbsp;</td><td>a credentials object to compare with <em>in_credentials</em>. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>out_equal</em>&nbsp;</td><td>on exit, whether or not the two credentials objects refer to the same credentials in the cache collection. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>. On failure, an error code representing the failure. </dd></dl>
+ </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Oct 2 17:16:06 2007 for Credentials Cache API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
+</body>
+</html>
diff --git a/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__credentials__iterator__d.html b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__credentials__iterator__d.html
new file mode 100644
index 000000000..5682db0ed
--- /dev/null
+++ b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__credentials__iterator__d.html
@@ -0,0 +1,43 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Credentials Cache API : cc_credentials_iterator_d Struct Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.4.6 -->
+<h1>cc_credentials_iterator_d Struct Reference<br>
+<small>
+[<a class="el" href="group__cc__credentials__iterator__reference.html">cc_credentials_iterator_t</a>]</small>
+</h1><!-- doxytag: class="cc_credentials_iterator_d" --><h2>Data Fields</h2>
+<ul>
+<li>const <a class="el" href="structcc__credentials__iterator__f.html">cc_credentials_iterator_f</a> * <a class="el" href="structcc__credentials__iterator__d.html#4533a2f8b94b150439d777f749cedc12">functions</a>
+</ul>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="4533a2f8b94b150439d777f749cedc12"></a><!-- doxytag: member="cc_credentials_iterator_d::functions" ref="4533a2f8b94b150439d777f749cedc12" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">const <a class="el" href="structcc__credentials__iterator__f.html">cc_credentials_iterator_f</a>* <a class="el" href="structcc__credentials__iterator__d.html#4533a2f8b94b150439d777f749cedc12">functions</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Oct 2 17:16:06 2007 for Credentials Cache API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
+</body>
+</html>
diff --git a/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__credentials__iterator__f.html b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__credentials__iterator__f.html
new file mode 100644
index 000000000..66aec178a
--- /dev/null
+++ b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__credentials__iterator__f.html
@@ -0,0 +1,85 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Credentials Cache API : cc_credentials_iterator_f Struct Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.4.6 -->
+<h1>cc_credentials_iterator_f Struct Reference</h1><!-- doxytag: class="cc_credentials_iterator_f" --><hr><a name="_details"></a><h2>Detailed Description</h2>
+Function pointer table for cc_credentials_iterator_t. For more information see <a class="el" href="group__cc__credentials__iterator__reference.html">cc_credentials_iterator_t</a>.
+<p>
+<h2>Data Fields</h2>
+<ul>
+<li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__credentials__iterator__f.html#16c385de50a458e4223af5680488c95c">release</a> )(<a class="el" href="structcc__credentials__iterator__d.html">cc_credentials_iterator_t</a> io_credentials_iterator)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#g79f914583e8076ac24c0d5dde4ddb712">cc_credentials_iterator_release()</a></b>: Release memory associated with a cc_credentials_iterator_t object. <a href="#16c385de50a458e4223af5680488c95c"></a><br></dl><li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__credentials__iterator__f.html#8ba419513434ba0b03a1be0c17da1478">next</a> )(<a class="el" href="structcc__credentials__iterator__d.html">cc_credentials_iterator_t</a> in_credentials_iterator, <a class="el" href="structcc__credentials__d.html">cc_credentials_t</a> *out_credentials)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#g0c2f41d90f478b2415b699085f8fcaa4">cc_credentials_iterator_next()</a></b>: Get the next credentials in the ccache. <a href="#8ba419513434ba0b03a1be0c17da1478"></a><br></dl><li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="group__cc__credentials__iterator__reference.html#g7d765e583b5994785e214df663e8959c">clone</a> )(<a class="el" href="structcc__credentials__iterator__d.html">cc_credentials_iterator_t</a> in_credentials_iterator, <a class="el" href="structcc__credentials__iterator__d.html">cc_credentials_iterator_t</a> *out_credentials_iterator)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#g59a9f96a6c00b64c0ab971f7e9b5aae2">cc_credentials_iterator_clone()</a></b>: Make a copy of a credentials iterator. <a href="group__cc__credentials__iterator__reference.html#g7d765e583b5994785e214df663e8959c"></a><br></dl></ul>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="16c385de50a458e4223af5680488c95c"></a><!-- doxytag: member="cc_credentials_iterator_f::release" ref="16c385de50a458e4223af5680488c95c" args=")(cc_credentials_iterator_t io_credentials_iterator)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__credentials__iterator__f.html#16c385de50a458e4223af5680488c95c">release</a>)(<a class="el" href="structcc__credentials__iterator__d.html">cc_credentials_iterator_t</a> io_credentials_iterator) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#g79f914583e8076ac24c0d5dde4ddb712">cc_credentials_iterator_release()</a></b>: Release memory associated with a cc_credentials_iterator_t 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>io_credentials_iterator</em>&nbsp;</td><td>the credentials iterator object to release. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>. On failure, an error code representing the failure. </dd></dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="8ba419513434ba0b03a1be0c17da1478"></a><!-- doxytag: member="cc_credentials_iterator_f::next" ref="8ba419513434ba0b03a1be0c17da1478" args=")(cc_credentials_iterator_t in_credentials_iterator, cc_credentials_t *out_credentials)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__credentials__iterator__f.html#8ba419513434ba0b03a1be0c17da1478">next</a>)(<a class="el" href="structcc__credentials__iterator__d.html">cc_credentials_iterator_t</a> in_credentials_iterator, <a class="el" href="structcc__credentials__d.html">cc_credentials_t</a> *out_credentials) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#g0c2f41d90f478b2415b699085f8fcaa4">cc_credentials_iterator_next()</a></b>: Get the next credentials in the ccache.
+<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_credentials_iterator</em>&nbsp;</td><td>a credentials iterator object. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>out_credentials</em>&nbsp;</td><td>on exit, the next credentials in the ccache. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a> if the next credential in the ccache was obtained or <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b748d5a55ed773e002ccc271beb4512c0a">ccIteratorEnd</a> if there are no more credentials. On failure, an error code representing the failure. </dd></dl>
+ </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Oct 2 17:16:06 2007 for Credentials Cache API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
+</body>
+</html>
diff --git a/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__credentials__union.html b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__credentials__union.html
new file mode 100644
index 000000000..6082346cc
--- /dev/null
+++ b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__credentials__union.html
@@ -0,0 +1,118 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Credentials Cache API : cc_credentials_union Struct Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.4.6 -->
+<h1>cc_credentials_union Struct Reference<br>
+<small>
+[<a class="el" href="group__cc__credentials__reference.html">cc_credentials_t Overview</a>]</small>
+</h1><!-- doxytag: class="cc_credentials_union" --><h2>Data Fields</h2>
+<ul>
+<li><a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> <a class="el" href="structcc__credentials__union.html#2d41fe5eaeafcfae38d60dae26985ac2">version</a>
+<li>union {
+<ul>
+<li>&nbsp;&nbsp;&nbsp;<a class="el" href="structcc__credentials__v4__t.html">cc_credentials_v4_t</a> * &nbsp;&nbsp;&nbsp;<a class="el" href="structcc__credentials__union.html#5cd1c69704fe9706f69fdde1d954bba5">credentials_v4</a>
+<li>&nbsp;&nbsp;&nbsp;<a class="el" href="structcc__credentials__v5__t.html">cc_credentials_v5_t</a> * &nbsp;&nbsp;&nbsp;<a class="el" href="structcc__credentials__union.html#9d28c534b1b7c41da162f26620e92ded">credentials_v5</a>
+</ul>
+<li>} <a class="el" href="structcc__credentials__union.html#9e7108eff62e2df10a768cec653fe9c3">credentials</a>
+</ul>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="2d41fe5eaeafcfae38d60dae26985ac2"></a><!-- doxytag: member="cc_credentials_union::version" ref="2d41fe5eaeafcfae38d60dae26985ac2" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> <a class="el" href="structcc__credentials__union.html#2d41fe5eaeafcfae38d60dae26985ac2">version</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The credentials version of this credentials object. </td>
+ </tr>
+</table>
+<a class="anchor" name="5cd1c69704fe9706f69fdde1d954bba5"></a><!-- doxytag: member="cc_credentials_union::credentials_v4" ref="5cd1c69704fe9706f69fdde1d954bba5" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="structcc__credentials__v4__t.html">cc_credentials_v4_t</a>* <a class="el" href="structcc__credentials__union.html#5cd1c69704fe9706f69fdde1d954bba5">credentials_v4</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+If <em>version</em> is <a class="el" href="group__ccapi__constants__reference.html#ggae76da96fff95c157c3b28c4455dc35c017c26531bad42f92f7f3e1f697b58fa">cc_credentials_v4</a>, a pointer to a <a class="el" href="structcc__credentials__v4__t.html">cc_credentials_v4_t</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="9d28c534b1b7c41da162f26620e92ded"></a><!-- doxytag: member="cc_credentials_union::credentials_v5" ref="9d28c534b1b7c41da162f26620e92ded" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="structcc__credentials__v5__t.html">cc_credentials_v5_t</a>* <a class="el" href="structcc__credentials__union.html#9d28c534b1b7c41da162f26620e92ded">credentials_v5</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+If <em>version</em> is <a class="el" href="group__ccapi__constants__reference.html#ggae76da96fff95c157c3b28c4455dc35c98335a31ad81a10632568375dcc10668">cc_credentials_v5</a>, a pointer to a <a class="el" href="structcc__credentials__v5__t.html">cc_credentials_v5_t</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="9e7108eff62e2df10a768cec653fe9c3"></a><!-- doxytag: member="cc_credentials_union::credentials" ref="9e7108eff62e2df10a768cec653fe9c3" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">union { ... } <a class="el" href="structcc__credentials__union.html#9e7108eff62e2df10a768cec653fe9c3">credentials</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The credentials. </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Oct 2 17:16:06 2007 for Credentials Cache API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
+</body>
+</html>
diff --git a/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__credentials__v4__t.html b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__credentials__v4__t.html
new file mode 100644
index 000000000..086e7fea7
--- /dev/null
+++ b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__credentials__v4__t.html
@@ -0,0 +1,358 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Credentials Cache API : cc_credentials_v4_t Struct Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.4.6 -->
+<h1>cc_credentials_v4_t Struct Reference<br>
+<small>
+[<a class="el" href="group__cc__credentials__reference.html">cc_credentials_t Overview</a>]</small>
+</h1><!-- doxytag: class="cc_credentials_v4_t" --><hr><a name="_details"></a><h2>Detailed Description</h2>
+If a cc_credentials_t variable is used to store Kerberos v4 credentials, then credentials.credentials_v4 points to a v4 credentials structure. This structure is similar to a krb4 API CREDENTIALS structure.
+<p>
+<h2>Data Fields</h2>
+<ul>
+<li><a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> <a class="el" href="structcc__credentials__v4__t.html#2d41fe5eaeafcfae38d60dae26985ac2">version</a>
+<li>char <a class="el" href="structcc__credentials__v4__t.html#9f819063dece13be2211723c071cc05a">principal</a> [cc_v4_name_size]
+<li>char <a class="el" href="structcc__credentials__v4__t.html#76949f2eaa30043f779dd32a617b36b2">principal_instance</a> [cc_v4_instance_size]
+<li>char <a class="el" href="structcc__credentials__v4__t.html#2034c72f7997740d1bd0526fde941f36">service</a> [cc_v4_name_size]
+<li>char <a class="el" href="structcc__credentials__v4__t.html#188bf95cfe0ec75c60e5df82a65ce4f1">service_instance</a> [cc_v4_instance_size]
+<li>char <a class="el" href="structcc__credentials__v4__t.html#1965bd82f992c9448d2600d241c11143">realm</a> [cc_v4_realm_size]
+<li>unsigned char <a class="el" href="structcc__credentials__v4__t.html#5833b04b0672722de1dc40148eac67ca">session_key</a> [cc_v4_key_size]
+<li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a> <a class="el" href="structcc__credentials__v4__t.html#cee6149add6477c273b3318d6497ca0b">kvno</a>
+<li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a> <a class="el" href="structcc__credentials__v4__t.html#dbfece338488ae1e84f642e1675a2248">string_to_key_type</a>
+<li><a class="el" href="group__ccapi__types__reference.html#ge7a754cfe5664beadddaa100646c9742">cc_time_t</a> <a class="el" href="structcc__credentials__v4__t.html#02d649915754b7903b7a60ef9fb9f036">issue_date</a>
+<li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a> <a class="el" href="structcc__credentials__v4__t.html#a546cc61e206f01e8657cc4d22e9e4cd">lifetime</a>
+<li><a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> <a class="el" href="structcc__credentials__v4__t.html#99252d53c89be046c8ce4d12e8bb2fe4">address</a>
+<li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a> <a class="el" href="structcc__credentials__v4__t.html#fbf8c355fc354f976f66db1e51034d9e">ticket_size</a>
+<li>unsigned char <a class="el" href="structcc__credentials__v4__t.html#c4f3ef871699e35563771cfe9889c8e5">ticket</a> [cc_v4_ticket_size]
+</ul>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="2d41fe5eaeafcfae38d60dae26985ac2"></a><!-- doxytag: member="cc_credentials_v4_t::version" ref="2d41fe5eaeafcfae38d60dae26985ac2" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> <a class="el" href="structcc__credentials__v4__t.html#2d41fe5eaeafcfae38d60dae26985ac2">version</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="9f819063dece13be2211723c071cc05a"></a><!-- doxytag: member="cc_credentials_v4_t::principal" ref="9f819063dece13be2211723c071cc05a" args="[cc_v4_name_size]" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">char <a class="el" href="structcc__credentials__v4__t.html#9f819063dece13be2211723c071cc05a">principal</a>[cc_v4_name_size] </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A properly quoted string representation of the first component of the client principal </td>
+ </tr>
+</table>
+<a class="anchor" name="76949f2eaa30043f779dd32a617b36b2"></a><!-- doxytag: member="cc_credentials_v4_t::principal_instance" ref="76949f2eaa30043f779dd32a617b36b2" args="[cc_v4_instance_size]" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">char <a class="el" href="structcc__credentials__v4__t.html#76949f2eaa30043f779dd32a617b36b2">principal_instance</a>[cc_v4_instance_size] </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A properly quoted string representation of the second component of the client principal </td>
+ </tr>
+</table>
+<a class="anchor" name="2034c72f7997740d1bd0526fde941f36"></a><!-- doxytag: member="cc_credentials_v4_t::service" ref="2034c72f7997740d1bd0526fde941f36" args="[cc_v4_name_size]" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">char <a class="el" href="structcc__credentials__v4__t.html#2034c72f7997740d1bd0526fde941f36">service</a>[cc_v4_name_size] </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A properly quoted string representation of the first component of the service principal </td>
+ </tr>
+</table>
+<a class="anchor" name="188bf95cfe0ec75c60e5df82a65ce4f1"></a><!-- doxytag: member="cc_credentials_v4_t::service_instance" ref="188bf95cfe0ec75c60e5df82a65ce4f1" args="[cc_v4_instance_size]" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">char <a class="el" href="structcc__credentials__v4__t.html#188bf95cfe0ec75c60e5df82a65ce4f1">service_instance</a>[cc_v4_instance_size] </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A properly quoted string representation of the second component of the service principal </td>
+ </tr>
+</table>
+<a class="anchor" name="1965bd82f992c9448d2600d241c11143"></a><!-- doxytag: member="cc_credentials_v4_t::realm" ref="1965bd82f992c9448d2600d241c11143" args="[cc_v4_realm_size]" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">char <a class="el" href="structcc__credentials__v4__t.html#1965bd82f992c9448d2600d241c11143">realm</a>[cc_v4_realm_size] </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A properly quoted string representation of the realm </td>
+ </tr>
+</table>
+<a class="anchor" name="5833b04b0672722de1dc40148eac67ca"></a><!-- doxytag: member="cc_credentials_v4_t::session_key" ref="5833b04b0672722de1dc40148eac67ca" args="[cc_v4_key_size]" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">unsigned char <a class="el" href="structcc__credentials__v4__t.html#5833b04b0672722de1dc40148eac67ca">session_key</a>[cc_v4_key_size] </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Ticket session key </td>
+ </tr>
+</table>
+<a class="anchor" name="cee6149add6477c273b3318d6497ca0b"></a><!-- doxytag: member="cc_credentials_v4_t::kvno" ref="cee6149add6477c273b3318d6497ca0b" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a> <a class="el" href="structcc__credentials__v4__t.html#cee6149add6477c273b3318d6497ca0b">kvno</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Key version number </td>
+ </tr>
+</table>
+<a class="anchor" name="dbfece338488ae1e84f642e1675a2248"></a><!-- doxytag: member="cc_credentials_v4_t::string_to_key_type" ref="dbfece338488ae1e84f642e1675a2248" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a> <a class="el" href="structcc__credentials__v4__t.html#dbfece338488ae1e84f642e1675a2248">string_to_key_type</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+String to key type used. See cc_string_to_key_type for valid values </td>
+ </tr>
+</table>
+<a class="anchor" name="02d649915754b7903b7a60ef9fb9f036"></a><!-- doxytag: member="cc_credentials_v4_t::issue_date" ref="02d649915754b7903b7a60ef9fb9f036" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#ge7a754cfe5664beadddaa100646c9742">cc_time_t</a> <a class="el" href="structcc__credentials__v4__t.html#02d649915754b7903b7a60ef9fb9f036">issue_date</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Time when the ticket was issued </td>
+ </tr>
+</table>
+<a class="anchor" name="a546cc61e206f01e8657cc4d22e9e4cd"></a><!-- doxytag: member="cc_credentials_v4_t::lifetime" ref="a546cc61e206f01e8657cc4d22e9e4cd" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a> <a class="el" href="structcc__credentials__v4__t.html#a546cc61e206f01e8657cc4d22e9e4cd">lifetime</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Ticket lifetime in 5 minute units </td>
+ </tr>
+</table>
+<a class="anchor" name="99252d53c89be046c8ce4d12e8bb2fe4"></a><!-- doxytag: member="cc_credentials_v4_t::address" ref="99252d53c89be046c8ce4d12e8bb2fe4" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> <a class="el" href="structcc__credentials__v4__t.html#99252d53c89be046c8ce4d12e8bb2fe4">address</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+IPv4 address of the client the ticket was issued for </td>
+ </tr>
+</table>
+<a class="anchor" name="fbf8c355fc354f976f66db1e51034d9e"></a><!-- doxytag: member="cc_credentials_v4_t::ticket_size" ref="fbf8c355fc354f976f66db1e51034d9e" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a> <a class="el" href="structcc__credentials__v4__t.html#fbf8c355fc354f976f66db1e51034d9e">ticket_size</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Ticket size (no greater than cc_v4_ticket_size) </td>
+ </tr>
+</table>
+<a class="anchor" name="c4f3ef871699e35563771cfe9889c8e5"></a><!-- doxytag: member="cc_credentials_v4_t::ticket" ref="c4f3ef871699e35563771cfe9889c8e5" args="[cc_v4_ticket_size]" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">unsigned char <a class="el" href="structcc__credentials__v4__t.html#c4f3ef871699e35563771cfe9889c8e5">ticket</a>[cc_v4_ticket_size] </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Ticket data </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Oct 2 17:16:06 2007 for Credentials Cache API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
+</body>
+</html>
diff --git a/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__credentials__v5__t.html b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__credentials__v5__t.html
new file mode 100644
index 000000000..ad0996281
--- /dev/null
+++ b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__credentials__v5__t.html
@@ -0,0 +1,334 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Credentials Cache API : cc_credentials_v5_t Struct Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.4.6 -->
+<h1>cc_credentials_v5_t Struct Reference<br>
+<small>
+[<a class="el" href="group__cc__credentials__reference.html">cc_credentials_t Overview</a>]</small>
+</h1><!-- doxytag: class="cc_credentials_v5_t" --><hr><a name="_details"></a><h2>Detailed Description</h2>
+If a cc_credentials_t variable is used to store Kerberos v5 c redentials, and then credentials.credentials_v5 points to a v5 credentials structure. This structure is similar to a krb5_creds structure.
+<p>
+<h2>Data Fields</h2>
+<ul>
+<li>char * <a class="el" href="structcc__credentials__v5__t.html#9a07d92f0eb56a4db24f14d21be5923b">client</a>
+<li>char * <a class="el" href="structcc__credentials__v5__t.html#ffeefede74d4b54c220f6a43dd2beabd">server</a>
+<li><a class="el" href="structcc__data.html">cc_data</a> <a class="el" href="structcc__credentials__v5__t.html#c02ecbe79ca87f90c4f6771c330b9057">keyblock</a>
+<li><a class="el" href="group__ccapi__types__reference.html#ge7a754cfe5664beadddaa100646c9742">cc_time_t</a> <a class="el" href="structcc__credentials__v5__t.html#43f17e3cff872e49a0d2b88deccb5c97">authtime</a>
+<li><a class="el" href="group__ccapi__types__reference.html#ge7a754cfe5664beadddaa100646c9742">cc_time_t</a> <a class="el" href="structcc__credentials__v5__t.html#709d64dcb56e208a02f9dbd59ef703d7">starttime</a>
+<li><a class="el" href="group__ccapi__types__reference.html#ge7a754cfe5664beadddaa100646c9742">cc_time_t</a> <a class="el" href="structcc__credentials__v5__t.html#0ebf7b3d5d28b0e9000c435af3ee9d59">endtime</a>
+<li><a class="el" href="group__ccapi__types__reference.html#ge7a754cfe5664beadddaa100646c9742">cc_time_t</a> <a class="el" href="structcc__credentials__v5__t.html#1c710d76f8e94dc2c51e68bab258f15a">renew_till</a>
+<li><a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> <a class="el" href="structcc__credentials__v5__t.html#7fb325cd1ddca84f9033cd2f5122e1d3">is_skey</a>
+<li><a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> <a class="el" href="structcc__credentials__v5__t.html#c8380b3eee0768bc6c1fe8c719b72f04">ticket_flags</a>
+<li><a class="el" href="structcc__data.html">cc_data</a> ** <a class="el" href="structcc__credentials__v5__t.html#80f824d334544ae2bd33c69eda1c9a09">addresses</a>
+<li><a class="el" href="structcc__data.html">cc_data</a> <a class="el" href="structcc__credentials__v5__t.html#6cf74018168214de0ea09704d9436c03">ticket</a>
+<li><a class="el" href="structcc__data.html">cc_data</a> <a class="el" href="structcc__credentials__v5__t.html#bb02ec4ece756277bceaa85626f2bc34">second_ticket</a>
+<li><a class="el" href="structcc__data.html">cc_data</a> ** <a class="el" href="structcc__credentials__v5__t.html#0a8d97c740085a737b6aaec587f7fa9e">authdata</a>
+</ul>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="9a07d92f0eb56a4db24f14d21be5923b"></a><!-- doxytag: member="cc_credentials_v5_t::client" ref="9a07d92f0eb56a4db24f14d21be5923b" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">char* <a class="el" href="structcc__credentials__v5__t.html#9a07d92f0eb56a4db24f14d21be5923b">client</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A properly quoted string representation of the client principal. </td>
+ </tr>
+</table>
+<a class="anchor" name="ffeefede74d4b54c220f6a43dd2beabd"></a><!-- doxytag: member="cc_credentials_v5_t::server" ref="ffeefede74d4b54c220f6a43dd2beabd" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">char* <a class="el" href="structcc__credentials__v5__t.html#ffeefede74d4b54c220f6a43dd2beabd">server</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A properly quoted string representation of the service principal. </td>
+ </tr>
+</table>
+<a class="anchor" name="c02ecbe79ca87f90c4f6771c330b9057"></a><!-- doxytag: member="cc_credentials_v5_t::keyblock" ref="c02ecbe79ca87f90c4f6771c330b9057" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="structcc__data.html">cc_data</a> <a class="el" href="structcc__credentials__v5__t.html#c02ecbe79ca87f90c4f6771c330b9057">keyblock</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Session encryption key info. </td>
+ </tr>
+</table>
+<a class="anchor" name="43f17e3cff872e49a0d2b88deccb5c97"></a><!-- doxytag: member="cc_credentials_v5_t::authtime" ref="43f17e3cff872e49a0d2b88deccb5c97" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#ge7a754cfe5664beadddaa100646c9742">cc_time_t</a> <a class="el" href="structcc__credentials__v5__t.html#43f17e3cff872e49a0d2b88deccb5c97">authtime</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The time when the ticket was issued. </td>
+ </tr>
+</table>
+<a class="anchor" name="709d64dcb56e208a02f9dbd59ef703d7"></a><!-- doxytag: member="cc_credentials_v5_t::starttime" ref="709d64dcb56e208a02f9dbd59ef703d7" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#ge7a754cfe5664beadddaa100646c9742">cc_time_t</a> <a class="el" href="structcc__credentials__v5__t.html#709d64dcb56e208a02f9dbd59ef703d7">starttime</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The time when the ticket becomes valid. </td>
+ </tr>
+</table>
+<a class="anchor" name="0ebf7b3d5d28b0e9000c435af3ee9d59"></a><!-- doxytag: member="cc_credentials_v5_t::endtime" ref="0ebf7b3d5d28b0e9000c435af3ee9d59" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#ge7a754cfe5664beadddaa100646c9742">cc_time_t</a> <a class="el" href="structcc__credentials__v5__t.html#0ebf7b3d5d28b0e9000c435af3ee9d59">endtime</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The time when the ticket expires. </td>
+ </tr>
+</table>
+<a class="anchor" name="1c710d76f8e94dc2c51e68bab258f15a"></a><!-- doxytag: member="cc_credentials_v5_t::renew_till" ref="1c710d76f8e94dc2c51e68bab258f15a" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#ge7a754cfe5664beadddaa100646c9742">cc_time_t</a> <a class="el" href="structcc__credentials__v5__t.html#1c710d76f8e94dc2c51e68bab258f15a">renew_till</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The time when the ticket becomes no longer renewable (if renewable). </td>
+ </tr>
+</table>
+<a class="anchor" name="7fb325cd1ddca84f9033cd2f5122e1d3"></a><!-- doxytag: member="cc_credentials_v5_t::is_skey" ref="7fb325cd1ddca84f9033cd2f5122e1d3" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> <a class="el" href="structcc__credentials__v5__t.html#7fb325cd1ddca84f9033cd2f5122e1d3">is_skey</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+1 if the ticket is encrypted in another ticket's key, or 0 otherwise. </td>
+ </tr>
+</table>
+<a class="anchor" name="c8380b3eee0768bc6c1fe8c719b72f04"></a><!-- doxytag: member="cc_credentials_v5_t::ticket_flags" ref="c8380b3eee0768bc6c1fe8c719b72f04" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> <a class="el" href="structcc__credentials__v5__t.html#c8380b3eee0768bc6c1fe8c719b72f04">ticket_flags</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Ticket flags, as defined by the Kerberos 5 API. </td>
+ </tr>
+</table>
+<a class="anchor" name="80f824d334544ae2bd33c69eda1c9a09"></a><!-- doxytag: member="cc_credentials_v5_t::addresses" ref="80f824d334544ae2bd33c69eda1c9a09" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="structcc__data.html">cc_data</a>** <a class="el" href="structcc__credentials__v5__t.html#80f824d334544ae2bd33c69eda1c9a09">addresses</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The the list of network addresses of hosts that are allowed to authenticate using this ticket. </td>
+ </tr>
+</table>
+<a class="anchor" name="6cf74018168214de0ea09704d9436c03"></a><!-- doxytag: member="cc_credentials_v5_t::ticket" ref="6cf74018168214de0ea09704d9436c03" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="structcc__data.html">cc_data</a> <a class="el" href="structcc__credentials__v5__t.html#6cf74018168214de0ea09704d9436c03">ticket</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Ticket data. </td>
+ </tr>
+</table>
+<a class="anchor" name="bb02ec4ece756277bceaa85626f2bc34"></a><!-- doxytag: member="cc_credentials_v5_t::second_ticket" ref="bb02ec4ece756277bceaa85626f2bc34" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="structcc__data.html">cc_data</a> <a class="el" href="structcc__credentials__v5__t.html#bb02ec4ece756277bceaa85626f2bc34">second_ticket</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Second ticket data. </td>
+ </tr>
+</table>
+<a class="anchor" name="0a8d97c740085a737b6aaec587f7fa9e"></a><!-- doxytag: member="cc_credentials_v5_t::authdata" ref="0a8d97c740085a737b6aaec587f7fa9e" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="structcc__data.html">cc_data</a>** <a class="el" href="structcc__credentials__v5__t.html#0a8d97c740085a737b6aaec587f7fa9e">authdata</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Authorization data. </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Oct 2 17:16:06 2007 for Credentials Cache API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
+</body>
+</html>
diff --git a/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__data.html b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__data.html
new file mode 100644
index 000000000..346f6a41d
--- /dev/null
+++ b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__data.html
@@ -0,0 +1,94 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Credentials Cache API : cc_data Struct Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.4.6 -->
+<h1>cc_data Struct Reference<br>
+<small>
+[<a class="el" href="group__cc__credentials__reference.html">cc_credentials_t Overview</a>]</small>
+</h1><!-- doxytag: class="cc_data" --><hr><a name="_details"></a><h2>Detailed Description</h2>
+The CCAPI data structure. This structure is similar to a krb5_data structure. In a v5 credentials structure, <a class="el" href="structcc__data.html">cc_data</a> structures are used to store tagged variable-length binary data. Specifically, for cc_credentials_v5.ticket and cc_credentials_v5.second_ticket, the <a class="el" href="structcc__data.html#1cfc8b2545d7999b7a760b47bfbbf6e7">cc_data.type</a> field must be zero. For the cc_credentials_v5.addresses, cc_credentials_v5.authdata, and cc_credentials_v5.keyblock, the <a class="el" href="structcc__data.html#1cfc8b2545d7999b7a760b47bfbbf6e7">cc_data.type</a> field should be the address type, authorization data type, and encryption type, as defined by the Kerberos v5 protocol definition.
+<p>
+<h2>Data Fields</h2>
+<ul>
+<li><a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> <a class="el" href="structcc__data.html#1cfc8b2545d7999b7a760b47bfbbf6e7">type</a>
+<li><a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> <a class="el" href="structcc__data.html#61dffab9209fdc97d53c4cb31f746aa5">length</a>
+<li>void * <a class="el" href="structcc__data.html#735984d41155bc1032e09bece8f8d66d">data</a>
+</ul>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="1cfc8b2545d7999b7a760b47bfbbf6e7"></a><!-- doxytag: member="cc_data::type" ref="1cfc8b2545d7999b7a760b47bfbbf6e7" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> <a class="el" href="structcc__data.html#1cfc8b2545d7999b7a760b47bfbbf6e7">type</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The type of the data as defined by the krb5_data structure. </td>
+ </tr>
+</table>
+<a class="anchor" name="61dffab9209fdc97d53c4cb31f746aa5"></a><!-- doxytag: member="cc_data::length" ref="61dffab9209fdc97d53c4cb31f746aa5" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#ga00783c3f4aa70580d0900b1a79aab9d">cc_uint32</a> <a class="el" href="structcc__data.html#61dffab9209fdc97d53c4cb31f746aa5">length</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The length of <em>data</em>. </td>
+ </tr>
+</table>
+<a class="anchor" name="735984d41155bc1032e09bece8f8d66d"></a><!-- doxytag: member="cc_data::data" ref="735984d41155bc1032e09bece8f8d66d" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">void* <a class="el" href="structcc__data.html#735984d41155bc1032e09bece8f8d66d">data</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The data buffer. </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Oct 2 17:16:06 2007 for Credentials Cache API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
+</body>
+</html>
diff --git a/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__string__d.html b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__string__d.html
new file mode 100644
index 000000000..b38286b3e
--- /dev/null
+++ b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__string__d.html
@@ -0,0 +1,67 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Credentials Cache API : cc_string_d Struct Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.4.6 -->
+<h1>cc_string_d Struct Reference<br>
+<small>
+[<a class="el" href="group__cc__string__reference.html">cc_string_t Overview</a>]</small>
+</h1><!-- doxytag: class="cc_string_d" --><h2>Data Fields</h2>
+<ul>
+<li>const char * <a class="el" href="structcc__string__d.html#8f64897c7ccc5c13f276d1d07c4e7095">data</a>
+<li>const <a class="el" href="structcc__string__f.html">cc_string_f</a> * <a class="el" href="structcc__string__d.html#002f78b173b7dd8a6925385cd11f4b0f">functions</a>
+</ul>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="8f64897c7ccc5c13f276d1d07c4e7095"></a><!-- doxytag: member="cc_string_d::data" ref="8f64897c7ccc5c13f276d1d07c4e7095" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">const char* <a class="el" href="structcc__string__d.html#8f64897c7ccc5c13f276d1d07c4e7095">data</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="002f78b173b7dd8a6925385cd11f4b0f"></a><!-- doxytag: member="cc_string_d::functions" ref="002f78b173b7dd8a6925385cd11f4b0f" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">const <a class="el" href="structcc__string__f.html">cc_string_f</a>* <a class="el" href="structcc__string__d.html#002f78b173b7dd8a6925385cd11f4b0f">functions</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Oct 2 17:16:06 2007 for Credentials Cache API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
+</body>
+</html>
diff --git a/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__string__f.html b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__string__f.html
new file mode 100644
index 000000000..d5f738f49
--- /dev/null
+++ b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5/doc/ccapi/html/structcc__string__f.html
@@ -0,0 +1,51 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Credentials Cache API : cc_string_f Struct Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.4.6 -->
+<h1>cc_string_f Struct Reference</h1><!-- doxytag: class="cc_string_f" --><hr><a name="_details"></a><h2>Detailed Description</h2>
+Function pointer table for cc_string_t. For more information see <a class="el" href="group__cc__string__reference.html">cc_string_t Overview</a>.
+<p>
+<h2>Data Fields</h2>
+<ul>
+<li><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__string__f.html#ba3623018f7ad67de1f29f4cf1a9c66f">release</a> )(<a class="el" href="structcc__string__d.html">cc_string_t</a> io_string)
+<dl class="el"><dd class="mdescRight"><b><a class="el" href="group__helper__macros.html#ge9bebfed2d574e69f29dd341bc8a63d9">cc_string_release()</a></b>: Release memory associated with a cc_string_t object. <a href="#ba3623018f7ad67de1f29f4cf1a9c66f"></a><br></dl></ul>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="ba3623018f7ad67de1f29f4cf1a9c66f"></a><!-- doxytag: member="cc_string_f::release" ref="ba3623018f7ad67de1f29f4cf1a9c66f" args=")(cc_string_t io_string)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="group__ccapi__types__reference.html#g0ce639c8d65dc6367fb361d5bbcea874">cc_int32</a>(* <a class="el" href="structcc__string__f.html#ba3623018f7ad67de1f29f4cf1a9c66f">release</a>)(<a class="el" href="structcc__string__d.html">cc_string_t</a> io_string) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b><a class="el" href="group__helper__macros.html#ge9bebfed2d574e69f29dd341bc8a63d9">cc_string_release()</a></b>: Release memory associated with a cc_string_t 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>io_string</em>&nbsp;</td><td>the string object to release. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__ccapi__constants__reference.html#ggdf764cbdea00d65edcd07bb9953ad2b7386efd60970fd1740c97093a79558c26">ccNoError</a>. On failure, an error code representing the failure. </dd></dl>
+ </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Oct 2 17:16:06 2007 for Credentials Cache API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
+</body>
+</html>