xref: /netbsd-src/crypto/external/bsd/heimdal/dist/doc/doxyout/krb5/html/group__krb5__principal.html (revision dd75ac5b443e967e26b4d18cc8cd5eb98512bfbf)
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>Heimdal Kerberos 5 principal functions</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<p>
8<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
9</p>
10<!-- end of header marker -->
11<!-- Generated by Doxygen 1.9.1 -->
12<script type="text/javascript" src="menudata.js"></script>
13<script type="text/javascript" src="menu.js"></script>
14<script type="text/javascript">
15/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
16$(function() {
17  initMenu('',false,false,'search.php','Search');
18});
19/* @license-end */</script>
20<div id="main-nav"></div>
21</div><!-- top -->
22<div class="header">
23  <div class="summary">
24<a href="#func-members">Functions</a>  </div>
25  <div class="headertitle">
26<div class="title">Heimdal Kerberos 5 principal functions</div>  </div>
27</div><!--header-->
28<div class="contents">
29<table class="memberdecls">
30<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
31Functions</h2></td></tr>
32<tr class="memitem:ga5bd3f620ebe8cd4fe44b5c858ba17d22"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga5bd3f620ebe8cd4fe44b5c858ba17d22">krb5_free_principal</a> (krb5_context context, krb5_principal p)</td></tr>
33<tr class="separator:ga5bd3f620ebe8cd4fe44b5c858ba17d22"><td class="memSeparator" colspan="2">&#160;</td></tr>
34<tr class="memitem:ga28b750b990452f02922bc74a6cac0313"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga28b750b990452f02922bc74a6cac0313">krb5_principal_set_type</a> (krb5_context context, krb5_principal principal, int type)</td></tr>
35<tr class="separator:ga28b750b990452f02922bc74a6cac0313"><td class="memSeparator" colspan="2">&#160;</td></tr>
36<tr class="memitem:gaf4a599c42592ff7485753e80b8de67b7"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION int KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gaf4a599c42592ff7485753e80b8de67b7">krb5_principal_get_type</a> (krb5_context context, krb5_const_principal principal)</td></tr>
37<tr class="separator:gaf4a599c42592ff7485753e80b8de67b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
38<tr class="memitem:gaccd23426798cf776a96c23a455576362"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION const char *KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gaccd23426798cf776a96c23a455576362">krb5_principal_get_realm</a> (krb5_context context, krb5_const_principal principal)</td></tr>
39<tr class="separator:gaccd23426798cf776a96c23a455576362"><td class="memSeparator" colspan="2">&#160;</td></tr>
40<tr class="memitem:ga0138febd5414ace4835d3af78694833c"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION unsigned int KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga0138febd5414ace4835d3af78694833c">krb5_principal_get_num_comp</a> (krb5_context context, krb5_const_principal principal)</td></tr>
41<tr class="separator:ga0138febd5414ace4835d3af78694833c"><td class="memSeparator" colspan="2">&#160;</td></tr>
42<tr class="memitem:ga1f1c6a19e7ccffb3284545ed3c12b827"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga1f1c6a19e7ccffb3284545ed3c12b827">krb5_parse_name_flags</a> (krb5_context context, const char *name, int flags, krb5_principal *principal)</td></tr>
43<tr class="separator:ga1f1c6a19e7ccffb3284545ed3c12b827"><td class="memSeparator" colspan="2">&#160;</td></tr>
44<tr class="memitem:gaf0b0da913ab93d6e2577c0ccf4631f24"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gaf0b0da913ab93d6e2577c0ccf4631f24">krb5_parse_name</a> (krb5_context context, const char *name, krb5_principal *principal)</td></tr>
45<tr class="separator:gaf0b0da913ab93d6e2577c0ccf4631f24"><td class="memSeparator" colspan="2">&#160;</td></tr>
46<tr class="memitem:ga6f173badfb37ad41fdab6db77bde7689"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga6f173badfb37ad41fdab6db77bde7689">krb5_unparse_name_fixed</a> (krb5_context context, krb5_const_principal principal, char *name, size_t len)</td></tr>
47<tr class="separator:ga6f173badfb37ad41fdab6db77bde7689"><td class="memSeparator" colspan="2">&#160;</td></tr>
48<tr class="memitem:gacebe44e0685fc7b6c89a53eca71e7d24"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gacebe44e0685fc7b6c89a53eca71e7d24">krb5_unparse_name_fixed_short</a> (krb5_context context, krb5_const_principal principal, char *name, size_t len)</td></tr>
49<tr class="separator:gacebe44e0685fc7b6c89a53eca71e7d24"><td class="memSeparator" colspan="2">&#160;</td></tr>
50<tr class="memitem:gad9ba42e18d79aa27458338967b66693f"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gad9ba42e18d79aa27458338967b66693f">krb5_unparse_name_fixed_flags</a> (krb5_context context, krb5_const_principal principal, int flags, char *name, size_t len)</td></tr>
51<tr class="separator:gad9ba42e18d79aa27458338967b66693f"><td class="memSeparator" colspan="2">&#160;</td></tr>
52<tr class="memitem:gaac881051ed59fe0dcd08cee62280b332"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gaac881051ed59fe0dcd08cee62280b332">krb5_unparse_name</a> (krb5_context context, krb5_const_principal principal, char **name)</td></tr>
53<tr class="separator:gaac881051ed59fe0dcd08cee62280b332"><td class="memSeparator" colspan="2">&#160;</td></tr>
54<tr class="memitem:gad46122cd0e543b6c1219abb8730378e7"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gad46122cd0e543b6c1219abb8730378e7">krb5_unparse_name_flags</a> (krb5_context context, krb5_const_principal principal, int flags, char **name)</td></tr>
55<tr class="separator:gad46122cd0e543b6c1219abb8730378e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
56<tr class="memitem:ga600247895edbde37e195c8b2089295a3"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga600247895edbde37e195c8b2089295a3">krb5_unparse_name_short</a> (krb5_context context, krb5_const_principal principal, char **name)</td></tr>
57<tr class="separator:ga600247895edbde37e195c8b2089295a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
58<tr class="memitem:gaaacf06babb00b391f35a8468a0ec96f9"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gaaacf06babb00b391f35a8468a0ec96f9">krb5_principal_set_realm</a> (krb5_context context, krb5_principal principal, krb5_const_realm realm)</td></tr>
59<tr class="separator:gaaacf06babb00b391f35a8468a0ec96f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
60<tr class="memitem:gab22638ec4ccdb648366653426708c1c5"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gab22638ec4ccdb648366653426708c1c5">krb5_build_principal</a> (krb5_context context, krb5_principal *principal, int rlen, krb5_const_realm realm,...)</td></tr>
61<tr class="separator:gab22638ec4ccdb648366653426708c1c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
62<tr class="memitem:gae744b61285c2ed08317e6c7cc433dd48"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gae744b61285c2ed08317e6c7cc433dd48">krb5_make_principal</a> (krb5_context context, krb5_principal *principal, krb5_const_realm realm,...)</td></tr>
63<tr class="separator:gae744b61285c2ed08317e6c7cc433dd48"><td class="memSeparator" colspan="2">&#160;</td></tr>
64<tr class="memitem:gaf8405ffca469a2fd936eb109cb3d9b16"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gaf8405ffca469a2fd936eb109cb3d9b16">krb5_copy_principal</a> (krb5_context context, krb5_const_principal inprinc, krb5_principal *outprinc)</td></tr>
65<tr class="separator:gaf8405ffca469a2fd936eb109cb3d9b16"><td class="memSeparator" colspan="2">&#160;</td></tr>
66<tr class="memitem:ga3c49cc0c1dac96d31a91aa263d8cdb4a"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga3c49cc0c1dac96d31a91aa263d8cdb4a">krb5_principal_compare_any_realm</a> (krb5_context context, krb5_const_principal princ1, krb5_const_principal princ2)</td></tr>
67<tr class="separator:ga3c49cc0c1dac96d31a91aa263d8cdb4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
68<tr class="memitem:ga13c84ce37f704c99353888eb03a19ea6"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga13c84ce37f704c99353888eb03a19ea6">krb5_principal_compare</a> (krb5_context context, krb5_const_principal princ1, krb5_const_principal princ2)</td></tr>
69<tr class="separator:ga13c84ce37f704c99353888eb03a19ea6"><td class="memSeparator" colspan="2">&#160;</td></tr>
70<tr class="memitem:ga15abb49ce86457827a66f4ddfdd5b60c"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga15abb49ce86457827a66f4ddfdd5b60c">krb5_realm_compare</a> (krb5_context context, krb5_const_principal princ1, krb5_const_principal princ2)</td></tr>
71<tr class="separator:ga15abb49ce86457827a66f4ddfdd5b60c"><td class="memSeparator" colspan="2">&#160;</td></tr>
72<tr class="memitem:ga6cf45d0f9cb4b0bf3b6ef574d9e5cc6a"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga6cf45d0f9cb4b0bf3b6ef574d9e5cc6a">krb5_principal_match</a> (krb5_context context, krb5_const_principal princ, krb5_const_principal pattern)</td></tr>
73<tr class="separator:ga6cf45d0f9cb4b0bf3b6ef574d9e5cc6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
74<tr class="memitem:gab044a3dca038ef4c61779cf1d0dc1e87"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gab044a3dca038ef4c61779cf1d0dc1e87">krb5_parse_nametype</a> (krb5_context context, const char *str, int32_t *nametype)</td></tr>
75<tr class="separator:gab044a3dca038ef4c61779cf1d0dc1e87"><td class="memSeparator" colspan="2">&#160;</td></tr>
76<tr class="memitem:ga2760addfecb90af894f6e70999afdf5c"><td class="memItemLeft" align="right" valign="top">krb5_boolean KRB5_LIB_FUNCTION&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga2760addfecb90af894f6e70999afdf5c">krb5_principal_is_null</a> (krb5_context context, krb5_const_principal principal)</td></tr>
77<tr class="separator:ga2760addfecb90af894f6e70999afdf5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
78<tr class="memitem:gad129661d63fc3478459495cff16c031c"><td class="memItemLeft" align="right" valign="top">krb5_boolean KRB5_LIB_FUNCTION&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gad129661d63fc3478459495cff16c031c">krb5_realm_is_lkdc</a> (const char *realm)</td></tr>
79<tr class="separator:gad129661d63fc3478459495cff16c031c"><td class="memSeparator" colspan="2">&#160;</td></tr>
80<tr class="memitem:gad0ddef8f28bd6d3def810d38c3d41e86"><td class="memItemLeft" align="right" valign="top">krb5_boolean KRB5_LIB_FUNCTION&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gad0ddef8f28bd6d3def810d38c3d41e86">krb5_principal_is_lkdc</a> (krb5_context context, krb5_const_principal principal)</td></tr>
81<tr class="separator:gad0ddef8f28bd6d3def810d38c3d41e86"><td class="memSeparator" colspan="2">&#160;</td></tr>
82<tr class="memitem:ga8875768ac0bf48fa7dd2673696b1a9cc"><td class="memItemLeft" align="right" valign="top">krb5_boolean KRB5_LIB_FUNCTION&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga8875768ac0bf48fa7dd2673696b1a9cc">krb5_principal_is_pku2u</a> (krb5_context context, krb5_const_principal principal)</td></tr>
83<tr class="separator:ga8875768ac0bf48fa7dd2673696b1a9cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
84<tr class="memitem:ga9b24f6db481f24b86a93702eaa2755fc"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga9b24f6db481f24b86a93702eaa2755fc">krb5_principal_is_krbtgt</a> (krb5_context context, krb5_const_principal p)</td></tr>
85<tr class="separator:ga9b24f6db481f24b86a93702eaa2755fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
86<tr class="memitem:gac02e16cbed909d4535fd030b5651c978"><td class="memItemLeft" align="right" valign="top">krb5_boolean KRB5_LIB_FUNCTION&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gac02e16cbed909d4535fd030b5651c978">krb5_principal_is_gss_hostbased_service</a> (krb5_context context, krb5_const_principal principal)</td></tr>
87<tr class="separator:gac02e16cbed909d4535fd030b5651c978"><td class="memSeparator" colspan="2">&#160;</td></tr>
88<tr class="memitem:ga2c4425068eb189d876e4e0747636f628"><td class="memItemLeft" align="right" valign="top">krb5_boolean KRB5_LIB_FUNCTION&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga2c4425068eb189d876e4e0747636f628">krb5_principal_is_root_krbtgt</a> (krb5_context context, krb5_const_principal p)</td></tr>
89<tr class="separator:ga2c4425068eb189d876e4e0747636f628"><td class="memSeparator" colspan="2">&#160;</td></tr>
90<tr class="memitem:ga2e7740d323d81838d5e00dfd4bf408ff"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga2e7740d323d81838d5e00dfd4bf408ff">krb5_principal_is_anonymous</a> (krb5_context context, krb5_const_principal p, unsigned int flags)</td></tr>
91<tr class="separator:ga2e7740d323d81838d5e00dfd4bf408ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
92<tr class="memitem:ga8be0f5000da6ee0d4bd5dcaf3cb01d08"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga8be0f5000da6ee0d4bd5dcaf3cb01d08">krb5_sname_to_principal</a> (krb5_context context, const char *hostname, const char *sname, int32_t type, krb5_principal *ret_princ)</td></tr>
93<tr class="separator:ga8be0f5000da6ee0d4bd5dcaf3cb01d08"><td class="memSeparator" colspan="2">&#160;</td></tr>
94</table>
95<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
96<h2 class="groupheader">Function Documentation</h2>
97<a id="gab22638ec4ccdb648366653426708c1c5"></a>
98<h2 class="memtitle"><span class="permalink"><a href="#gab22638ec4ccdb648366653426708c1c5">&#9670;&nbsp;</a></span>krb5_build_principal()</h2>
99
100<div class="memitem">
101<div class="memproto">
102      <table class="memname">
103        <tr>
104          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_build_principal </td>
105          <td>(</td>
106          <td class="paramtype">krb5_context&#160;</td>
107          <td class="paramname"><em>context</em>, </td>
108        </tr>
109        <tr>
110          <td class="paramkey"></td>
111          <td></td>
112          <td class="paramtype">krb5_principal *&#160;</td>
113          <td class="paramname"><em>principal</em>, </td>
114        </tr>
115        <tr>
116          <td class="paramkey"></td>
117          <td></td>
118          <td class="paramtype">int&#160;</td>
119          <td class="paramname"><em>rlen</em>, </td>
120        </tr>
121        <tr>
122          <td class="paramkey"></td>
123          <td></td>
124          <td class="paramtype">krb5_const_realm&#160;</td>
125          <td class="paramname"><em>realm</em>, </td>
126        </tr>
127        <tr>
128          <td class="paramkey"></td>
129          <td></td>
130          <td class="paramtype">&#160;</td>
131          <td class="paramname"><em>...</em>&#160;</td>
132        </tr>
133        <tr>
134          <td></td>
135          <td>)</td>
136          <td></td><td></td>
137        </tr>
138      </table>
139</div><div class="memdoc">
140<p>Build a principal using vararg style building</p>
141<dl class="params"><dt>Parameters</dt><dd>
142  <table class="params">
143    <tr><td class="paramname">context</td><td>A Kerberos context. </td></tr>
144    <tr><td class="paramname">principal</td><td>returned principal </td></tr>
145    <tr><td class="paramname">rlen</td><td>length of realm </td></tr>
146    <tr><td class="paramname">realm</td><td>realm name </td></tr>
147    <tr><td class="paramname">...</td><td>a list of components ended with NULL.</td></tr>
148  </table>
149  </dd>
150</dl>
151<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl>
152
153</div>
154</div>
155<a id="gaf8405ffca469a2fd936eb109cb3d9b16"></a>
156<h2 class="memtitle"><span class="permalink"><a href="#gaf8405ffca469a2fd936eb109cb3d9b16">&#9670;&nbsp;</a></span>krb5_copy_principal()</h2>
157
158<div class="memitem">
159<div class="memproto">
160      <table class="memname">
161        <tr>
162          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_principal </td>
163          <td>(</td>
164          <td class="paramtype">krb5_context&#160;</td>
165          <td class="paramname"><em>context</em>, </td>
166        </tr>
167        <tr>
168          <td class="paramkey"></td>
169          <td></td>
170          <td class="paramtype">krb5_const_principal&#160;</td>
171          <td class="paramname"><em>inprinc</em>, </td>
172        </tr>
173        <tr>
174          <td class="paramkey"></td>
175          <td></td>
176          <td class="paramtype">krb5_principal *&#160;</td>
177          <td class="paramname"><em>outprinc</em>&#160;</td>
178        </tr>
179        <tr>
180          <td></td>
181          <td>)</td>
182          <td></td><td></td>
183        </tr>
184      </table>
185</div><div class="memdoc">
186<p>Copy a principal</p>
187<dl class="params"><dt>Parameters</dt><dd>
188  <table class="params">
189    <tr><td class="paramname">context</td><td>A Kerberos context. </td></tr>
190    <tr><td class="paramname">inprinc</td><td>principal to copy </td></tr>
191    <tr><td class="paramname">outprinc</td><td>copied principal, free with <a class="el" href="group__krb5__principal.html#ga5bd3f620ebe8cd4fe44b5c858ba17d22">krb5_free_principal()</a></td></tr>
192  </table>
193  </dd>
194</dl>
195<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl>
196
197</div>
198</div>
199<a id="ga5bd3f620ebe8cd4fe44b5c858ba17d22"></a>
200<h2 class="memtitle"><span class="permalink"><a href="#ga5bd3f620ebe8cd4fe44b5c858ba17d22">&#9670;&nbsp;</a></span>krb5_free_principal()</h2>
201
202<div class="memitem">
203<div class="memproto">
204      <table class="memname">
205        <tr>
206          <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_free_principal </td>
207          <td>(</td>
208          <td class="paramtype">krb5_context&#160;</td>
209          <td class="paramname"><em>context</em>, </td>
210        </tr>
211        <tr>
212          <td class="paramkey"></td>
213          <td></td>
214          <td class="paramtype">krb5_principal&#160;</td>
215          <td class="paramname"><em>p</em>&#160;</td>
216        </tr>
217        <tr>
218          <td></td>
219          <td>)</td>
220          <td></td><td></td>
221        </tr>
222      </table>
223</div><div class="memdoc">
224<p>Frees a Kerberos principal allocated by the library with <a class="el" href="group__krb5__principal.html#gaf0b0da913ab93d6e2577c0ccf4631f24">krb5_parse_name()</a>, <a class="el" href="group__krb5__principal.html#gae744b61285c2ed08317e6c7cc433dd48">krb5_make_principal()</a> or any other related principal functions.</p>
225<dl class="params"><dt>Parameters</dt><dd>
226  <table class="params">
227    <tr><td class="paramname">context</td><td>A Kerberos context. </td></tr>
228    <tr><td class="paramname">p</td><td>a principal to free.</td></tr>
229  </table>
230  </dd>
231</dl>
232<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl>
233
234</div>
235</div>
236<a id="gae744b61285c2ed08317e6c7cc433dd48"></a>
237<h2 class="memtitle"><span class="permalink"><a href="#gae744b61285c2ed08317e6c7cc433dd48">&#9670;&nbsp;</a></span>krb5_make_principal()</h2>
238
239<div class="memitem">
240<div class="memproto">
241      <table class="memname">
242        <tr>
243          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_make_principal </td>
244          <td>(</td>
245          <td class="paramtype">krb5_context&#160;</td>
246          <td class="paramname"><em>context</em>, </td>
247        </tr>
248        <tr>
249          <td class="paramkey"></td>
250          <td></td>
251          <td class="paramtype">krb5_principal *&#160;</td>
252          <td class="paramname"><em>principal</em>, </td>
253        </tr>
254        <tr>
255          <td class="paramkey"></td>
256          <td></td>
257          <td class="paramtype">krb5_const_realm&#160;</td>
258          <td class="paramname"><em>realm</em>, </td>
259        </tr>
260        <tr>
261          <td class="paramkey"></td>
262          <td></td>
263          <td class="paramtype">&#160;</td>
264          <td class="paramname"><em>...</em>&#160;</td>
265        </tr>
266        <tr>
267          <td></td>
268          <td>)</td>
269          <td></td><td></td>
270        </tr>
271      </table>
272</div><div class="memdoc">
273<p>Build a principal using vararg style building</p>
274<dl class="params"><dt>Parameters</dt><dd>
275  <table class="params">
276    <tr><td class="paramname">context</td><td>A Kerberos context. </td></tr>
277    <tr><td class="paramname">principal</td><td>returned principal </td></tr>
278    <tr><td class="paramname">realm</td><td>realm name </td></tr>
279    <tr><td class="paramname">...</td><td>a list of components ended with NULL.</td></tr>
280  </table>
281  </dd>
282</dl>
283<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl>
284
285</div>
286</div>
287<a id="gaf0b0da913ab93d6e2577c0ccf4631f24"></a>
288<h2 class="memtitle"><span class="permalink"><a href="#gaf0b0da913ab93d6e2577c0ccf4631f24">&#9670;&nbsp;</a></span>krb5_parse_name()</h2>
289
290<div class="memitem">
291<div class="memproto">
292      <table class="memname">
293        <tr>
294          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_parse_name </td>
295          <td>(</td>
296          <td class="paramtype">krb5_context&#160;</td>
297          <td class="paramname"><em>context</em>, </td>
298        </tr>
299        <tr>
300          <td class="paramkey"></td>
301          <td></td>
302          <td class="paramtype">const char *&#160;</td>
303          <td class="paramname"><em>name</em>, </td>
304        </tr>
305        <tr>
306          <td class="paramkey"></td>
307          <td></td>
308          <td class="paramtype">krb5_principal *&#160;</td>
309          <td class="paramname"><em>principal</em>&#160;</td>
310        </tr>
311        <tr>
312          <td></td>
313          <td>)</td>
314          <td></td><td></td>
315        </tr>
316      </table>
317</div><div class="memdoc">
318<p>Parse a name into a krb5_principal structure</p>
319<dl class="params"><dt>Parameters</dt><dd>
320  <table class="params">
321    <tr><td class="paramname">context</td><td>Kerberos 5 context </td></tr>
322    <tr><td class="paramname">name</td><td>name to parse into a Kerberos principal </td></tr>
323    <tr><td class="paramname">principal</td><td>returned principal, free with <a class="el" href="group__krb5__principal.html#ga5bd3f620ebe8cd4fe44b5c858ba17d22">krb5_free_principal()</a>.</td></tr>
324  </table>
325  </dd>
326</dl>
327<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl>
328
329</div>
330</div>
331<a id="ga1f1c6a19e7ccffb3284545ed3c12b827"></a>
332<h2 class="memtitle"><span class="permalink"><a href="#ga1f1c6a19e7ccffb3284545ed3c12b827">&#9670;&nbsp;</a></span>krb5_parse_name_flags()</h2>
333
334<div class="memitem">
335<div class="memproto">
336      <table class="memname">
337        <tr>
338          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_parse_name_flags </td>
339          <td>(</td>
340          <td class="paramtype">krb5_context&#160;</td>
341          <td class="paramname"><em>context</em>, </td>
342        </tr>
343        <tr>
344          <td class="paramkey"></td>
345          <td></td>
346          <td class="paramtype">const char *&#160;</td>
347          <td class="paramname"><em>name</em>, </td>
348        </tr>
349        <tr>
350          <td class="paramkey"></td>
351          <td></td>
352          <td class="paramtype">int&#160;</td>
353          <td class="paramname"><em>flags</em>, </td>
354        </tr>
355        <tr>
356          <td class="paramkey"></td>
357          <td></td>
358          <td class="paramtype">krb5_principal *&#160;</td>
359          <td class="paramname"><em>principal</em>&#160;</td>
360        </tr>
361        <tr>
362          <td></td>
363          <td>)</td>
364          <td></td><td></td>
365        </tr>
366      </table>
367</div><div class="memdoc">
368<p>Parse a name into a krb5_principal structure, flags controls the behavior.</p>
369<dl class="params"><dt>Parameters</dt><dd>
370  <table class="params">
371    <tr><td class="paramname">context</td><td>Kerberos 5 context </td></tr>
372    <tr><td class="paramname">name</td><td>name to parse into a Kerberos principal </td></tr>
373    <tr><td class="paramname">flags</td><td>flags to control the behavior </td></tr>
374    <tr><td class="paramname">principal</td><td>returned principal, free with <a class="el" href="group__krb5__principal.html#ga5bd3f620ebe8cd4fe44b5c858ba17d22">krb5_free_principal()</a>.</td></tr>
375  </table>
376  </dd>
377</dl>
378<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl>
379
380</div>
381</div>
382<a id="gab044a3dca038ef4c61779cf1d0dc1e87"></a>
383<h2 class="memtitle"><span class="permalink"><a href="#gab044a3dca038ef4c61779cf1d0dc1e87">&#9670;&nbsp;</a></span>krb5_parse_nametype()</h2>
384
385<div class="memitem">
386<div class="memproto">
387      <table class="memname">
388        <tr>
389          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_parse_nametype </td>
390          <td>(</td>
391          <td class="paramtype">krb5_context&#160;</td>
392          <td class="paramname"><em>context</em>, </td>
393        </tr>
394        <tr>
395          <td class="paramkey"></td>
396          <td></td>
397          <td class="paramtype">const char *&#160;</td>
398          <td class="paramname"><em>str</em>, </td>
399        </tr>
400        <tr>
401          <td class="paramkey"></td>
402          <td></td>
403          <td class="paramtype">int32_t *&#160;</td>
404          <td class="paramname"><em>nametype</em>&#160;</td>
405        </tr>
406        <tr>
407          <td></td>
408          <td>)</td>
409          <td></td><td></td>
410        </tr>
411      </table>
412</div><div class="memdoc">
413<p>Parse nametype string and return a nametype integer </p>
414
415</div>
416</div>
417<a id="ga13c84ce37f704c99353888eb03a19ea6"></a>
418<h2 class="memtitle"><span class="permalink"><a href="#ga13c84ce37f704c99353888eb03a19ea6">&#9670;&nbsp;</a></span>krb5_principal_compare()</h2>
419
420<div class="memitem">
421<div class="memproto">
422      <table class="memname">
423        <tr>
424          <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_principal_compare </td>
425          <td>(</td>
426          <td class="paramtype">krb5_context&#160;</td>
427          <td class="paramname"><em>context</em>, </td>
428        </tr>
429        <tr>
430          <td class="paramkey"></td>
431          <td></td>
432          <td class="paramtype">krb5_const_principal&#160;</td>
433          <td class="paramname"><em>princ1</em>, </td>
434        </tr>
435        <tr>
436          <td class="paramkey"></td>
437          <td></td>
438          <td class="paramtype">krb5_const_principal&#160;</td>
439          <td class="paramname"><em>princ2</em>&#160;</td>
440        </tr>
441        <tr>
442          <td></td>
443          <td>)</td>
444          <td></td><td></td>
445        </tr>
446      </table>
447</div><div class="memdoc">
448<p>Compares the two principals, including realm of the principals and returns TRUE if they are the same and FALSE if not.</p>
449<dl class="params"><dt>Parameters</dt><dd>
450  <table class="params">
451    <tr><td class="paramname">context</td><td>Kerberos 5 context </td></tr>
452    <tr><td class="paramname">princ1</td><td>first principal to compare </td></tr>
453    <tr><td class="paramname">princ2</td><td>second principal to compare</td></tr>
454  </table>
455  </dd>
456</dl>
457<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__krb5__principal.html#ga3c49cc0c1dac96d31a91aa263d8cdb4a">krb5_principal_compare_any_realm()</a> </dd>
458<dd>
459<a class="el" href="group__krb5__principal.html#ga15abb49ce86457827a66f4ddfdd5b60c">krb5_realm_compare()</a> </dd></dl>
460
461</div>
462</div>
463<a id="ga3c49cc0c1dac96d31a91aa263d8cdb4a"></a>
464<h2 class="memtitle"><span class="permalink"><a href="#ga3c49cc0c1dac96d31a91aa263d8cdb4a">&#9670;&nbsp;</a></span>krb5_principal_compare_any_realm()</h2>
465
466<div class="memitem">
467<div class="memproto">
468      <table class="memname">
469        <tr>
470          <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_principal_compare_any_realm </td>
471          <td>(</td>
472          <td class="paramtype">krb5_context&#160;</td>
473          <td class="paramname"><em>context</em>, </td>
474        </tr>
475        <tr>
476          <td class="paramkey"></td>
477          <td></td>
478          <td class="paramtype">krb5_const_principal&#160;</td>
479          <td class="paramname"><em>princ1</em>, </td>
480        </tr>
481        <tr>
482          <td class="paramkey"></td>
483          <td></td>
484          <td class="paramtype">krb5_const_principal&#160;</td>
485          <td class="paramname"><em>princ2</em>&#160;</td>
486        </tr>
487        <tr>
488          <td></td>
489          <td>)</td>
490          <td></td><td></td>
491        </tr>
492      </table>
493</div><div class="memdoc">
494<p>Return TRUE iff princ1 == princ2 (without considering the realm)</p>
495<dl class="params"><dt>Parameters</dt><dd>
496  <table class="params">
497    <tr><td class="paramname">context</td><td>Kerberos 5 context </td></tr>
498    <tr><td class="paramname">princ1</td><td>first principal to compare </td></tr>
499    <tr><td class="paramname">princ2</td><td>second principal to compare</td></tr>
500  </table>
501  </dd>
502</dl>
503<dl class="section return"><dt>Returns</dt><dd>non zero if equal, 0 if not</dd></dl>
504<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__krb5__principal.html#ga13c84ce37f704c99353888eb03a19ea6">krb5_principal_compare()</a> </dd>
505<dd>
506<a class="el" href="group__krb5__principal.html#ga15abb49ce86457827a66f4ddfdd5b60c">krb5_realm_compare()</a> </dd></dl>
507
508</div>
509</div>
510<a id="ga0138febd5414ace4835d3af78694833c"></a>
511<h2 class="memtitle"><span class="permalink"><a href="#ga0138febd5414ace4835d3af78694833c">&#9670;&nbsp;</a></span>krb5_principal_get_num_comp()</h2>
512
513<div class="memitem">
514<div class="memproto">
515      <table class="memname">
516        <tr>
517          <td class="memname">KRB5_LIB_FUNCTION unsigned int KRB5_LIB_CALL krb5_principal_get_num_comp </td>
518          <td>(</td>
519          <td class="paramtype">krb5_context&#160;</td>
520          <td class="paramname"><em>context</em>, </td>
521        </tr>
522        <tr>
523          <td class="paramkey"></td>
524          <td></td>
525          <td class="paramtype">krb5_const_principal&#160;</td>
526          <td class="paramname"><em>principal</em>&#160;</td>
527        </tr>
528        <tr>
529          <td></td>
530          <td>)</td>
531          <td></td><td></td>
532        </tr>
533      </table>
534</div><div class="memdoc">
535<p>Get number of component is principal.</p>
536<dl class="params"><dt>Parameters</dt><dd>
537  <table class="params">
538    <tr><td class="paramname">context</td><td>Kerberos 5 context </td></tr>
539    <tr><td class="paramname">principal</td><td>principal to query</td></tr>
540  </table>
541  </dd>
542</dl>
543<dl class="section return"><dt>Returns</dt><dd>number of components in string </dd></dl>
544
545</div>
546</div>
547<a id="gaccd23426798cf776a96c23a455576362"></a>
548<h2 class="memtitle"><span class="permalink"><a href="#gaccd23426798cf776a96c23a455576362">&#9670;&nbsp;</a></span>krb5_principal_get_realm()</h2>
549
550<div class="memitem">
551<div class="memproto">
552      <table class="memname">
553        <tr>
554          <td class="memname">KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_principal_get_realm </td>
555          <td>(</td>
556          <td class="paramtype">krb5_context&#160;</td>
557          <td class="paramname"><em>context</em>, </td>
558        </tr>
559        <tr>
560          <td class="paramkey"></td>
561          <td></td>
562          <td class="paramtype">krb5_const_principal&#160;</td>
563          <td class="paramname"><em>principal</em>&#160;</td>
564        </tr>
565        <tr>
566          <td></td>
567          <td>)</td>
568          <td></td><td></td>
569        </tr>
570      </table>
571</div><div class="memdoc">
572<p>Get the realm of the principal</p>
573<dl class="params"><dt>Parameters</dt><dd>
574  <table class="params">
575    <tr><td class="paramname">context</td><td>A Kerberos context. </td></tr>
576    <tr><td class="paramname">principal</td><td>principal to get the realm for</td></tr>
577  </table>
578  </dd>
579</dl>
580<dl class="section return"><dt>Returns</dt><dd>realm of the principal, don't free or use after krb5_principal is freed </dd></dl>
581
582</div>
583</div>
584<a id="gaf4a599c42592ff7485753e80b8de67b7"></a>
585<h2 class="memtitle"><span class="permalink"><a href="#gaf4a599c42592ff7485753e80b8de67b7">&#9670;&nbsp;</a></span>krb5_principal_get_type()</h2>
586
587<div class="memitem">
588<div class="memproto">
589      <table class="memname">
590        <tr>
591          <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_principal_get_type </td>
592          <td>(</td>
593          <td class="paramtype">krb5_context&#160;</td>
594          <td class="paramname"><em>context</em>, </td>
595        </tr>
596        <tr>
597          <td class="paramkey"></td>
598          <td></td>
599          <td class="paramtype">krb5_const_principal&#160;</td>
600          <td class="paramname"><em>principal</em>&#160;</td>
601        </tr>
602        <tr>
603          <td></td>
604          <td>)</td>
605          <td></td><td></td>
606        </tr>
607      </table>
608</div><div class="memdoc">
609<p>Get the type of the principal</p>
610<dl class="params"><dt>Parameters</dt><dd>
611  <table class="params">
612    <tr><td class="paramname">context</td><td>A Kerberos context. </td></tr>
613    <tr><td class="paramname">principal</td><td>principal to get the type for</td></tr>
614  </table>
615  </dd>
616</dl>
617<dl class="section return"><dt>Returns</dt><dd>the type of principal </dd></dl>
618
619</div>
620</div>
621<a id="ga2e7740d323d81838d5e00dfd4bf408ff"></a>
622<h2 class="memtitle"><span class="permalink"><a href="#ga2e7740d323d81838d5e00dfd4bf408ff">&#9670;&nbsp;</a></span>krb5_principal_is_anonymous()</h2>
623
624<div class="memitem">
625<div class="memproto">
626      <table class="memname">
627        <tr>
628          <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_principal_is_anonymous </td>
629          <td>(</td>
630          <td class="paramtype">krb5_context&#160;</td>
631          <td class="paramname"><em>context</em>, </td>
632        </tr>
633        <tr>
634          <td class="paramkey"></td>
635          <td></td>
636          <td class="paramtype">krb5_const_principal&#160;</td>
637          <td class="paramname"><em>p</em>, </td>
638        </tr>
639        <tr>
640          <td class="paramkey"></td>
641          <td></td>
642          <td class="paramtype">unsigned int&#160;</td>
643          <td class="paramname"><em>flags</em>&#160;</td>
644        </tr>
645        <tr>
646          <td></td>
647          <td>)</td>
648          <td></td><td></td>
649        </tr>
650      </table>
651</div><div class="memdoc">
652<p>Returns true iff name is WELLKNOWN/ANONYMOUS </p>
653
654</div>
655</div>
656<a id="gac02e16cbed909d4535fd030b5651c978"></a>
657<h2 class="memtitle"><span class="permalink"><a href="#gac02e16cbed909d4535fd030b5651c978">&#9670;&nbsp;</a></span>krb5_principal_is_gss_hostbased_service()</h2>
658
659<div class="memitem">
660<div class="memproto">
661      <table class="memname">
662        <tr>
663          <td class="memname">krb5_boolean KRB5_LIB_FUNCTION krb5_principal_is_gss_hostbased_service </td>
664          <td>(</td>
665          <td class="paramtype">krb5_context&#160;</td>
666          <td class="paramname"><em>context</em>, </td>
667        </tr>
668        <tr>
669          <td class="paramkey"></td>
670          <td></td>
671          <td class="paramtype">krb5_const_principal&#160;</td>
672          <td class="paramname"><em>principal</em>&#160;</td>
673        </tr>
674        <tr>
675          <td></td>
676          <td>)</td>
677          <td></td><td></td>
678        </tr>
679      </table>
680</div><div class="memdoc">
681<p>Returns true iff name is an WELLKNOWN:ORG.H5L.HOSTBASED-SERVICE </p>
682
683</div>
684</div>
685<a id="ga9b24f6db481f24b86a93702eaa2755fc"></a>
686<h2 class="memtitle"><span class="permalink"><a href="#ga9b24f6db481f24b86a93702eaa2755fc">&#9670;&nbsp;</a></span>krb5_principal_is_krbtgt()</h2>
687
688<div class="memitem">
689<div class="memproto">
690      <table class="memname">
691        <tr>
692          <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_principal_is_krbtgt </td>
693          <td>(</td>
694          <td class="paramtype">krb5_context&#160;</td>
695          <td class="paramname"><em>context</em>, </td>
696        </tr>
697        <tr>
698          <td class="paramkey"></td>
699          <td></td>
700          <td class="paramtype">krb5_const_principal&#160;</td>
701          <td class="paramname"><em>p</em>&#160;</td>
702        </tr>
703        <tr>
704          <td></td>
705          <td>)</td>
706          <td></td><td></td>
707        </tr>
708      </table>
709</div><div class="memdoc">
710<p>Check if the cname part of the principal is a krbtgt principal </p>
711
712</div>
713</div>
714<a id="gad0ddef8f28bd6d3def810d38c3d41e86"></a>
715<h2 class="memtitle"><span class="permalink"><a href="#gad0ddef8f28bd6d3def810d38c3d41e86">&#9670;&nbsp;</a></span>krb5_principal_is_lkdc()</h2>
716
717<div class="memitem">
718<div class="memproto">
719      <table class="memname">
720        <tr>
721          <td class="memname">krb5_boolean KRB5_LIB_FUNCTION krb5_principal_is_lkdc </td>
722          <td>(</td>
723          <td class="paramtype">krb5_context&#160;</td>
724          <td class="paramname"><em>context</em>, </td>
725        </tr>
726        <tr>
727          <td class="paramkey"></td>
728          <td></td>
729          <td class="paramtype">krb5_const_principal&#160;</td>
730          <td class="paramname"><em>principal</em>&#160;</td>
731        </tr>
732        <tr>
733          <td></td>
734          <td>)</td>
735          <td></td><td></td>
736        </tr>
737      </table>
738</div><div class="memdoc">
739<p>Returns true if name is Kerberos an LKDC realm </p>
740
741</div>
742</div>
743<a id="ga2760addfecb90af894f6e70999afdf5c"></a>
744<h2 class="memtitle"><span class="permalink"><a href="#ga2760addfecb90af894f6e70999afdf5c">&#9670;&nbsp;</a></span>krb5_principal_is_null()</h2>
745
746<div class="memitem">
747<div class="memproto">
748      <table class="memname">
749        <tr>
750          <td class="memname">krb5_boolean KRB5_LIB_FUNCTION krb5_principal_is_null </td>
751          <td>(</td>
752          <td class="paramtype">krb5_context&#160;</td>
753          <td class="paramname"><em>context</em>, </td>
754        </tr>
755        <tr>
756          <td class="paramkey"></td>
757          <td></td>
758          <td class="paramtype">krb5_const_principal&#160;</td>
759          <td class="paramname"><em>principal</em>&#160;</td>
760        </tr>
761        <tr>
762          <td></td>
763          <td>)</td>
764          <td></td><td></td>
765        </tr>
766      </table>
767</div><div class="memdoc">
768<p>Returns true if name is Kerberos NULL name </p>
769
770</div>
771</div>
772<a id="ga8875768ac0bf48fa7dd2673696b1a9cc"></a>
773<h2 class="memtitle"><span class="permalink"><a href="#ga8875768ac0bf48fa7dd2673696b1a9cc">&#9670;&nbsp;</a></span>krb5_principal_is_pku2u()</h2>
774
775<div class="memitem">
776<div class="memproto">
777      <table class="memname">
778        <tr>
779          <td class="memname">krb5_boolean KRB5_LIB_FUNCTION krb5_principal_is_pku2u </td>
780          <td>(</td>
781          <td class="paramtype">krb5_context&#160;</td>
782          <td class="paramname"><em>context</em>, </td>
783        </tr>
784        <tr>
785          <td class="paramkey"></td>
786          <td></td>
787          <td class="paramtype">krb5_const_principal&#160;</td>
788          <td class="paramname"><em>principal</em>&#160;</td>
789        </tr>
790        <tr>
791          <td></td>
792          <td>)</td>
793          <td></td><td></td>
794        </tr>
795      </table>
796</div><div class="memdoc">
797<p>Returns true if name is Kerberos an LKDC realm </p>
798
799</div>
800</div>
801<a id="ga2c4425068eb189d876e4e0747636f628"></a>
802<h2 class="memtitle"><span class="permalink"><a href="#ga2c4425068eb189d876e4e0747636f628">&#9670;&nbsp;</a></span>krb5_principal_is_root_krbtgt()</h2>
803
804<div class="memitem">
805<div class="memproto">
806      <table class="memname">
807        <tr>
808          <td class="memname">krb5_boolean KRB5_LIB_FUNCTION krb5_principal_is_root_krbtgt </td>
809          <td>(</td>
810          <td class="paramtype">krb5_context&#160;</td>
811          <td class="paramname"><em>context</em>, </td>
812        </tr>
813        <tr>
814          <td class="paramkey"></td>
815          <td></td>
816          <td class="paramtype">krb5_const_principal&#160;</td>
817          <td class="paramname"><em>p</em>&#160;</td>
818        </tr>
819        <tr>
820          <td></td>
821          <td>)</td>
822          <td></td><td></td>
823        </tr>
824      </table>
825</div><div class="memdoc">
826<p>Check if the cname part of the principal is a initial or renewed krbtgt principal </p>
827
828</div>
829</div>
830<a id="ga6cf45d0f9cb4b0bf3b6ef574d9e5cc6a"></a>
831<h2 class="memtitle"><span class="permalink"><a href="#ga6cf45d0f9cb4b0bf3b6ef574d9e5cc6a">&#9670;&nbsp;</a></span>krb5_principal_match()</h2>
832
833<div class="memitem">
834<div class="memproto">
835      <table class="memname">
836        <tr>
837          <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_principal_match </td>
838          <td>(</td>
839          <td class="paramtype">krb5_context&#160;</td>
840          <td class="paramname"><em>context</em>, </td>
841        </tr>
842        <tr>
843          <td class="paramkey"></td>
844          <td></td>
845          <td class="paramtype">krb5_const_principal&#160;</td>
846          <td class="paramname"><em>princ</em>, </td>
847        </tr>
848        <tr>
849          <td class="paramkey"></td>
850          <td></td>
851          <td class="paramtype">krb5_const_principal&#160;</td>
852          <td class="paramname"><em>pattern</em>&#160;</td>
853        </tr>
854        <tr>
855          <td></td>
856          <td>)</td>
857          <td></td><td></td>
858        </tr>
859      </table>
860</div><div class="memdoc">
861<p>return TRUE iff princ matches pattern </p>
862
863</div>
864</div>
865<a id="gaaacf06babb00b391f35a8468a0ec96f9"></a>
866<h2 class="memtitle"><span class="permalink"><a href="#gaaacf06babb00b391f35a8468a0ec96f9">&#9670;&nbsp;</a></span>krb5_principal_set_realm()</h2>
867
868<div class="memitem">
869<div class="memproto">
870      <table class="memname">
871        <tr>
872          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_principal_set_realm </td>
873          <td>(</td>
874          <td class="paramtype">krb5_context&#160;</td>
875          <td class="paramname"><em>context</em>, </td>
876        </tr>
877        <tr>
878          <td class="paramkey"></td>
879          <td></td>
880          <td class="paramtype">krb5_principal&#160;</td>
881          <td class="paramname"><em>principal</em>, </td>
882        </tr>
883        <tr>
884          <td class="paramkey"></td>
885          <td></td>
886          <td class="paramtype">krb5_const_realm&#160;</td>
887          <td class="paramname"><em>realm</em>&#160;</td>
888        </tr>
889        <tr>
890          <td></td>
891          <td>)</td>
892          <td></td><td></td>
893        </tr>
894      </table>
895</div><div class="memdoc">
896<p>Set a new realm for a principal, and as a side-effect free the previous realm.</p>
897<dl class="params"><dt>Parameters</dt><dd>
898  <table class="params">
899    <tr><td class="paramname">context</td><td>A Kerberos context. </td></tr>
900    <tr><td class="paramname">principal</td><td>principal set the realm for </td></tr>
901    <tr><td class="paramname">realm</td><td>the new realm to set</td></tr>
902  </table>
903  </dd>
904</dl>
905<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl>
906
907</div>
908</div>
909<a id="ga28b750b990452f02922bc74a6cac0313"></a>
910<h2 class="memtitle"><span class="permalink"><a href="#ga28b750b990452f02922bc74a6cac0313">&#9670;&nbsp;</a></span>krb5_principal_set_type()</h2>
911
912<div class="memitem">
913<div class="memproto">
914      <table class="memname">
915        <tr>
916          <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_principal_set_type </td>
917          <td>(</td>
918          <td class="paramtype">krb5_context&#160;</td>
919          <td class="paramname"><em>context</em>, </td>
920        </tr>
921        <tr>
922          <td class="paramkey"></td>
923          <td></td>
924          <td class="paramtype">krb5_principal&#160;</td>
925          <td class="paramname"><em>principal</em>, </td>
926        </tr>
927        <tr>
928          <td class="paramkey"></td>
929          <td></td>
930          <td class="paramtype">int&#160;</td>
931          <td class="paramname"><em>type</em>&#160;</td>
932        </tr>
933        <tr>
934          <td></td>
935          <td>)</td>
936          <td></td><td></td>
937        </tr>
938      </table>
939</div><div class="memdoc">
940<p>Set the type of the principal</p>
941<dl class="params"><dt>Parameters</dt><dd>
942  <table class="params">
943    <tr><td class="paramname">context</td><td>A Kerberos context. </td></tr>
944    <tr><td class="paramname">principal</td><td>principal to set the type for </td></tr>
945    <tr><td class="paramname">type</td><td>the new type</td></tr>
946  </table>
947  </dd>
948</dl>
949<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl>
950
951</div>
952</div>
953<a id="ga15abb49ce86457827a66f4ddfdd5b60c"></a>
954<h2 class="memtitle"><span class="permalink"><a href="#ga15abb49ce86457827a66f4ddfdd5b60c">&#9670;&nbsp;</a></span>krb5_realm_compare()</h2>
955
956<div class="memitem">
957<div class="memproto">
958      <table class="memname">
959        <tr>
960          <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_realm_compare </td>
961          <td>(</td>
962          <td class="paramtype">krb5_context&#160;</td>
963          <td class="paramname"><em>context</em>, </td>
964        </tr>
965        <tr>
966          <td class="paramkey"></td>
967          <td></td>
968          <td class="paramtype">krb5_const_principal&#160;</td>
969          <td class="paramname"><em>princ1</em>, </td>
970        </tr>
971        <tr>
972          <td class="paramkey"></td>
973          <td></td>
974          <td class="paramtype">krb5_const_principal&#160;</td>
975          <td class="paramname"><em>princ2</em>&#160;</td>
976        </tr>
977        <tr>
978          <td></td>
979          <td>)</td>
980          <td></td><td></td>
981        </tr>
982      </table>
983</div><div class="memdoc">
984<p>return TRUE iff realm(princ1) == realm(princ2)</p>
985<dl class="params"><dt>Parameters</dt><dd>
986  <table class="params">
987    <tr><td class="paramname">context</td><td>Kerberos 5 context </td></tr>
988    <tr><td class="paramname">princ1</td><td>first principal to compare </td></tr>
989    <tr><td class="paramname">princ2</td><td>second principal to compare</td></tr>
990  </table>
991  </dd>
992</dl>
993<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__krb5__principal.html#ga3c49cc0c1dac96d31a91aa263d8cdb4a">krb5_principal_compare_any_realm()</a> </dd>
994<dd>
995<a class="el" href="group__krb5__principal.html#ga13c84ce37f704c99353888eb03a19ea6">krb5_principal_compare()</a> </dd></dl>
996
997</div>
998</div>
999<a id="gad129661d63fc3478459495cff16c031c"></a>
1000<h2 class="memtitle"><span class="permalink"><a href="#gad129661d63fc3478459495cff16c031c">&#9670;&nbsp;</a></span>krb5_realm_is_lkdc()</h2>
1001
1002<div class="memitem">
1003<div class="memproto">
1004      <table class="memname">
1005        <tr>
1006          <td class="memname">krb5_boolean KRB5_LIB_FUNCTION krb5_realm_is_lkdc </td>
1007          <td>(</td>
1008          <td class="paramtype">const char *&#160;</td>
1009          <td class="paramname"><em>realm</em></td><td>)</td>
1010          <td></td>
1011        </tr>
1012      </table>
1013</div><div class="memdoc">
1014<p>Returns true if name is Kerberos an LKDC realm </p>
1015
1016</div>
1017</div>
1018<a id="ga8be0f5000da6ee0d4bd5dcaf3cb01d08"></a>
1019<h2 class="memtitle"><span class="permalink"><a href="#ga8be0f5000da6ee0d4bd5dcaf3cb01d08">&#9670;&nbsp;</a></span>krb5_sname_to_principal()</h2>
1020
1021<div class="memitem">
1022<div class="memproto">
1023      <table class="memname">
1024        <tr>
1025          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_sname_to_principal </td>
1026          <td>(</td>
1027          <td class="paramtype">krb5_context&#160;</td>
1028          <td class="paramname"><em>context</em>, </td>
1029        </tr>
1030        <tr>
1031          <td class="paramkey"></td>
1032          <td></td>
1033          <td class="paramtype">const char *&#160;</td>
1034          <td class="paramname"><em>hostname</em>, </td>
1035        </tr>
1036        <tr>
1037          <td class="paramkey"></td>
1038          <td></td>
1039          <td class="paramtype">const char *&#160;</td>
1040          <td class="paramname"><em>sname</em>, </td>
1041        </tr>
1042        <tr>
1043          <td class="paramkey"></td>
1044          <td></td>
1045          <td class="paramtype">int32_t&#160;</td>
1046          <td class="paramname"><em>type</em>, </td>
1047        </tr>
1048        <tr>
1049          <td class="paramkey"></td>
1050          <td></td>
1051          <td class="paramtype">krb5_principal *&#160;</td>
1052          <td class="paramname"><em>ret_princ</em>&#160;</td>
1053        </tr>
1054        <tr>
1055          <td></td>
1056          <td>)</td>
1057          <td></td><td></td>
1058        </tr>
1059      </table>
1060</div><div class="memdoc">
1061<p>Create a principal for the given service running on the given hostname. If KRB5_NT_SRV_HST is used, the hostname is canonicalized according the configured name canonicalization rules, with canonicalization delayed in some cases. One rule involves DNS, which is insecure unless DNSSEC is used, but we don't use DNSSEC-capable resolver APIs here, so that if DNSSEC is used we wouldn't know it.</p>
1062<p>Canonicalization is immediate (not delayed) only when there is only one canonicalization rule and that rule indicates that we should do a host lookup by name (i.e., DNS).</p>
1063<dl class="params"><dt>Parameters</dt><dd>
1064  <table class="params">
1065    <tr><td class="paramname">context</td><td>A Kerberos context. </td></tr>
1066    <tr><td class="paramname">hostname</td><td>hostname to use </td></tr>
1067    <tr><td class="paramname">sname</td><td>Service name to use </td></tr>
1068    <tr><td class="paramname">type</td><td>name type of principal, use KRB5_NT_SRV_HST or KRB5_NT_UNKNOWN. </td></tr>
1069    <tr><td class="paramname">ret_princ</td><td>return principal, free with <a class="el" href="group__krb5__principal.html#ga5bd3f620ebe8cd4fe44b5c858ba17d22">krb5_free_principal()</a>.</td></tr>
1070  </table>
1071  </dd>
1072</dl>
1073<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl>
1074
1075</div>
1076</div>
1077<a id="gaac881051ed59fe0dcd08cee62280b332"></a>
1078<h2 class="memtitle"><span class="permalink"><a href="#gaac881051ed59fe0dcd08cee62280b332">&#9670;&nbsp;</a></span>krb5_unparse_name()</h2>
1079
1080<div class="memitem">
1081<div class="memproto">
1082      <table class="memname">
1083        <tr>
1084          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_unparse_name </td>
1085          <td>(</td>
1086          <td class="paramtype">krb5_context&#160;</td>
1087          <td class="paramname"><em>context</em>, </td>
1088        </tr>
1089        <tr>
1090          <td class="paramkey"></td>
1091          <td></td>
1092          <td class="paramtype">krb5_const_principal&#160;</td>
1093          <td class="paramname"><em>principal</em>, </td>
1094        </tr>
1095        <tr>
1096          <td class="paramkey"></td>
1097          <td></td>
1098          <td class="paramtype">char **&#160;</td>
1099          <td class="paramname"><em>name</em>&#160;</td>
1100        </tr>
1101        <tr>
1102          <td></td>
1103          <td>)</td>
1104          <td></td><td></td>
1105        </tr>
1106      </table>
1107</div><div class="memdoc">
1108<p>Unparse the Kerberos name into a string</p>
1109<dl class="params"><dt>Parameters</dt><dd>
1110  <table class="params">
1111    <tr><td class="paramname">context</td><td>Kerberos 5 context </td></tr>
1112    <tr><td class="paramname">principal</td><td>principal to query </td></tr>
1113    <tr><td class="paramname">name</td><td>resulting string, free with krb5_xfree()</td></tr>
1114  </table>
1115  </dd>
1116</dl>
1117<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl>
1118
1119</div>
1120</div>
1121<a id="ga6f173badfb37ad41fdab6db77bde7689"></a>
1122<h2 class="memtitle"><span class="permalink"><a href="#ga6f173badfb37ad41fdab6db77bde7689">&#9670;&nbsp;</a></span>krb5_unparse_name_fixed()</h2>
1123
1124<div class="memitem">
1125<div class="memproto">
1126      <table class="memname">
1127        <tr>
1128          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_unparse_name_fixed </td>
1129          <td>(</td>
1130          <td class="paramtype">krb5_context&#160;</td>
1131          <td class="paramname"><em>context</em>, </td>
1132        </tr>
1133        <tr>
1134          <td class="paramkey"></td>
1135          <td></td>
1136          <td class="paramtype">krb5_const_principal&#160;</td>
1137          <td class="paramname"><em>principal</em>, </td>
1138        </tr>
1139        <tr>
1140          <td class="paramkey"></td>
1141          <td></td>
1142          <td class="paramtype">char *&#160;</td>
1143          <td class="paramname"><em>name</em>, </td>
1144        </tr>
1145        <tr>
1146          <td class="paramkey"></td>
1147          <td></td>
1148          <td class="paramtype">size_t&#160;</td>
1149          <td class="paramname"><em>len</em>&#160;</td>
1150        </tr>
1151        <tr>
1152          <td></td>
1153          <td>)</td>
1154          <td></td><td></td>
1155        </tr>
1156      </table>
1157</div><div class="memdoc">
1158<p>Unparse the principal name to a fixed buffer</p>
1159<dl class="params"><dt>Parameters</dt><dd>
1160  <table class="params">
1161    <tr><td class="paramname">context</td><td>A Kerberos context. </td></tr>
1162    <tr><td class="paramname">principal</td><td>principal to unparse </td></tr>
1163    <tr><td class="paramname">name</td><td>buffer to write name to </td></tr>
1164    <tr><td class="paramname">len</td><td>length of buffer</td></tr>
1165  </table>
1166  </dd>
1167</dl>
1168<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl>
1169
1170</div>
1171</div>
1172<a id="gad9ba42e18d79aa27458338967b66693f"></a>
1173<h2 class="memtitle"><span class="permalink"><a href="#gad9ba42e18d79aa27458338967b66693f">&#9670;&nbsp;</a></span>krb5_unparse_name_fixed_flags()</h2>
1174
1175<div class="memitem">
1176<div class="memproto">
1177      <table class="memname">
1178        <tr>
1179          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_unparse_name_fixed_flags </td>
1180          <td>(</td>
1181          <td class="paramtype">krb5_context&#160;</td>
1182          <td class="paramname"><em>context</em>, </td>
1183        </tr>
1184        <tr>
1185          <td class="paramkey"></td>
1186          <td></td>
1187          <td class="paramtype">krb5_const_principal&#160;</td>
1188          <td class="paramname"><em>principal</em>, </td>
1189        </tr>
1190        <tr>
1191          <td class="paramkey"></td>
1192          <td></td>
1193          <td class="paramtype">int&#160;</td>
1194          <td class="paramname"><em>flags</em>, </td>
1195        </tr>
1196        <tr>
1197          <td class="paramkey"></td>
1198          <td></td>
1199          <td class="paramtype">char *&#160;</td>
1200          <td class="paramname"><em>name</em>, </td>
1201        </tr>
1202        <tr>
1203          <td class="paramkey"></td>
1204          <td></td>
1205          <td class="paramtype">size_t&#160;</td>
1206          <td class="paramname"><em>len</em>&#160;</td>
1207        </tr>
1208        <tr>
1209          <td></td>
1210          <td>)</td>
1211          <td></td><td></td>
1212        </tr>
1213      </table>
1214</div><div class="memdoc">
1215<p>Unparse the principal name with unparse flags to a fixed buffer.</p>
1216<dl class="params"><dt>Parameters</dt><dd>
1217  <table class="params">
1218    <tr><td class="paramname">context</td><td>A Kerberos context. </td></tr>
1219    <tr><td class="paramname">principal</td><td>principal to unparse </td></tr>
1220    <tr><td class="paramname">flags</td><td>unparse flags </td></tr>
1221    <tr><td class="paramname">name</td><td>buffer to write name to </td></tr>
1222    <tr><td class="paramname">len</td><td>length of buffer</td></tr>
1223  </table>
1224  </dd>
1225</dl>
1226<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl>
1227
1228</div>
1229</div>
1230<a id="gacebe44e0685fc7b6c89a53eca71e7d24"></a>
1231<h2 class="memtitle"><span class="permalink"><a href="#gacebe44e0685fc7b6c89a53eca71e7d24">&#9670;&nbsp;</a></span>krb5_unparse_name_fixed_short()</h2>
1232
1233<div class="memitem">
1234<div class="memproto">
1235      <table class="memname">
1236        <tr>
1237          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_unparse_name_fixed_short </td>
1238          <td>(</td>
1239          <td class="paramtype">krb5_context&#160;</td>
1240          <td class="paramname"><em>context</em>, </td>
1241        </tr>
1242        <tr>
1243          <td class="paramkey"></td>
1244          <td></td>
1245          <td class="paramtype">krb5_const_principal&#160;</td>
1246          <td class="paramname"><em>principal</em>, </td>
1247        </tr>
1248        <tr>
1249          <td class="paramkey"></td>
1250          <td></td>
1251          <td class="paramtype">char *&#160;</td>
1252          <td class="paramname"><em>name</em>, </td>
1253        </tr>
1254        <tr>
1255          <td class="paramkey"></td>
1256          <td></td>
1257          <td class="paramtype">size_t&#160;</td>
1258          <td class="paramname"><em>len</em>&#160;</td>
1259        </tr>
1260        <tr>
1261          <td></td>
1262          <td>)</td>
1263          <td></td><td></td>
1264        </tr>
1265      </table>
1266</div><div class="memdoc">
1267<p>Unparse the principal name to a fixed buffer. The realm is skipped if its a default realm.</p>
1268<dl class="params"><dt>Parameters</dt><dd>
1269  <table class="params">
1270    <tr><td class="paramname">context</td><td>A Kerberos context. </td></tr>
1271    <tr><td class="paramname">principal</td><td>principal to unparse </td></tr>
1272    <tr><td class="paramname">name</td><td>buffer to write name to </td></tr>
1273    <tr><td class="paramname">len</td><td>length of buffer</td></tr>
1274  </table>
1275  </dd>
1276</dl>
1277<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl>
1278
1279</div>
1280</div>
1281<a id="gad46122cd0e543b6c1219abb8730378e7"></a>
1282<h2 class="memtitle"><span class="permalink"><a href="#gad46122cd0e543b6c1219abb8730378e7">&#9670;&nbsp;</a></span>krb5_unparse_name_flags()</h2>
1283
1284<div class="memitem">
1285<div class="memproto">
1286      <table class="memname">
1287        <tr>
1288          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_unparse_name_flags </td>
1289          <td>(</td>
1290          <td class="paramtype">krb5_context&#160;</td>
1291          <td class="paramname"><em>context</em>, </td>
1292        </tr>
1293        <tr>
1294          <td class="paramkey"></td>
1295          <td></td>
1296          <td class="paramtype">krb5_const_principal&#160;</td>
1297          <td class="paramname"><em>principal</em>, </td>
1298        </tr>
1299        <tr>
1300          <td class="paramkey"></td>
1301          <td></td>
1302          <td class="paramtype">int&#160;</td>
1303          <td class="paramname"><em>flags</em>, </td>
1304        </tr>
1305        <tr>
1306          <td class="paramkey"></td>
1307          <td></td>
1308          <td class="paramtype">char **&#160;</td>
1309          <td class="paramname"><em>name</em>&#160;</td>
1310        </tr>
1311        <tr>
1312          <td></td>
1313          <td>)</td>
1314          <td></td><td></td>
1315        </tr>
1316      </table>
1317</div><div class="memdoc">
1318<p>Unparse the Kerberos name into a string</p>
1319<dl class="params"><dt>Parameters</dt><dd>
1320  <table class="params">
1321    <tr><td class="paramname">context</td><td>Kerberos 5 context </td></tr>
1322    <tr><td class="paramname">principal</td><td>principal to query </td></tr>
1323    <tr><td class="paramname">flags</td><td>flag to determine the behavior </td></tr>
1324    <tr><td class="paramname">name</td><td>resulting string, free with krb5_xfree()</td></tr>
1325  </table>
1326  </dd>
1327</dl>
1328<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl>
1329
1330</div>
1331</div>
1332<a id="ga600247895edbde37e195c8b2089295a3"></a>
1333<h2 class="memtitle"><span class="permalink"><a href="#ga600247895edbde37e195c8b2089295a3">&#9670;&nbsp;</a></span>krb5_unparse_name_short()</h2>
1334
1335<div class="memitem">
1336<div class="memproto">
1337      <table class="memname">
1338        <tr>
1339          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_unparse_name_short </td>
1340          <td>(</td>
1341          <td class="paramtype">krb5_context&#160;</td>
1342          <td class="paramname"><em>context</em>, </td>
1343        </tr>
1344        <tr>
1345          <td class="paramkey"></td>
1346          <td></td>
1347          <td class="paramtype">krb5_const_principal&#160;</td>
1348          <td class="paramname"><em>principal</em>, </td>
1349        </tr>
1350        <tr>
1351          <td class="paramkey"></td>
1352          <td></td>
1353          <td class="paramtype">char **&#160;</td>
1354          <td class="paramname"><em>name</em>&#160;</td>
1355        </tr>
1356        <tr>
1357          <td></td>
1358          <td>)</td>
1359          <td></td><td></td>
1360        </tr>
1361      </table>
1362</div><div class="memdoc">
1363<p>Unparse the principal name to a allocated buffer. The realm is skipped if its a default realm.</p>
1364<dl class="params"><dt>Parameters</dt><dd>
1365  <table class="params">
1366    <tr><td class="paramname">context</td><td>A Kerberos context. </td></tr>
1367    <tr><td class="paramname">principal</td><td>principal to unparse </td></tr>
1368    <tr><td class="paramname">name</td><td>returned buffer, free with krb5_xfree()</td></tr>
1369  </table>
1370  </dd>
1371</dl>
1372<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl>
1373
1374</div>
1375</div>
1376</div><!-- contents -->
1377<hr size="1"><address style="text-align: right;"><small>
1378Generated on Tue Nov 15 2022 14:04:26 for Heimdal Kerberos 5 library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
1379</body>
1380</html>
1381