group__kim__identity__reference.html   [plain text]


<!-- #bbinclude "header.txt"
  #PAGETITLE#="Kerberos Identity Management: KIM Identity Reference Documentation"
  #ADDITIONALSTYLE#="@import url(doxygen.css);"
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
			"http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD> 
	<BASE HREF="http://web.mit.edu/macdev/KfM/KerberosFramework/KerberosIdentityManagement/Documentation/html/group__kim__identity__reference.html">
  	<META NAME="keywords" CONTENT="#KEYWORDS#">
	<META NAME="description" CONTENT="#DESCRIPTION#">
	<TITLE>Kerberos Identity Management: KIM Identity Reference Documentation</TITLE> 
	<STYLE TYPE="text/css">
		@import url(../../../../Common/Documentation/templates/site.css);
	</STYLE>
</HEAD>
<BODY>

<DIV ID="menu">
<IMG SRC="../../../../Common/Documentation/graphics/Kerberos.jpg" ALT="Kerberos for Macintosh Logo">
<HR>
<P><A HREF="../../../../Common/Documentation/index.html">Home</A></P>
<P><A HREF="http://web.mit.edu/kerberos/">MIT Kerberos</A></P>
<P><A HREF="http://web.mit.edu/ist/">MIT IS&amp;T</A></P>
<HR>
<P><A HREF="../../../../Common/Documentation/news.html">News</A></P>
<P><A HREF="../../../../Common/Documentation/documentation.html">Documentation</A></P>
<P><A HREF="../../../../Common/Documentation/developer.html">Developer Resources</A></P>
<P><A HREF="../../../../Common/Documentation/license.html">License</A></P>
<HR>
<P><A HREF="../../../../Common/Documentation/download.html">Download</A></P>
<P><A HREF="../../../../Common/Documentation/support.html">Support</A></P>
<P><A HREF="../../../../Common/Documentation/contact.html">Contact Us</A></P>
</DIV>
<DIV ID="body">
<!-- end bbinclude -->
<!-- Generated by Doxygen 1.4.6 -->
<h1>KIM Identity Reference Documentation</h1>
<p>
<h2>Functions</h2>
<ul>
<li><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> <a class="el" href="group__kim__identity__reference.html#ga69ec4892b8a0dc7aa183803d0cb15fd">kim_identity_create_from_string</a> (<a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a> *out_identity, <a class="el" href="group__kim__types__reference.html#g6015e25c120b236938e23290177f5dce">kim_string_t</a> in_string)
<dl class="el"><dd class="mdescRight">Create a identity from a string.  <a href="#ga69ec4892b8a0dc7aa183803d0cb15fd"></a><br></dl><li><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> <a class="el" href="group__kim__identity__reference.html#gd98419d88372078ff849426c9a9f177e">kim_identity_create_from_components</a> (<a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a> *out_identity, <a class="el" href="group__kim__types__reference.html#g6015e25c120b236938e23290177f5dce">kim_string_t</a> in_realm, <a class="el" href="group__kim__types__reference.html#g6015e25c120b236938e23290177f5dce">kim_string_t</a> in_1st_component,...)
<dl class="el"><dd class="mdescRight">Create a identity from a realm and component strings.  <a href="#gd98419d88372078ff849426c9a9f177e"></a><br></dl><li><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> <a class="el" href="group__kim__identity__reference.html#g34ba6e9df8a0a8f2f133ad51322e8b1a">kim_identity_create_from_krb5_principal</a> (<a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a> *out_identity, krb5_principal in_krb5_principal, krb5_context in_krb5_context)
<dl class="el"><dd class="mdescRight">Create an identity object from a krb5_principal.  <a href="#g34ba6e9df8a0a8f2f133ad51322e8b1a"></a><br></dl><li><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> <a class="el" href="group__kim__identity__reference.html#gf83f0fdb2af6cd730727238766e0e5b0">kim_identity_copy</a> (<a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a> *out_identity, <a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a> in_identity)
<dl class="el"><dd class="mdescRight">Copy an identity object.  <a href="#gf83f0fdb2af6cd730727238766e0e5b0"></a><br></dl><li><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> <a class="el" href="group__kim__identity__reference.html#g0a595bbcd2927fc57b9d6dad8bceccf4">kim_identity_compare</a> (<a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a> in_identity, <a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a> in_compare_to_identity, <a class="el" href="group__kim__types__reference.html#g5a14ff972cd96679e00120c506202d3e">kim_boolean_t</a> *out_equivalent)
<dl class="el"><dd class="mdescRight">Compare identity objects for equivalency.  <a href="#g0a595bbcd2927fc57b9d6dad8bceccf4"></a><br></dl><li><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> <a class="el" href="group__kim__identity__reference.html#gf335ac09504999d0ad61390ede02c113">kim_identity_get_string</a> (<a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a> in_identity, <a class="el" href="group__kim__types__reference.html#g6015e25c120b236938e23290177f5dce">kim_string_t</a> *out_string)
<dl class="el"><dd class="mdescRight">Get the string representation of a identity.  <a href="#gf335ac09504999d0ad61390ede02c113"></a><br></dl><li><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> <a class="el" href="group__kim__identity__reference.html#g3421872c143cc80b1bf220c34e26cc21">kim_identity_get_display_string</a> (<a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a> in_identity, <a class="el" href="group__kim__types__reference.html#g6015e25c120b236938e23290177f5dce">kim_string_t</a> *out_display_string)
<dl class="el"><dd class="mdescRight">Get a human-readable string representation of an identity.  <a href="#g3421872c143cc80b1bf220c34e26cc21"></a><br></dl><li><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> <a class="el" href="group__kim__identity__reference.html#gb5c93208197c70e202209adf61b49a3b">kim_identity_get_realm</a> (<a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a> in_identity, <a class="el" href="group__kim__types__reference.html#g6015e25c120b236938e23290177f5dce">kim_string_t</a> *out_realm_string)
<dl class="el"><dd class="mdescRight">Get the realm string of an identity.  <a href="#gb5c93208197c70e202209adf61b49a3b"></a><br></dl><li><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> <a class="el" href="group__kim__identity__reference.html#g6077350272922bf196e9a900e5989c41">kim_identity_get_number_of_components</a> (<a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a> in_identity, <a class="el" href="group__kim__types__reference.html#g709d3d4d2733bc8dc29dcab2e806dd38">kim_count_t</a> *out_number_of_components)
<dl class="el"><dd class="mdescRight">Get the number of components of an identity.  <a href="#g6077350272922bf196e9a900e5989c41"></a><br></dl><li><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> <a class="el" href="group__kim__identity__reference.html#gea580688eb077e78bcbf9cc3e2bb1a87">kim_identity_get_component_at_index</a> (<a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a> in_identity, <a class="el" href="group__kim__types__reference.html#g306be5b5b238cf2efa36c20edb5073e7">kim_index_t</a> in_index, <a class="el" href="group__kim__types__reference.html#g6015e25c120b236938e23290177f5dce">kim_string_t</a> *out_component_string)
<dl class="el"><dd class="mdescRight">Get the Nth component of an identity.  <a href="#gea580688eb077e78bcbf9cc3e2bb1a87"></a><br></dl><li><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> <a class="el" href="group__kim__identity__reference.html#g63b40561de2bfe2315990d1579d5db75">kim_identity_get_krb5_principal</a> (<a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a> in_identity, krb5_context in_krb5_context, krb5_principal *out_krb5_principal)
<dl class="el"><dd class="mdescRight">Get the krb5_principal representation of an identity.  <a href="#g63b40561de2bfe2315990d1579d5db75"></a><br></dl><li><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> <a class="el" href="group__kim__identity__reference.html#g445ddb044181a68fdbad8a63e614add5">kim_identity_get_gss_name</a> (<a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a> in_identity, gss_name_t *out_gss_name)
<dl class="el"><dd class="mdescRight">Get the gss_name_t representation of an identity.  <a href="#g445ddb044181a68fdbad8a63e614add5"></a><br></dl><li><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> <a class="el" href="group__kim__identity__reference.html#g493fd86d79650af831d52b8a14b2774c">kim_identity_change_password</a> (<a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a> in_identity, <a class="el" href="group__kim__types__reference.html#gae2b9068386ddb47eb075f8a21823d2e">kim_options_t</a> in_options)
<dl class="el"><dd class="mdescRight">Change the password for an identity.  <a href="#g493fd86d79650af831d52b8a14b2774c"></a><br></dl><li><a class="el" href="group__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> <a class="el" href="group__kim__identity__reference.html#g3d80784fbb7750a527bcfae6c8c7ca13">kim_identity_change_password_with_passwords</a> (<a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a> in_identity, <a class="el" href="group__kim__types__reference.html#gae2b9068386ddb47eb075f8a21823d2e">kim_options_t</a> in_options, <a class="el" href="group__kim__types__reference.html#g6015e25c120b236938e23290177f5dce">kim_string_t</a> in_new_password)
<dl class="el"><dd class="mdescRight">Change the password for an identity to a caller-provided new password.  <a href="#g3d80784fbb7750a527bcfae6c8c7ca13"></a><br></dl><li>void <a class="el" href="group__kim__identity__reference.html#gd384198163f30b97a6a583ad871a0e23">kim_identity_free</a> (<a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a> *io_identity)
<dl class="el"><dd class="mdescRight">Free memory associated with an identity.  <a href="#gd384198163f30b97a6a583ad871a0e23"></a><br></dl></ul>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="ga69ec4892b8a0dc7aa183803d0cb15fd"></a><!-- doxytag: member="kim_identity.h::kim_identity_create_from_string" ref="ga69ec4892b8a0dc7aa183803d0cb15fd" args="(kim_identity_t *out_identity, kim_string_t in_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__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> kim_identity_create_from_string           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>out_identity</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="group__kim__types__reference.html#g6015e25c120b236938e23290177f5dce">kim_string_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_string</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>
Create a identity from a string. 
<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_identity</em>&nbsp;</td><td>on exit, a new identity object. Must be freed with <a class="el" href="group__kim__identity__reference.html#gd384198163f30b97a6a583ad871a0e23">kim_identity_free()</a>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>in_string</em>&nbsp;</td><td>a string representation of a Kerberos identity. Special characters such as '/' and '@' must be escaped with '\'. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__kim__types__reference.html#g8712727bab9e6b02712a8a01285441d1">KIM_NO_ERROR</a>. On failure, an error object representing the failure. </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="gd98419d88372078ff849426c9a9f177e"></a><!-- doxytag: member="kim_identity.h::kim_identity_create_from_components" ref="gd98419d88372078ff849426c9a9f177e" args="(kim_identity_t *out_identity, kim_string_t in_realm, kim_string_t in_1st_component,...)" --><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__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> kim_identity_create_from_components           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>out_identity</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="group__kim__types__reference.html#g6015e25c120b236938e23290177f5dce">kim_string_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_realm</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="group__kim__types__reference.html#g6015e25c120b236938e23290177f5dce">kim_string_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_1st_component</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>&nbsp;</td>
          <td class="mdname" nowrap> <em>...</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>
