]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - crypto/heimdal/doc/doxyout/krb5/html/group__krb5__keytab.html
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / crypto / heimdal / doc / doxyout / krb5 / html / group__krb5__keytab.html
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 keytab handling functions</title>
4 <link href="doxygen.css" rel="stylesheet" type="text/css">
5 <link href="tabs.css" rel="stylesheet" type="text/css">
6 </head><body>
7 <p>
8 <a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
9 </p>
10 <!-- end of header marker -->
11 <!-- Generated by Doxygen 1.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 keytab handling functions</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>
27 krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#g0b54b479db89c76e46d6edae8328848e">krb5_kt_register</a> (krb5_context context, const krb5_kt_ops *ops)</td></tr>
28
29 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
30 krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#gc57fead58fb1baa003d6438613731901">krb5_kt_resolve</a> (krb5_context context, const char *name, krb5_keytab *id)</td></tr>
31
32 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
33 krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#g3fdc1c60208dc99c1f0ebec18e2a7a52">krb5_kt_default_name</a> (krb5_context context, char *name, size_t namesize)</td></tr>
34
35 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
36 krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#gaaff7211e887e908d909d75febf33200">krb5_kt_default_modify_name</a> (krb5_context context, char *name, size_t namesize)</td></tr>
37
38 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
39 krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#gfcd059883c79dbd99a179bc4225d16b5">krb5_kt_default</a> (krb5_context context, krb5_keytab *id)</td></tr>
40
41 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
42 krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#g6040b238ff8adeb346ca35e5530bdeff">krb5_kt_read_service_key</a> (krb5_context context, krb5_pointer keyprocarg, krb5_principal principal, krb5_kvno vno, krb5_enctype enctype, krb5_keyblock **key)</td></tr>
43
44 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
45 krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#g632921a4b144a4eb656968d836efd9bb">krb5_kt_get_type</a> (krb5_context context, krb5_keytab keytab, char *prefix, size_t prefixsize)</td></tr>
46
47 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
48 krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#ga10348fa20bbae806d652aa4adb44bdd">krb5_kt_get_name</a> (krb5_context context, krb5_keytab keytab, char *name, size_t namesize)</td></tr>
49
50 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
51 krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#g40744ad6c5d9eed2b76d26f5e698d1f3">krb5_kt_get_full_name</a> (krb5_context context, krb5_keytab keytab, char **str)</td></tr>
52
53 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
54 krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#gb67f5ae0a7c4b87d193218b842cad590">krb5_kt_close</a> (krb5_context context, krb5_keytab id)</td></tr>
55
56 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
57 krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#g23f1f8d506d680564ff0c783b903abf9">krb5_kt_destroy</a> (krb5_context context, krb5_keytab id)</td></tr>
58
59 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br>
60 KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#g688d397ec30b48e5edc5a59567bc8010">krb5_kt_compare</a> (krb5_context context, krb5_keytab_entry *entry, krb5_const_principal principal, krb5_kvno vno, krb5_enctype enctype)</td></tr>
61
62 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
63 krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#gd7183b9573330db0575118057b3a02a5">krb5_kt_get_entry</a> (krb5_context context, krb5_keytab id, krb5_const_principal principal, krb5_kvno kvno, krb5_enctype enctype, krb5_keytab_entry *entry)</td></tr>
64
65 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
66 krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#g6c6c4233517bd5b12f5c3a99ed31b058">krb5_kt_copy_entry_contents</a> (krb5_context context, const krb5_keytab_entry *in, krb5_keytab_entry *out)</td></tr>
67
68 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
69 krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#gc0774ab1407eaaaa0e5998478de246e2">krb5_kt_free_entry</a> (krb5_context context, krb5_keytab_entry *entry)</td></tr>
70
71 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
72 krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#g1efd8ee48d6e3caa31cad475423b8917">krb5_kt_start_seq_get</a> (krb5_context context, krb5_keytab id, krb5_kt_cursor *cursor)</td></tr>
73
74 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
75 krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#gc40140c41333a86d3c40426f50b4e1b0">krb5_kt_next_entry</a> (krb5_context context, krb5_keytab id, krb5_keytab_entry *entry, krb5_kt_cursor *cursor)</td></tr>
76
77 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
78 krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#g11289efb407d93a1f84d5c64731a4bd1">krb5_kt_end_seq_get</a> (krb5_context context, krb5_keytab id, krb5_kt_cursor *cursor)</td></tr>
79
80 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
81 krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#g68d16c2a59d10dc3ca84bf8cbf6a4731">krb5_kt_add_entry</a> (krb5_context context, krb5_keytab id, krb5_keytab_entry *entry)</td></tr>
82
83 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
84 krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#g0f3e7f55fd97a595c961f0ffc49bebac">krb5_kt_remove_entry</a> (krb5_context context, krb5_keytab id, krb5_keytab_entry *entry)</td></tr>
85
86 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br>
87 KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#gf0947f9089022eaf4c83a463cad10ed3">krb5_kt_have_content</a> (krb5_context context, krb5_keytab id)</td></tr>
88
89 </table>
90 <hr><a name="_details"></a><h2>Detailed Description</h2>
91 <hr><h2>Function Documentation</h2>
92 <a class="anchor" name="g68d16c2a59d10dc3ca84bf8cbf6a4731"></a><!-- doxytag: member="keytab.c::krb5_kt_add_entry" ref="g68d16c2a59d10dc3ca84bf8cbf6a4731" args="(krb5_context context, krb5_keytab id, krb5_keytab_entry *entry)" -->
93 <div class="memitem">
94 <div class="memproto">
95       <table class="memname">
96         <tr>
97           <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_add_entry           </td>
98           <td>(</td>
99           <td class="paramtype">krb5_context&nbsp;</td>
100           <td class="paramname"> <em>context</em>, </td>
101         </tr>
102         <tr>
103           <td class="paramkey"></td>
104           <td></td>
105           <td class="paramtype">krb5_keytab&nbsp;</td>
106           <td class="paramname"> <em>id</em>, </td>
107         </tr>
108         <tr>
109           <td class="paramkey"></td>
110           <td></td>
111           <td class="paramtype">krb5_keytab_entry *&nbsp;</td>
112           <td class="paramname"> <em>entry</em></td><td>&nbsp;</td>
113         </tr>
114         <tr>
115           <td></td>
116           <td>)</td>
117           <td></td><td></td><td></td>
118         </tr>
119       </table>
120 </div>
121 <div class="memdoc">
122
123 <p>
124 Add the entry in `entry' to the keytab `id'.<p>
125 <dl compact><dt><b>Parameters:</b></dt><dd>
126   <table border="0" cellspacing="2" cellpadding="0">
127     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>a Keberos context. </td></tr>
128     <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>a keytab. </td></tr>
129     <tr><td valign="top"></td><td valign="top"><em>entry</em>&nbsp;</td><td>the entry to add</td></tr>
130   </table>
131 </dl>
132 <dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl>
133
134 </div>
135 </div><p>
136 <a class="anchor" name="gb67f5ae0a7c4b87d193218b842cad590"></a><!-- doxytag: member="keytab.c::krb5_kt_close" ref="gb67f5ae0a7c4b87d193218b842cad590" args="(krb5_context context, krb5_keytab id)" -->
137 <div class="memitem">
138 <div class="memproto">
139       <table class="memname">
140         <tr>
141           <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_close           </td>
142           <td>(</td>
143           <td class="paramtype">krb5_context&nbsp;</td>
144           <td class="paramname"> <em>context</em>, </td>
145         </tr>
146         <tr>
147           <td class="paramkey"></td>
148           <td></td>
149           <td class="paramtype">krb5_keytab&nbsp;</td>
150           <td class="paramname"> <em>id</em></td><td>&nbsp;</td>
151         </tr>
152         <tr>
153           <td></td>
154           <td>)</td>
155           <td></td><td></td><td></td>
156         </tr>
157       </table>
158 </div>
159 <div class="memdoc">
160
161 <p>
162 Finish using the keytab in `id'. All resources will be released, even on errors.<p>
163 <dl compact><dt><b>Parameters:</b></dt><dd>
164   <table border="0" cellspacing="2" cellpadding="0">
165     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>a Keberos context. </td></tr>
166     <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>keytab to close.</td></tr>
167   </table>
168 </dl>
169 <dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl>
170
171 </div>
172 </div><p>
173 <a class="anchor" name="g688d397ec30b48e5edc5a59567bc8010"></a><!-- doxytag: member="keytab.c::krb5_kt_compare" ref="g688d397ec30b48e5edc5a59567bc8010" args="(krb5_context context, krb5_keytab_entry *entry, krb5_const_principal principal, krb5_kvno vno, krb5_enctype enctype)" -->
174 <div class="memitem">
175 <div class="memproto">
176       <table class="memname">
177         <tr>
178           <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_kt_compare           </td>
179           <td>(</td>
180           <td class="paramtype">krb5_context&nbsp;</td>
181           <td class="paramname"> <em>context</em>, </td>
182         </tr>
183         <tr>
184           <td class="paramkey"></td>
185           <td></td>
186           <td class="paramtype">krb5_keytab_entry *&nbsp;</td>
187           <td class="paramname"> <em>entry</em>, </td>
188         </tr>
189         <tr>
190           <td class="paramkey"></td>
191           <td></td>
192           <td class="paramtype">krb5_const_principal&nbsp;</td>
193           <td class="paramname"> <em>principal</em>, </td>
194         </tr>
195         <tr>
196           <td class="paramkey"></td>
197           <td></td>
198           <td class="paramtype">krb5_kvno&nbsp;</td>
199           <td class="paramname"> <em>vno</em>, </td>
200         </tr>
201         <tr>
202           <td class="paramkey"></td>
203           <td></td>
204           <td class="paramtype">krb5_enctype&nbsp;</td>
205           <td class="paramname"> <em>enctype</em></td><td>&nbsp;</td>
206         </tr>
207         <tr>
208           <td></td>
209           <td>)</td>
210           <td></td><td></td><td></td>
211         </tr>
212       </table>
213 </div>
214 <div class="memdoc">
215
216 <p>
217 Compare `entry' against `principal, vno, enctype'. Any of `principal, vno, enctype' might be 0 which acts as a wildcard. Return TRUE if they compare the same, FALSE otherwise.<p>
218 <dl compact><dt><b>Parameters:</b></dt><dd>
219   <table border="0" cellspacing="2" cellpadding="0">
220     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>a Keberos context. </td></tr>
221     <tr><td valign="top"></td><td valign="top"><em>entry</em>&nbsp;</td><td>an entry to match with. </td></tr>
222     <tr><td valign="top"></td><td valign="top"><em>principal</em>&nbsp;</td><td>principal to match, NULL matches all principals. </td></tr>
223     <tr><td valign="top"></td><td valign="top"><em>vno</em>&nbsp;</td><td>key version to match, 0 matches all key version numbers. </td></tr>
224     <tr><td valign="top"></td><td valign="top"><em>enctype</em>&nbsp;</td><td>encryption type to match, 0 matches all encryption types.</td></tr>
225   </table>
226 </dl>
227 <dl class="return" compact><dt><b>Returns:</b></dt><dd>Return TRUE or match, FALSE if not matched. </dd></dl>
228
229 </div>
230 </div><p>
231 <a class="anchor" name="g6c6c4233517bd5b12f5c3a99ed31b058"></a><!-- doxytag: member="keytab.c::krb5_kt_copy_entry_contents" ref="g6c6c4233517bd5b12f5c3a99ed31b058" args="(krb5_context context, const krb5_keytab_entry *in, krb5_keytab_entry *out)" -->
232 <div class="memitem">
233 <div class="memproto">
234       <table class="memname">
235         <tr>
236           <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_copy_entry_contents           </td>
237           <td>(</td>
238           <td class="paramtype">krb5_context&nbsp;</td>
239           <td class="paramname"> <em>context</em>, </td>
240         </tr>
241         <tr>
242           <td class="paramkey"></td>
243           <td></td>
244           <td class="paramtype">const krb5_keytab_entry *&nbsp;</td>
245           <td class="paramname"> <em>in</em>, </td>
246         </tr>
247         <tr>
248           <td class="paramkey"></td>
249           <td></td>
250           <td class="paramtype">krb5_keytab_entry *&nbsp;</td>
251           <td class="paramname"> <em>out</em></td><td>&nbsp;</td>
252         </tr>
253         <tr>
254           <td></td>
255           <td>)</td>
256           <td></td><td></td><td></td>
257         </tr>
258       </table>
259 </div>
260 <div class="memdoc">
261
262 <p>
263 Copy the contents of `in' into `out'.<p>
264 <dl compact><dt><b>Parameters:</b></dt><dd>
265   <table border="0" cellspacing="2" cellpadding="0">
266     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>a Keberos context. </td></tr>
267     <tr><td valign="top"></td><td valign="top"><em>in</em>&nbsp;</td><td>the keytab entry to copy. </td></tr>
268     <tr><td valign="top"></td><td valign="top"><em>out</em>&nbsp;</td><td>the copy of the keytab entry, free with <a class="el" href="group__krb5__keytab.html#gc0774ab1407eaaaa0e5998478de246e2">krb5_kt_free_entry()</a>.</td></tr>
269   </table>
270 </dl>
271 <dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl>
272
273 </div>
274 </div><p>
275 <a class="anchor" name="gfcd059883c79dbd99a179bc4225d16b5"></a><!-- doxytag: member="keytab.c::krb5_kt_default" ref="gfcd059883c79dbd99a179bc4225d16b5" args="(krb5_context context, krb5_keytab *id)" -->
276 <div class="memitem">
277 <div class="memproto">
278       <table class="memname">
279         <tr>
280           <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_default           </td>
281           <td>(</td>
282           <td class="paramtype">krb5_context&nbsp;</td>
283           <td class="paramname"> <em>context</em>, </td>
284         </tr>
285         <tr>
286           <td class="paramkey"></td>
287           <td></td>
288           <td class="paramtype">krb5_keytab *&nbsp;</td>
289           <td class="paramname"> <em>id</em></td><td>&nbsp;</td>
290         </tr>
291         <tr>
292           <td></td>
293           <td>)</td>
294           <td></td><td></td><td></td>
295         </tr>
296       </table>
297 </div>
298 <div class="memdoc">
299
300 <p>
301 Set `id' to the default keytab.<p>
302 <dl compact><dt><b>Parameters:</b></dt><dd>
303   <table border="0" cellspacing="2" cellpadding="0">
304     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>a Keberos context. </td></tr>
305     <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>the new default keytab.</td></tr>
306   </table>
307 </dl>
308 <dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl>
309
310 </div>
311 </div><p>
312 <a class="anchor" name="gaaff7211e887e908d909d75febf33200"></a><!-- doxytag: member="keytab.c::krb5_kt_default_modify_name" ref="gaaff7211e887e908d909d75febf33200" args="(krb5_context context, char *name, size_t namesize)" -->
313 <div class="memitem">
314 <div class="memproto">
315       <table class="memname">
316         <tr>
317           <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_default_modify_name           </td>
318           <td>(</td>
319           <td class="paramtype">krb5_context&nbsp;</td>
320           <td class="paramname"> <em>context</em>, </td>
321         </tr>
322         <tr>
323           <td class="paramkey"></td>
324           <td></td>
325           <td class="paramtype">char *&nbsp;</td>
326           <td class="paramname"> <em>name</em>, </td>
327         </tr>
328         <tr>
329           <td class="paramkey"></td>
330           <td></td>
331           <td class="paramtype">size_t&nbsp;</td>
332           <td class="paramname"> <em>namesize</em></td><td>&nbsp;</td>
333         </tr>
334         <tr>
335           <td></td>
336           <td>)</td>
337           <td></td><td></td><td></td>
338         </tr>
339       </table>
340 </div>
341 <div class="memdoc">
342
343 <p>
344 Copy the name of the default modify keytab into `name'.<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>a Keberos context. </td></tr>
348     <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>buffer where the name will be written </td></tr>
349     <tr><td valign="top"></td><td valign="top"><em>namesize</em>&nbsp;</td><td>length of name</td></tr>
350   </table>
351 </dl>
352 <dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl>
353
354 </div>
355 </div><p>
356 <a class="anchor" name="g3fdc1c60208dc99c1f0ebec18e2a7a52"></a><!-- doxytag: member="keytab.c::krb5_kt_default_name" ref="g3fdc1c60208dc99c1f0ebec18e2a7a52" args="(krb5_context context, char *name, size_t namesize)" -->
357 <div class="memitem">
358 <div class="memproto">
359       <table class="memname">
360         <tr>
361           <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_default_name           </td>
362           <td>(</td>
363           <td class="paramtype">krb5_context&nbsp;</td>
364           <td class="paramname"> <em>context</em>, </td>
365         </tr>
366         <tr>
367           <td class="paramkey"></td>
368           <td></td>
369           <td class="paramtype">char *&nbsp;</td>
370           <td class="paramname"> <em>name</em>, </td>
371         </tr>
372         <tr>
373           <td class="paramkey"></td>
374           <td></td>
375           <td class="paramtype">size_t&nbsp;</td>
376           <td class="paramname"> <em>namesize</em></td><td>&nbsp;</td>
377         </tr>
378         <tr>
379           <td></td>
380           <td>)</td>
381           <td></td><td></td><td></td>
382         </tr>
383       </table>
384 </div>
385 <div class="memdoc">
386
387 <p>
388 copy the name of the default keytab into `name'.<p>
389 <dl compact><dt><b>Parameters:</b></dt><dd>
390   <table border="0" cellspacing="2" cellpadding="0">
391     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>a Keberos context. </td></tr>
392     <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>buffer where the name will be written </td></tr>
393     <tr><td valign="top"></td><td valign="top"><em>namesize</em>&nbsp;</td><td>length of name</td></tr>
394   </table>
395 </dl>
396 <dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl>
397
398 </div>
399 </div><p>
400 <a class="anchor" name="g23f1f8d506d680564ff0c783b903abf9"></a><!-- doxytag: member="keytab.c::krb5_kt_destroy" ref="g23f1f8d506d680564ff0c783b903abf9" args="(krb5_context context, krb5_keytab id)" -->
401 <div class="memitem">
402 <div class="memproto">
403       <table class="memname">
404         <tr>
405           <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_destroy           </td>
406           <td>(</td>
407           <td class="paramtype">krb5_context&nbsp;</td>
408           <td class="paramname"> <em>context</em>, </td>
409         </tr>
410         <tr>
411           <td class="paramkey"></td>
412           <td></td>
413           <td class="paramtype">krb5_keytab&nbsp;</td>
414           <td class="paramname"> <em>id</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>
426 Destroy (remove) the keytab in `id'. All resources will be released, even on errors, does the equvalment of <a class="el" href="group__krb5__keytab.html#gb67f5ae0a7c4b87d193218b842cad590">krb5_kt_close()</a> on the resources.<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>a Keberos context. </td></tr>
430     <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>keytab to destroy.</td></tr>
431   </table>
432 </dl>
433 <dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl>
434
435 </div>
436 </div><p>
437 <a class="anchor" name="g11289efb407d93a1f84d5c64731a4bd1"></a><!-- doxytag: member="keytab.c::krb5_kt_end_seq_get" ref="g11289efb407d93a1f84d5c64731a4bd1" args="(krb5_context context, krb5_keytab id, krb5_kt_cursor *cursor)" -->
438 <div class="memitem">
439 <div class="memproto">
440       <table class="memname">
441         <tr>
442           <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_end_seq_get           </td>
443           <td>(</td>
444           <td class="paramtype">krb5_context&nbsp;</td>
445           <td class="paramname"> <em>context</em>, </td>
446         </tr>
447         <tr>
448           <td class="paramkey"></td>
449           <td></td>
450           <td class="paramtype">krb5_keytab&nbsp;</td>
451           <td class="paramname"> <em>id</em>, </td>
452         </tr>
453         <tr>
454           <td class="paramkey"></td>
455           <td></td>
456           <td class="paramtype">krb5_kt_cursor *&nbsp;</td>
457           <td class="paramname"> <em>cursor</em></td><td>&nbsp;</td>
458         </tr>
459         <tr>
460           <td></td>
461           <td>)</td>
462           <td></td><td></td><td></td>
463         </tr>
464       </table>
465 </div>
466 <div class="memdoc">
467
468 <p>
469 Release all resources associated with `cursor'.<p>
470 <dl compact><dt><b>Parameters:</b></dt><dd>
471   <table border="0" cellspacing="2" cellpadding="0">
472     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>a Keberos context. </td></tr>
473     <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>a keytab. </td></tr>
474     <tr><td valign="top"></td><td valign="top"><em>cursor</em>&nbsp;</td><td>the cursor to free.</td></tr>
475   </table>
476 </dl>
477 <dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl>
478
479 </div>
480 </div><p>
481 <a class="anchor" name="gc0774ab1407eaaaa0e5998478de246e2"></a><!-- doxytag: member="keytab.c::krb5_kt_free_entry" ref="gc0774ab1407eaaaa0e5998478de246e2" args="(krb5_context context, krb5_keytab_entry *entry)" -->
482 <div class="memitem">
483 <div class="memproto">
484       <table class="memname">
485         <tr>
486           <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_free_entry           </td>
487           <td>(</td>
488           <td class="paramtype">krb5_context&nbsp;</td>
489           <td class="paramname"> <em>context</em>, </td>
490         </tr>
491         <tr>
492           <td class="paramkey"></td>
493           <td></td>
494           <td class="paramtype">krb5_keytab_entry *&nbsp;</td>
495           <td class="paramname"> <em>entry</em></td><td>&nbsp;</td>
496         </tr>
497         <tr>
498           <td></td>
499           <td>)</td>
500           <td></td><td></td><td></td>
501         </tr>
502       </table>
503 </div>
504 <div class="memdoc">
505
506 <p>
507 Free the contents of `entry'.<p>
508 <dl compact><dt><b>Parameters:</b></dt><dd>
509   <table border="0" cellspacing="2" cellpadding="0">
510     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>a Keberos context. </td></tr>
511     <tr><td valign="top"></td><td valign="top"><em>entry</em>&nbsp;</td><td>the entry to free</td></tr>
512   </table>
513 </dl>
514 <dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl>
515
516 </div>
517 </div><p>
518 <a class="anchor" name="gd7183b9573330db0575118057b3a02a5"></a><!-- doxytag: member="keytab.c::krb5_kt_get_entry" ref="gd7183b9573330db0575118057b3a02a5" args="(krb5_context context, krb5_keytab id, krb5_const_principal principal, krb5_kvno kvno, krb5_enctype enctype, krb5_keytab_entry *entry)" -->
519 <div class="memitem">
520 <div class="memproto">
521       <table class="memname">
522         <tr>
523           <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_get_entry           </td>
524           <td>(</td>
525           <td class="paramtype">krb5_context&nbsp;</td>
526           <td class="paramname"> <em>context</em>, </td>
527         </tr>
528         <tr>
529           <td class="paramkey"></td>
530           <td></td>
531           <td class="paramtype">krb5_keytab&nbsp;</td>
532           <td class="paramname"> <em>id</em>, </td>
533         </tr>
534         <tr>
535           <td class="paramkey"></td>
536           <td></td>
537           <td class="paramtype">krb5_const_principal&nbsp;</td>
538           <td class="paramname"> <em>principal</em>, </td>
539         </tr>
540         <tr>
541           <td class="paramkey"></td>
542           <td></td>
543           <td class="paramtype">krb5_kvno&nbsp;</td>
544           <td class="paramname"> <em>kvno</em>, </td>
545         </tr>
546         <tr>
547           <td class="paramkey"></td>
548           <td></td>
549           <td class="paramtype">krb5_enctype&nbsp;</td>
550           <td class="paramname"> <em>enctype</em>, </td>
551         </tr>
552         <tr>
553           <td class="paramkey"></td>
554           <td></td>
555           <td class="paramtype">krb5_keytab_entry *&nbsp;</td>
556           <td class="paramname"> <em>entry</em></td><td>&nbsp;</td>
557         </tr>
558         <tr>
559           <td></td>
560           <td>)</td>
561           <td></td><td></td><td></td>
562         </tr>
563       </table>
564 </div>
565 <div class="memdoc">
566
567 <p>
568 Retrieve the keytab entry for `principal, kvno, enctype' into `entry' from the keytab `id'. Matching is done like <a class="el" href="group__krb5__keytab.html#g688d397ec30b48e5edc5a59567bc8010">krb5_kt_compare()</a>.<p>
569 <dl compact><dt><b>Parameters:</b></dt><dd>
570   <table border="0" cellspacing="2" cellpadding="0">
571     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>a Keberos context. </td></tr>
572     <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>a keytab. </td></tr>
573     <tr><td valign="top"></td><td valign="top"><em>principal</em>&nbsp;</td><td>principal to match, NULL matches all principals. </td></tr>
574     <tr><td valign="top"></td><td valign="top"><em>kvno</em>&nbsp;</td><td>key version to match, 0 matches all key version numbers. </td></tr>
575     <tr><td valign="top"></td><td valign="top"><em>enctype</em>&nbsp;</td><td>encryption type to match, 0 matches all encryption types. </td></tr>
576     <tr><td valign="top"></td><td valign="top"><em>entry</em>&nbsp;</td><td>the returned entry, free with <a class="el" href="group__krb5__keytab.html#gc0774ab1407eaaaa0e5998478de246e2">krb5_kt_free_entry()</a>.</td></tr>
577   </table>
578 </dl>
579 <dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl>
580
581 </div>
582 </div><p>
583 <a class="anchor" name="g40744ad6c5d9eed2b76d26f5e698d1f3"></a><!-- doxytag: member="keytab.c::krb5_kt_get_full_name" ref="g40744ad6c5d9eed2b76d26f5e698d1f3" args="(krb5_context context, krb5_keytab keytab, char **str)" -->
584 <div class="memitem">
585 <div class="memproto">
586       <table class="memname">
587         <tr>
588           <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_get_full_name           </td>
589           <td>(</td>
590           <td class="paramtype">krb5_context&nbsp;</td>
591           <td class="paramname"> <em>context</em>, </td>
592         </tr>
593         <tr>
594           <td class="paramkey"></td>
595           <td></td>
596           <td class="paramtype">krb5_keytab&nbsp;</td>
597           <td class="paramname"> <em>keytab</em>, </td>
598         </tr>
599         <tr>
600           <td class="paramkey"></td>
601           <td></td>
602           <td class="paramtype">char **&nbsp;</td>
603           <td class="paramname"> <em>str</em></td><td>&nbsp;</td>
604         </tr>
605         <tr>
606           <td></td>
607           <td>)</td>
608           <td></td><td></td><td></td>
609         </tr>
610       </table>
611 </div>
612 <div class="memdoc">
613
614 <p>
615 Retrieve the full name of the keytab `keytab' and store the name in `str'.<p>
616 <dl compact><dt><b>Parameters:</b></dt><dd>
617   <table border="0" cellspacing="2" cellpadding="0">
618     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>a Keberos context. </td></tr>
619     <tr><td valign="top"></td><td valign="top"><em>keytab</em>&nbsp;</td><td>keytab to get name for. </td></tr>
620     <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>the name of the keytab name, usee krb5_xfree() to free the string. On error, *str is set to NULL.</td></tr>
621   </table>
622 </dl>
623 <dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl>
624
625 </div>
626 </div><p>
627 <a class="anchor" name="ga10348fa20bbae806d652aa4adb44bdd"></a><!-- doxytag: member="keytab.c::krb5_kt_get_name" ref="ga10348fa20bbae806d652aa4adb44bdd" args="(krb5_context context, krb5_keytab keytab, char *name, size_t namesize)" -->
628 <div class="memitem">
629 <div class="memproto">
630       <table class="memname">
631         <tr>
632           <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_get_name           </td>
633           <td>(</td>
634           <td class="paramtype">krb5_context&nbsp;</td>
635           <td class="paramname"> <em>context</em>, </td>
636         </tr>
637         <tr>
638           <td class="paramkey"></td>
639           <td></td>
640           <td class="paramtype">krb5_keytab&nbsp;</td>
641           <td class="paramname"> <em>keytab</em>, </td>
642         </tr>
643         <tr>
644           <td class="paramkey"></td>
645           <td></td>
646           <td class="paramtype">char *&nbsp;</td>
647           <td class="paramname"> <em>name</em>, </td>
648         </tr>
649         <tr>
650           <td class="paramkey"></td>
651           <td></td>
652           <td class="paramtype">size_t&nbsp;</td>
653           <td class="paramname"> <em>namesize</em></td><td>&nbsp;</td>
654         </tr>
655         <tr>
656           <td></td>
657           <td>)</td>
658           <td></td><td></td><td></td>
659         </tr>
660       </table>
661 </div>
662 <div class="memdoc">
663
664 <p>
665 Retrieve the name of the keytab `keytab' into `name', `namesize'<p>
666 <dl compact><dt><b>Parameters:</b></dt><dd>
667   <table border="0" cellspacing="2" cellpadding="0">
668     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>a Keberos context. </td></tr>
669     <tr><td valign="top"></td><td valign="top"><em>keytab</em>&nbsp;</td><td>the keytab to get the name for. </td></tr>
670     <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>name buffer. </td></tr>
671     <tr><td valign="top"></td><td valign="top"><em>namesize</em>&nbsp;</td><td>size of name buffer.</td></tr>
672   </table>
673 </dl>
674 <dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl>
675
676 </div>
677 </div><p>
678 <a class="anchor" name="g632921a4b144a4eb656968d836efd9bb"></a><!-- doxytag: member="keytab.c::krb5_kt_get_type" ref="g632921a4b144a4eb656968d836efd9bb" args="(krb5_context context, krb5_keytab keytab, char *prefix, size_t prefixsize)" -->
679 <div class="memitem">
680 <div class="memproto">
681       <table class="memname">
682         <tr>
683           <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_get_type           </td>
684           <td>(</td>
685           <td class="paramtype">krb5_context&nbsp;</td>
686           <td class="paramname"> <em>context</em>, </td>
687         </tr>
688         <tr>
689           <td class="paramkey"></td>
690           <td></td>
691           <td class="paramtype">krb5_keytab&nbsp;</td>
692           <td class="paramname"> <em>keytab</em>, </td>
693         </tr>
694         <tr>
695           <td class="paramkey"></td>
696           <td></td>
697           <td class="paramtype">char *&nbsp;</td>
698           <td class="paramname"> <em>prefix</em>, </td>
699         </tr>
700         <tr>
701           <td class="paramkey"></td>
702           <td></td>
703           <td class="paramtype">size_t&nbsp;</td>
704           <td class="paramname"> <em>prefixsize</em></td><td>&nbsp;</td>
705         </tr>
706         <tr>
707           <td></td>
708           <td>)</td>
709           <td></td><td></td><td></td>
710         </tr>
711       </table>
712 </div>
713 <div class="memdoc">
714
715 <p>
716 Return the type of the `keytab' in the string `prefix of length `prefixsize'.<p>
717 <dl compact><dt><b>Parameters:</b></dt><dd>
718   <table border="0" cellspacing="2" cellpadding="0">
719     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>a Keberos context. </td></tr>
720     <tr><td valign="top"></td><td valign="top"><em>keytab</em>&nbsp;</td><td>the keytab to get the prefix for </td></tr>
721     <tr><td valign="top"></td><td valign="top"><em>prefix</em>&nbsp;</td><td>prefix buffer </td></tr>
722     <tr><td valign="top"></td><td valign="top"><em>prefixsize</em>&nbsp;</td><td>length of prefix buffer</td></tr>
723   </table>
724 </dl>
725 <dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl>
726
727 </div>
728 </div><p>
729 <a class="anchor" name="gf0947f9089022eaf4c83a463cad10ed3"></a><!-- doxytag: member="keytab.c::krb5_kt_have_content" ref="gf0947f9089022eaf4c83a463cad10ed3" args="(krb5_context context, krb5_keytab id)" -->
730 <div class="memitem">
731 <div class="memproto">
732       <table class="memname">
733         <tr>
734           <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_kt_have_content           </td>
735           <td>(</td>
736           <td class="paramtype">krb5_context&nbsp;</td>
737           <td class="paramname"> <em>context</em>, </td>
738         </tr>
739         <tr>
740           <td class="paramkey"></td>
741           <td></td>
742           <td class="paramtype">krb5_keytab&nbsp;</td>
743           <td class="paramname"> <em>id</em></td><td>&nbsp;</td>
744         </tr>
745         <tr>
746           <td></td>
747           <td>)</td>
748           <td></td><td></td><td></td>
749         </tr>
750       </table>
751 </div>
752 <div class="memdoc">
753
754 <p>
755 Return true if the keytab exists and have entries<p>
756 <dl compact><dt><b>Parameters:</b></dt><dd>
757   <table border="0" cellspacing="2" cellpadding="0">
758     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>a Keberos context. </td></tr>
759     <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>a keytab.</td></tr>
760   </table>
761 </dl>
762 <dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl>
763
764 </div>
765 </div><p>
766 <a class="anchor" name="gc40140c41333a86d3c40426f50b4e1b0"></a><!-- doxytag: member="keytab.c::krb5_kt_next_entry" ref="gc40140c41333a86d3c40426f50b4e1b0" args="(krb5_context context, krb5_keytab id, krb5_keytab_entry *entry, krb5_kt_cursor *cursor)" -->
767 <div class="memitem">
768 <div class="memproto">
769       <table class="memname">
770         <tr>
771           <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_next_entry           </td>
772           <td>(</td>
773           <td class="paramtype">krb5_context&nbsp;</td>
774           <td class="paramname"> <em>context</em>, </td>
775         </tr>
776         <tr>
777           <td class="paramkey"></td>
778           <td></td>
779           <td class="paramtype">krb5_keytab&nbsp;</td>
780           <td class="paramname"> <em>id</em>, </td>
781         </tr>
782         <tr>
783           <td class="paramkey"></td>
784           <td></td>
785           <td class="paramtype">krb5_keytab_entry *&nbsp;</td>
786           <td class="paramname"> <em>entry</em>, </td>
787         </tr>
788         <tr>
789           <td class="paramkey"></td>
790           <td></td>
791           <td class="paramtype">krb5_kt_cursor *&nbsp;</td>
792           <td class="paramname"> <em>cursor</em></td><td>&nbsp;</td>
793         </tr>
794         <tr>
795           <td></td>
796           <td>)</td>
797           <td></td><td></td><td></td>
798         </tr>
799       </table>
800 </div>
801 <div class="memdoc">
802
803 <p>
804 Get the next entry from keytab, advance the cursor. On last entry the function will return KRB5_KT_END.<p>
805 <dl compact><dt><b>Parameters:</b></dt><dd>
806   <table border="0" cellspacing="2" cellpadding="0">
807     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>a Keberos context. </td></tr>
808     <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>a keytab. </td></tr>
809     <tr><td valign="top"></td><td valign="top"><em>entry</em>&nbsp;</td><td>the returned entry, free with <a class="el" href="group__krb5__keytab.html#gc0774ab1407eaaaa0e5998478de246e2">krb5_kt_free_entry()</a>. </td></tr>
810     <tr><td valign="top"></td><td valign="top"><em>cursor</em>&nbsp;</td><td>the cursor of the iteration.</td></tr>
811   </table>
812 </dl>
813 <dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl>
814
815 </div>
816 </div><p>
817 <a class="anchor" name="g6040b238ff8adeb346ca35e5530bdeff"></a><!-- doxytag: member="keytab.c::krb5_kt_read_service_key" ref="g6040b238ff8adeb346ca35e5530bdeff" args="(krb5_context context, krb5_pointer keyprocarg, krb5_principal principal, krb5_kvno vno, krb5_enctype enctype, krb5_keyblock **key)" -->
818 <div class="memitem">
819 <div class="memproto">
820       <table class="memname">
821         <tr>
822           <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_read_service_key           </td>
823           <td>(</td>
824           <td class="paramtype">krb5_context&nbsp;</td>
825           <td class="paramname"> <em>context</em>, </td>
826         </tr>
827         <tr>
828           <td class="paramkey"></td>
829           <td></td>
830           <td class="paramtype">krb5_pointer&nbsp;</td>
831           <td class="paramname"> <em>keyprocarg</em>, </td>
832         </tr>
833         <tr>
834           <td class="paramkey"></td>
835           <td></td>
836           <td class="paramtype">krb5_principal&nbsp;</td>
837           <td class="paramname"> <em>principal</em>, </td>
838         </tr>
839         <tr>
840           <td class="paramkey"></td>
841           <td></td>
842           <td class="paramtype">krb5_kvno&nbsp;</td>
843           <td class="paramname"> <em>vno</em>, </td>
844         </tr>
845         <tr>
846           <td class="paramkey"></td>
847           <td></td>
848           <td class="paramtype">krb5_enctype&nbsp;</td>
849           <td class="paramname"> <em>enctype</em>, </td>
850         </tr>
851         <tr>
852           <td class="paramkey"></td>
853           <td></td>
854           <td class="paramtype">krb5_keyblock **&nbsp;</td>
855           <td class="paramname"> <em>key</em></td><td>&nbsp;</td>
856         </tr>
857         <tr>
858           <td></td>
859           <td>)</td>
860           <td></td><td></td><td></td>
861         </tr>
862       </table>
863 </div>
864 <div class="memdoc">
865
866 <p>
867 Read the key identified by `(principal, vno, enctype)' from the keytab in `keyprocarg' (the default if == NULL) into `*key'.<p>
868 <dl compact><dt><b>Parameters:</b></dt><dd>
869   <table border="0" cellspacing="2" cellpadding="0">
870     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>a Keberos context. </td></tr>
871     <tr><td valign="top"></td><td valign="top"><em>keyprocarg</em>&nbsp;</td><td></td></tr>
872     <tr><td valign="top"></td><td valign="top"><em>principal</em>&nbsp;</td><td></td></tr>
873     <tr><td valign="top"></td><td valign="top"><em>vno</em>&nbsp;</td><td></td></tr>
874     <tr><td valign="top"></td><td valign="top"><em>enctype</em>&nbsp;</td><td></td></tr>
875     <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td></td></tr>
876   </table>
877 </dl>
878 <dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl>
879
880 </div>
881 </div><p>
882 <a class="anchor" name="g0b54b479db89c76e46d6edae8328848e"></a><!-- doxytag: member="keytab.c::krb5_kt_register" ref="g0b54b479db89c76e46d6edae8328848e" args="(krb5_context context, const krb5_kt_ops *ops)" -->
883 <div class="memitem">
884 <div class="memproto">
885       <table class="memname">
886         <tr>
887           <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_register           </td>
888           <td>(</td>
889           <td class="paramtype">krb5_context&nbsp;</td>
890           <td class="paramname"> <em>context</em>, </td>
891         </tr>
892         <tr>
893           <td class="paramkey"></td>
894           <td></td>
895           <td class="paramtype">const krb5_kt_ops *&nbsp;</td>
896           <td class="paramname"> <em>ops</em></td><td>&nbsp;</td>
897         </tr>
898         <tr>
899           <td></td>
900           <td>)</td>
901           <td></td><td></td><td></td>
902         </tr>
903       </table>
904 </div>
905 <div class="memdoc">
906
907 <p>
908 Register a new keytab backend.<p>
909 <dl compact><dt><b>Parameters:</b></dt><dd>
910   <table border="0" cellspacing="2" cellpadding="0">
911     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>a Keberos context. </td></tr>
912     <tr><td valign="top"></td><td valign="top"><em>ops</em>&nbsp;</td><td>a backend to register.</td></tr>
913   </table>
914 </dl>
915 <dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl>
916
917 </div>
918 </div><p>
919 <a class="anchor" name="g0f3e7f55fd97a595c961f0ffc49bebac"></a><!-- doxytag: member="keytab.c::krb5_kt_remove_entry" ref="g0f3e7f55fd97a595c961f0ffc49bebac" args="(krb5_context context, krb5_keytab id, krb5_keytab_entry *entry)" -->
920 <div class="memitem">
921 <div class="memproto">
922       <table class="memname">
923         <tr>
924           <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_remove_entry           </td>
925           <td>(</td>
926           <td class="paramtype">krb5_context&nbsp;</td>
927           <td class="paramname"> <em>context</em>, </td>
928         </tr>
929         <tr>
930           <td class="paramkey"></td>
931           <td></td>
932           <td class="paramtype">krb5_keytab&nbsp;</td>
933           <td class="paramname"> <em>id</em>, </td>
934         </tr>
935         <tr>
936           <td class="paramkey"></td>
937           <td></td>
938           <td class="paramtype">krb5_keytab_entry *&nbsp;</td>
939           <td class="paramname"> <em>entry</em></td><td>&nbsp;</td>
940         </tr>
941         <tr>
942           <td></td>
943           <td>)</td>
944           <td></td><td></td><td></td>
945         </tr>
946       </table>
947 </div>
948 <div class="memdoc">
949
950 <p>
951 Remove an entry from the keytab, matching is done using <a class="el" href="group__krb5__keytab.html#g688d397ec30b48e5edc5a59567bc8010">krb5_kt_compare()</a>.<p>
952 <dl compact><dt><b>Parameters:</b></dt><dd>
953   <table border="0" cellspacing="2" cellpadding="0">
954     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>a Keberos context. </td></tr>
955     <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>a keytab. </td></tr>
956     <tr><td valign="top"></td><td valign="top"><em>entry</em>&nbsp;</td><td>the entry to remove</td></tr>
957   </table>
958 </dl>
959 <dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl>
960
961 </div>
962 </div><p>
963 <a class="anchor" name="gc57fead58fb1baa003d6438613731901"></a><!-- doxytag: member="keytab.c::krb5_kt_resolve" ref="gc57fead58fb1baa003d6438613731901" args="(krb5_context context, const char *name, krb5_keytab *id)" -->
964 <div class="memitem">
965 <div class="memproto">
966       <table class="memname">
967         <tr>
968           <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_resolve           </td>
969           <td>(</td>
970           <td class="paramtype">krb5_context&nbsp;</td>
971           <td class="paramname"> <em>context</em>, </td>
972         </tr>
973         <tr>
974           <td class="paramkey"></td>
975           <td></td>
976           <td class="paramtype">const char *&nbsp;</td>
977           <td class="paramname"> <em>name</em>, </td>
978         </tr>
979         <tr>
980           <td class="paramkey"></td>
981           <td></td>
982           <td class="paramtype">krb5_keytab *&nbsp;</td>
983           <td class="paramname"> <em>id</em></td><td>&nbsp;</td>
984         </tr>
985         <tr>
986           <td></td>
987           <td>)</td>
988           <td></td><td></td><td></td>
989         </tr>
990       </table>
991 </div>
992 <div class="memdoc">
993
994 <p>
995 Resolve the keytab name (of the form `type:residual') in `name' into a keytab in `id'.<p>
996 <dl compact><dt><b>Parameters:</b></dt><dd>
997   <table border="0" cellspacing="2" cellpadding="0">
998     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>a Keberos context. </td></tr>
999     <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>name to resolve </td></tr>
1000     <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>resulting keytab, free with <a class="el" href="group__krb5__keytab.html#gb67f5ae0a7c4b87d193218b842cad590">krb5_kt_close()</a>.</td></tr>
1001   </table>
1002 </dl>
1003 <dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl>
1004
1005 </div>
1006 </div><p>
1007 <a class="anchor" name="g1efd8ee48d6e3caa31cad475423b8917"></a><!-- doxytag: member="keytab.c::krb5_kt_start_seq_get" ref="g1efd8ee48d6e3caa31cad475423b8917" args="(krb5_context context, krb5_keytab id, krb5_kt_cursor *cursor)" -->
1008 <div class="memitem">
1009 <div class="memproto">
1010       <table class="memname">
1011         <tr>
1012           <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_start_seq_get           </td>
1013           <td>(</td>
1014           <td class="paramtype">krb5_context&nbsp;</td>
1015           <td class="paramname"> <em>context</em>, </td>
1016         </tr>
1017         <tr>
1018           <td class="paramkey"></td>
1019           <td></td>
1020           <td class="paramtype">krb5_keytab&nbsp;</td>
1021           <td class="paramname"> <em>id</em>, </td>
1022         </tr>
1023         <tr>
1024           <td class="paramkey"></td>
1025           <td></td>
1026           <td class="paramtype">krb5_kt_cursor *&nbsp;</td>
1027           <td class="paramname"> <em>cursor</em></td><td>&nbsp;</td>
1028         </tr>
1029         <tr>
1030           <td></td>
1031           <td>)</td>
1032           <td></td><td></td><td></td>
1033         </tr>
1034       </table>
1035 </div>
1036 <div class="memdoc">
1037
1038 <p>
1039 Set `cursor' to point at the beginning of `id'.<p>
1040 <dl compact><dt><b>Parameters:</b></dt><dd>
1041   <table border="0" cellspacing="2" cellpadding="0">
1042     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>a Keberos context. </td></tr>
1043     <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>a keytab. </td></tr>
1044     <tr><td valign="top"></td><td valign="top"><em>cursor</em>&nbsp;</td><td>a newly allocated cursor, free with <a class="el" href="group__krb5__keytab.html#g11289efb407d93a1f84d5c64731a4bd1">krb5_kt_end_seq_get()</a>.</td></tr>
1045   </table>
1046 </dl>
1047 <dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl>
1048
1049 </div>
1050 </div><p>
1051 </div>
1052 <hr size="1"><address style="text-align: right;"><small>
1053 Generated on Wed Jan 11 14:07:49 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>
1054 </body>
1055 </html>