xref: /freebsd/crypto/heimdal/doc/doxyout/krb5/html/group__krb5.html (revision f4b37ed0f8b307b1f3f0f630ca725d68f1dff30d)
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 library</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.5.6 -->
12<div class="navigation" id="top">
13  <div class="tabs">
14    <ul>
15      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
16      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
17      <li><a href="modules.html"><span>Modules</span></a></li>
18      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
19    </ul>
20  </div>
21</div>
22<div class="contents">
23<h1>Heimdal Kerberos 5 library</h1><table border="0" cellpadding="0" cellspacing="0">
24<tr><td></td></tr>
25<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
26<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
27krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gc03fc138d472dd7743a0ab7ecb3061c1">krb5_add_et_list</a> (krb5_context context, void(*func)(struct et_list **))</td></tr>
28
29<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
30krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g02611e3966053f79eda248d76dccc282">krb5_set_password</a> (krb5_context context, krb5_creds *creds, const char *newpw, krb5_principal targprinc, int *result_code, krb5_data *result_code_string, krb5_data *result_string)</td></tr>
31
32<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
33krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gbd94206e186c58a093975424a4a567a8">krb5_init_context</a> (krb5_context *context)</td></tr>
34
35<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
36krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gd30312a0ba95a71478de1b5fba34db3f">krb5_copy_context</a> (krb5_context context, krb5_context *out)</td></tr>
37
38<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br>
39KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#ge51d83f5d5f589883f1cd10887892777">krb5_free_context</a> (krb5_context context)</td></tr>
40
41<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
42krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gd4453861fbfc0372e3c44b59325f62aa">krb5_set_config_files</a> (krb5_context context, char **filenames)</td></tr>
43
44<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
45krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gad9a3fd7b838f053a71424d95bf73d40">krb5_prepend_config_files_default</a> (const char *filelist, char ***pfilenames)</td></tr>
46
47<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
48krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g4276c71bee1ba0c9f2bbd659cd351cb3">krb5_get_default_config_files</a> (char ***pfilenames)</td></tr>
49
50<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br>
51KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gce1b568d05875e7c4fbc6e5af5a8bdbf">krb5_free_config_files</a> (char **filenames)</td></tr>
52
53<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION const <br>
54krb5_enctype *KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g92110f6472a4fb0a5e0a35da81af4fa2">krb5_kerberos_enctypes</a> (krb5_context context)</td></tr>
55
56<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
57krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g5e028d8b3b0444c98b251f46eb48235a">krb5_set_default_in_tkt_etypes</a> (krb5_context context, const krb5_enctype *etypes)</td></tr>
58
59<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
60krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#ga2bba3d683f1280ddfe8430d834bd5e8">krb5_get_default_in_tkt_etypes</a> (krb5_context context, krb5_pdu pdu_type, krb5_enctype **etypes)</td></tr>
61
62<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br>
63KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g0f4f2bf6056a5fd472d9dd3d393f133e">krb5_init_ets</a> (krb5_context context)</td></tr>
64
65<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br>
66KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g3e1564b6d147482eba7bfb5e40a4ff6f">krb5_set_use_admin_kdc</a> (krb5_context context, krb5_boolean flag)</td></tr>
67
68<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br>
69KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gc68122daa411ea028bd521e6e9d2ca6b">krb5_get_use_admin_kdc</a> (krb5_context context)</td></tr>
70
71<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
72krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#ga3776874e66baaaad19316d65aeeb4b5">krb5_add_extra_addresses</a> (krb5_context context, krb5_addresses *addresses)</td></tr>
73
74<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
75krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g3c326674110a2d1c7d3523a0c308dddd">krb5_set_extra_addresses</a> (krb5_context context, const krb5_addresses *addresses)</td></tr>
76
77<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
78krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g0c24a484850684f9252c0f494da2e4c5">krb5_get_extra_addresses</a> (krb5_context context, krb5_addresses *addresses)</td></tr>
79
80<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
81krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g666a78a6b321bdc7d174343329d0eae9">krb5_add_ignore_addresses</a> (krb5_context context, krb5_addresses *addresses)</td></tr>
82
83<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
84krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g4d9823757dea2b9884c136fb959383bc">krb5_set_ignore_addresses</a> (krb5_context context, const krb5_addresses *addresses)</td></tr>
85
86<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
87krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g6f089725948937875bc2594d9b8cbaf7">krb5_get_ignore_addresses</a> (krb5_context context, krb5_addresses *addresses)</td></tr>
88
89<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
90krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g2f77d43f11ad41cd9b5676cc73f052bc">krb5_set_fcache_version</a> (krb5_context context, int version)</td></tr>
91
92<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
93krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g913ff7c6bd16cd3d3cb07529345b65ba">krb5_get_fcache_version</a> (krb5_context context, int *version)</td></tr>
94
95<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br>
96KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gc5664b887b62be61c00c70fa9e290611">krb5_is_thread_safe</a> (void)</td></tr>
97
98<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br>
99KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g798fb21edcec6c7b251709f1e447b21b">krb5_set_dns_canonicalize_hostname</a> (krb5_context context, krb5_boolean flag)</td></tr>
100
101<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br>
102KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gef9f47692fc31c50afc14b581b7aa2fa">krb5_get_dns_canonicalize_hostname</a> (krb5_context context)</td></tr>
103
104<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
105krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gfacf61debb011b06e22e78251104efa0">krb5_get_kdc_sec_offset</a> (krb5_context context, int32_t *sec, int32_t *usec)</td></tr>
106
107<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
108krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gfd16890e03f6dff6f6d013d97e0ee185">krb5_set_kdc_sec_offset</a> (krb5_context context, int32_t sec, int32_t usec)</td></tr>
109
110<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION time_t <br>
111KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gbefb8ef32ceedc5ffe6c9440c093a533">krb5_get_max_time_skew</a> (krb5_context context)</td></tr>
112
113<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br>
114KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g2257aeff745924c48f12d1893d7523ba">krb5_set_max_time_skew</a> (krb5_context context, time_t t)</td></tr>
115
116<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br>
117KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g3a8e40d622ff1460b2f554d83a9059ea">krb5_set_home_dir_access</a> (krb5_context context, krb5_boolean allow)</td></tr>
118
119<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
120krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#ge730027c647c418850393bce518f9d66">krb5_copy_host_realm</a> (krb5_context context, const krb5_realm *from, krb5_realm **to)</td></tr>
121
122<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
123krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gd89c4c7b633646c39e4a34a7230c94e1">krb5_free_cred_contents</a> (krb5_context context, krb5_creds *c)</td></tr>
124
125<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
126krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gc4fbae1d00b395ec9d69edabd93f432c">krb5_copy_creds_contents</a> (krb5_context context, const krb5_creds *incred, krb5_creds *c)</td></tr>
127
128<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
129krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gcb70cd95ac6806c3265ee6cec400b60d">krb5_copy_creds</a> (krb5_context context, const krb5_creds *incred, krb5_creds **outcred)</td></tr>
130
131<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
132krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g5224797a3ca4c450466ef5102164ee85">krb5_free_creds</a> (krb5_context context, krb5_creds *c)</td></tr>
133
134<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br>
135KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g45afc77b07b201272eeeaad9890b63cf">krb5_compare_creds</a> (krb5_context context, krb5_flags whichfields, const krb5_creds *mcreds, const krb5_creds *creds)</td></tr>
136
137<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION unsigned <br>
138long KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g3e6ea2e16872304ac5cc3bed2a0abb88">krb5_creds_get_ticket_flags</a> (krb5_creds *creds)</td></tr>
139
140<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br>
141KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#ga059e96dde4e0b8c082eb6f3d570b7bc">krb5_data_zero</a> (krb5_data *p)</td></tr>
142
143<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br>
144KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gb4b80ac7a8bbab89fe947ae1c7828ea8">krb5_data_free</a> (krb5_data *p)</td></tr>
145
146<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br>
147KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g9494f7751d3751c45a5ed4a89a5323b4">krb5_free_data</a> (krb5_context context, krb5_data *p)</td></tr>
148
149<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
150krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gf5b03734f6027c752381986ac0975ea9">krb5_data_alloc</a> (krb5_data *p, int len)</td></tr>
151
152<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
153krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g0602c7a4b056d9004db090df9886811c">krb5_data_realloc</a> (krb5_data *p, int len)</td></tr>
154
155<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
156krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gfb664221cde2d10fb5d1b3dfb5c55e04">krb5_data_copy</a> (krb5_data *p, const void *data, size_t len)</td></tr>
157
158<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
159krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g963388a0eea15e4e43dbe9c983e3e212">krb5_copy_data</a> (krb5_context context, const krb5_data *indata, krb5_data **outdata)</td></tr>
160
161<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION int KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gfad0906fca85d7dea0f6b762822d0ff4">krb5_data_cmp</a> (const krb5_data *data1, const krb5_data *data2)</td></tr>
162
163<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION int KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gcbeb984ec39d6f8ccb582816c14318ab">krb5_data_ct_cmp</a> (const krb5_data *data1, const krb5_data *data2)</td></tr>
164
165<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
166krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g8dcc8bb7370f2bd91bea895df7e1b1a2">krb5_krbhst_get_addrinfo</a> (krb5_context context, krb5_krbhst_info *host, struct addrinfo **ai)</td></tr>
167
168<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
169krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g3d994aef26269ee2b15e4d34acb28fed">krb5_free_ticket</a> (krb5_context context, krb5_ticket *ticket)</td></tr>
170
171<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
172krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gc2c0c5fe2dc17714287a20785623be45">krb5_copy_ticket</a> (krb5_context context, const krb5_ticket *from, krb5_ticket **to)</td></tr>
173
174<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
175krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g6cf23f11044d79441ea1456a01ebe7d7">krb5_ticket_get_client</a> (krb5_context context, const krb5_ticket *ticket, krb5_principal *client)</td></tr>
176
177<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
178krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gd1f40ffc29f379b7dec60144eefdb553">krb5_ticket_get_server</a> (krb5_context context, const krb5_ticket *ticket, krb5_principal *server)</td></tr>
179
180<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION time_t <br>
181KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g118b98784ccadd98cdaaa1ee5076c9fb">krb5_ticket_get_endtime</a> (krb5_context context, const krb5_ticket *ticket)</td></tr>
182
183<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
184krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#ga7387c09a85bf3aabe5bae8a2ec4af73">krb5_ticket_get_authorization_data_type</a> (krb5_context context, krb5_ticket *ticket, int type, krb5_data *data)</td></tr>
185
186<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
187krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g1bb5d4ab0e2ebd85414903617b1ac36b">krb5_set_real_time</a> (krb5_context context, krb5_timestamp sec, int32_t usec)</td></tr>
188
189</table>
190<hr><a name="_details"></a><h2>Detailed Description</h2>
191<hr><h2>Function Documentation</h2>
192<a class="anchor" name="gc03fc138d472dd7743a0ab7ecb3061c1"></a><!-- doxytag: member="add_et_list.c::krb5_add_et_list" ref="gc03fc138d472dd7743a0ab7ecb3061c1" args="(krb5_context context, void(*func)(struct et_list **))" -->
193<div class="memitem">
194<div class="memproto">
195      <table class="memname">
196        <tr>
197          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_add_et_list           </td>
198          <td>(</td>
199          <td class="paramtype">krb5_context&nbsp;</td>
200          <td class="paramname"> <em>context</em>, </td>
201        </tr>
202        <tr>
203          <td class="paramkey"></td>
204          <td></td>
205          <td class="paramtype">void(*)(struct et_list **)&nbsp;</td>
206          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
207        </tr>
208        <tr>
209          <td></td>
210          <td>)</td>
211          <td></td><td></td><td></td>
212        </tr>
213      </table>
214</div>
215<div class="memdoc">
216
217<p>
218Add a specified list of error messages to the et list in context. Call func (probably a comerr-generated function) with a pointer to the current et_list.<p>
219<dl compact><dt><b>Parameters:</b></dt><dd>
220  <table border="0" cellspacing="2" cellpadding="0">
221    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A kerberos context. </td></tr>
222    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The generated com_err et function.</td></tr>
223  </table>
224</dl>
225<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl>
226
227</div>
228</div><p>
229<a class="anchor" name="ga3776874e66baaaad19316d65aeeb4b5"></a><!-- doxytag: member="context.c::krb5_add_extra_addresses" ref="ga3776874e66baaaad19316d65aeeb4b5" args="(krb5_context context, krb5_addresses *addresses)" -->
230<div class="memitem">
231<div class="memproto">
232      <table class="memname">
233        <tr>
234          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_add_extra_addresses           </td>
235          <td>(</td>
236          <td class="paramtype">krb5_context&nbsp;</td>
237          <td class="paramname"> <em>context</em>, </td>
238        </tr>
239        <tr>
240          <td class="paramkey"></td>
241          <td></td>
242          <td class="paramtype">krb5_addresses *&nbsp;</td>
243          <td class="paramname"> <em>addresses</em></td><td>&nbsp;</td>
244        </tr>
245        <tr>
246          <td></td>
247          <td>)</td>
248          <td></td><td></td><td></td>
249        </tr>
250      </table>
251</div>
252<div class="memdoc">
253
254<p>
255Add extra address to the address list that the library will add to the client's address list when communicating with the KDC.<p>
256<dl compact><dt><b>Parameters:</b></dt><dd>
257  <table border="0" cellspacing="2" cellpadding="0">
258    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>Kerberos 5 context. </td></tr>
259    <tr><td valign="top"></td><td valign="top"><em>addresses</em>&nbsp;</td><td>addreses to add</td></tr>
260  </table>
261</dl>
262<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl>
263
264</div>
265</div><p>
266<a class="anchor" name="g666a78a6b321bdc7d174343329d0eae9"></a><!-- doxytag: member="context.c::krb5_add_ignore_addresses" ref="g666a78a6b321bdc7d174343329d0eae9" args="(krb5_context context, krb5_addresses *addresses)" -->
267<div class="memitem">
268<div class="memproto">
269      <table class="memname">
270        <tr>
271          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_add_ignore_addresses           </td>
272          <td>(</td>
273          <td class="paramtype">krb5_context&nbsp;</td>
274          <td class="paramname"> <em>context</em>, </td>
275        </tr>
276        <tr>
277          <td class="paramkey"></td>
278          <td></td>
279          <td class="paramtype">krb5_addresses *&nbsp;</td>
280          <td class="paramname"> <em>addresses</em></td><td>&nbsp;</td>
281        </tr>
282        <tr>
283          <td></td>
284          <td>)</td>
285          <td></td><td></td><td></td>
286        </tr>
287      </table>
288</div>
289<div class="memdoc">
290
291<p>
292Add extra addresses to ignore when fetching addresses from the underlaying operating system.<p>
293<dl compact><dt><b>Parameters:</b></dt><dd>
294  <table border="0" cellspacing="2" cellpadding="0">
295    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>Kerberos 5 context. </td></tr>
296    <tr><td valign="top"></td><td valign="top"><em>addresses</em>&nbsp;</td><td>addreses to ignore</td></tr>
297  </table>
298</dl>
299<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl>
300
301</div>
302</div><p>
303<a class="anchor" name="g45afc77b07b201272eeeaad9890b63cf"></a><!-- doxytag: member="creds.c::krb5_compare_creds" ref="g45afc77b07b201272eeeaad9890b63cf" args="(krb5_context context, krb5_flags whichfields, const krb5_creds *mcreds, const krb5_creds *creds)" -->
304<div class="memitem">
305<div class="memproto">
306      <table class="memname">
307        <tr>
308          <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_compare_creds           </td>
309          <td>(</td>
310          <td class="paramtype">krb5_context&nbsp;</td>
311          <td class="paramname"> <em>context</em>, </td>
312        </tr>
313        <tr>
314          <td class="paramkey"></td>
315          <td></td>
316          <td class="paramtype">krb5_flags&nbsp;</td>
317          <td class="paramname"> <em>whichfields</em>, </td>
318        </tr>
319        <tr>
320          <td class="paramkey"></td>
321          <td></td>
322          <td class="paramtype">const krb5_creds *&nbsp;</td>
323          <td class="paramname"> <em>mcreds</em>, </td>
324        </tr>
325        <tr>
326          <td class="paramkey"></td>
327          <td></td>
328          <td class="paramtype">const krb5_creds *&nbsp;</td>
329          <td class="paramname"> <em>creds</em></td><td>&nbsp;</td>
330        </tr>
331        <tr>
332          <td></td>
333          <td>)</td>
334          <td></td><td></td><td></td>
335        </tr>
336      </table>
337</div>
338<div class="memdoc">
339
340<p>
341Return TRUE if `mcreds' and `creds' are equal (`whichfields' determines what equal means).<p>
342The following flags, set in whichfields affects the comparison:<ul>
343<li>KRB5_TC_MATCH_SRV_NAMEONLY Consider all realms equal when comparing the service principal.</li><li>KRB5_TC_MATCH_KEYTYPE Compare enctypes.</li><li>KRB5_TC_MATCH_FLAGS_EXACT Make sure that the ticket flags are identical.</li><li>KRB5_TC_MATCH_FLAGS Make sure that all ticket flags set in mcreds are also present in creds .</li><li>KRB5_TC_MATCH_TIMES_EXACT Compares the ticket times exactly.</li><li>KRB5_TC_MATCH_TIMES Compares only the expiration times of the creds.</li><li>KRB5_TC_MATCH_AUTHDATA Compares the authdata fields.</li><li>KRB5_TC_MATCH_2ND_TKT Compares the second tickets (used by user-to-user authentication).</li><li>KRB5_TC_MATCH_IS_SKEY Compares the existance of the second ticket.</li></ul>
344<p>
345<dl compact><dt><b>Parameters:</b></dt><dd>
346  <table border="0" cellspacing="2" cellpadding="0">
347    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>Kerberos 5 context. </td></tr>
348    <tr><td valign="top"></td><td valign="top"><em>whichfields</em>&nbsp;</td><td>which fields to compare. </td></tr>
349    <tr><td valign="top"></td><td valign="top"><em>mcreds</em>&nbsp;</td><td>cred to compare with. </td></tr>
350    <tr><td valign="top"></td><td valign="top"><em>creds</em>&nbsp;</td><td>cred to compare with.</td></tr>
351  </table>
352</dl>
353<dl class="return" compact><dt><b>Returns:</b></dt><dd>return TRUE if mcred and creds are equal, FALSE if not. </dd></dl>
354
355</div>
356</div><p>
357<a class="anchor" name="gd30312a0ba95a71478de1b5fba34db3f"></a><!-- doxytag: member="context.c::krb5_copy_context" ref="gd30312a0ba95a71478de1b5fba34db3f" args="(krb5_context context, krb5_context *out)" -->
358<div class="memitem">
359<div class="memproto">
360      <table class="memname">
361        <tr>
362          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_context           </td>
363          <td>(</td>
364          <td class="paramtype">krb5_context&nbsp;</td>
365          <td class="paramname"> <em>context</em>, </td>
366        </tr>
367        <tr>
368          <td class="paramkey"></td>
369          <td></td>
370          <td class="paramtype">krb5_context *&nbsp;</td>
371          <td class="paramname"> <em>out</em></td><td>&nbsp;</td>
372        </tr>
373        <tr>
374          <td></td>
375          <td>)</td>
376          <td></td><td></td><td></td>
377        </tr>
378      </table>
379</div>
380<div class="memdoc">
381
382<p>
383Make a copy for the Kerberos 5 context, the new krb5_context shoud be freed with <a class="el" href="group__krb5.html#ge51d83f5d5f589883f1cd10887892777">krb5_free_context()</a>.<p>
384<dl compact><dt><b>Parameters:</b></dt><dd>
385  <table border="0" cellspacing="2" cellpadding="0">
386    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>the Kerberos context to copy </td></tr>
387    <tr><td valign="top"></td><td valign="top"><em>out</em>&nbsp;</td><td>the copy of the Kerberos, set to NULL error.</td></tr>
388  </table>
389</dl>
390<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl>
391
392</div>
393</div><p>
394<a class="anchor" name="gcb70cd95ac6806c3265ee6cec400b60d"></a><!-- doxytag: member="creds.c::krb5_copy_creds" ref="gcb70cd95ac6806c3265ee6cec400b60d" args="(krb5_context context, const krb5_creds *incred, krb5_creds **outcred)" -->
395<div class="memitem">
396<div class="memproto">
397      <table class="memname">
398        <tr>
399          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_creds           </td>
400          <td>(</td>
401          <td class="paramtype">krb5_context&nbsp;</td>
402          <td class="paramname"> <em>context</em>, </td>
403        </tr>
404        <tr>
405          <td class="paramkey"></td>
406          <td></td>
407          <td class="paramtype">const krb5_creds *&nbsp;</td>
408          <td class="paramname"> <em>incred</em>, </td>
409        </tr>
410        <tr>
411          <td class="paramkey"></td>
412          <td></td>
413          <td class="paramtype">krb5_creds **&nbsp;</td>
414          <td class="paramname"> <em>outcred</em></td><td>&nbsp;</td>
415        </tr>
416        <tr>
417          <td></td>
418          <td>)</td>
419          <td></td><td></td><td></td>
420        </tr>
421      </table>
422</div>
423<div class="memdoc">
424
425<p>
426Copy krb5_creds.<p>
427<dl compact><dt><b>Parameters:</b></dt><dd>
428  <table border="0" cellspacing="2" cellpadding="0">
429    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>Kerberos 5 context. </td></tr>
430    <tr><td valign="top"></td><td valign="top"><em>incred</em>&nbsp;</td><td>source credential </td></tr>
431    <tr><td valign="top"></td><td valign="top"><em>outcred</em>&nbsp;</td><td>destination credential, free with <a class="el" href="group__krb5.html#g5224797a3ca4c450466ef5102164ee85">krb5_free_creds()</a>.</td></tr>
432  </table>
433</dl>
434<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl>
435
436</div>
437</div><p>
438<a class="anchor" name="gc4fbae1d00b395ec9d69edabd93f432c"></a><!-- doxytag: member="creds.c::krb5_copy_creds_contents" ref="gc4fbae1d00b395ec9d69edabd93f432c" args="(krb5_context context, const krb5_creds *incred, krb5_creds *c)" -->
439<div class="memitem">
440<div class="memproto">
441      <table class="memname">
442        <tr>
443          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_creds_contents           </td>
444          <td>(</td>
445          <td class="paramtype">krb5_context&nbsp;</td>
446          <td class="paramname"> <em>context</em>, </td>
447        </tr>
448        <tr>
449          <td class="paramkey"></td>
450          <td></td>
451          <td class="paramtype">const krb5_creds *&nbsp;</td>
452          <td class="paramname"> <em>incred</em>, </td>
453        </tr>
454        <tr>
455          <td class="paramkey"></td>
456          <td></td>
457          <td class="paramtype">krb5_creds *&nbsp;</td>
458          <td class="paramname"> <em>c</em></td><td>&nbsp;</td>
459        </tr>
460        <tr>
461          <td></td>
462          <td>)</td>
463          <td></td><td></td><td></td>
464        </tr>
465      </table>
466</div>
467<div class="memdoc">
468
469<p>
470Copy content of krb5_creds.<p>
471<dl compact><dt><b>Parameters:</b></dt><dd>
472  <table border="0" cellspacing="2" cellpadding="0">
473    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>Kerberos 5 context. </td></tr>
474    <tr><td valign="top"></td><td valign="top"><em>incred</em>&nbsp;</td><td>source credential </td></tr>
475    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>destination credential, free with <a class="el" href="group__krb5.html#gd89c4c7b633646c39e4a34a7230c94e1">krb5_free_cred_contents()</a>.</td></tr>
476  </table>
477</dl>
478<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl>
479
480</div>
481</div><p>
482<a class="anchor" name="g963388a0eea15e4e43dbe9c983e3e212"></a><!-- doxytag: member="data.c::krb5_copy_data" ref="g963388a0eea15e4e43dbe9c983e3e212" args="(krb5_context context, const krb5_data *indata, krb5_data **outdata)" -->
483<div class="memitem">
484<div class="memproto">
485      <table class="memname">
486        <tr>
487          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_data           </td>
488          <td>(</td>
489          <td class="paramtype">krb5_context&nbsp;</td>
490          <td class="paramname"> <em>context</em>, </td>
491        </tr>
492        <tr>
493          <td class="paramkey"></td>
494          <td></td>
495          <td class="paramtype">const krb5_data *&nbsp;</td>
496          <td class="paramname"> <em>indata</em>, </td>
497        </tr>
498        <tr>
499          <td class="paramkey"></td>
500          <td></td>
501          <td class="paramtype">krb5_data **&nbsp;</td>
502          <td class="paramname"> <em>outdata</em></td><td>&nbsp;</td>
503        </tr>
504        <tr>
505          <td></td>
506          <td>)</td>
507          <td></td><td></td><td></td>
508        </tr>
509      </table>
510</div>
511<div class="memdoc">
512
513<p>
514Copy the data into a newly allocated krb5_data.<p>
515<dl compact><dt><b>Parameters:</b></dt><dd>
516  <table border="0" cellspacing="2" cellpadding="0">
517    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>Kerberos 5 context. </td></tr>
518    <tr><td valign="top"></td><td valign="top"><em>indata</em>&nbsp;</td><td>the krb5_data data to copy </td></tr>
519    <tr><td valign="top"></td><td valign="top"><em>outdata</em>&nbsp;</td><td>new krb5_date to copy too. Free with <a class="el" href="group__krb5.html#g9494f7751d3751c45a5ed4a89a5323b4">krb5_free_data()</a>.</td></tr>
520  </table>
521</dl>
522<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned. </dd></dl>
523
524</div>
525</div><p>
526<a class="anchor" name="ge730027c647c418850393bce518f9d66"></a><!-- doxytag: member="copy_host_realm.c::krb5_copy_host_realm" ref="ge730027c647c418850393bce518f9d66" args="(krb5_context context, const krb5_realm *from, krb5_realm **to)" -->
527<div class="memitem">
528<div class="memproto">
529      <table class="memname">
530        <tr>
531          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_host_realm           </td>
532          <td>(</td>
533          <td class="paramtype">krb5_context&nbsp;</td>
534          <td class="paramname"> <em>context</em>, </td>
535        </tr>
536        <tr>
537          <td class="paramkey"></td>
538          <td></td>
539          <td class="paramtype">const krb5_realm *&nbsp;</td>
540          <td class="paramname"> <em>from</em>, </td>
541        </tr>
542        <tr>
543          <td class="paramkey"></td>
544          <td></td>
545          <td class="paramtype">krb5_realm **&nbsp;</td>
546          <td class="paramname"> <em>to</em></td><td>&nbsp;</td>
547        </tr>
548        <tr>
549          <td></td>
550          <td>)</td>
551          <td></td><td></td><td></td>
552        </tr>
553      </table>
554</div>
555<div class="memdoc">
556
557<p>
558Copy the list of realms from `from' to `to'.<p>
559<dl compact><dt><b>Parameters:</b></dt><dd>
560  <table border="0" cellspacing="2" cellpadding="0">
561    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>Kerberos 5 context. </td></tr>
562    <tr><td valign="top"></td><td valign="top"><em>from</em>&nbsp;</td><td>list of realms to copy from. </td></tr>
563    <tr><td valign="top"></td><td valign="top"><em>to</em>&nbsp;</td><td>list of realms to copy to, free list of <a class="el" href="group__krb5__support.html#gca0ab80d3affb5986aa5061f3782401b">krb5_free_host_realm()</a>.</td></tr>
564  </table>
565</dl>
566<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl>
567
568</div>
569</div><p>
570<a class="anchor" name="gc2c0c5fe2dc17714287a20785623be45"></a><!-- doxytag: member="ticket.c::krb5_copy_ticket" ref="gc2c0c5fe2dc17714287a20785623be45" args="(krb5_context context, const krb5_ticket *from, krb5_ticket **to)" -->
571<div class="memitem">
572<div class="memproto">
573      <table class="memname">
574        <tr>
575          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_ticket           </td>
576          <td>(</td>
577          <td class="paramtype">krb5_context&nbsp;</td>
578          <td class="paramname"> <em>context</em>, </td>
579        </tr>
580        <tr>
581          <td class="paramkey"></td>
582          <td></td>
583          <td class="paramtype">const krb5_ticket *&nbsp;</td>
584          <td class="paramname"> <em>from</em>, </td>
585        </tr>
586        <tr>
587          <td class="paramkey"></td>
588          <td></td>
589          <td class="paramtype">krb5_ticket **&nbsp;</td>
590          <td class="paramname"> <em>to</em></td><td>&nbsp;</td>
591        </tr>
592        <tr>
593          <td></td>
594          <td>)</td>
595          <td></td><td></td><td></td>
596        </tr>
597      </table>
598</div>
599<div class="memdoc">
600
601<p>
602Copy ticket and content<p>
603<dl compact><dt><b>Parameters:</b></dt><dd>
604  <table border="0" cellspacing="2" cellpadding="0">
605    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>a Kerberos 5 context </td></tr>
606    <tr><td valign="top"></td><td valign="top"><em>from</em>&nbsp;</td><td>ticket to copy </td></tr>
607    <tr><td valign="top"></td><td valign="top"><em>to</em>&nbsp;</td><td>new copy of ticket, free with <a class="el" href="group__krb5.html#g3d994aef26269ee2b15e4d34acb28fed">krb5_free_ticket()</a></td></tr>
608  </table>
609</dl>
610<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl>
611
612</div>
613</div><p>
614<a class="anchor" name="g3e6ea2e16872304ac5cc3bed2a0abb88"></a><!-- doxytag: member="creds.c::krb5_creds_get_ticket_flags" ref="g3e6ea2e16872304ac5cc3bed2a0abb88" args="(krb5_creds *creds)" -->
615<div class="memitem">
616<div class="memproto">
617      <table class="memname">
618        <tr>
619          <td class="memname">KRB5_LIB_FUNCTION unsigned long KRB5_LIB_CALL krb5_creds_get_ticket_flags           </td>
620          <td>(</td>
621          <td class="paramtype">krb5_creds *&nbsp;</td>
622          <td class="paramname"> <em>creds</em>          </td>
623          <td>&nbsp;)&nbsp;</td>
624          <td></td>
625        </tr>
626      </table>
627</div>
628<div class="memdoc">
629
630<p>
631Returns the ticket flags for the credentials in creds. See also <a class="el" href="group__krb5__ticket.html#gb6a75ab695ff8478394084138af9eb16">krb5_ticket_get_flags()</a>.<p>
632<dl compact><dt><b>Parameters:</b></dt><dd>
633  <table border="0" cellspacing="2" cellpadding="0">
634    <tr><td valign="top"></td><td valign="top"><em>creds</em>&nbsp;</td><td>credential to get ticket flags from</td></tr>
635  </table>
636</dl>
637<dl class="return" compact><dt><b>Returns:</b></dt><dd>ticket flags </dd></dl>
638
639</div>
640</div><p>
641<a class="anchor" name="gf5b03734f6027c752381986ac0975ea9"></a><!-- doxytag: member="data.c::krb5_data_alloc" ref="gf5b03734f6027c752381986ac0975ea9" args="(krb5_data *p, int len)" -->
642<div class="memitem">
643<div class="memproto">
644      <table class="memname">
645        <tr>
646          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_data_alloc           </td>
647          <td>(</td>
648          <td class="paramtype">krb5_data *&nbsp;</td>
649          <td class="paramname"> <em>p</em>, </td>
650        </tr>
651        <tr>
652          <td class="paramkey"></td>
653          <td></td>
654          <td class="paramtype">int&nbsp;</td>
655          <td class="paramname"> <em>len</em></td><td>&nbsp;</td>
656        </tr>
657        <tr>
658          <td></td>
659          <td>)</td>
660          <td></td><td></td><td></td>
661        </tr>
662      </table>
663</div>
664<div class="memdoc">
665
666<p>
667Allocate data of and krb5_data.<p>
668<dl compact><dt><b>Parameters:</b></dt><dd>
669  <table border="0" cellspacing="2" cellpadding="0">
670    <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td>krb5_data to allocate. </td></tr>
671    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>size to allocate.</td></tr>
672  </table>
673</dl>
674<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned. </dd></dl>
675
676</div>
677</div><p>
678<a class="anchor" name="gfad0906fca85d7dea0f6b762822d0ff4"></a><!-- doxytag: member="data.c::krb5_data_cmp" ref="gfad0906fca85d7dea0f6b762822d0ff4" args="(const krb5_data *data1, const krb5_data *data2)" -->
679<div class="memitem">
680<div class="memproto">
681      <table class="memname">
682        <tr>
683          <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_data_cmp           </td>
684          <td>(</td>
685          <td class="paramtype">const krb5_data *&nbsp;</td>
686          <td class="paramname"> <em>data1</em>, </td>
687        </tr>
688        <tr>
689          <td class="paramkey"></td>
690          <td></td>
691          <td class="paramtype">const krb5_data *&nbsp;</td>
692          <td class="paramname"> <em>data2</em></td><td>&nbsp;</td>
693        </tr>
694        <tr>
695          <td></td>
696          <td>)</td>
697          <td></td><td></td><td></td>
698        </tr>
699      </table>
700</div>
701<div class="memdoc">
702
703<p>
704Compare to data.<p>
705<dl compact><dt><b>Parameters:</b></dt><dd>
706  <table border="0" cellspacing="2" cellpadding="0">
707    <tr><td valign="top"></td><td valign="top"><em>data1</em>&nbsp;</td><td>krb5_data to compare </td></tr>
708    <tr><td valign="top"></td><td valign="top"><em>data2</em>&nbsp;</td><td>krb5_data to compare</td></tr>
709  </table>
710</dl>
711<dl class="return" compact><dt><b>Returns:</b></dt><dd>return the same way as memcmp(), useful when sorting. </dd></dl>
712
713</div>
714</div><p>
715<a class="anchor" name="gfb664221cde2d10fb5d1b3dfb5c55e04"></a><!-- doxytag: member="data.c::krb5_data_copy" ref="gfb664221cde2d10fb5d1b3dfb5c55e04" args="(krb5_data *p, const void *data, size_t len)" -->
716<div class="memitem">
717<div class="memproto">
718      <table class="memname">
719        <tr>
720          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_data_copy           </td>
721          <td>(</td>
722          <td class="paramtype">krb5_data *&nbsp;</td>
723          <td class="paramname"> <em>p</em>, </td>
724        </tr>
725        <tr>
726          <td class="paramkey"></td>
727          <td></td>
728          <td class="paramtype">const void *&nbsp;</td>
729          <td class="paramname"> <em>data</em>, </td>
730        </tr>
731        <tr>
732          <td class="paramkey"></td>
733          <td></td>
734          <td class="paramtype">size_t&nbsp;</td>
735          <td class="paramname"> <em>len</em></td><td>&nbsp;</td>
736        </tr>
737        <tr>
738          <td></td>
739          <td>)</td>
740          <td></td><td></td><td></td>
741        </tr>
742      </table>
743</div>
744<div class="memdoc">
745
746<p>
747Copy the data of len into the krb5_data.<p>
748<dl compact><dt><b>Parameters:</b></dt><dd>
749  <table border="0" cellspacing="2" cellpadding="0">
750    <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td>krb5_data to copy into. </td></tr>
751    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>data to copy.. </td></tr>
752    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>new size.</td></tr>
753  </table>
754</dl>
755<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned. </dd></dl>
756
757</div>
758</div><p>
759<a class="anchor" name="gcbeb984ec39d6f8ccb582816c14318ab"></a><!-- doxytag: member="data.c::krb5_data_ct_cmp" ref="gcbeb984ec39d6f8ccb582816c14318ab" args="(const krb5_data *data1, const krb5_data *data2)" -->
760<div class="memitem">
761<div class="memproto">
762      <table class="memname">
763        <tr>
764          <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_data_ct_cmp           </td>
765          <td>(</td>
766          <td class="paramtype">const krb5_data *&nbsp;</td>
767          <td class="paramname"> <em>data1</em>, </td>
768        </tr>
769        <tr>
770          <td class="paramkey"></td>
771          <td></td>
772          <td class="paramtype">const krb5_data *&nbsp;</td>
773          <td class="paramname"> <em>data2</em></td><td>&nbsp;</td>
774        </tr>
775        <tr>
776          <td></td>
777          <td>)</td>
778          <td></td><td></td><td></td>
779        </tr>
780      </table>
781</div>
782<div class="memdoc">
783
784<p>
785Compare to data not exposing timing information from the checksum data<p>
786<dl compact><dt><b>Parameters:</b></dt><dd>
787  <table border="0" cellspacing="2" cellpadding="0">
788    <tr><td valign="top"></td><td valign="top"><em>data1</em>&nbsp;</td><td>krb5_data to compare </td></tr>
789    <tr><td valign="top"></td><td valign="top"><em>data2</em>&nbsp;</td><td>krb5_data to compare</td></tr>
790  </table>
791</dl>
792<dl class="return" compact><dt><b>Returns:</b></dt><dd>returns zero for same data, otherwise non zero. </dd></dl>
793
794</div>
795</div><p>
796<a class="anchor" name="gb4b80ac7a8bbab89fe947ae1c7828ea8"></a><!-- doxytag: member="data.c::krb5_data_free" ref="gb4b80ac7a8bbab89fe947ae1c7828ea8" args="(krb5_data *p)" -->
797<div class="memitem">
798<div class="memproto">
799      <table class="memname">
800        <tr>
801          <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_data_free           </td>
802          <td>(</td>
803          <td class="paramtype">krb5_data *&nbsp;</td>
804          <td class="paramname"> <em>p</em>          </td>
805          <td>&nbsp;)&nbsp;</td>
806          <td></td>
807        </tr>
808      </table>
809</div>
810<div class="memdoc">
811
812<p>
813Free the content of krb5_data structure, its ok to free a zeroed structure (with memset() or <a class="el" href="group__krb5.html#ga059e96dde4e0b8c082eb6f3d570b7bc">krb5_data_zero()</a>). When done, the structure will be zeroed. The same function is called <a class="el" href="group__krb5__deprecated.html#g220b8b17e81dc71dd3ecd1b079160db9">krb5_free_data_contents()</a> in MIT Kerberos.<p>
814<dl compact><dt><b>Parameters:</b></dt><dd>
815  <table border="0" cellspacing="2" cellpadding="0">
816    <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td>krb5_data to free. </td></tr>
817  </table>
818</dl>
819
820</div>
821</div><p>
822<a class="anchor" name="g0602c7a4b056d9004db090df9886811c"></a><!-- doxytag: member="data.c::krb5_data_realloc" ref="g0602c7a4b056d9004db090df9886811c" args="(krb5_data *p, int len)" -->
823<div class="memitem">
824<div class="memproto">
825      <table class="memname">
826        <tr>
827          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_data_realloc           </td>
828          <td>(</td>
829          <td class="paramtype">krb5_data *&nbsp;</td>
830          <td class="paramname"> <em>p</em>, </td>
831        </tr>
832        <tr>
833          <td class="paramkey"></td>
834          <td></td>
835          <td class="paramtype">int&nbsp;</td>
836          <td class="paramname"> <em>len</em></td><td>&nbsp;</td>
837        </tr>
838        <tr>
839          <td></td>
840          <td>)</td>
841          <td></td><td></td><td></td>
842        </tr>
843      </table>
844</div>
845<div class="memdoc">
846
847<p>
848Grow (or shrink) the content of krb5_data to a new size.<p>
849<dl compact><dt><b>Parameters:</b></dt><dd>
850  <table border="0" cellspacing="2" cellpadding="0">
851    <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td>krb5_data to free. </td></tr>
852    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>new size.</td></tr>
853  </table>
854</dl>
855<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned. </dd></dl>
856
857</div>
858</div><p>
859<a class="anchor" name="ga059e96dde4e0b8c082eb6f3d570b7bc"></a><!-- doxytag: member="data.c::krb5_data_zero" ref="ga059e96dde4e0b8c082eb6f3d570b7bc" args="(krb5_data *p)" -->
860<div class="memitem">
861<div class="memproto">
862      <table class="memname">
863        <tr>
864          <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_data_zero           </td>
865          <td>(</td>
866          <td class="paramtype">krb5_data *&nbsp;</td>
867          <td class="paramname"> <em>p</em>          </td>
868          <td>&nbsp;)&nbsp;</td>
869          <td></td>
870        </tr>
871      </table>
872</div>
873<div class="memdoc">
874
875<p>
876Reset the (potentially uninitalized) krb5_data structure.<p>
877<dl compact><dt><b>Parameters:</b></dt><dd>
878  <table border="0" cellspacing="2" cellpadding="0">
879    <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td>krb5_data to reset. </td></tr>
880  </table>
881</dl>
882
883</div>
884</div><p>
885<a class="anchor" name="gce1b568d05875e7c4fbc6e5af5a8bdbf"></a><!-- doxytag: member="context.c::krb5_free_config_files" ref="gce1b568d05875e7c4fbc6e5af5a8bdbf" args="(char **filenames)" -->
886<div class="memitem">
887<div class="memproto">
888      <table class="memname">
889        <tr>
890          <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_free_config_files           </td>
891          <td>(</td>
892          <td class="paramtype">char **&nbsp;</td>
893          <td class="paramname"> <em>filenames</em>          </td>
894          <td>&nbsp;)&nbsp;</td>
895          <td></td>
896        </tr>
897      </table>
898</div>
899<div class="memdoc">
900
901<p>
902Free a list of configuration files.<p>
903<dl compact><dt><b>Parameters:</b></dt><dd>
904  <table border="0" cellspacing="2" cellpadding="0">
905    <tr><td valign="top"></td><td valign="top"><em>filenames</em>&nbsp;</td><td>list, terminated with a NULL pointer, to be freed. NULL is an valid argument.</td></tr>
906  </table>
907</dl>
908<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl>
909
910</div>
911</div><p>
912<a class="anchor" name="ge51d83f5d5f589883f1cd10887892777"></a><!-- doxytag: member="context.c::krb5_free_context" ref="ge51d83f5d5f589883f1cd10887892777" args="(krb5_context context)" -->
913<div class="memitem">
914<div class="memproto">
915      <table class="memname">
916        <tr>
917          <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_free_context           </td>
918          <td>(</td>
919          <td class="paramtype">krb5_context&nbsp;</td>
920          <td class="paramname"> <em>context</em>          </td>
921          <td>&nbsp;)&nbsp;</td>
922          <td></td>
923        </tr>
924      </table>
925</div>
926<div class="memdoc">
927
928<p>
929Frees the krb5_context allocated by <a class="el" href="group__krb5.html#gbd94206e186c58a093975424a4a567a8">krb5_init_context()</a>.<p>
930<dl compact><dt><b>Parameters:</b></dt><dd>
931  <table border="0" cellspacing="2" cellpadding="0">
932    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>context to be freed. </td></tr>
933  </table>
934</dl>
935
936</div>
937</div><p>
938<a class="anchor" name="gd89c4c7b633646c39e4a34a7230c94e1"></a><!-- doxytag: member="creds.c::krb5_free_cred_contents" ref="gd89c4c7b633646c39e4a34a7230c94e1" args="(krb5_context context, krb5_creds *c)" -->
939<div class="memitem">
940<div class="memproto">
941      <table class="memname">
942        <tr>
943          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_free_cred_contents           </td>
944          <td>(</td>
945          <td class="paramtype">krb5_context&nbsp;</td>
946          <td class="paramname"> <em>context</em>, </td>
947        </tr>
948        <tr>
949          <td class="paramkey"></td>
950          <td></td>
951          <td class="paramtype">krb5_creds *&nbsp;</td>
952          <td class="paramname"> <em>c</em></td><td>&nbsp;</td>
953        </tr>
954        <tr>
955          <td></td>
956          <td>)</td>
957          <td></td><td></td><td></td>
958        </tr>
959      </table>
960</div>
961<div class="memdoc">
962
963<p>
964Free content of krb5_creds.<p>
965<dl compact><dt><b>Parameters:</b></dt><dd>
966  <table border="0" cellspacing="2" cellpadding="0">
967    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>Kerberos 5 context. </td></tr>
968    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>krb5_creds to free.</td></tr>
969  </table>
970</dl>
971<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl>
972
973</div>
974</div><p>
975<a class="anchor" name="g5224797a3ca4c450466ef5102164ee85"></a><!-- doxytag: member="creds.c::krb5_free_creds" ref="g5224797a3ca4c450466ef5102164ee85" args="(krb5_context context, krb5_creds *c)" -->
976<div class="memitem">
977<div class="memproto">
978      <table class="memname">
979        <tr>
980          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_free_creds           </td>
981          <td>(</td>
982          <td class="paramtype">krb5_context&nbsp;</td>
983          <td class="paramname"> <em>context</em>, </td>
984        </tr>
985        <tr>
986          <td class="paramkey"></td>
987          <td></td>
988          <td class="paramtype">krb5_creds *&nbsp;</td>
989          <td class="paramname"> <em>c</em></td><td>&nbsp;</td>
990        </tr>
991        <tr>
992          <td></td>
993          <td>)</td>
994          <td></td><td></td><td></td>
995        </tr>
996      </table>
997</div>
998<div class="memdoc">
999
1000<p>
1001Free krb5_creds.<p>
1002<dl compact><dt><b>Parameters:</b></dt><dd>
1003  <table border="0" cellspacing="2" cellpadding="0">
1004    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>Kerberos 5 context. </td></tr>
1005    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>krb5_creds to free.</td></tr>
1006  </table>
1007</dl>
1008<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl>
1009
1010</div>
1011</div><p>
1012<a class="anchor" name="g9494f7751d3751c45a5ed4a89a5323b4"></a><!-- doxytag: member="data.c::krb5_free_data" ref="g9494f7751d3751c45a5ed4a89a5323b4" args="(krb5_context context, krb5_data *p)" -->
1013<div class="memitem">
1014<div class="memproto">
1015      <table class="memname">
1016        <tr>
1017          <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_free_data           </td>
1018          <td>(</td>
1019          <td class="paramtype">krb5_context&nbsp;</td>
1020          <td class="paramname"> <em>context</em>, </td>
1021        </tr>
1022        <tr>
1023          <td class="paramkey"></td>
1024          <td></td>
1025          <td class="paramtype">krb5_data *&nbsp;</td>
1026          <td class="paramname"> <em>p</em></td><td>&nbsp;</td>
1027        </tr>
1028        <tr>
1029          <td></td>
1030          <td>)</td>
1031          <td></td><td></td><td></td>
1032        </tr>
1033      </table>
1034</div>
1035<div class="memdoc">
1036
1037<p>
1038Free krb5_data (and its content).<p>
1039<dl compact><dt><b>Parameters:</b></dt><dd>
1040  <table border="0" cellspacing="2" cellpadding="0">
1041    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>Kerberos 5 context. </td></tr>
1042    <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td>krb5_data to free. </td></tr>
1043  </table>
1044</dl>
1045
1046</div>
1047</div><p>
1048<a class="anchor" name="g3d994aef26269ee2b15e4d34acb28fed"></a><!-- doxytag: member="ticket.c::krb5_free_ticket" ref="g3d994aef26269ee2b15e4d34acb28fed" args="(krb5_context context, krb5_ticket *ticket)" -->
1049<div class="memitem">
1050<div class="memproto">
1051      <table class="memname">
1052        <tr>
1053          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_free_ticket           </td>
1054          <td>(</td>
1055          <td class="paramtype">krb5_context&nbsp;</td>
1056          <td class="paramname"> <em>context</em>, </td>
1057        </tr>
1058        <tr>
1059          <td class="paramkey"></td>
1060          <td></td>
1061          <td class="paramtype">krb5_ticket *&nbsp;</td>
1062          <td class="paramname"> <em>ticket</em></td><td>&nbsp;</td>
1063        </tr>
1064        <tr>
1065          <td></td>
1066          <td>)</td>
1067          <td></td><td></td><td></td>
1068        </tr>
1069      </table>
1070</div>
1071<div class="memdoc">
1072
1073<p>
1074Free ticket and content<p>
1075<dl compact><dt><b>Parameters:</b></dt><dd>
1076  <table border="0" cellspacing="2" cellpadding="0">
1077    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>a Kerberos 5 context </td></tr>
1078    <tr><td valign="top"></td><td valign="top"><em>ticket</em>&nbsp;</td><td>ticket to free</td></tr>
1079  </table>
1080</dl>
1081<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl>
1082
1083</div>
1084</div><p>
1085<a class="anchor" name="g4276c71bee1ba0c9f2bbd659cd351cb3"></a><!-- doxytag: member="context.c::krb5_get_default_config_files" ref="g4276c71bee1ba0c9f2bbd659cd351cb3" args="(char ***pfilenames)" -->
1086<div class="memitem">
1087<div class="memproto">
1088      <table class="memname">
1089        <tr>
1090          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_default_config_files           </td>
1091          <td>(</td>
1092          <td class="paramtype">char ***&nbsp;</td>
1093          <td class="paramname"> <em>pfilenames</em>          </td>
1094          <td>&nbsp;)&nbsp;</td>
1095          <td></td>
1096        </tr>
1097      </table>
1098</div>
1099<div class="memdoc">
1100
1101<p>
1102Get the global configuration list.<p>
1103<dl compact><dt><b>Parameters:</b></dt><dd>
1104  <table border="0" cellspacing="2" cellpadding="0">
1105    <tr><td valign="top"></td><td valign="top"><em>pfilenames</em>&nbsp;</td><td>return array of filenames, should be freed with <a class="el" href="group__krb5.html#gce1b568d05875e7c4fbc6e5af5a8bdbf">krb5_free_config_files()</a>.</td></tr>
1106  </table>
1107</dl>
1108<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl>
1109
1110</div>
1111</div><p>
1112<a class="anchor" name="ga2bba3d683f1280ddfe8430d834bd5e8"></a><!-- doxytag: member="context.c::krb5_get_default_in_tkt_etypes" ref="ga2bba3d683f1280ddfe8430d834bd5e8" args="(krb5_context context, krb5_pdu pdu_type, krb5_enctype **etypes)" -->
1113<div class="memitem">
1114<div class="memproto">
1115      <table class="memname">
1116        <tr>
1117          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_default_in_tkt_etypes           </td>
1118          <td>(</td>
1119          <td class="paramtype">krb5_context&nbsp;</td>
1120          <td class="paramname"> <em>context</em>, </td>
1121        </tr>
1122        <tr>
1123          <td class="paramkey"></td>
1124          <td></td>
1125          <td class="paramtype">krb5_pdu&nbsp;</td>
1126          <td class="paramname"> <em>pdu_type</em>, </td>
1127        </tr>
1128        <tr>
1129          <td class="paramkey"></td>
1130          <td></td>
1131          <td class="paramtype">krb5_enctype **&nbsp;</td>
1132          <td class="paramname"> <em>etypes</em></td><td>&nbsp;</td>
1133        </tr>
1134        <tr>
1135          <td></td>
1136          <td>)</td>
1137          <td></td><td></td><td></td>
1138        </tr>
1139      </table>
1140</div>
1141<div class="memdoc">
1142
1143<p>
1144Get the default encryption types that will be use in communcation with the KDC, clients and servers.<p>
1145<dl compact><dt><b>Parameters:</b></dt><dd>
1146  <table border="0" cellspacing="2" cellpadding="0">
1147    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>Kerberos 5 context. </td></tr>
1148    <tr><td valign="top"></td><td valign="top"><em>etypes</em>&nbsp;</td><td>Encryption types, array terminated with ETYPE_NULL(0), caller should free array with krb5_xfree():</td></tr>
1149  </table>
1150</dl>
1151<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl>
1152
1153</div>
1154</div><p>
1155<a class="anchor" name="gef9f47692fc31c50afc14b581b7aa2fa"></a><!-- doxytag: member="context.c::krb5_get_dns_canonicalize_hostname" ref="gef9f47692fc31c50afc14b581b7aa2fa" args="(krb5_context context)" -->
1156<div class="memitem">
1157<div class="memproto">
1158      <table class="memname">
1159        <tr>
1160          <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_get_dns_canonicalize_hostname           </td>
1161          <td>(</td>
1162          <td class="paramtype">krb5_context&nbsp;</td>
1163          <td class="paramname"> <em>context</em>          </td>
1164          <td>&nbsp;)&nbsp;</td>
1165          <td></td>
1166        </tr>
1167      </table>
1168</div>
1169<div class="memdoc">
1170
1171<p>
1172Get if the library uses DNS to canonicalize hostnames.<p>
1173<dl compact><dt><b>Parameters:</b></dt><dd>
1174  <table border="0" cellspacing="2" cellpadding="0">
1175    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>Kerberos 5 context.</td></tr>
1176  </table>
1177</dl>
1178<dl class="return" compact><dt><b>Returns:</b></dt><dd>return non zero if the library uses DNS to canonicalize hostnames. </dd></dl>
1179
1180</div>
1181</div><p>
1182<a class="anchor" name="g0c24a484850684f9252c0f494da2e4c5"></a><!-- doxytag: member="context.c::krb5_get_extra_addresses" ref="g0c24a484850684f9252c0f494da2e4c5" args="(krb5_context context, krb5_addresses *addresses)" -->
1183<div class="memitem">
1184<div class="memproto">
1185      <table class="memname">
1186        <tr>
1187          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_extra_addresses           </td>
1188          <td>(</td>
1189          <td class="paramtype">krb5_context&nbsp;</td>
1190          <td class="paramname"> <em>context</em>, </td>
1191        </tr>
1192        <tr>
1193          <td class="paramkey"></td>
1194          <td></td>
1195          <td class="paramtype">krb5_addresses *&nbsp;</td>
1196          <td class="paramname"> <em>addresses</em></td><td>&nbsp;</td>
1197        </tr>
1198        <tr>
1199          <td></td>
1200          <td>)</td>
1201          <td></td><td></td><td></td>
1202        </tr>
1203      </table>
1204</div>
1205<div class="memdoc">
1206
1207<p>
1208Get extra address to the address list that the library will add to the client's address list when communicating with the KDC.<p>
1209<dl compact><dt><b>Parameters:</b></dt><dd>
1210  <table border="0" cellspacing="2" cellpadding="0">
1211    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>Kerberos 5 context. </td></tr>
1212    <tr><td valign="top"></td><td valign="top"><em>addresses</em>&nbsp;</td><td>addreses to set</td></tr>
1213  </table>
1214</dl>
1215<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl>
1216
1217</div>
1218</div><p>
1219<a class="anchor" name="g913ff7c6bd16cd3d3cb07529345b65ba"></a><!-- doxytag: member="context.c::krb5_get_fcache_version" ref="g913ff7c6bd16cd3d3cb07529345b65ba" args="(krb5_context context, int *version)" -->
1220<div class="memitem">
1221<div class="memproto">
1222      <table class="memname">
1223        <tr>
1224          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_fcache_version           </td>
1225          <td>(</td>
1226          <td class="paramtype">krb5_context&nbsp;</td>
1227          <td class="paramname"> <em>context</em>, </td>
1228        </tr>
1229        <tr>
1230          <td class="paramkey"></td>
1231          <td></td>
1232          <td class="paramtype">int *&nbsp;</td>
1233          <td class="paramname"> <em>version</em></td><td>&nbsp;</td>
1234        </tr>
1235        <tr>
1236          <td></td>
1237          <td>)</td>
1238          <td></td><td></td><td></td>
1239        </tr>
1240      </table>
1241</div>
1242<div class="memdoc">
1243
1244<p>
1245Get version of fcache that the library should use.<p>
1246<dl compact><dt><b>Parameters:</b></dt><dd>
1247  <table border="0" cellspacing="2" cellpadding="0">
1248    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>Kerberos 5 context. </td></tr>
1249    <tr><td valign="top"></td><td valign="top"><em>version</em>&nbsp;</td><td>version number.</td></tr>
1250  </table>
1251</dl>
1252<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl>
1253
1254</div>
1255</div><p>
1256<a class="anchor" name="g6f089725948937875bc2594d9b8cbaf7"></a><!-- doxytag: member="context.c::krb5_get_ignore_addresses" ref="g6f089725948937875bc2594d9b8cbaf7" args="(krb5_context context, krb5_addresses *addresses)" -->
1257<div class="memitem">
1258<div class="memproto">
1259      <table class="memname">
1260        <tr>
1261          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_ignore_addresses           </td>
1262          <td>(</td>
1263          <td class="paramtype">krb5_context&nbsp;</td>
1264          <td class="paramname"> <em>context</em>, </td>
1265        </tr>
1266        <tr>
1267          <td class="paramkey"></td>
1268          <td></td>
1269          <td class="paramtype">krb5_addresses *&nbsp;</td>
1270          <td class="paramname"> <em>addresses</em></td><td>&nbsp;</td>
1271        </tr>
1272        <tr>
1273          <td></td>
1274          <td>)</td>
1275          <td></td><td></td><td></td>
1276        </tr>
1277      </table>
1278</div>
1279<div class="memdoc">
1280
1281<p>
1282Get extra addresses to ignore when fetching addresses from the underlaying operating system.<p>
1283<dl compact><dt><b>Parameters:</b></dt><dd>
1284  <table border="0" cellspacing="2" cellpadding="0">
1285    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>Kerberos 5 context. </td></tr>
1286    <tr><td valign="top"></td><td valign="top"><em>addresses</em>&nbsp;</td><td>list addreses ignored</td></tr>
1287  </table>
1288</dl>
1289<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl>
1290
1291</div>
1292</div><p>
1293<a class="anchor" name="gfacf61debb011b06e22e78251104efa0"></a><!-- doxytag: member="context.c::krb5_get_kdc_sec_offset" ref="gfacf61debb011b06e22e78251104efa0" args="(krb5_context context, int32_t *sec, int32_t *usec)" -->
1294<div class="memitem">
1295<div class="memproto">
1296      <table class="memname">
1297        <tr>
1298          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_kdc_sec_offset           </td>
1299          <td>(</td>
1300          <td class="paramtype">krb5_context&nbsp;</td>
1301          <td class="paramname"> <em>context</em>, </td>
1302        </tr>
1303        <tr>
1304          <td class="paramkey"></td>
1305          <td></td>
1306          <td class="paramtype">int32_t *&nbsp;</td>
1307          <td class="paramname"> <em>sec</em>, </td>
1308        </tr>
1309        <tr>
1310          <td class="paramkey"></td>
1311          <td></td>
1312          <td class="paramtype">int32_t *&nbsp;</td>
1313          <td class="paramname"> <em>usec</em></td><td>&nbsp;</td>
1314        </tr>
1315        <tr>
1316          <td></td>
1317          <td>)</td>
1318          <td></td><td></td><td></td>
1319        </tr>
1320      </table>
1321</div>
1322<div class="memdoc">
1323
1324<p>
1325Get current offset in time to the KDC.<p>
1326<dl compact><dt><b>Parameters:</b></dt><dd>
1327  <table border="0" cellspacing="2" cellpadding="0">
1328    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>Kerberos 5 context. </td></tr>
1329    <tr><td valign="top"></td><td valign="top"><em>sec</em>&nbsp;</td><td>seconds part of offset. </td></tr>
1330    <tr><td valign="top"></td><td valign="top"><em>usec</em>&nbsp;</td><td>micro seconds part of offset.</td></tr>
1331  </table>
1332</dl>
1333<dl class="return" compact><dt><b>Returns:</b></dt><dd>returns zero </dd></dl>
1334
1335</div>
1336</div><p>
1337<a class="anchor" name="gbefb8ef32ceedc5ffe6c9440c093a533"></a><!-- doxytag: member="context.c::krb5_get_max_time_skew" ref="gbefb8ef32ceedc5ffe6c9440c093a533" args="(krb5_context context)" -->
1338<div class="memitem">
1339<div class="memproto">
1340      <table class="memname">
1341        <tr>
1342          <td class="memname">KRB5_LIB_FUNCTION time_t KRB5_LIB_CALL krb5_get_max_time_skew           </td>
1343          <td>(</td>
1344          <td class="paramtype">krb5_context&nbsp;</td>
1345          <td class="paramname"> <em>context</em>          </td>
1346          <td>&nbsp;)&nbsp;</td>
1347          <td></td>
1348        </tr>
1349      </table>
1350</div>
1351<div class="memdoc">
1352
1353<p>
1354Get max time skew allowed.<p>
1355<dl compact><dt><b>Parameters:</b></dt><dd>
1356  <table border="0" cellspacing="2" cellpadding="0">
1357    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>Kerberos 5 context.</td></tr>
1358  </table>
1359</dl>
1360<dl class="return" compact><dt><b>Returns:</b></dt><dd>timeskew in seconds. </dd></dl>
1361
1362</div>
1363</div><p>
1364<a class="anchor" name="gc68122daa411ea028bd521e6e9d2ca6b"></a><!-- doxytag: member="context.c::krb5_get_use_admin_kdc" ref="gc68122daa411ea028bd521e6e9d2ca6b" args="(krb5_context context)" -->
1365<div class="memitem">
1366<div class="memproto">
1367      <table class="memname">
1368        <tr>
1369          <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_get_use_admin_kdc           </td>
1370          <td>(</td>
1371          <td class="paramtype">krb5_context&nbsp;</td>
1372          <td class="paramname"> <em>context</em>          </td>
1373          <td>&nbsp;)&nbsp;</td>
1374          <td></td>
1375        </tr>
1376      </table>
1377</div>
1378<div class="memdoc">
1379
1380<p>
1381Make the kerberos library default to the admin KDC.<p>
1382<dl compact><dt><b>Parameters:</b></dt><dd>
1383  <table border="0" cellspacing="2" cellpadding="0">
1384    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>Kerberos 5 context.</td></tr>
1385  </table>
1386</dl>
1387<dl class="return" compact><dt><b>Returns:</b></dt><dd>boolean flag to telling the context will use admin KDC as the default KDC. </dd></dl>
1388
1389</div>
1390</div><p>
1391<a class="anchor" name="gbd94206e186c58a093975424a4a567a8"></a><!-- doxytag: member="context.c::krb5_init_context" ref="gbd94206e186c58a093975424a4a567a8" args="(krb5_context *context)" -->
1392<div class="memitem">
1393<div class="memproto">
1394      <table class="memname">
1395        <tr>
1396          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_init_context           </td>
1397          <td>(</td>
1398          <td class="paramtype">krb5_context *&nbsp;</td>
1399          <td class="paramname"> <em>context</em>          </td>
1400          <td>&nbsp;)&nbsp;</td>
1401          <td></td>
1402        </tr>
1403      </table>
1404</div>
1405<div class="memdoc">
1406
1407<p>
1408Initializes the context structure and reads the configuration file /etc/krb5.conf. The structure should be freed by calling <a class="el" href="group__krb5.html#ge51d83f5d5f589883f1cd10887892777">krb5_free_context()</a> when it is no longer being used.<p>
1409<dl compact><dt><b>Parameters:</b></dt><dd>
1410  <table border="0" cellspacing="2" cellpadding="0">
1411    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>pointer to returned context</td></tr>
1412  </table>
1413</dl>
1414<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an errno code is returned. Failure means either that something bad happened during initialization (typically ENOMEM) or that Kerberos should not be used ENXIO. </dd></dl>
1415
1416</div>
1417</div><p>
1418<a class="anchor" name="g0f4f2bf6056a5fd472d9dd3d393f133e"></a><!-- doxytag: member="context.c::krb5_init_ets" ref="g0f4f2bf6056a5fd472d9dd3d393f133e" args="(krb5_context context)" -->
1419<div class="memitem">
1420<div class="memproto">
1421      <table class="memname">
1422        <tr>
1423          <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_init_ets           </td>
1424          <td>(</td>
1425          <td class="paramtype">krb5_context&nbsp;</td>
1426          <td class="paramname"> <em>context</em>          </td>
1427          <td>&nbsp;)&nbsp;</td>
1428          <td></td>
1429        </tr>
1430      </table>
1431</div>
1432<div class="memdoc">
1433
1434<p>
1435Init the built-in ets in the Kerberos library.<p>
1436<dl compact><dt><b>Parameters:</b></dt><dd>
1437  <table border="0" cellspacing="2" cellpadding="0">
1438    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>kerberos context to add the ets too </td></tr>
1439  </table>
1440</dl>
1441
1442</div>
1443</div><p>
1444<a class="anchor" name="gc5664b887b62be61c00c70fa9e290611"></a><!-- doxytag: member="context.c::krb5_is_thread_safe" ref="gc5664b887b62be61c00c70fa9e290611" args="(void)" -->
1445<div class="memitem">
1446<div class="memproto">
1447      <table class="memname">
1448        <tr>
1449          <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_is_thread_safe           </td>
1450          <td>(</td>
1451          <td class="paramtype">void&nbsp;</td>
1452          <td class="paramname">          </td>
1453          <td>&nbsp;)&nbsp;</td>
1454          <td></td>
1455        </tr>
1456      </table>
1457</div>
1458<div class="memdoc">
1459
1460<p>
1461Runtime check if the Kerberos library was complied with thread support.<p>
1462<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE if the library was compiled with thread support, FALSE if not. </dd></dl>
1463
1464</div>
1465</div><p>
1466<a class="anchor" name="g92110f6472a4fb0a5e0a35da81af4fa2"></a><!-- doxytag: member="context.c::krb5_kerberos_enctypes" ref="g92110f6472a4fb0a5e0a35da81af4fa2" args="(krb5_context context)" -->
1467<div class="memitem">
1468<div class="memproto">
1469      <table class="memname">
1470        <tr>
1471          <td class="memname">KRB5_LIB_FUNCTION const krb5_enctype* KRB5_LIB_CALL krb5_kerberos_enctypes           </td>
1472          <td>(</td>
1473          <td class="paramtype">krb5_context&nbsp;</td>
1474          <td class="paramname"> <em>context</em>          </td>
1475          <td>&nbsp;)&nbsp;</td>
1476          <td></td>
1477        </tr>
1478      </table>
1479</div>
1480<div class="memdoc">
1481
1482<p>
1483Returns the list of Kerberos encryption types sorted in order of most preferred to least preferred encryption type. Note that some encryption types might be disabled, so you need to check with <a class="el" href="group__krb5__crypto.html#gd5f2b15d5fde369cf923e8fae4b00bec">krb5_enctype_valid()</a> before using the encryption type.<p>
1484<dl class="return" compact><dt><b>Returns:</b></dt><dd>list of enctypes, terminated with ETYPE_NULL. Its a static array completed into the Kerberos library so the content doesn't need to be freed. </dd></dl>
1485
1486</div>
1487</div><p>
1488<a class="anchor" name="g8dcc8bb7370f2bd91bea895df7e1b1a2"></a><!-- doxytag: member="krbhst.c::krb5_krbhst_get_addrinfo" ref="g8dcc8bb7370f2bd91bea895df7e1b1a2" args="(krb5_context context, krb5_krbhst_info *host, struct addrinfo **ai)" -->
1489<div class="memitem">
1490<div class="memproto">
1491      <table class="memname">
1492        <tr>
1493          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_krbhst_get_addrinfo           </td>
1494          <td>(</td>
1495          <td class="paramtype">krb5_context&nbsp;</td>
1496          <td class="paramname"> <em>context</em>, </td>
1497        </tr>
1498        <tr>
1499          <td class="paramkey"></td>
1500          <td></td>
1501          <td class="paramtype">krb5_krbhst_info *&nbsp;</td>
1502          <td class="paramname"> <em>host</em>, </td>
1503        </tr>
1504        <tr>
1505          <td class="paramkey"></td>
1506          <td></td>
1507          <td class="paramtype">struct addrinfo **&nbsp;</td>
1508          <td class="paramname"> <em>ai</em></td><td>&nbsp;</td>
1509        </tr>
1510        <tr>
1511          <td></td>
1512          <td>)</td>
1513          <td></td><td></td><td></td>
1514        </tr>
1515      </table>
1516</div>
1517<div class="memdoc">
1518
1519<p>
1520Return an `struct addrinfo *' for a KDC host.<p>
1521Returns an the struct addrinfo in in that corresponds to the information in `host'. free:ing is handled by krb5_krbhst_free, so the returned ai must not be released.
1522<p>
1523First try this as an IP address, this allows us to add a dot at the end to stop using the search domains.<p>
1524If the hostname contains a dot, assumes it's a FQDN and don't use search domains since that might be painfully slow when machine is disconnected from that network.
1525</div>
1526</div><p>
1527<a class="anchor" name="gad9a3fd7b838f053a71424d95bf73d40"></a><!-- doxytag: member="context.c::krb5_prepend_config_files_default" ref="gad9a3fd7b838f053a71424d95bf73d40" args="(const char *filelist, char ***pfilenames)" -->
1528<div class="memitem">
1529<div class="memproto">
1530      <table class="memname">
1531        <tr>
1532          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_prepend_config_files_default           </td>
1533          <td>(</td>
1534          <td class="paramtype">const char *&nbsp;</td>
1535          <td class="paramname"> <em>filelist</em>, </td>
1536        </tr>
1537        <tr>
1538          <td class="paramkey"></td>
1539          <td></td>
1540          <td class="paramtype">char ***&nbsp;</td>
1541          <td class="paramname"> <em>pfilenames</em></td><td>&nbsp;</td>
1542        </tr>
1543        <tr>
1544          <td></td>
1545          <td>)</td>
1546          <td></td><td></td><td></td>
1547        </tr>
1548      </table>
1549</div>
1550<div class="memdoc">
1551
1552<p>
1553Prepend the filename to the global configuration list.<p>
1554<dl compact><dt><b>Parameters:</b></dt><dd>
1555  <table border="0" cellspacing="2" cellpadding="0">
1556    <tr><td valign="top"></td><td valign="top"><em>filelist</em>&nbsp;</td><td>a filename to add to the default list of filename </td></tr>
1557    <tr><td valign="top"></td><td valign="top"><em>pfilenames</em>&nbsp;</td><td>return array of filenames, should be freed with <a class="el" href="group__krb5.html#gce1b568d05875e7c4fbc6e5af5a8bdbf">krb5_free_config_files()</a>.</td></tr>
1558  </table>
1559</dl>
1560<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl>
1561
1562</div>
1563</div><p>
1564<a class="anchor" name="gd4453861fbfc0372e3c44b59325f62aa"></a><!-- doxytag: member="context.c::krb5_set_config_files" ref="gd4453861fbfc0372e3c44b59325f62aa" args="(krb5_context context, char **filenames)" -->
1565<div class="memitem">
1566<div class="memproto">
1567      <table class="memname">
1568        <tr>
1569          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_set_config_files           </td>
1570          <td>(</td>
1571          <td class="paramtype">krb5_context&nbsp;</td>
1572          <td class="paramname"> <em>context</em>, </td>
1573        </tr>
1574        <tr>
1575          <td class="paramkey"></td>
1576          <td></td>
1577          <td class="paramtype">char **&nbsp;</td>
1578          <td class="paramname"> <em>filenames</em></td><td>&nbsp;</td>
1579        </tr>
1580        <tr>
1581          <td></td>
1582          <td>)</td>
1583          <td></td><td></td><td></td>
1584        </tr>
1585      </table>
1586</div>
1587<div class="memdoc">
1588
1589<p>
1590Reinit the context from a new set of filenames.<p>
1591<dl compact><dt><b>Parameters:</b></dt><dd>
1592  <table border="0" cellspacing="2" cellpadding="0">
1593    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>context to add configuration too. </td></tr>
1594    <tr><td valign="top"></td><td valign="top"><em>filenames</em>&nbsp;</td><td>array of filenames, end of list is indicated with a NULL filename.</td></tr>
1595  </table>
1596</dl>
1597<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl>
1598
1599</div>
1600</div><p>
1601<a class="anchor" name="g5e028d8b3b0444c98b251f46eb48235a"></a><!-- doxytag: member="context.c::krb5_set_default_in_tkt_etypes" ref="g5e028d8b3b0444c98b251f46eb48235a" args="(krb5_context context, const krb5_enctype *etypes)" -->
1602<div class="memitem">
1603<div class="memproto">
1604      <table class="memname">
1605        <tr>
1606          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_set_default_in_tkt_etypes           </td>
1607          <td>(</td>
1608          <td class="paramtype">krb5_context&nbsp;</td>
1609          <td class="paramname"> <em>context</em>, </td>
1610        </tr>
1611        <tr>
1612          <td class="paramkey"></td>
1613          <td></td>
1614          <td class="paramtype">const krb5_enctype *&nbsp;</td>
1615          <td class="paramname"> <em>etypes</em></td><td>&nbsp;</td>
1616        </tr>
1617        <tr>
1618          <td></td>
1619          <td>)</td>
1620          <td></td><td></td><td></td>
1621        </tr>
1622      </table>
1623</div>
1624<div class="memdoc">
1625
1626<p>
1627Set the default encryption types that will be use in communcation with the KDC, clients and servers.<p>
1628<dl compact><dt><b>Parameters:</b></dt><dd>
1629  <table border="0" cellspacing="2" cellpadding="0">
1630    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>Kerberos 5 context. </td></tr>
1631    <tr><td valign="top"></td><td valign="top"><em>etypes</em>&nbsp;</td><td>Encryption types, array terminated with ETYPE_NULL (0).</td></tr>
1632  </table>
1633</dl>
1634<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl>
1635
1636</div>
1637</div><p>
1638<a class="anchor" name="g798fb21edcec6c7b251709f1e447b21b"></a><!-- doxytag: member="context.c::krb5_set_dns_canonicalize_hostname" ref="g798fb21edcec6c7b251709f1e447b21b" args="(krb5_context context, krb5_boolean flag)" -->
1639<div class="memitem">
1640<div class="memproto">
1641      <table class="memname">
1642        <tr>
1643          <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_set_dns_canonicalize_hostname           </td>
1644          <td>(</td>
1645          <td class="paramtype">krb5_context&nbsp;</td>
1646          <td class="paramname"> <em>context</em>, </td>
1647        </tr>
1648        <tr>
1649          <td class="paramkey"></td>
1650          <td></td>
1651          <td class="paramtype">krb5_boolean&nbsp;</td>
1652          <td class="paramname"> <em>flag</em></td><td>&nbsp;</td>
1653        </tr>
1654        <tr>
1655          <td></td>
1656          <td>)</td>
1657          <td></td><td></td><td></td>
1658        </tr>
1659      </table>
1660</div>
1661<div class="memdoc">
1662
1663<p>
1664Set if the library should use DNS to canonicalize hostnames.<p>
1665<dl compact><dt><b>Parameters:</b></dt><dd>
1666  <table border="0" cellspacing="2" cellpadding="0">
1667    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>Kerberos 5 context. </td></tr>
1668    <tr><td valign="top"></td><td valign="top"><em>flag</em>&nbsp;</td><td>if its dns canonicalizion is used or not. </td></tr>
1669  </table>
1670</dl>
1671
1672</div>
1673</div><p>
1674<a class="anchor" name="g3c326674110a2d1c7d3523a0c308dddd"></a><!-- doxytag: member="context.c::krb5_set_extra_addresses" ref="g3c326674110a2d1c7d3523a0c308dddd" args="(krb5_context context, const krb5_addresses *addresses)" -->
1675<div class="memitem">
1676<div class="memproto">
1677      <table class="memname">
1678        <tr>
1679          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_set_extra_addresses           </td>
1680          <td>(</td>
1681          <td class="paramtype">krb5_context&nbsp;</td>
1682          <td class="paramname"> <em>context</em>, </td>
1683        </tr>
1684        <tr>
1685          <td class="paramkey"></td>
1686          <td></td>
1687          <td class="paramtype">const krb5_addresses *&nbsp;</td>
1688          <td class="paramname"> <em>addresses</em></td><td>&nbsp;</td>
1689        </tr>
1690        <tr>
1691          <td></td>
1692          <td>)</td>
1693          <td></td><td></td><td></td>
1694        </tr>
1695      </table>
1696</div>
1697<div class="memdoc">
1698
1699<p>
1700Set extra address to the address list that the library will add to the client's address list when communicating with the KDC.<p>
1701<dl compact><dt><b>Parameters:</b></dt><dd>
1702  <table border="0" cellspacing="2" cellpadding="0">
1703    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>Kerberos 5 context. </td></tr>
1704    <tr><td valign="top"></td><td valign="top"><em>addresses</em>&nbsp;</td><td>addreses to set</td></tr>
1705  </table>
1706</dl>
1707<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl>
1708
1709</div>
1710</div><p>
1711<a class="anchor" name="g2f77d43f11ad41cd9b5676cc73f052bc"></a><!-- doxytag: member="context.c::krb5_set_fcache_version" ref="g2f77d43f11ad41cd9b5676cc73f052bc" args="(krb5_context context, int version)" -->
1712<div class="memitem">
1713<div class="memproto">
1714      <table class="memname">
1715        <tr>
1716          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_set_fcache_version           </td>
1717          <td>(</td>
1718          <td class="paramtype">krb5_context&nbsp;</td>
1719          <td class="paramname"> <em>context</em>, </td>
1720        </tr>
1721        <tr>
1722          <td class="paramkey"></td>
1723          <td></td>
1724          <td class="paramtype">int&nbsp;</td>
1725          <td class="paramname"> <em>version</em></td><td>&nbsp;</td>
1726        </tr>
1727        <tr>
1728          <td></td>
1729          <td>)</td>
1730          <td></td><td></td><td></td>
1731        </tr>
1732      </table>
1733</div>
1734<div class="memdoc">
1735
1736<p>
1737Set version of fcache that the library should use.<p>
1738<dl compact><dt><b>Parameters:</b></dt><dd>
1739  <table border="0" cellspacing="2" cellpadding="0">
1740    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>Kerberos 5 context. </td></tr>
1741    <tr><td valign="top"></td><td valign="top"><em>version</em>&nbsp;</td><td>version number.</td></tr>
1742  </table>
1743</dl>
1744<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl>
1745
1746</div>
1747</div><p>
1748<a class="anchor" name="g3a8e40d622ff1460b2f554d83a9059ea"></a><!-- doxytag: member="context.c::krb5_set_home_dir_access" ref="g3a8e40d622ff1460b2f554d83a9059ea" args="(krb5_context context, krb5_boolean allow)" -->
1749<div class="memitem">
1750<div class="memproto">
1751      <table class="memname">
1752        <tr>
1753          <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_set_home_dir_access           </td>
1754          <td>(</td>
1755          <td class="paramtype">krb5_context&nbsp;</td>
1756          <td class="paramname"> <em>context</em>, </td>
1757        </tr>
1758        <tr>
1759          <td class="paramkey"></td>
1760          <td></td>
1761          <td class="paramtype">krb5_boolean&nbsp;</td>
1762          <td class="paramname"> <em>allow</em></td><td>&nbsp;</td>
1763        </tr>
1764        <tr>
1765          <td></td>
1766          <td>)</td>
1767          <td></td><td></td><td></td>
1768        </tr>
1769      </table>
1770</div>
1771<div class="memdoc">
1772
1773<p>
1774Enable and disable home directory access on either the global state or the krb5_context state. By calling <a class="el" href="group__krb5.html#g3a8e40d622ff1460b2f554d83a9059ea">krb5_set_home_dir_access()</a> with context set to NULL, the global state is configured otherwise the state for the krb5_context is modified.<p>
1775For home directory access to be allowed, both the global state and the krb5_context state have to be allowed.<p>
1776Administrator (root user), never uses the home directory.<p>
1777<dl compact><dt><b>Parameters:</b></dt><dd>
1778  <table border="0" cellspacing="2" cellpadding="0">
1779    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>a Kerberos 5 context or NULL </td></tr>
1780    <tr><td valign="top"></td><td valign="top"><em>allow</em>&nbsp;</td><td>allow if TRUE home directory </td></tr>
1781  </table>
1782</dl>
1783<dl class="return" compact><dt><b>Returns:</b></dt><dd>the old value </dd></dl>
1784
1785</div>
1786</div><p>
1787<a class="anchor" name="g4d9823757dea2b9884c136fb959383bc"></a><!-- doxytag: member="context.c::krb5_set_ignore_addresses" ref="g4d9823757dea2b9884c136fb959383bc" args="(krb5_context context, const krb5_addresses *addresses)" -->
1788<div class="memitem">
1789<div class="memproto">
1790      <table class="memname">
1791        <tr>
1792          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_set_ignore_addresses           </td>
1793          <td>(</td>
1794          <td class="paramtype">krb5_context&nbsp;</td>
1795          <td class="paramname"> <em>context</em>, </td>
1796        </tr>
1797        <tr>
1798          <td class="paramkey"></td>
1799          <td></td>
1800          <td class="paramtype">const krb5_addresses *&nbsp;</td>
1801          <td class="paramname"> <em>addresses</em></td><td>&nbsp;</td>
1802        </tr>
1803        <tr>
1804          <td></td>
1805          <td>)</td>
1806          <td></td><td></td><td></td>
1807        </tr>
1808      </table>
1809</div>
1810<div class="memdoc">
1811
1812<p>
1813Set extra addresses to ignore when fetching addresses from the underlaying operating system.<p>
1814<dl compact><dt><b>Parameters:</b></dt><dd>
1815  <table border="0" cellspacing="2" cellpadding="0">
1816    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>Kerberos 5 context. </td></tr>
1817    <tr><td valign="top"></td><td valign="top"><em>addresses</em>&nbsp;</td><td>addreses to ignore</td></tr>
1818  </table>
1819</dl>
1820<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl>
1821
1822</div>
1823</div><p>
1824<a class="anchor" name="gfd16890e03f6dff6f6d013d97e0ee185"></a><!-- doxytag: member="context.c::krb5_set_kdc_sec_offset" ref="gfd16890e03f6dff6f6d013d97e0ee185" args="(krb5_context context, int32_t sec, int32_t usec)" -->
1825<div class="memitem">
1826<div class="memproto">
1827      <table class="memname">
1828        <tr>
1829          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_set_kdc_sec_offset           </td>
1830          <td>(</td>
1831          <td class="paramtype">krb5_context&nbsp;</td>
1832          <td class="paramname"> <em>context</em>, </td>
1833        </tr>
1834        <tr>
1835          <td class="paramkey"></td>
1836          <td></td>
1837          <td class="paramtype">int32_t&nbsp;</td>
1838          <td class="paramname"> <em>sec</em>, </td>
1839        </tr>
1840        <tr>
1841          <td class="paramkey"></td>
1842          <td></td>
1843          <td class="paramtype">int32_t&nbsp;</td>
1844          <td class="paramname"> <em>usec</em></td><td>&nbsp;</td>
1845        </tr>
1846        <tr>
1847          <td></td>
1848          <td>)</td>
1849          <td></td><td></td><td></td>
1850        </tr>
1851      </table>
1852</div>
1853<div class="memdoc">
1854
1855<p>
1856Set current offset in time to the KDC.<p>
1857<dl compact><dt><b>Parameters:</b></dt><dd>
1858  <table border="0" cellspacing="2" cellpadding="0">
1859    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>Kerberos 5 context. </td></tr>
1860    <tr><td valign="top"></td><td valign="top"><em>sec</em>&nbsp;</td><td>seconds part of offset. </td></tr>
1861    <tr><td valign="top"></td><td valign="top"><em>usec</em>&nbsp;</td><td>micro seconds part of offset.</td></tr>
1862  </table>
1863</dl>
1864<dl class="return" compact><dt><b>Returns:</b></dt><dd>returns zero </dd></dl>
1865
1866</div>
1867</div><p>
1868<a class="anchor" name="g2257aeff745924c48f12d1893d7523ba"></a><!-- doxytag: member="context.c::krb5_set_max_time_skew" ref="g2257aeff745924c48f12d1893d7523ba" args="(krb5_context context, time_t t)" -->
1869<div class="memitem">
1870<div class="memproto">
1871      <table class="memname">
1872        <tr>
1873          <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_set_max_time_skew           </td>
1874          <td>(</td>
1875          <td class="paramtype">krb5_context&nbsp;</td>
1876          <td class="paramname"> <em>context</em>, </td>
1877        </tr>
1878        <tr>
1879          <td class="paramkey"></td>
1880          <td></td>
1881          <td class="paramtype">time_t&nbsp;</td>
1882          <td class="paramname"> <em>t</em></td><td>&nbsp;</td>
1883        </tr>
1884        <tr>
1885          <td></td>
1886          <td>)</td>
1887          <td></td><td></td><td></td>
1888        </tr>
1889      </table>
1890</div>
1891<div class="memdoc">
1892
1893<p>
1894Set max time skew allowed.<p>
1895<dl compact><dt><b>Parameters:</b></dt><dd>
1896  <table border="0" cellspacing="2" cellpadding="0">
1897    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>Kerberos 5 context. </td></tr>
1898    <tr><td valign="top"></td><td valign="top"><em>t</em>&nbsp;</td><td>timeskew in seconds. </td></tr>
1899  </table>
1900</dl>
1901
1902</div>
1903</div><p>
1904<a class="anchor" name="g02611e3966053f79eda248d76dccc282"></a><!-- doxytag: member="changepw.c::krb5_set_password" ref="g02611e3966053f79eda248d76dccc282" args="(krb5_context context, krb5_creds *creds, const char *newpw, krb5_principal targprinc, int *result_code, krb5_data *result_code_string, krb5_data *result_string)" -->
1905<div class="memitem">
1906<div class="memproto">
1907      <table class="memname">
1908        <tr>
1909          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_set_password           </td>
1910          <td>(</td>
1911          <td class="paramtype">krb5_context&nbsp;</td>
1912          <td class="paramname"> <em>context</em>, </td>
1913        </tr>
1914        <tr>
1915          <td class="paramkey"></td>
1916          <td></td>
1917          <td class="paramtype">krb5_creds *&nbsp;</td>
1918          <td class="paramname"> <em>creds</em>, </td>
1919        </tr>
1920        <tr>
1921          <td class="paramkey"></td>
1922          <td></td>
1923          <td class="paramtype">const char *&nbsp;</td>
1924          <td class="paramname"> <em>newpw</em>, </td>
1925        </tr>
1926        <tr>
1927          <td class="paramkey"></td>
1928          <td></td>
1929          <td class="paramtype">krb5_principal&nbsp;</td>
1930          <td class="paramname"> <em>targprinc</em>, </td>
1931        </tr>
1932        <tr>
1933          <td class="paramkey"></td>
1934          <td></td>
1935          <td class="paramtype">int *&nbsp;</td>
1936          <td class="paramname"> <em>result_code</em>, </td>
1937        </tr>
1938        <tr>
1939          <td class="paramkey"></td>
1940          <td></td>
1941          <td class="paramtype">krb5_data *&nbsp;</td>
1942          <td class="paramname"> <em>result_code_string</em>, </td>
1943        </tr>
1944        <tr>
1945          <td class="paramkey"></td>
1946          <td></td>
1947          <td class="paramtype">krb5_data *&nbsp;</td>
1948          <td class="paramname"> <em>result_string</em></td><td>&nbsp;</td>
1949        </tr>
1950        <tr>
1951          <td></td>
1952          <td>)</td>
1953          <td></td><td></td><td></td>
1954        </tr>
1955      </table>
1956</div>
1957<div class="memdoc">
1958
1959<p>
1960Change password using creds.<p>
1961<dl compact><dt><b>Parameters:</b></dt><dd>
1962  <table border="0" cellspacing="2" cellpadding="0">
1963    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>a Keberos context </td></tr>
1964    <tr><td valign="top"></td><td valign="top"><em>creds</em>&nbsp;</td><td>The initial kadmin/passwd for the principal or an admin principal </td></tr>
1965    <tr><td valign="top"></td><td valign="top"><em>newpw</em>&nbsp;</td><td>The new password to set </td></tr>
1966    <tr><td valign="top"></td><td valign="top"><em>targprinc</em>&nbsp;</td><td>if unset, the default principal is used. </td></tr>
1967    <tr><td valign="top"></td><td valign="top"><em>result_code</em>&nbsp;</td><td>Result code, KRB5_KPASSWD_SUCCESS is when password is changed. </td></tr>
1968    <tr><td valign="top"></td><td valign="top"><em>result_code_string</em>&nbsp;</td><td>binary message from the server, contains at least the result_code. </td></tr>
1969    <tr><td valign="top"></td><td valign="top"><em>result_string</em>&nbsp;</td><td>A message from the kpasswd service or the library in human printable form. The string is NUL terminated.</td></tr>
1970  </table>
1971</dl>
1972<dl class="return" compact><dt><b>Returns:</b></dt><dd>On sucess and *result_code is KRB5_KPASSWD_SUCCESS, the password is changed.</dd></dl>
1973@
1974</div>
1975</div><p>
1976<a class="anchor" name="g1bb5d4ab0e2ebd85414903617b1ac36b"></a><!-- doxytag: member="time.c::krb5_set_real_time" ref="g1bb5d4ab0e2ebd85414903617b1ac36b" args="(krb5_context context, krb5_timestamp sec, int32_t usec)" -->
1977<div class="memitem">
1978<div class="memproto">
1979      <table class="memname">
1980        <tr>
1981          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_set_real_time           </td>
1982          <td>(</td>
1983          <td class="paramtype">krb5_context&nbsp;</td>
1984          <td class="paramname"> <em>context</em>, </td>
1985        </tr>
1986        <tr>
1987          <td class="paramkey"></td>
1988          <td></td>
1989          <td class="paramtype">krb5_timestamp&nbsp;</td>
1990          <td class="paramname"> <em>sec</em>, </td>
1991        </tr>
1992        <tr>
1993          <td class="paramkey"></td>
1994          <td></td>
1995          <td class="paramtype">int32_t&nbsp;</td>
1996          <td class="paramname"> <em>usec</em></td><td>&nbsp;</td>
1997        </tr>
1998        <tr>
1999          <td></td>
2000          <td>)</td>
2001          <td></td><td></td><td></td>
2002        </tr>
2003      </table>
2004</div>
2005<div class="memdoc">
2006
2007<p>
2008Set the absolute time that the caller knows the kdc has so the kerberos library can calculate the relative diffrence beteen the KDC time and local system time.<p>
2009<dl compact><dt><b>Parameters:</b></dt><dd>
2010  <table border="0" cellspacing="2" cellpadding="0">
2011    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>Keberos 5 context. </td></tr>
2012    <tr><td valign="top"></td><td valign="top"><em>sec</em>&nbsp;</td><td>The applications new of "now" in seconds </td></tr>
2013    <tr><td valign="top"></td><td valign="top"><em>usec</em>&nbsp;</td><td>The applications new of "now" in micro seconds</td></tr>
2014  </table>
2015</dl>
2016<dl class="return" compact><dt><b>Returns:</b></dt><dd>Kerberos 5 error code, see krb5_get_error_message(). </dd></dl>
2017
2018<p>
2019If the caller passes in a negative usec, its assumed to be unknown and the function will use the current time usec.
2020</div>
2021</div><p>
2022<a class="anchor" name="g3e1564b6d147482eba7bfb5e40a4ff6f"></a><!-- doxytag: member="context.c::krb5_set_use_admin_kdc" ref="g3e1564b6d147482eba7bfb5e40a4ff6f" args="(krb5_context context, krb5_boolean flag)" -->
2023<div class="memitem">
2024<div class="memproto">
2025      <table class="memname">
2026        <tr>
2027          <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_set_use_admin_kdc           </td>
2028          <td>(</td>
2029          <td class="paramtype">krb5_context&nbsp;</td>
2030          <td class="paramname"> <em>context</em>, </td>
2031        </tr>
2032        <tr>
2033          <td class="paramkey"></td>
2034          <td></td>
2035          <td class="paramtype">krb5_boolean&nbsp;</td>
2036          <td class="paramname"> <em>flag</em></td><td>&nbsp;</td>
2037        </tr>
2038        <tr>
2039          <td></td>
2040          <td>)</td>
2041          <td></td><td></td><td></td>
2042        </tr>
2043      </table>
2044</div>
2045<div class="memdoc">
2046
2047<p>
2048Make the kerberos library default to the admin KDC.<p>
2049<dl compact><dt><b>Parameters:</b></dt><dd>
2050  <table border="0" cellspacing="2" cellpadding="0">
2051    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>Kerberos 5 context. </td></tr>
2052    <tr><td valign="top"></td><td valign="top"><em>flag</em>&nbsp;</td><td>boolean flag to select if the use the admin KDC or not. </td></tr>
2053  </table>
2054</dl>
2055
2056</div>
2057</div><p>
2058<a class="anchor" name="ga7387c09a85bf3aabe5bae8a2ec4af73"></a><!-- doxytag: member="ticket.c::krb5_ticket_get_authorization_data_type" ref="ga7387c09a85bf3aabe5bae8a2ec4af73" args="(krb5_context context, krb5_ticket *ticket, int type, krb5_data *data)" -->
2059<div class="memitem">
2060<div class="memproto">
2061      <table class="memname">
2062        <tr>
2063          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ticket_get_authorization_data_type           </td>
2064          <td>(</td>
2065          <td class="paramtype">krb5_context&nbsp;</td>
2066          <td class="paramname"> <em>context</em>, </td>
2067        </tr>
2068        <tr>
2069          <td class="paramkey"></td>
2070          <td></td>
2071          <td class="paramtype">krb5_ticket *&nbsp;</td>
2072          <td class="paramname"> <em>ticket</em>, </td>
2073        </tr>
2074        <tr>
2075          <td class="paramkey"></td>
2076          <td></td>
2077          <td class="paramtype">int&nbsp;</td>
2078          <td class="paramname"> <em>type</em>, </td>
2079        </tr>
2080        <tr>
2081          <td class="paramkey"></td>
2082          <td></td>
2083          <td class="paramtype">krb5_data *&nbsp;</td>
2084          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
2085        </tr>
2086        <tr>
2087          <td></td>
2088          <td>)</td>
2089          <td></td><td></td><td></td>
2090        </tr>
2091      </table>
2092</div>
2093<div class="memdoc">
2094
2095<p>
2096Extract the authorization data type of type from the ticket. Store the field in data. This function is to use for kerberos applications.<p>
2097<dl compact><dt><b>Parameters:</b></dt><dd>
2098  <table border="0" cellspacing="2" cellpadding="0">
2099    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>a Kerberos 5 context </td></tr>
2100    <tr><td valign="top"></td><td valign="top"><em>ticket</em>&nbsp;</td><td>Kerberos ticket </td></tr>
2101    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>type to fetch </td></tr>
2102    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>returned data, free with <a class="el" href="group__krb5.html#gb4b80ac7a8bbab89fe947ae1c7828ea8">krb5_data_free()</a> </td></tr>
2103  </table>
2104</dl>
2105
2106</div>
2107</div><p>
2108<a class="anchor" name="g6cf23f11044d79441ea1456a01ebe7d7"></a><!-- doxytag: member="ticket.c::krb5_ticket_get_client" ref="g6cf23f11044d79441ea1456a01ebe7d7" args="(krb5_context context, const krb5_ticket *ticket, krb5_principal *client)" -->
2109<div class="memitem">
2110<div class="memproto">
2111      <table class="memname">
2112        <tr>
2113          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ticket_get_client           </td>
2114          <td>(</td>
2115          <td class="paramtype">krb5_context&nbsp;</td>
2116          <td class="paramname"> <em>context</em>, </td>
2117        </tr>
2118        <tr>
2119          <td class="paramkey"></td>
2120          <td></td>
2121          <td class="paramtype">const krb5_ticket *&nbsp;</td>
2122          <td class="paramname"> <em>ticket</em>, </td>
2123        </tr>
2124        <tr>
2125          <td class="paramkey"></td>
2126          <td></td>
2127          <td class="paramtype">krb5_principal *&nbsp;</td>
2128          <td class="paramname"> <em>client</em></td><td>&nbsp;</td>
2129        </tr>
2130        <tr>
2131          <td></td>
2132          <td>)</td>
2133          <td></td><td></td><td></td>
2134        </tr>
2135      </table>
2136</div>
2137<div class="memdoc">
2138
2139<p>
2140Return client principal in ticket<p>
2141<dl compact><dt><b>Parameters:</b></dt><dd>
2142  <table border="0" cellspacing="2" cellpadding="0">
2143    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>a Kerberos 5 context </td></tr>
2144    <tr><td valign="top"></td><td valign="top"><em>ticket</em>&nbsp;</td><td>ticket to copy </td></tr>
2145    <tr><td valign="top"></td><td valign="top"><em>client</em>&nbsp;</td><td>client principal, free with <a class="el" href="group__krb5__principal.html#g5bd3f620ebe8cd4fe44b5c858ba17d22">krb5_free_principal()</a></td></tr>
2146  </table>
2147</dl>
2148<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl>
2149
2150</div>
2151</div><p>
2152<a class="anchor" name="g118b98784ccadd98cdaaa1ee5076c9fb"></a><!-- doxytag: member="ticket.c::krb5_ticket_get_endtime" ref="g118b98784ccadd98cdaaa1ee5076c9fb" args="(krb5_context context, const krb5_ticket *ticket)" -->
2153<div class="memitem">
2154<div class="memproto">
2155      <table class="memname">
2156        <tr>
2157          <td class="memname">KRB5_LIB_FUNCTION time_t KRB5_LIB_CALL krb5_ticket_get_endtime           </td>
2158          <td>(</td>
2159          <td class="paramtype">krb5_context&nbsp;</td>
2160          <td class="paramname"> <em>context</em>, </td>
2161        </tr>
2162        <tr>
2163          <td class="paramkey"></td>
2164          <td></td>
2165          <td class="paramtype">const krb5_ticket *&nbsp;</td>
2166          <td class="paramname"> <em>ticket</em></td><td>&nbsp;</td>
2167        </tr>
2168        <tr>
2169          <td></td>
2170          <td>)</td>
2171          <td></td><td></td><td></td>
2172        </tr>
2173      </table>
2174</div>
2175<div class="memdoc">
2176
2177<p>
2178Return end time of ticket<p>
2179<dl compact><dt><b>Parameters:</b></dt><dd>
2180  <table border="0" cellspacing="2" cellpadding="0">
2181    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>a Kerberos 5 context </td></tr>
2182    <tr><td valign="top"></td><td valign="top"><em>ticket</em>&nbsp;</td><td>ticket to copy</td></tr>
2183  </table>
2184</dl>
2185<dl class="return" compact><dt><b>Returns:</b></dt><dd>end time of ticket </dd></dl>
2186
2187</div>
2188</div><p>
2189<a class="anchor" name="gd1f40ffc29f379b7dec60144eefdb553"></a><!-- doxytag: member="ticket.c::krb5_ticket_get_server" ref="gd1f40ffc29f379b7dec60144eefdb553" args="(krb5_context context, const krb5_ticket *ticket, krb5_principal *server)" -->
2190<div class="memitem">
2191<div class="memproto">
2192      <table class="memname">
2193        <tr>
2194          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ticket_get_server           </td>
2195          <td>(</td>
2196          <td class="paramtype">krb5_context&nbsp;</td>
2197          <td class="paramname"> <em>context</em>, </td>
2198        </tr>
2199        <tr>
2200          <td class="paramkey"></td>
2201          <td></td>
2202          <td class="paramtype">const krb5_ticket *&nbsp;</td>
2203          <td class="paramname"> <em>ticket</em>, </td>
2204        </tr>
2205        <tr>
2206          <td class="paramkey"></td>
2207          <td></td>
2208          <td class="paramtype">krb5_principal *&nbsp;</td>
2209          <td class="paramname"> <em>server</em></td><td>&nbsp;</td>
2210        </tr>
2211        <tr>
2212          <td></td>
2213          <td>)</td>
2214          <td></td><td></td><td></td>
2215        </tr>
2216      </table>
2217</div>
2218<div class="memdoc">
2219
2220<p>
2221Return server principal in ticket<p>
2222<dl compact><dt><b>Parameters:</b></dt><dd>
2223  <table border="0" cellspacing="2" cellpadding="0">
2224    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>a Kerberos 5 context </td></tr>
2225    <tr><td valign="top"></td><td valign="top"><em>ticket</em>&nbsp;</td><td>ticket to copy </td></tr>
2226    <tr><td valign="top"></td><td valign="top"><em>server</em>&nbsp;</td><td>server principal, free with <a class="el" href="group__krb5__principal.html#g5bd3f620ebe8cd4fe44b5c858ba17d22">krb5_free_principal()</a></td></tr>
2227  </table>
2228</dl>
2229<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl>
2230
2231</div>
2232</div><p>
2233</div>
2234<hr size="1"><address style="text-align: right;"><small>
2235Generated on Wed Jan 11 14:07:47 2012 for HeimdalKerberos5library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address>
2236</body>
2237</html>
2238