Create a identity from a realm and component strings. 
<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_identity</em>&nbsp;</td><td>on exit, a new identity object. Must be freed with <a class="el" href="group__kim__identity__reference.html#gd384198163f30b97a6a583ad871a0e23">kim_identity_free()</a>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>in_realm</em>&nbsp;</td><td>a string representation of a Kerberos realm. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>in_1st_component</em>&nbsp;</td><td>a string representing the first component of the identity. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>...</em>&nbsp;</td><td>zero or more strings of type kim_string_t representing additional components of the identity followed by a terminating NULL. Components will be assembled in order(ie: the 4th argument to <a class="el" href="group__kim__identity__reference.html#gd98419d88372078ff849426c9a9f177e">kim_identity_create_from_components()</a> will be the 2nd component of the identity). </td></tr>
  </table>
</dl>
<dl compact><dt><b>Note:</b></dt><dd>The last argument must be a NULL or <a class="el" href="group__kim__identity__reference.html#gd98419d88372078ff849426c9a9f177e">kim_identity_create_from_components()</a> may crash. </dd></dl>
<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__kim__types__reference.html#g8712727bab9e6b02712a8a01285441d1">KIM_NO_ERROR</a>. On failure, an error object representing the failure. </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="g34ba6e9df8a0a8f2f133ad51322e8b1a"></a><!-- doxytag: member="kim_identity.h::kim_identity_create_from_krb5_principal" ref="g34ba6e9df8a0a8f2f133ad51322e8b1a" args="(kim_identity_t *out_identity, krb5_principal in_krb5_principal, krb5_context in_krb5_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__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> kim_identity_create_from_krb5_principal           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>out_identity</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>krb5_principal&nbsp;</td>
          <td class="mdname" nowrap> <em>in_krb5_principal</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>krb5_context&nbsp;</td>
          <td class="mdname" nowrap> <em>in_krb5_context</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>
