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>HeimdalKerberos5library: 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">
8 <a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
10 <!-- end of header marker -->
11 <!-- Generated by Doxygen 1.5.6 -->
12 <div class="navigation" id="top">
15 <li><a href="index.html"><span>Main Page</span></a></li>
16 <li><a href="pages.html"><span>Related Pages</span></a></li>
17 <li><a href="modules.html"><span>Modules</span></a></li>
18 <li><a href="annotated.html"><span>Data Structures</span></a></li>
22 <div class="contents">
23 <h1>Heimdal Kerberos 5 principal functions</h1><table border="0" cellpadding="0" cellspacing="0">
25 <tr><td colspan="2"><br><h2>Functions</h2></td></tr>
26 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br>
27 KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#g5bd3f620ebe8cd4fe44b5c858ba17d22">krb5_free_principal</a> (krb5_context context, krb5_principal p)</td></tr>
29 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br>
30 KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#g28b750b990452f02922bc74a6cac0313">krb5_principal_set_type</a> (krb5_context context, krb5_principal principal, int type)</td></tr>
32 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION int KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gf4a599c42592ff7485753e80b8de67b7">krb5_principal_get_type</a> (krb5_context context, krb5_const_principal principal)</td></tr>
34 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION const char <br>
35 *KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gccd23426798cf776a96c23a455576362">krb5_principal_get_realm</a> (krb5_context context, krb5_const_principal principal)</td></tr>
37 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION unsigned int <br>
38 KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#g0138febd5414ace4835d3af78694833c">krb5_principal_get_num_comp</a> (krb5_context context, krb5_const_principal principal)</td></tr>
40 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
41 krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#g1f1c6a19e7ccffb3284545ed3c12b827">krb5_parse_name_flags</a> (krb5_context context, const char *name, int flags, krb5_principal *principal)</td></tr>
43 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
44 krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gf0b0da913ab93d6e2577c0ccf4631f24">krb5_parse_name</a> (krb5_context context, const char *name, krb5_principal *principal)</td></tr>
46 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
47 krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#g6f173badfb37ad41fdab6db77bde7689">krb5_unparse_name_fixed</a> (krb5_context context, krb5_const_principal principal, char *name, size_t len)</td></tr>
49 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
50 krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gcebe44e0685fc7b6c89a53eca71e7d24">krb5_unparse_name_fixed_short</a> (krb5_context context, krb5_const_principal principal, char *name, size_t len)</td></tr>
52 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
53 krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gd9ba42e18d79aa27458338967b66693f">krb5_unparse_name_fixed_flags</a> (krb5_context context, krb5_const_principal principal, int flags, char *name, size_t len)</td></tr>
55 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
56 krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gac881051ed59fe0dcd08cee62280b332">krb5_unparse_name</a> (krb5_context context, krb5_const_principal principal, char **name)</td></tr>
58 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
59 krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gd46122cd0e543b6c1219abb8730378e7">krb5_unparse_name_flags</a> (krb5_context context, krb5_const_principal principal, int flags, char **name)</td></tr>
61 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
62 krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#g600247895edbde37e195c8b2089295a3">krb5_unparse_name_short</a> (krb5_context context, krb5_const_principal principal, char **name)</td></tr>
64 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
65 krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gaacf06babb00b391f35a8468a0ec96f9">krb5_principal_set_realm</a> (krb5_context context, krb5_principal principal, krb5_const_realm realm)</td></tr>
67 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
68 krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gb22638ec4ccdb648366653426708c1c5">krb5_build_principal</a> (krb5_context context, krb5_principal *principal, int rlen, krb5_const_realm realm,...)</td></tr>
70 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
71 krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ge744b61285c2ed08317e6c7cc433dd48">krb5_make_principal</a> (krb5_context context, krb5_principal *principal, krb5_const_realm realm,...)</td></tr>
73 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
74 krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gf8405ffca469a2fd936eb109cb3d9b16">krb5_copy_principal</a> (krb5_context context, krb5_const_principal inprinc, krb5_principal *outprinc)</td></tr>
76 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br>
77 KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#g3c49cc0c1dac96d31a91aa263d8cdb4a">krb5_principal_compare_any_realm</a> (krb5_context context, krb5_const_principal princ1, krb5_const_principal princ2)</td></tr>
79 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br>
80 KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#g13c84ce37f704c99353888eb03a19ea6">krb5_principal_compare</a> (krb5_context context, krb5_const_principal princ1, krb5_const_principal princ2)</td></tr>
82 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br>
83 KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#g15abb49ce86457827a66f4ddfdd5b60c">krb5_realm_compare</a> (krb5_context context, krb5_const_principal princ1, krb5_const_principal princ2)</td></tr>
85 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br>
86 KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#g6cf45d0f9cb4b0bf3b6ef574d9e5cc6a">krb5_principal_match</a> (krb5_context context, krb5_const_principal princ, krb5_const_principal pattern)</td></tr>
88 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
89 krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#g8be0f5000da6ee0d4bd5dcaf3cb01d08">krb5_sname_to_principal</a> (krb5_context context, const char *hostname, const char *sname, int32_t type, krb5_principal *ret_princ)</td></tr>
91 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
92 krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gb044a3dca038ef4c61779cf1d0dc1e87">krb5_parse_nametype</a> (krb5_context context, const char *str, int32_t *nametype)</td></tr>
94 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br>
95 KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#g9b24f6db481f24b86a93702eaa2755fc">krb5_principal_is_krbtgt</a> (krb5_context context, krb5_const_principal p)</td></tr>
98 <hr><a name="_details"></a><h2>Detailed Description</h2>
99 <hr><h2>Function Documentation</h2>
100 <a class="anchor" name="gb22638ec4ccdb648366653426708c1c5"></a><!-- doxytag: member="principal.c::krb5_build_principal" ref="gb22638ec4ccdb648366653426708c1c5" args="(krb5_context context, krb5_principal *principal, int rlen, krb5_const_realm realm,...)" -->
101 <div class="memitem">
102 <div class="memproto">
103 <table class="memname">
105 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_build_principal </td>
107 <td class="paramtype">krb5_context </td>
108 <td class="paramname"> <em>context</em>, </td>
111 <td class="paramkey"></td>
113 <td class="paramtype">krb5_principal * </td>
114 <td class="paramname"> <em>principal</em>, </td>
117 <td class="paramkey"></td>
119 <td class="paramtype">int </td>
120 <td class="paramname"> <em>rlen</em>, </td>
123 <td class="paramkey"></td>
125 <td class="paramtype">krb5_const_realm </td>
126 <td class="paramname"> <em>realm</em>, </td>
129 <td class="paramkey"></td>
131 <td class="paramtype"> </td>
132 <td class="paramname"> <em>...</em></td><td> </td>
137 <td></td><td></td><td></td>
144 Build a principal using vararg style building<p>
145 <dl compact><dt><b>Parameters:</b></dt><dd>
146 <table border="0" cellspacing="2" cellpadding="0">
147 <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos context. </td></tr>
148 <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>returned principal </td></tr>
149 <tr><td valign="top"></td><td valign="top"><em>rlen</em> </td><td>length of realm </td></tr>
150 <tr><td valign="top"></td><td valign="top"><em>realm</em> </td><td>realm name </td></tr>
151 <tr><td valign="top"></td><td valign="top"><em>...</em> </td><td>a list of components ended with NULL.</td></tr>
154 <dl class="return" compact><dt><b>Returns:</b></dt><dd>An krb5 error code, see krb5_get_error_message(). </dd></dl>
158 <a class="anchor" name="gf8405ffca469a2fd936eb109cb3d9b16"></a><!-- doxytag: member="principal.c::krb5_copy_principal" ref="gf8405ffca469a2fd936eb109cb3d9b16" args="(krb5_context context, krb5_const_principal inprinc, krb5_principal *outprinc)" -->
159 <div class="memitem">
160 <div class="memproto">
161 <table class="memname">
163 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_principal </td>
165 <td class="paramtype">krb5_context </td>
166 <td class="paramname"> <em>context</em>, </td>
169 <td class="paramkey"></td>
171 <td class="paramtype">krb5_const_principal </td>
172 <td class="paramname"> <em>inprinc</em>, </td>
175 <td class="paramkey"></td>
177 <td class="paramtype">krb5_principal * </td>
178 <td class="paramname"> <em>outprinc</em></td><td> </td>
183 <td></td><td></td><td></td>
191 <dl compact><dt><b>Parameters:</b></dt><dd>
192 <table border="0" cellspacing="2" cellpadding="0">
193 <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos context. </td></tr>
194 <tr><td valign="top"></td><td valign="top"><em>inprinc</em> </td><td>principal to copy </td></tr>
195 <tr><td valign="top"></td><td valign="top"><em>outprinc</em> </td><td>copied principal, free with <a class="el" href="group__krb5__principal.html#g5bd3f620ebe8cd4fe44b5c858ba17d22">krb5_free_principal()</a></td></tr>
198 <dl class="return" compact><dt><b>Returns:</b></dt><dd>An krb5 error code, see krb5_get_error_message(). </dd></dl>
202 <a class="anchor" name="g5bd3f620ebe8cd4fe44b5c858ba17d22"></a><!-- doxytag: member="principal.c::krb5_free_principal" ref="g5bd3f620ebe8cd4fe44b5c858ba17d22" args="(krb5_context context, krb5_principal p)" -->
203 <div class="memitem">
204 <div class="memproto">
205 <table class="memname">
207 <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_free_principal </td>
209 <td class="paramtype">krb5_context </td>
210 <td class="paramname"> <em>context</em>, </td>
213 <td class="paramkey"></td>
215 <td class="paramtype">krb5_principal </td>
216 <td class="paramname"> <em>p</em></td><td> </td>
221 <td></td><td></td><td></td>
228 Frees a Kerberos principal allocated by the library with <a class="el" href="group__krb5__principal.html#gf0b0da913ab93d6e2577c0ccf4631f24">krb5_parse_name()</a>, <a class="el" href="group__krb5__principal.html#ge744b61285c2ed08317e6c7cc433dd48">krb5_make_principal()</a> or any other related principal functions.<p>
229 <dl compact><dt><b>Parameters:</b></dt><dd>
230 <table border="0" cellspacing="2" cellpadding="0">
231 <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos context. </td></tr>
232 <tr><td valign="top"></td><td valign="top"><em>p</em> </td><td>a principal to free.</td></tr>
235 <dl class="return" compact><dt><b>Returns:</b></dt><dd>An krb5 error code, see krb5_get_error_message(). </dd></dl>
239 <a class="anchor" name="ge744b61285c2ed08317e6c7cc433dd48"></a><!-- doxytag: member="principal.c::krb5_make_principal" ref="ge744b61285c2ed08317e6c7cc433dd48" args="(krb5_context context, krb5_principal *principal, krb5_const_realm realm,...)" -->
240 <div class="memitem">
241 <div class="memproto">
242 <table class="memname">
244 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_make_principal </td>
246 <td class="paramtype">krb5_context </td>
247 <td class="paramname"> <em>context</em>, </td>
250 <td class="paramkey"></td>
252 <td class="paramtype">krb5_principal * </td>
253 <td class="paramname"> <em>principal</em>, </td>
256 <td class="paramkey"></td>
258 <td class="paramtype">krb5_const_realm </td>
259 <td class="paramname"> <em>realm</em>, </td>
262 <td class="paramkey"></td>
264 <td class="paramtype"> </td>
265 <td class="paramname"> <em>...</em></td><td> </td>
270 <td></td><td></td><td></td>
277 Build a principal using vararg style building<p>
278 <dl compact><dt><b>Parameters:</b></dt><dd>
279 <table border="0" cellspacing="2" cellpadding="0">
280 <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos context. </td></tr>
281 <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>returned principal </td></tr>
282 <tr><td valign="top"></td><td valign="top"><em>realm</em> </td><td>realm name </td></tr>
283 <tr><td valign="top"></td><td valign="top"><em>...</em> </td><td>a list of components ended with NULL.</td></tr>
286 <dl class="return" compact><dt><b>Returns:</b></dt><dd>An krb5 error code, see krb5_get_error_message(). </dd></dl>
290 <a class="anchor" name="gf0b0da913ab93d6e2577c0ccf4631f24"></a><!-- doxytag: member="principal.c::krb5_parse_name" ref="gf0b0da913ab93d6e2577c0ccf4631f24" args="(krb5_context context, const char *name, krb5_principal *principal)" -->
291 <div class="memitem">
292 <div class="memproto">
293 <table class="memname">
295 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_parse_name </td>
297 <td class="paramtype">krb5_context </td>
298 <td class="paramname"> <em>context</em>, </td>
301 <td class="paramkey"></td>
303 <td class="paramtype">const char * </td>
304 <td class="paramname"> <em>name</em>, </td>
307 <td class="paramkey"></td>
309 <td class="paramtype">krb5_principal * </td>
310 <td class="paramname"> <em>principal</em></td><td> </td>
315 <td></td><td></td><td></td>
322 Parse a name into a krb5_principal structure<p>
323 <dl compact><dt><b>Parameters:</b></dt><dd>
324 <table border="0" cellspacing="2" cellpadding="0">
325 <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context </td></tr>
326 <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>name to parse into a Kerberos principal </td></tr>
327 <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>returned principal, free with <a class="el" href="group__krb5__principal.html#g5bd3f620ebe8cd4fe44b5c858ba17d22">krb5_free_principal()</a>.</td></tr>
330 <dl class="return" compact><dt><b>Returns:</b></dt><dd>An krb5 error code, see krb5_get_error_message(). </dd></dl>
334 <a class="anchor" name="g1f1c6a19e7ccffb3284545ed3c12b827"></a><!-- doxytag: member="principal.c::krb5_parse_name_flags" ref="g1f1c6a19e7ccffb3284545ed3c12b827" args="(krb5_context context, const char *name, int flags, krb5_principal *principal)" -->
335 <div class="memitem">
336 <div class="memproto">
337 <table class="memname">
339 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_parse_name_flags </td>
341 <td class="paramtype">krb5_context </td>
342 <td class="paramname"> <em>context</em>, </td>
345 <td class="paramkey"></td>
347 <td class="paramtype">const char * </td>
348 <td class="paramname"> <em>name</em>, </td>
351 <td class="paramkey"></td>
353 <td class="paramtype">int </td>
354 <td class="paramname"> <em>flags</em>, </td>
357 <td class="paramkey"></td>
359 <td class="paramtype">krb5_principal * </td>
360 <td class="paramname"> <em>principal</em></td><td> </td>
365 <td></td><td></td><td></td>
372 Parse a name into a krb5_principal structure, flags controls the behavior.<p>
373 <dl compact><dt><b>Parameters:</b></dt><dd>
374 <table border="0" cellspacing="2" cellpadding="0">
375 <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context </td></tr>
376 <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>name to parse into a Kerberos principal </td></tr>
377 <tr><td valign="top"></td><td valign="top"><em>flags</em> </td><td>flags to control the behavior </td></tr>
378 <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>returned principal, free with <a class="el" href="group__krb5__principal.html#g5bd3f620ebe8cd4fe44b5c858ba17d22">krb5_free_principal()</a>.</td></tr>
381 <dl class="return" compact><dt><b>Returns:</b></dt><dd>An krb5 error code, see krb5_get_error_message(). </dd></dl>
385 <a class="anchor" name="gb044a3dca038ef4c61779cf1d0dc1e87"></a><!-- doxytag: member="principal.c::krb5_parse_nametype" ref="gb044a3dca038ef4c61779cf1d0dc1e87" args="(krb5_context context, const char *str, int32_t *nametype)" -->
386 <div class="memitem">
387 <div class="memproto">
388 <table class="memname">
390 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_parse_nametype </td>
392 <td class="paramtype">krb5_context </td>
393 <td class="paramname"> <em>context</em>, </td>
396 <td class="paramkey"></td>
398 <td class="paramtype">const char * </td>
399 <td class="paramname"> <em>str</em>, </td>
402 <td class="paramkey"></td>
404 <td class="paramtype">int32_t * </td>
405 <td class="paramname"> <em>nametype</em></td><td> </td>
410 <td></td><td></td><td></td>
417 Parse nametype string and return a nametype integer
420 <a class="anchor" name="g13c84ce37f704c99353888eb03a19ea6"></a><!-- doxytag: member="principal.c::krb5_principal_compare" ref="g13c84ce37f704c99353888eb03a19ea6" args="(krb5_context context, krb5_const_principal princ1, krb5_const_principal princ2)" -->
421 <div class="memitem">
422 <div class="memproto">
423 <table class="memname">
425 <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_principal_compare </td>
427 <td class="paramtype">krb5_context </td>
428 <td class="paramname"> <em>context</em>, </td>
431 <td class="paramkey"></td>
433 <td class="paramtype">krb5_const_principal </td>
434 <td class="paramname"> <em>princ1</em>, </td>
437 <td class="paramkey"></td>
439 <td class="paramtype">krb5_const_principal </td>
440 <td class="paramname"> <em>princ2</em></td><td> </td>
445 <td></td><td></td><td></td>
452 Compares the two principals, including realm of the principals and returns TRUE if they are the same and FALSE if not.<p>
453 <dl compact><dt><b>Parameters:</b></dt><dd>
454 <table border="0" cellspacing="2" cellpadding="0">
455 <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context </td></tr>
456 <tr><td valign="top"></td><td valign="top"><em>princ1</em> </td><td>first principal to compare </td></tr>
457 <tr><td valign="top"></td><td valign="top"><em>princ2</em> </td><td>second principal to compare</td></tr>
460 <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__krb5__principal.html#g3c49cc0c1dac96d31a91aa263d8cdb4a">krb5_principal_compare_any_realm()</a> <p>
461 <a class="el" href="group__krb5__principal.html#g15abb49ce86457827a66f4ddfdd5b60c">krb5_realm_compare()</a> </dd></dl>
465 <a class="anchor" name="g3c49cc0c1dac96d31a91aa263d8cdb4a"></a><!-- doxytag: member="principal.c::krb5_principal_compare_any_realm" ref="g3c49cc0c1dac96d31a91aa263d8cdb4a" args="(krb5_context context, krb5_const_principal princ1, krb5_const_principal princ2)" -->
466 <div class="memitem">
467 <div class="memproto">
468 <table class="memname">
470 <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_principal_compare_any_realm </td>
472 <td class="paramtype">krb5_context </td>
473 <td class="paramname"> <em>context</em>, </td>
476 <td class="paramkey"></td>
478 <td class="paramtype">krb5_const_principal </td>
479 <td class="paramname"> <em>princ1</em>, </td>
482 <td class="paramkey"></td>
484 <td class="paramtype">krb5_const_principal </td>
485 <td class="paramname"> <em>princ2</em></td><td> </td>
490 <td></td><td></td><td></td>
497 Return TRUE iff princ1 == princ2 (without considering the realm)<p>
498 <dl compact><dt><b>Parameters:</b></dt><dd>
499 <table border="0" cellspacing="2" cellpadding="0">
500 <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context </td></tr>
501 <tr><td valign="top"></td><td valign="top"><em>princ1</em> </td><td>first principal to compare </td></tr>
502 <tr><td valign="top"></td><td valign="top"><em>princ2</em> </td><td>second principal to compare</td></tr>
505 <dl class="return" compact><dt><b>Returns:</b></dt><dd>non zero if equal, 0 if not</dd></dl>
506 <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__krb5__principal.html#g13c84ce37f704c99353888eb03a19ea6">krb5_principal_compare()</a> <p>
507 <a class="el" href="group__krb5__principal.html#g15abb49ce86457827a66f4ddfdd5b60c">krb5_realm_compare()</a> </dd></dl>
511 <a class="anchor" name="g0138febd5414ace4835d3af78694833c"></a><!-- doxytag: member="principal.c::krb5_principal_get_num_comp" ref="g0138febd5414ace4835d3af78694833c" args="(krb5_context context, krb5_const_principal principal)" -->
512 <div class="memitem">
513 <div class="memproto">
514 <table class="memname">
516 <td class="memname">KRB5_LIB_FUNCTION unsigned int KRB5_LIB_CALL krb5_principal_get_num_comp </td>
518 <td class="paramtype">krb5_context </td>
519 <td class="paramname"> <em>context</em>, </td>
522 <td class="paramkey"></td>
524 <td class="paramtype">krb5_const_principal </td>
525 <td class="paramname"> <em>principal</em></td><td> </td>
530 <td></td><td></td><td></td>
537 Get number of component is principal.<p>
538 <dl compact><dt><b>Parameters:</b></dt><dd>
539 <table border="0" cellspacing="2" cellpadding="0">
540 <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context </td></tr>
541 <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>principal to query</td></tr>
544 <dl class="return" compact><dt><b>Returns:</b></dt><dd>number of components in string </dd></dl>
548 <a class="anchor" name="gccd23426798cf776a96c23a455576362"></a><!-- doxytag: member="principal.c::krb5_principal_get_realm" ref="gccd23426798cf776a96c23a455576362" args="(krb5_context context, krb5_const_principal principal)" -->
549 <div class="memitem">
550 <div class="memproto">
551 <table class="memname">
553 <td class="memname">KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_principal_get_realm </td>
555 <td class="paramtype">krb5_context </td>
556 <td class="paramname"> <em>context</em>, </td>
559 <td class="paramkey"></td>
561 <td class="paramtype">krb5_const_principal </td>
562 <td class="paramname"> <em>principal</em></td><td> </td>
567 <td></td><td></td><td></td>
574 Get the realm of the principal<p>
575 <dl compact><dt><b>Parameters:</b></dt><dd>
576 <table border="0" cellspacing="2" cellpadding="0">
577 <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos context. </td></tr>
578 <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>principal to get the realm for</td></tr>
581 <dl class="return" compact><dt><b>Returns:</b></dt><dd>realm of the principal, don't free or use after krb5_principal is freed </dd></dl>
585 <a class="anchor" name="gf4a599c42592ff7485753e80b8de67b7"></a><!-- doxytag: member="principal.c::krb5_principal_get_type" ref="gf4a599c42592ff7485753e80b8de67b7" args="(krb5_context context, krb5_const_principal principal)" -->
586 <div class="memitem">
587 <div class="memproto">
588 <table class="memname">
590 <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_principal_get_type </td>
592 <td class="paramtype">krb5_context </td>
593 <td class="paramname"> <em>context</em>, </td>
596 <td class="paramkey"></td>
598 <td class="paramtype">krb5_const_principal </td>
599 <td class="paramname"> <em>principal</em></td><td> </td>
604 <td></td><td></td><td></td>
611 Get the type of the principal<p>
612 <dl compact><dt><b>Parameters:</b></dt><dd>
613 <table border="0" cellspacing="2" cellpadding="0">
614 <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos context. </td></tr>
615 <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>principal to get the type for</td></tr>
618 <dl class="return" compact><dt><b>Returns:</b></dt><dd>the type of principal </dd></dl>
622 <a class="anchor" name="g9b24f6db481f24b86a93702eaa2755fc"></a><!-- doxytag: member="principal.c::krb5_principal_is_krbtgt" ref="g9b24f6db481f24b86a93702eaa2755fc" args="(krb5_context context, krb5_const_principal p)" -->
623 <div class="memitem">
624 <div class="memproto">
625 <table class="memname">
627 <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_principal_is_krbtgt </td>
629 <td class="paramtype">krb5_context </td>
630 <td class="paramname"> <em>context</em>, </td>
633 <td class="paramkey"></td>
635 <td class="paramtype">krb5_const_principal </td>
636 <td class="paramname"> <em>p</em></td><td> </td>
641 <td></td><td></td><td></td>
648 Check if the cname part of the principal is a krbtgt principal
651 <a class="anchor" name="g6cf45d0f9cb4b0bf3b6ef574d9e5cc6a"></a><!-- doxytag: member="principal.c::krb5_principal_match" ref="g6cf45d0f9cb4b0bf3b6ef574d9e5cc6a" args="(krb5_context context, krb5_const_principal princ, krb5_const_principal pattern)" -->
652 <div class="memitem">
653 <div class="memproto">
654 <table class="memname">
656 <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_principal_match </td>
658 <td class="paramtype">krb5_context </td>
659 <td class="paramname"> <em>context</em>, </td>
662 <td class="paramkey"></td>
664 <td class="paramtype">krb5_const_principal </td>
665 <td class="paramname"> <em>princ</em>, </td>
668 <td class="paramkey"></td>
670 <td class="paramtype">krb5_const_principal </td>
671 <td class="paramname"> <em>pattern</em></td><td> </td>
676 <td></td><td></td><td></td>
683 return TRUE iff princ matches pattern
686 <a class="anchor" name="gaacf06babb00b391f35a8468a0ec96f9"></a><!-- doxytag: member="principal.c::krb5_principal_set_realm" ref="gaacf06babb00b391f35a8468a0ec96f9" args="(krb5_context context, krb5_principal principal, krb5_const_realm realm)" -->
687 <div class="memitem">
688 <div class="memproto">
689 <table class="memname">
691 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_principal_set_realm </td>
693 <td class="paramtype">krb5_context </td>
694 <td class="paramname"> <em>context</em>, </td>
697 <td class="paramkey"></td>
699 <td class="paramtype">krb5_principal </td>
700 <td class="paramname"> <em>principal</em>, </td>
703 <td class="paramkey"></td>
705 <td class="paramtype">krb5_const_realm </td>
706 <td class="paramname"> <em>realm</em></td><td> </td>
711 <td></td><td></td><td></td>
718 Set a new realm for a principal, and as a side-effect free the previous realm.<p>
719 <dl compact><dt><b>Parameters:</b></dt><dd>
720 <table border="0" cellspacing="2" cellpadding="0">
721 <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos context. </td></tr>
722 <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>principal set the realm for </td></tr>
723 <tr><td valign="top"></td><td valign="top"><em>realm</em> </td><td>the new realm to set</td></tr>
726 <dl class="return" compact><dt><b>Returns:</b></dt><dd>An krb5 error code, see krb5_get_error_message(). </dd></dl>
730 <a class="anchor" name="g28b750b990452f02922bc74a6cac0313"></a><!-- doxytag: member="principal.c::krb5_principal_set_type" ref="g28b750b990452f02922bc74a6cac0313" args="(krb5_context context, krb5_principal principal, int type)" -->
731 <div class="memitem">
732 <div class="memproto">
733 <table class="memname">
735 <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_principal_set_type </td>
737 <td class="paramtype">krb5_context </td>
738 <td class="paramname"> <em>context</em>, </td>
741 <td class="paramkey"></td>
743 <td class="paramtype">krb5_principal </td>
744 <td class="paramname"> <em>principal</em>, </td>
747 <td class="paramkey"></td>
749 <td class="paramtype">int </td>
750 <td class="paramname"> <em>type</em></td><td> </td>
755 <td></td><td></td><td></td>
762 Set the type of the principal<p>
763 <dl compact><dt><b>Parameters:</b></dt><dd>
764 <table border="0" cellspacing="2" cellpadding="0">
765 <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos context. </td></tr>
766 <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>principal to set the type for </td></tr>
767 <tr><td valign="top"></td><td valign="top"><em>type</em> </td><td>the new type</td></tr>
770 <dl class="return" compact><dt><b>Returns:</b></dt><dd>An krb5 error code, see krb5_get_error_message(). </dd></dl>
774 <a class="anchor" name="g15abb49ce86457827a66f4ddfdd5b60c"></a><!-- doxytag: member="principal.c::krb5_realm_compare" ref="g15abb49ce86457827a66f4ddfdd5b60c" args="(krb5_context context, krb5_const_principal princ1, krb5_const_principal princ2)" -->
775 <div class="memitem">
776 <div class="memproto">
777 <table class="memname">
779 <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_realm_compare </td>
781 <td class="paramtype">krb5_context </td>
782 <td class="paramname"> <em>context</em>, </td>
785 <td class="paramkey"></td>
787 <td class="paramtype">krb5_const_principal </td>
788 <td class="paramname"> <em>princ1</em>, </td>
791 <td class="paramkey"></td>
793 <td class="paramtype">krb5_const_principal </td>
794 <td class="paramname"> <em>princ2</em></td><td> </td>
799 <td></td><td></td><td></td>
806 return TRUE iff realm(princ1) == realm(princ2)<p>
807 <dl compact><dt><b>Parameters:</b></dt><dd>
808 <table border="0" cellspacing="2" cellpadding="0">
809 <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context </td></tr>
810 <tr><td valign="top"></td><td valign="top"><em>princ1</em> </td><td>first principal to compare </td></tr>
811 <tr><td valign="top"></td><td valign="top"><em>princ2</em> </td><td>second principal to compare</td></tr>
814 <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__krb5__principal.html#g3c49cc0c1dac96d31a91aa263d8cdb4a">krb5_principal_compare_any_realm()</a> <p>
815 <a class="el" href="group__krb5__principal.html#g13c84ce37f704c99353888eb03a19ea6">krb5_principal_compare()</a> </dd></dl>
819 <a class="anchor" name="g8be0f5000da6ee0d4bd5dcaf3cb01d08"></a><!-- doxytag: member="principal.c::krb5_sname_to_principal" ref="g8be0f5000da6ee0d4bd5dcaf3cb01d08" args="(krb5_context context, const char *hostname, const char *sname, int32_t type, krb5_principal *ret_princ)" -->
820 <div class="memitem">
821 <div class="memproto">
822 <table class="memname">
824 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_sname_to_principal </td>
826 <td class="paramtype">krb5_context </td>
827 <td class="paramname"> <em>context</em>, </td>
830 <td class="paramkey"></td>
832 <td class="paramtype">const char * </td>
833 <td class="paramname"> <em>hostname</em>, </td>
836 <td class="paramkey"></td>
838 <td class="paramtype">const char * </td>
839 <td class="paramname"> <em>sname</em>, </td>
842 <td class="paramkey"></td>
844 <td class="paramtype">int32_t </td>
845 <td class="paramname"> <em>type</em>, </td>
848 <td class="paramkey"></td>
850 <td class="paramtype">krb5_principal * </td>
851 <td class="paramname"> <em>ret_princ</em></td><td> </td>
856 <td></td><td></td><td></td>
863 Create a principal for the service running on hostname. If KRB5_NT_SRV_HST is used, the hostname is canonization using DNS (or some other service), this is potentially insecure.<p>
864 <dl compact><dt><b>Parameters:</b></dt><dd>
865 <table border="0" cellspacing="2" cellpadding="0">
866 <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos context. </td></tr>
867 <tr><td valign="top"></td><td valign="top"><em>hostname</em> </td><td>hostname to use </td></tr>
868 <tr><td valign="top"></td><td valign="top"><em>sname</em> </td><td>Service name to use </td></tr>
869 <tr><td valign="top"></td><td valign="top"><em>type</em> </td><td>name type of pricipal, use KRB5_NT_SRV_HST or KRB5_NT_UNKNOWN. </td></tr>
870 <tr><td valign="top"></td><td valign="top"><em>ret_princ</em> </td><td>return principal, free with <a class="el" href="group__krb5__principal.html#g5bd3f620ebe8cd4fe44b5c858ba17d22">krb5_free_principal()</a>.</td></tr>
873 <dl class="return" compact><dt><b>Returns:</b></dt><dd>An krb5 error code, see krb5_get_error_message(). </dd></dl>
877 <a class="anchor" name="gac881051ed59fe0dcd08cee62280b332"></a><!-- doxytag: member="principal.c::krb5_unparse_name" ref="gac881051ed59fe0dcd08cee62280b332" args="(krb5_context context, krb5_const_principal principal, char **name)" -->
878 <div class="memitem">
879 <div class="memproto">
880 <table class="memname">
882 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_unparse_name </td>
884 <td class="paramtype">krb5_context </td>
885 <td class="paramname"> <em>context</em>, </td>
888 <td class="paramkey"></td>
890 <td class="paramtype">krb5_const_principal </td>
891 <td class="paramname"> <em>principal</em>, </td>
894 <td class="paramkey"></td>
896 <td class="paramtype">char ** </td>
897 <td class="paramname"> <em>name</em></td><td> </td>
902 <td></td><td></td><td></td>
909 Unparse the Kerberos name into a string<p>
910 <dl compact><dt><b>Parameters:</b></dt><dd>
911 <table border="0" cellspacing="2" cellpadding="0">
912 <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context </td></tr>
913 <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>principal to query </td></tr>
914 <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>resulting string, free with krb5_xfree()</td></tr>
917 <dl class="return" compact><dt><b>Returns:</b></dt><dd>An krb5 error code, see krb5_get_error_message(). </dd></dl>
921 <a class="anchor" name="g6f173badfb37ad41fdab6db77bde7689"></a><!-- doxytag: member="principal.c::krb5_unparse_name_fixed" ref="g6f173badfb37ad41fdab6db77bde7689" args="(krb5_context context, krb5_const_principal principal, char *name, size_t len)" -->
922 <div class="memitem">
923 <div class="memproto">
924 <table class="memname">
926 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_unparse_name_fixed </td>
928 <td class="paramtype">krb5_context </td>
929 <td class="paramname"> <em>context</em>, </td>
932 <td class="paramkey"></td>
934 <td class="paramtype">krb5_const_principal </td>
935 <td class="paramname"> <em>principal</em>, </td>
938 <td class="paramkey"></td>
940 <td class="paramtype">char * </td>
941 <td class="paramname"> <em>name</em>, </td>
944 <td class="paramkey"></td>
946 <td class="paramtype">size_t </td>
947 <td class="paramname"> <em>len</em></td><td> </td>
952 <td></td><td></td><td></td>
959 Unparse the principal name to a fixed buffer<p>
960 <dl compact><dt><b>Parameters:</b></dt><dd>
961 <table border="0" cellspacing="2" cellpadding="0">
962 <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos context. </td></tr>
963 <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>principal to unparse </td></tr>
964 <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>buffer to write name to </td></tr>
965 <tr><td valign="top"></td><td valign="top"><em>len</em> </td><td>length of buffer</td></tr>
968 <dl class="return" compact><dt><b>Returns:</b></dt><dd>An krb5 error code, see krb5_get_error_message(). </dd></dl>
972 <a class="anchor" name="gd9ba42e18d79aa27458338967b66693f"></a><!-- doxytag: member="principal.c::krb5_unparse_name_fixed_flags" ref="gd9ba42e18d79aa27458338967b66693f" args="(krb5_context context, krb5_const_principal principal, int flags, char *name, size_t len)" -->
973 <div class="memitem">
974 <div class="memproto">
975 <table class="memname">
977 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_unparse_name_fixed_flags </td>
979 <td class="paramtype">krb5_context </td>
980 <td class="paramname"> <em>context</em>, </td>
983 <td class="paramkey"></td>
985 <td class="paramtype">krb5_const_principal </td>
986 <td class="paramname"> <em>principal</em>, </td>
989 <td class="paramkey"></td>
991 <td class="paramtype">int </td>
992 <td class="paramname"> <em>flags</em>, </td>
995 <td class="paramkey"></td>
997 <td class="paramtype">char * </td>
998 <td class="paramname"> <em>name</em>, </td>
1001 <td class="paramkey"></td>
1003 <td class="paramtype">size_t </td>
1004 <td class="paramname"> <em>len</em></td><td> </td>
1009 <td></td><td></td><td></td>
1013 <div class="memdoc">
1016 Unparse the principal name with unparse flags to a fixed buffer.<p>
1017 <dl compact><dt><b>Parameters:</b></dt><dd>
1018 <table border="0" cellspacing="2" cellpadding="0">
1019 <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos context. </td></tr>
1020 <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>principal to unparse </td></tr>
1021 <tr><td valign="top"></td><td valign="top"><em>flags</em> </td><td>unparse flags </td></tr>
1022 <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>buffer to write name to </td></tr>
1023 <tr><td valign="top"></td><td valign="top"><em>len</em> </td><td>length of buffer</td></tr>
1026 <dl class="return" compact><dt><b>Returns:</b></dt><dd>An krb5 error code, see krb5_get_error_message(). </dd></dl>
1030 <a class="anchor" name="gcebe44e0685fc7b6c89a53eca71e7d24"></a><!-- doxytag: member="principal.c::krb5_unparse_name_fixed_short" ref="gcebe44e0685fc7b6c89a53eca71e7d24" args="(krb5_context context, krb5_const_principal principal, char *name, size_t len)" -->
1031 <div class="memitem">
1032 <div class="memproto">
1033 <table class="memname">
1035 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_unparse_name_fixed_short </td>
1037 <td class="paramtype">krb5_context </td>
1038 <td class="paramname"> <em>context</em>, </td>
1041 <td class="paramkey"></td>
1043 <td class="paramtype">krb5_const_principal </td>
1044 <td class="paramname"> <em>principal</em>, </td>
1047 <td class="paramkey"></td>
1049 <td class="paramtype">char * </td>
1050 <td class="paramname"> <em>name</em>, </td>
1053 <td class="paramkey"></td>
1055 <td class="paramtype">size_t </td>
1056 <td class="paramname"> <em>len</em></td><td> </td>
1061 <td></td><td></td><td></td>
1065 <div class="memdoc">
1068 Unparse the principal name to a fixed buffer. The realm is skipped if its a default realm.<p>
1069 <dl compact><dt><b>Parameters:</b></dt><dd>
1070 <table border="0" cellspacing="2" cellpadding="0">
1071 <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos context. </td></tr>
1072 <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>principal to unparse </td></tr>
1073 <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>buffer to write name to </td></tr>
1074 <tr><td valign="top"></td><td valign="top"><em>len</em> </td><td>length of buffer</td></tr>
1077 <dl class="return" compact><dt><b>Returns:</b></dt><dd>An krb5 error code, see krb5_get_error_message(). </dd></dl>
1081 <a class="anchor" name="gd46122cd0e543b6c1219abb8730378e7"></a><!-- doxytag: member="principal.c::krb5_unparse_name_flags" ref="gd46122cd0e543b6c1219abb8730378e7" args="(krb5_context context, krb5_const_principal principal, int flags, char **name)" -->
1082 <div class="memitem">
1083 <div class="memproto">
1084 <table class="memname">
1086 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_unparse_name_flags </td>
1088 <td class="paramtype">krb5_context </td>
1089 <td class="paramname"> <em>context</em>, </td>
1092 <td class="paramkey"></td>
1094 <td class="paramtype">krb5_const_principal </td>
1095 <td class="paramname"> <em>principal</em>, </td>
1098 <td class="paramkey"></td>
1100 <td class="paramtype">int </td>
1101 <td class="paramname"> <em>flags</em>, </td>
1104 <td class="paramkey"></td>
1106 <td class="paramtype">char ** </td>
1107 <td class="paramname"> <em>name</em></td><td> </td>
1112 <td></td><td></td><td></td>
1116 <div class="memdoc">
1119 Unparse the Kerberos name into a string<p>
1120 <dl compact><dt><b>Parameters:</b></dt><dd>
1121 <table border="0" cellspacing="2" cellpadding="0">
1122 <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context </td></tr>
1123 <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>principal to query </td></tr>
1124 <tr><td valign="top"></td><td valign="top"><em>flags</em> </td><td>flag to determine the behavior </td></tr>
1125 <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>resulting string, free with krb5_xfree()</td></tr>
1128 <dl class="return" compact><dt><b>Returns:</b></dt><dd>An krb5 error code, see krb5_get_error_message(). </dd></dl>
1132 <a class="anchor" name="g600247895edbde37e195c8b2089295a3"></a><!-- doxytag: member="principal.c::krb5_unparse_name_short" ref="g600247895edbde37e195c8b2089295a3" args="(krb5_context context, krb5_const_principal principal, char **name)" -->
1133 <div class="memitem">
1134 <div class="memproto">
1135 <table class="memname">
1137 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_unparse_name_short </td>
1139 <td class="paramtype">krb5_context </td>
1140 <td class="paramname"> <em>context</em>, </td>
1143 <td class="paramkey"></td>
1145 <td class="paramtype">krb5_const_principal </td>
1146 <td class="paramname"> <em>principal</em>, </td>
1149 <td class="paramkey"></td>
1151 <td class="paramtype">char ** </td>
1152 <td class="paramname"> <em>name</em></td><td> </td>
1157 <td></td><td></td><td></td>
1161 <div class="memdoc">
1164 Unparse the principal name to a allocated buffer. The realm is skipped if its a default realm.<p>
1165 <dl compact><dt><b>Parameters:</b></dt><dd>
1166 <table border="0" cellspacing="2" cellpadding="0">
1167 <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos context. </td></tr>
1168 <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>principal to unparse </td></tr>
1169 <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>returned buffer, free with krb5_xfree()</td></tr>
1172 <dl class="return" compact><dt><b>Returns:</b></dt><dd>An krb5 error code, see krb5_get_error_message(). </dd></dl>
1177 <hr size="1"><address style="text-align: right;"><small>
1178 Generated on Wed Jan 11 14:07:48 2012 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address>