group__kim__identity__reference.html   [plain text]


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Kerberos Identity Management: KIM Identity Reference 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.5.3 -->
<h1>KIM Identity Reference Documentation</h1>
<p>
<h2>Functions</h2>
<ul>
<li><a class="el" href="group__kim__types__reference.html#g40f5fe10ab395bddc34286e0c2ff76eb">kim_error</a> <a class="el" href="group__kim__identity__reference.html#g23804ae9643100ad5e1fef11f6e5362c">kim_identity_create_from_string</a> (<a class="el" href="group__kim__types__reference.html#gf96cafc394b0d02327b4df8ff669d589">kim_identity</a> *out_identity, <a class="el" href="group__kim__types__reference.html#geea99aa292876e06003b7480087eecb0">kim_string</a> in_string)
<dl class="el"><dd class="mdescRight">Create a identity from a string.  <a href="#g23804ae9643100ad5e1fef11f6e5362c"></a><br></dl><li><a class="el" href="group__kim__types__reference.html#g40f5fe10ab395bddc34286e0c2ff76eb">kim_error</a> <a class="el" href="group__kim__identity__reference.html#ga7ee7771443a129ab5e28923ccb3f602">kim_identity_create_from_components</a> (<a class="el" href="group__kim__types__reference.html#gf96cafc394b0d02327b4df8ff669d589">kim_identity</a> *out_identity, <a class="el" href="group__kim__types__reference.html#geea99aa292876e06003b7480087eecb0">kim_string</a> in_realm, <a class="el" href="group__kim__types__reference.html#geea99aa292876e06003b7480087eecb0">kim_string</a> in_1st_component,...)
<dl class="el"><dd class="mdescRight">Create a identity from a realm and component strings.  <a href="#ga7ee7771443a129ab5e28923ccb3f602"></a><br></dl><li><a class="el" href="group__kim__types__reference.html#g40f5fe10ab395bddc34286e0c2ff76eb">kim_error</a> <a class="el" href="group__kim__identity__reference.html#g3a1f84217c02c9b1023e791ae206cf94">kim_identity_create_from_krb5_principal</a> (<a class="el" href="group__kim__types__reference.html#gf96cafc394b0d02327b4df8ff669d589">kim_identity</a> *out_identity, krb5_context in_krb5_context, krb5_principal in_krb5_principal)
<dl class="el"><dd class="mdescRight">Create an identity object from a krb5_principal.  <a href="#g3a1f84217c02c9b1023e791ae206cf94"></a><br></dl><li><a class="el" href="group__kim__types__reference.html#g40f5fe10ab395bddc34286e0c2ff76eb">kim_error</a> <a class="el" href="group__kim__identity__reference.html#g0cb410ee206566e244439c0137b4f117">kim_identity_copy</a> (<a class="el" href="group__kim__types__reference.html#gf96cafc394b0d02327b4df8ff669d589">kim_identity</a> *out_identity, <a class="el" href="group__kim__types__reference.html#gf96cafc394b0d02327b4df8ff669d589">kim_identity</a> in_identity)
<dl class="el"><dd class="mdescRight">Copy an identity object.  <a href="#g0cb410ee206566e244439c0137b4f117"></a><br></dl><li><a class="el" href="group__kim__types__reference.html#g40f5fe10ab395bddc34286e0c2ff76eb">kim_error</a> <a class="el" href="group__kim__identity__reference.html#gd47b876ed3dfa0fd8a419412b46c4867">kim_identity_compare</a> (<a class="el" href="group__kim__types__reference.html#gf96cafc394b0d02327b4df8ff669d589">kim_identity</a> in_identity, <a class="el" href="group__kim__types__reference.html#gf96cafc394b0d02327b4df8ff669d589">kim_identity</a> in_compare_to_identity, <a class="el" href="group__kim__types__reference.html#gae48569e847ff6af9d10add42a4338e7">kim_comparison</a> *out_comparison)
<dl class="el"><dd class="mdescRight">Compare identity objects for equivalency.  <a href="#gd47b876ed3dfa0fd8a419412b46c4867"></a><br></dl><li><a class="el" href="group__kim__types__reference.html#g40f5fe10ab395bddc34286e0c2ff76eb">kim_error</a> <a class="el" href="group__kim__identity__reference.html#g094e916a4d31556c3ead03f85aafa603">kim_identity_get_string</a> (<a class="el" href="group__kim__types__reference.html#gf96cafc394b0d02327b4df8ff669d589">kim_identity</a> in_identity, <a class="el" href="group__kim__types__reference.html#geea99aa292876e06003b7480087eecb0">kim_string</a> *out_string)
<dl class="el"><dd class="mdescRight">Get the string representation of a identity.  <a href="#g094e916a4d31556c3ead03f85aafa603"></a><br></dl><li><a class="el" href="group__kim__types__reference.html#g40f5fe10ab395bddc34286e0c2ff76eb">kim_error</a> <a class="el" href="group__kim__identity__reference.html#g59afb84675651930afebeb6fff788eba">kim_identity_get_display_string</a> (<a class="el" href="group__kim__types__reference.html#gf96cafc394b0d02327b4df8ff669d589">kim_identity</a> in_identity, <a class="el" href="group__kim__types__reference.html#geea99aa292876e06003b7480087eecb0">kim_string</a> *out_display_string)
<dl class="el"><dd class="mdescRight">Get a human-readable string representation of an identity.  <a href="#g59afb84675651930afebeb6fff788eba"></a><br></dl><li><a class="el" href="group__kim__types__reference.html#g40f5fe10ab395bddc34286e0c2ff76eb">kim_error</a> <a class="el" href="group__kim__identity__reference.html#gf102dfe4b89f6e87ac3059f01f174066">kim_identity_get_realm</a> (<a class="el" href="group__kim__types__reference.html#gf96cafc394b0d02327b4df8ff669d589">kim_identity</a> in_identity, <a class="el" href="group__kim__types__reference.html#geea99aa292876e06003b7480087eecb0">kim_string</a> *out_realm_string)
<dl class="el"><dd class="mdescRight">Get the realm string of an identity.  <a href="#gf102dfe4b89f6e87ac3059f01f174066"></a><br></dl><li><a class="el" href="group__kim__types__reference.html#g40f5fe10ab395bddc34286e0c2ff76eb">kim_error</a> <a class="el" href="group__kim__identity__reference.html#g96591cf92e03e823efcd4fc54085ca4d">kim_identity_get_number_of_components</a> (<a class="el" href="group__kim__types__reference.html#gf96cafc394b0d02327b4df8ff669d589">kim_identity</a> in_identity, <a class="el" href="group__kim__types__reference.html#g098e3611b2bc3af38b5f06838153165d">kim_count</a> *out_number_of_components)
<dl class="el"><dd class="mdescRight">Get the number of components of an identity.  <a href="#g96591cf92e03e823efcd4fc54085ca4d"></a><br></dl><li><a class="el" href="group__kim__types__reference.html#g40f5fe10ab395bddc34286e0c2ff76eb">kim_error</a> <a class="el" href="group__kim__identity__reference.html#gec46c138cd20035a12586dba59680728">kim_identity_get_component_at_index</a> (<a class="el" href="group__kim__types__reference.html#gf96cafc394b0d02327b4df8ff669d589">kim_identity</a> in_identity, <a class="el" href="group__kim__types__reference.html#g098e3611b2bc3af38b5f06838153165d">kim_count</a> in_index, <a class="el" href="group__kim__types__reference.html#geea99aa292876e06003b7480087eecb0">kim_string</a> *out_component_string)
<dl class="el"><dd class="mdescRight">Get the Nth component of an identity.  <a href="#gec46c138cd20035a12586dba59680728"></a><br></dl><li><a class="el" href="group__kim__types__reference.html#g40f5fe10ab395bddc34286e0c2ff76eb">kim_error</a> <a class="el" href="group__kim__identity__reference.html#gaf44da7019777b8b3cc78b7624e26d33">kim_identity_get_components_string</a> (<a class="el" href="group__kim__types__reference.html#gf96cafc394b0d02327b4df8ff669d589">kim_identity</a> in_identity, <a class="el" href="group__kim__types__reference.html#geea99aa292876e06003b7480087eecb0">kim_string</a> *out_components)
<dl class="el"><dd class="mdescRight">Get a display string of the non-realm components of an identity.  <a href="#gaf44da7019777b8b3cc78b7624e26d33"></a><br></dl><li><a class="el" href="group__kim__types__reference.html#g40f5fe10ab395bddc34286e0c2ff76eb">kim_error</a> <a class="el" href="group__kim__identity__reference.html#gd293289334f024dedae5fa59856049d6">kim_identity_get_krb5_principal</a> (<a class="el" href="group__kim__types__reference.html#gf96cafc394b0d02327b4df8ff669d589">kim_identity</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="#gd293289334f024dedae5fa59856049d6"></a><br></dl><li><a class="el" href="group__kim__types__reference.html#g40f5fe10ab395bddc34286e0c2ff76eb">kim_error</a> <a class="el" href="group__kim__identity__reference.html#g660c28e70656127c7c723d50414675e8">kim_identity_change_password</a> (<a class="el" href="group__kim__types__reference.html#gf96cafc394b0d02327b4df8ff669d589">kim_identity</a> in_identity)
<dl class="el"><dd class="mdescRight">Change the password for an identity.  <a href="#g660c28e70656127c7c723d50414675e8"></a><br></dl><li>void <a class="el" href="group__kim__identity__reference.html#g3ae8057f3eb0040330b598645d470411">kim_identity_free</a> (<a class="el" href="group__kim__types__reference.html#gf96cafc394b0d02327b4df8ff669d589">kim_identity</a> *io_identity)
<dl class="el"><dd class="mdescRight">Free memory associated with an identity.  <a href="#g3ae8057f3eb0040330b598645d470411"></a><br></dl></ul>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="g23804ae9643100ad5e1fef11f6e5362c"></a><!-- doxytag: member="kim_identity.h::kim_identity_create_from_string" ref="g23804ae9643100ad5e1fef11f6e5362c" args="(kim_identity *out_identity, kim_string in_string)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__kim__types__reference.html#g40f5fe10ab395bddc34286e0c2ff76eb">kim_error</a> kim_identity_create_from_string           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__kim__types__reference.html#gf96cafc394b0d02327b4df8ff669d589">kim_identity</a> *&nbsp;</td>
          <td class="paramname"> <em>out_identity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__kim__types__reference.html#geea99aa292876e06003b7480087eecb0">kim_string</a>&nbsp;</td>
          <td class="paramname"> <em>in_string</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<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#g3ae8057f3eb0040330b598645d470411" title="Free memory associated with an identity.">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 class="return" 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 code representing the failure. </dd></dl>

</div>
</div><p>
<a class="anchor" name="ga7ee7771443a129ab5e28923ccb3f602"></a><!-- doxytag: member="kim_identity.h::kim_identity_create_from_components" ref="ga7ee7771443a129ab5e28923ccb3f602" args="(kim_identity *out_identity, kim_string in_realm, kim_string in_1st_component,...)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__kim__types__reference.html#g40f5fe10ab395bddc34286e0c2ff76eb">kim_error</a> kim_identity_create_from_components           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__kim__types__reference.html#gf96cafc394b0d02327b4df8ff669d589">kim_identity</a> *&nbsp;</td>
          <td class="paramname"> <em>out_identity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__kim__types__reference.html#geea99aa292876e06003b7480087eecb0">kim_string</a>&nbsp;</td>
          <td class="paramname"> <em>in_realm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__kim__types__reference.html#geea99aa292876e06003b7480087eecb0">kim_string</a>&nbsp;</td>
          <td class="paramname"> <em>in_1st_component</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&nbsp;</td>
          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<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#g3ae8057f3eb0040330b598645d470411" title="Free memory associated with an identity.">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#ga7ee7771443a129ab5e28923ccb3f602" title="Create a identity from a realm and component strings.">kim_identity_create_from_components()</a> will be the 2nd component of the identity). </td></tr>
  </table>
</dl>
<dl class="note" compact><dt><b>Note:</b></dt><dd>The last argument must be a NULL or <a class="el" href="group__kim__identity__reference.html#ga7ee7771443a129ab5e28923ccb3f602" title="Create a identity from a realm and component strings.">kim_identity_create_from_components()</a> may crash. </dd></dl>
<dl class="return" 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 code representing the failure. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g3a1f84217c02c9b1023e791ae206cf94"></a><!-- doxytag: member="kim_identity.h::kim_identity_create_from_krb5_principal" ref="g3a1f84217c02c9b1023e791ae206cf94" args="(kim_identity *out_identity, krb5_context in_krb5_context, krb5_principal in_krb5_principal)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__kim__types__reference.html#g40f5fe10ab395bddc34286e0c2ff76eb">kim_error</a> kim_identity_create_from_krb5_principal           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__kim__types__reference.html#gf96cafc394b0d02327b4df8ff669d589">kim_identity</a> *&nbsp;</td>
          <td class="paramname"> <em>out_identity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">krb5_context&nbsp;</td>
          <td class="paramname"> <em>in_krb5_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">krb5_principal&nbsp;</td>
          <td class="paramname"> <em>in_krb5_principal</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<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#g3ae8057f3eb0040330b598645d470411" title="Free memory associated with an identity.">kim_identity_free()</a>. </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>
    <tr><td valign="top"></td><td valign="top"><em>in_krb5_principal</em>&nbsp;</td><td>a krb5 principal object. </td></tr>
  </table>
</dl>
<dl class="return" 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 code representing the failure. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g0cb410ee206566e244439c0137b4f117"></a><!-- doxytag: member="kim_identity.h::kim_identity_copy" ref="g0cb410ee206566e244439c0137b4f117" args="(kim_identity *out_identity, kim_identity in_identity)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__kim__types__reference.html#g40f5fe10ab395bddc34286e0c2ff76eb">kim_error</a> kim_identity_copy           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__kim__types__reference.html#gf96cafc394b0d02327b4df8ff669d589">kim_identity</a> *&nbsp;</td>
          <td class="paramname"> <em>out_identity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__kim__types__reference.html#gf96cafc394b0d02327b4df8ff669d589">kim_identity</a>&nbsp;</td>
          <td class="paramname"> <em>in_identity</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<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#g3ae8057f3eb0040330b598645d470411" title="Free memory associated with an identity.">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 class="return" 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 code representing the failure. </dd></dl>

</div>
</div><p>
<a class="anchor" name="gd47b876ed3dfa0fd8a419412b46c4867"></a><!-- doxytag: member="kim_identity.h::kim_identity_compare" ref="gd47b876ed3dfa0fd8a419412b46c4867" args="(kim_identity in_identity, kim_identity in_compare_to_identity, kim_comparison *out_comparison)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__kim__types__reference.html#g40f5fe10ab395bddc34286e0c2ff76eb">kim_error</a> kim_identity_compare           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__kim__types__reference.html#gf96cafc394b0d02327b4df8ff669d589">kim_identity</a>&nbsp;</td>
          <td class="paramname"> <em>in_identity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__kim__types__reference.html#gf96cafc394b0d02327b4df8ff669d589">kim_identity</a>&nbsp;</td>
          <td class="paramname"> <em>in_compare_to_identity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__kim__types__reference.html#gae48569e847ff6af9d10add42a4338e7">kim_comparison</a> *&nbsp;</td>
          <td class="paramname"> <em>out_comparison</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<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_comparison</em>&nbsp;</td><td>on exit, a comparison of <em>in_identity</em> and <em>in_compare_to_identity</em> which determines whether or not the two identities are equivalent and their sort order (for display to the user) if they are not. </td></tr>
  </table>
</dl>
<dl class="return" 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 code representing the failure. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g094e916a4d31556c3ead03f85aafa603"></a><!-- doxytag: member="kim_identity.h::kim_identity_get_string" ref="g094e916a4d31556c3ead03f85aafa603" args="(kim_identity in_identity, kim_string *out_string)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__kim__types__reference.html#g40f5fe10ab395bddc34286e0c2ff76eb">kim_error</a> kim_identity_get_string           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__kim__types__reference.html#gf96cafc394b0d02327b4df8ff669d589">kim_identity</a>&nbsp;</td>
          <td class="paramname"> <em>in_identity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__kim__types__reference.html#geea99aa292876e06003b7480087eecb0">kim_string</a> *&nbsp;</td>
          <td class="paramname"> <em>out_string</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<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#g7e7207329022e97473ec71574e52a1fc" title="Free memory associated with a string.">kim_string_free()</a>. </td></tr>
  </table>
</dl>
<dl class="return" 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 code representing the failure. </dd></dl>
<dl class="note" compact><dt><b>Note:</b></dt><dd>Special characters such as '@' and '/' will be escaped with '\'. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g59afb84675651930afebeb6fff788eba"></a><!-- doxytag: member="kim_identity.h::kim_identity_get_display_string" ref="g59afb84675651930afebeb6fff788eba" args="(kim_identity in_identity, kim_string *out_display_string)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__kim__types__reference.html#g40f5fe10ab395bddc34286e0c2ff76eb">kim_error</a> kim_identity_get_display_string           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__kim__types__reference.html#gf96cafc394b0d02327b4df8ff669d589">kim_identity</a>&nbsp;</td>
          <td class="paramname"> <em>in_identity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__kim__types__reference.html#geea99aa292876e06003b7480087eecb0">kim_string</a> *&nbsp;</td>
          <td class="paramname"> <em>out_display_string</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<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#g7e7207329022e97473ec71574e52a1fc" title="Free memory associated with a string.">kim_string_free()</a>. </td></tr>
  </table>
</dl>
<dl class="return" 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 code representing the failure. </dd></dl>
<dl class="note" 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#g23804ae9643100ad5e1fef11f6e5362c" title="Create a identity from a string.">kim_identity_create_from_string()</a> because it does not uniquely specify a principal. The result of this function should <em>only</em> be used to display to the user. </dd></dl>

</div>
</div><p>
<a class="anchor" name="gf102dfe4b89f6e87ac3059f01f174066"></a><!-- doxytag: member="kim_identity.h::kim_identity_get_realm" ref="gf102dfe4b89f6e87ac3059f01f174066" args="(kim_identity in_identity, kim_string *out_realm_string)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__kim__types__reference.html#g40f5fe10ab395bddc34286e0c2ff76eb">kim_error</a> kim_identity_get_realm           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__kim__types__reference.html#gf96cafc394b0d02327b4df8ff669d589">kim_identity</a>&nbsp;</td>
          <td class="paramname"> <em>in_identity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__kim__types__reference.html#geea99aa292876e06003b7480087eecb0">kim_string</a> *&nbsp;</td>
          <td class="paramname"> <em>out_realm_string</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<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#g7e7207329022e97473ec71574e52a1fc" title="Free memory associated with a string.">kim_string_free()</a>. </td></tr>
  </table>
</dl>
<dl class="return" 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 code representing the failure. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g96591cf92e03e823efcd4fc54085ca4d"></a><!-- doxytag: member="kim_identity.h::kim_identity_get_number_of_components" ref="g96591cf92e03e823efcd4fc54085ca4d" args="(kim_identity in_identity, kim_count *out_number_of_components)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__kim__types__reference.html#g40f5fe10ab395bddc34286e0c2ff76eb">kim_error</a> kim_identity_get_number_of_components           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__kim__types__reference.html#gf96cafc394b0d02327b4df8ff669d589">kim_identity</a>&nbsp;</td>
          <td class="paramname"> <em>in_identity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__kim__types__reference.html#g098e3611b2bc3af38b5f06838153165d">kim_count</a> *&nbsp;</td>
          <td class="paramname"> <em>out_number_of_components</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<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 class="return" 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 code representing the failure. </dd></dl>

</div>
</div><p>
<a class="anchor" name="gec46c138cd20035a12586dba59680728"></a><!-- doxytag: member="kim_identity.h::kim_identity_get_component_at_index" ref="gec46c138cd20035a12586dba59680728" args="(kim_identity in_identity, kim_count in_index, kim_string *out_component_string)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__kim__types__reference.html#g40f5fe10ab395bddc34286e0c2ff76eb">kim_error</a> kim_identity_get_component_at_index           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__kim__types__reference.html#gf96cafc394b0d02327b4df8ff669d589">kim_identity</a>&nbsp;</td>
          <td class="paramname"> <em>in_identity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__kim__types__reference.html#g098e3611b2bc3af38b5f06838153165d">kim_count</a>&nbsp;</td>
          <td class="paramname"> <em>in_index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__kim__types__reference.html#geea99aa292876e06003b7480087eecb0">kim_string</a> *&nbsp;</td>
          <td class="paramname"> <em>out_component_string</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<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#g7e7207329022e97473ec71574e52a1fc" title="Free memory associated with a string.">kim_string_free()</a>. </td></tr>
  </table>
</dl>
<dl class="return" 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 code representing the failure. </dd></dl>

</div>
</div><p>
<a class="anchor" name="gaf44da7019777b8b3cc78b7624e26d33"></a><!-- doxytag: member="kim_identity.h::kim_identity_get_components_string" ref="gaf44da7019777b8b3cc78b7624e26d33" args="(kim_identity in_identity, kim_string *out_components)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__kim__types__reference.html#g40f5fe10ab395bddc34286e0c2ff76eb">kim_error</a> kim_identity_get_components_string           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__kim__types__reference.html#gf96cafc394b0d02327b4df8ff669d589">kim_identity</a>&nbsp;</td>
          <td class="paramname"> <em>in_identity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__kim__types__reference.html#geea99aa292876e06003b7480087eecb0">kim_string</a> *&nbsp;</td>
          <td class="paramname"> <em>out_components</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a display string of the non-realm 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_components</em>&nbsp;</td><td>on exit, a string of the non-realm components of <em>in_identity</em> separated by '/' characters. Must be freed with <a class="el" href="group__kim__string__reference.html#g7e7207329022e97473ec71574e52a1fc" title="Free memory associated with a string.">kim_string_free()</a>. </td></tr>
  </table>
</dl>
<dl class="return" 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 code representing the failure. </dd></dl>

</div>
</div><p>
<a class="anchor" name="gd293289334f024dedae5fa59856049d6"></a><!-- doxytag: member="kim_identity.h::kim_identity_get_krb5_principal" ref="gd293289334f024dedae5fa59856049d6" args="(kim_identity in_identity, krb5_context in_krb5_context, krb5_principal *out_krb5_principal)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__kim__types__reference.html#g40f5fe10ab395bddc34286e0c2ff76eb">kim_error</a> kim_identity_get_krb5_principal           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__kim__types__reference.html#gf96cafc394b0d02327b4df8ff669d589">kim_identity</a>&nbsp;</td>
          <td class="paramname"> <em>in_identity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">krb5_context&nbsp;</td>
          <td class="paramname"> <em>in_krb5_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">krb5_principal *&nbsp;</td>
          <td class="paramname"> <em>out_krb5_principal</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<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 class="return" 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 code representing the failure. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g660c28e70656127c7c723d50414675e8"></a><!-- doxytag: member="kim_identity.h::kim_identity_change_password" ref="g660c28e70656127c7c723d50414675e8" args="(kim_identity in_identity)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__kim__types__reference.html#g40f5fe10ab395bddc34286e0c2ff76eb">kim_error</a> kim_identity_change_password           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__kim__types__reference.html#gf96cafc394b0d02327b4df8ff669d589">kim_identity</a>&nbsp;</td>
          <td class="paramname"> <em>in_identity</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<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>
  </table>
</dl>
<dl class="return" 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 code representing the failure. </dd></dl>
<dl class="note" compact><dt><b>Note:</b></dt><dd><a class="el" href="group__kim__identity__reference.html#g660c28e70656127c7c723d50414675e8" title="Change the password for an identity.">kim_identity_change_password()</a> will acquire a temporary credential to change the password. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g3ae8057f3eb0040330b598645d470411"></a><!-- doxytag: member="kim_identity.h::kim_identity_free" ref="g3ae8057f3eb0040330b598645d470411" args="(kim_identity *io_identity)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kim_identity_free           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__kim__types__reference.html#gf96cafc394b0d02327b4df8ff669d589">kim_identity</a> *&nbsp;</td>
          <td class="paramname"> <em>io_identity</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<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>

</div>
</div><p>
<hr size="1"><address style="text-align: right;"><small>Generated on Mon Nov 3 17:45:44 2008 for Kerberos Identity Management by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
</body>
</html>