Create an identity object from a krb5_principal. 
<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_identity</em>&nbsp;</td><td>on exit, a new identity object which is a copy of <em>in_krb5_principal</em>. Must be freed with <a class="el" href="group__kim__identity__reference.html#gd384198163f30b97a6a583ad871a0e23">kim_identity_free()</a>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>in_krb5_principal</em>&nbsp;</td><td>a krb5 identity object. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>in_krb5_context</em>&nbsp;</td><td>the krb5 context used to create <em>in_krb5_principal</em>. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__kim__types__reference.html#g8712727bab9e6b02712a8a01285441d1">KIM_NO_ERROR</a>. On failure, an error object representing the failure. </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="gf83f0fdb2af6cd730727238766e0e5b0"></a><!-- doxytag: member="kim_identity.h::kim_identity_copy" ref="gf83f0fdb2af6cd730727238766e0e5b0" args="(kim_identity_t *out_identity, kim_identity_t in_identity)" --><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__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> kim_identity_copy           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>out_identity</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_identity</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>
Copy an identity 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>out_identity</em>&nbsp;</td><td>on exit, a new identity object which is a copy of <em>in_identity</em>. Must be freed with <a class="el" href="group__kim__identity__reference.html#gd384198163f30b97a6a583ad871a0e23">kim_identity_free()</a>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>in_identity</em>&nbsp;</td><td>an identity object. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__kim__types__reference.html#g8712727bab9e6b02712a8a01285441d1">KIM_NO_ERROR</a>. On failure, an error object representing the failure. </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="g0a595bbcd2927fc57b9d6dad8bceccf4"></a><!-- doxytag: member="kim_identity.h::kim_identity_compare" ref="g0a595bbcd2927fc57b9d6dad8bceccf4" args="(kim_identity_t in_identity, kim_identity_t in_compare_to_identity, kim_boolean_t *out_equivalent)" --><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__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> kim_identity_compare           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_identity</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_compare_to_identity</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="group__kim__types__reference.html#g5a14ff972cd96679e00120c506202d3e">kim_boolean_t</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>out_equivalent</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>
Compare identity objects for equivalency. 
<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_identity</em>&nbsp;</td><td>an identity object. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>in_compare_to_identity</em>&nbsp;</td><td>an identity object. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>out_equivalent</em>&nbsp;</td><td>on exit, whether or not <em>in_identity</em> and <em>in_compare_to_identity</em> represent the same identity. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__kim__types__reference.html#g8712727bab9e6b02712a8a01285441d1">KIM_NO_ERROR</a>. On failure, an error object representing the failure. </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="gf335ac09504999d0ad61390ede02c113"></a><!-- doxytag: member="kim_identity.h::kim_identity_get_string" ref="gf335ac09504999d0ad61390ede02c113" args="(kim_identity_t in_identity, kim_string_t *out_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__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> kim_identity_get_string           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_identity</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="group__kim__types__reference.html#g6015e25c120b236938e23290177f5dce">kim_string_t</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>out_string</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>
Get the string representation of a identity. 
<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_identity</em>&nbsp;</td><td>an identity object. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>out_string</em>&nbsp;</td><td>on exit, a string representation of <em>in_identity</em>. Must be freed with <a class="el" href="group__kim__string__reference.html#ga3e9ac5bcab38b089adfeebd8ba56ded">kim_string_free()</a>. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__kim__types__reference.html#g8712727bab9e6b02712a8a01285441d1">KIM_NO_ERROR</a>. On failure, an error object representing the failure. </dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>Special characters such as '@' and '/' will be escaped with '\'. </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="g3421872c143cc80b1bf220c34e26cc21"></a><!-- doxytag: member="kim_identity.h::kim_identity_get_display_string" ref="g3421872c143cc80b1bf220c34e26cc21" args="(kim_identity_t in_identity, kim_string_t *out_display_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__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> kim_identity_get_display_string           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_identity</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="group__kim__types__reference.html#g6015e25c120b236938e23290177f5dce">kim_string_t</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>out_display_string</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>
Get a human-readable string representation of an identity. 
<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_identity</em>&nbsp;</td><td>an identity object. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>out_display_string</em>&nbsp;</td><td>on exit, a string representation of <em>in_identity</em> appropriate for display to the user. Must be freed with <a class="el" href="group__kim__string__reference.html#ga3e9ac5bcab38b089adfeebd8ba56ded">kim_string_free()</a>. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__kim__types__reference.html#g8712727bab9e6b02712a8a01285441d1">KIM_NO_ERROR</a>. On failure, an error object representing the failure. </dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>Special characters such as '/' and '@' are <em>not</em> escaped with '\'. As a result the string returned from this function cannot be used with <a class="el" href="group__kim__identity__reference.html#ga69ec4892b8a0dc7aa183803d0cb15fd">kim_identity_create_from_string()</a>. </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="gb5c93208197c70e202209adf61b49a3b"></a><!-- doxytag: member="kim_identity.h::kim_identity_get_realm" ref="gb5c93208197c70e202209adf61b49a3b" args="(kim_identity_t in_identity, kim_string_t *out_realm_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__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> kim_identity_get_realm           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_identity</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="group__kim__types__reference.html#g6015e25c120b236938e23290177f5dce">kim_string_t</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>out_realm_string</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>
Get the realm string of an identity. 
<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_identity</em>&nbsp;</td><td>an identity object. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>out_realm_string</em>&nbsp;</td><td>on exit, a string representation of <em>in_identity's</em> realm. Must be freed with <a class="el" href="group__kim__string__reference.html#ga3e9ac5bcab38b089adfeebd8ba56ded">kim_string_free()</a>. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__kim__types__reference.html#g8712727bab9e6b02712a8a01285441d1">KIM_NO_ERROR</a>. On failure, an error object representing the failure. </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="g6077350272922bf196e9a900e5989c41"></a><!-- doxytag: member="kim_identity.h::kim_identity_get_number_of_components" ref="g6077350272922bf196e9a900e5989c41" args="(kim_identity_t in_identity, kim_count_t *out_number_of_components)" --><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__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> kim_identity_get_number_of_components           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_identity</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="group__kim__types__reference.html#g709d3d4d2733bc8dc29dcab2e806dd38">kim_count_t</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>out_number_of_components</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>
Get the number of components of an identity. 
<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_identity</em>&nbsp;</td><td>an identity object. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>out_number_of_components</em>&nbsp;</td><td>on exit the number of components in <em>in_identity</em>. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__kim__types__reference.html#g8712727bab9e6b02712a8a01285441d1">KIM_NO_ERROR</a>. On failure, an error object representing the failure. </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="gea580688eb077e78bcbf9cc3e2bb1a87"></a><!-- doxytag: member="kim_identity.h::kim_identity_get_component_at_index" ref="gea580688eb077e78bcbf9cc3e2bb1a87" args="(kim_identity_t in_identity, kim_index_t in_index, kim_string_t *out_component_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__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> kim_identity_get_component_at_index           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_identity</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="group__kim__types__reference.html#g306be5b5b238cf2efa36c20edb5073e7">kim_index_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_index</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="group__kim__types__reference.html#g6015e25c120b236938e23290177f5dce">kim_string_t</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>out_component_string</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>
Get the Nth component of an identity. 
<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_identity</em>&nbsp;</td><td>an identity object. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>in_index</em>&nbsp;</td><td>the index of the desired component. Component indexes start at 0. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>out_component_string</em>&nbsp;</td><td>on exit, a string representation of the component in <em>in_identity</em> specified by <em>in_index</em>. Must be freed with <a class="el" href="group__kim__string__reference.html#ga3e9ac5bcab38b089adfeebd8ba56ded">kim_string_free()</a>. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__kim__types__reference.html#g8712727bab9e6b02712a8a01285441d1">KIM_NO_ERROR</a>. On failure, an error object representing the failure. </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="g63b40561de2bfe2315990d1579d5db75"></a><!-- doxytag: member="kim_identity.h::kim_identity_get_krb5_principal" ref="g63b40561de2bfe2315990d1579d5db75" args="(kim_identity_t in_identity, krb5_context in_krb5_context, krb5_principal *out_krb5_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__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> kim_identity_get_krb5_principal           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_identity</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>krb5_context&nbsp;</td>
          <td class="mdname" nowrap> <em>in_krb5_context</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>krb5_principal *&nbsp;</td>
          <td class="mdname" nowrap> <em>out_krb5_principal</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>
Get the krb5_principal representation of an identity. 
<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_identity</em>&nbsp;</td><td>an identity object. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>in_krb5_context</em>&nbsp;</td><td>a krb5 context object. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>out_krb5_principal</em>&nbsp;</td><td>on exit, a krb5_principal representation of <em>in_identity</em> allocated with <em>in_krb5_context</em>. Must be freed with krb5_free_principal() using <em>in_krb5_context</em>. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__kim__types__reference.html#g8712727bab9e6b02712a8a01285441d1">KIM_NO_ERROR</a>. On failure, an error object representing the failure. </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="g445ddb044181a68fdbad8a63e614add5"></a><!-- doxytag: member="kim_identity.h::kim_identity_get_gss_name" ref="g445ddb044181a68fdbad8a63e614add5" args="(kim_identity_t in_identity, gss_name_t *out_gss_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__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> kim_identity_get_gss_name           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_identity</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>gss_name_t *&nbsp;</td>
          <td class="mdname" nowrap> <em>out_gss_name</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>
Get the gss_name_t representation of an identity. 
<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_identity</em>&nbsp;</td><td>an identity object. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>out_gss_name</em>&nbsp;</td><td>on exit, a gss_name_t representation of <em>in_identity</em>. Must be freed with gss_release_name(). </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__kim__types__reference.html#g8712727bab9e6b02712a8a01285441d1">KIM_NO_ERROR</a>. On failure, an error object representing the failure. </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="g493fd86d79650af831d52b8a14b2774c"></a><!-- doxytag: member="kim_identity.h::kim_identity_change_password" ref="g493fd86d79650af831d52b8a14b2774c" args="(kim_identity_t in_identity, kim_options_t in_options)" --><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__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> kim_identity_change_password           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_identity</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="group__kim__types__reference.html#gae2b9068386ddb47eb075f8a21823d2e">kim_options_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_options</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>
Change the password for an identity. 
<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_identity</em>&nbsp;</td><td>an identity object whose password will be changed. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>in_options</em>&nbsp;</td><td>initial credential options to be used if a new credential is obtained. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__kim__types__reference.html#g8712727bab9e6b02712a8a01285441d1">KIM_NO_ERROR</a>. On failure, an error object representing the failure. </dd></dl>
<dl compact><dt><b>Note:</b></dt><dd><a class="el" href="group__kim__identity__reference.html#g493fd86d79650af831d52b8a14b2774c">kim_identity_change_password()</a> will acquire a temporary credential to change the password. It uses the <em>in_options</em> structure to obtain information about the desired prompter and current password. </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="g3d80784fbb7750a527bcfae6c8c7ca13"></a><!-- doxytag: member="kim_identity.h::kim_identity_change_password_with_passwords" ref="g3d80784fbb7750a527bcfae6c8c7ca13" args="(kim_identity_t in_identity, kim_options_t in_options, kim_string_t in_new_password)" --><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__kim__types__reference.html#g9e10dd2df80df19496dab049a47514cc">kim_error_t</a> kim_identity_change_password_with_passwords           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_identity</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="group__kim__types__reference.html#gae2b9068386ddb47eb075f8a21823d2e">kim_options_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_options</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="group__kim__types__reference.html#g6015e25c120b236938e23290177f5dce">kim_string_t</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>in_new_password</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>
Change the password for an identity to a caller-provided new password. 
<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_identity</em>&nbsp;</td><td>an identity object whose password will be changed. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>in_options</em>&nbsp;</td><td>initial credential options to be used if a new credential is obtained. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>in_new_password</em>&nbsp;</td><td>a string representation of the identity's new password. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>On success, <a class="el" href="group__kim__types__reference.html#g8712727bab9e6b02712a8a01285441d1">KIM_NO_ERROR</a>. On failure, an error object representing the failure. </dd></dl>
<dl compact><dt><b>Note:</b></dt><dd><a class="el" href="group__kim__identity__reference.html#g3d80784fbb7750a527bcfae6c8c7ca13">kim_identity_change_password_with_passwords()</a> will acquire a temporary credential to change the password. It uses the <em>in_options</em> structure to obtain information about the desired prompter and current password. </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="gd384198163f30b97a6a583ad871a0e23"></a><!-- doxytag: member="kim_identity.h::kim_identity_free" ref="gd384198163f30b97a6a583ad871a0e23" args="(kim_identity_t *io_identity)" --><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 kim_identity_free           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__kim__types__reference.html#g24e6b0e3dab12f058c4b2f08113e772a">kim_identity_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>io_identity</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Free memory associated with an identity. 
<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_identity</em>&nbsp;</td><td>the identity object to be freed. Set to NULL on exit. </td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>

<!-- #bbinclude "footer.txt" -->
</DIV>
<DIV ID="footer">
	<P>
		Copyright 2006 Massachusetts Institute of Technology.<BR>
		Last updated on $Date: 2006-01-06 20:23:52 -0500 (Fri, 06 Jan 2006) $ <BR> 
		Last modified by $Author: lxs $ 
	</P>
</DIV>
<!-- Begin MIT-use only web reporting counter -->
	<IMG SRC="http://counter.mit.edu/tally" WIDTH=1 HEIGHT=1 ALT="">
<!-- End MIT-use only web reporting counter -->
</BODY></HTML>
<!-- end bbinclude -->