]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - crypto/heimdal/doc/doxyout/krb5/html/group__krb5__support.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__support.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 support 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 support 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__support.html#g245208f2d59a8fd7187089ad445e51d0">krb5_acl_match_string</a> (krb5_context context, const char *string, const char *format,...)</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__support.html#g7c5dbc1743dc0bc63765edf82d10eb9e">krb5_acl_match_file</a> (krb5_context context, const char *file, const char *format,...)</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__support.html#g59892cdf61d0a6a59b3dd2e9998b541a">krb5_config_parse_file_multi</a> (krb5_context context, const char *fname, krb5_config_section **res)</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__support.html#g84277205c4b221cc28f1fd36be19dba8">krb5_config_file_free</a> (krb5_context context, krb5_config_section *s)</td></tr>
37
38 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION const <br>
39 krb5_config_binding <br>
40 *KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#gee87399e25e34ac1e0e4a1841951e2fa">krb5_config_get_list</a> (krb5_context context, const krb5_config_section *c,...)</td></tr>
41
42 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION const <br>
43 krb5_config_binding <br>
44 *KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#gfbc6548d480aaf5118025b742f4f468d">krb5_config_vget_list</a> (krb5_context context, const krb5_config_section *c, va_list args)</td></tr>
45
46 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION const char <br>
47 *KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#gc0845cba8c8f7fd2e447de60d81556ac">krb5_config_get_string</a> (krb5_context context, const krb5_config_section *c,...)</td></tr>
48
49 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION const char <br>
50 *KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#gec7eaee2b6f04f1ed4a64b37efa767e4">krb5_config_vget_string</a> (krb5_context context, const krb5_config_section *c, va_list args)</td></tr>
51
52 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION const char <br>
53 *KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g124f18195eb05c3662ce2bcf06c7451b">krb5_config_vget_string_default</a> (krb5_context context, const krb5_config_section *c, const char *def_value, va_list args)</td></tr>
54
55 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION const char <br>
56 *KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#gaef298c290e0c315d7f4bf07ba272b60">krb5_config_get_string_default</a> (krb5_context context, const krb5_config_section *c, const char *def_value,...)</td></tr>
57
58 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION char <br>
59 **KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g614850564b4d21b92e113fde9420bf3c">krb5_config_vget_strings</a> (krb5_context context, const krb5_config_section *c, va_list args)</td></tr>
60
61 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION char <br>
62 **KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g8f43dbe4a34a820a70d081e5d3190e01">krb5_config_get_strings</a> (krb5_context context, const krb5_config_section *c,...)</td></tr>
63
64 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br>
65 KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g3440f86b07fa86aae0f0889445a0def2">krb5_config_free_strings</a> (char **strings)</td></tr>
66
67 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br>
68 KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g8a29a130369232a638629cb37bfbeb66">krb5_config_vget_bool_default</a> (krb5_context context, const krb5_config_section *c, krb5_boolean def_value, va_list args)</td></tr>
69
70 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br>
71 KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g16e5b2da5e3751d7b3d4fe8d43f0a677">krb5_config_vget_bool</a> (krb5_context context, const krb5_config_section *c, va_list args)</td></tr>
72
73 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br>
74 KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#gca6abdb90a74af3747f87bfb5e9c85ab">krb5_config_get_bool_default</a> (krb5_context context, const krb5_config_section *c, krb5_boolean def_value,...)</td></tr>
75
76 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br>
77 KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g39402ca8c1b1eb2af4b514eed826f971">krb5_config_get_bool</a> (krb5_context context, const krb5_config_section *c,...)</td></tr>
78
79 <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__support.html#g11d7ea1fa9a910acb568c42d8dd28350">krb5_config_vget_time_default</a> (krb5_context context, const krb5_config_section *c, int def_value, va_list args)</td></tr>
80
81 <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__support.html#g88331c69f41e1e65abc49a9b66efc7d5">krb5_config_vget_time</a> (krb5_context context, const krb5_config_section *c, va_list args)</td></tr>
82
83 <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__support.html#g019554d71140a32f64b6e4a2244d1168">krb5_config_get_time_default</a> (krb5_context context, const krb5_config_section *c, int def_value,...)</td></tr>
84
85 <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__support.html#gf797bad7e8499b7be6099ccff7f56226">krb5_config_get_time</a> (krb5_context context, const krb5_config_section *c,...)</td></tr>
86
87 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
88 krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g947f1780e8b73fe0edb4f64da2f0b2f3">krb5_expand_hostname</a> (krb5_context context, const char *orig_hostname, char **new_hostname)</td></tr>
89
90 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
91 krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g933f524c34ae6a80ba8aa6c0700992ef">krb5_expand_hostname_realms</a> (krb5_context context, const char *orig_hostname, char **new_hostname, char ***realms)</td></tr>
92
93 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
94 krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#gca0ab80d3affb5986aa5061f3782401b">krb5_free_host_realm</a> (krb5_context context, krb5_realm *realmlist)</td></tr>
95
96 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br>
97 KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g6368eceea4261ef2ccb8dc39ecc87772">krb5_kuserok</a> (krb5_context context, krb5_principal principal, const char *luser)</td></tr>
98
99 <tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
100 krb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#gb6e4d59cca3b2e65abbd83204ad0e789">krb5_plugin_register</a> (krb5_context context, enum krb5_plugin_type type, const char *name, void *symbol)</td></tr>
101
102 </table>
103 <hr><a name="_details"></a><h2>Detailed Description</h2>
104 <hr><h2>Function Documentation</h2>
105 <a class="anchor" name="g7c5dbc1743dc0bc63765edf82d10eb9e"></a><!-- doxytag: member="acl.c::krb5_acl_match_file" ref="g7c5dbc1743dc0bc63765edf82d10eb9e" args="(krb5_context context, const char *file, const char *format,...)" -->
106 <div class="memitem">
107 <div class="memproto">
108       <table class="memname">
109         <tr>
110           <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_acl_match_file           </td>
111           <td>(</td>
112           <td class="paramtype">krb5_context&nbsp;</td>
113           <td class="paramname"> <em>context</em>, </td>
114         </tr>
115         <tr>
116           <td class="paramkey"></td>
117           <td></td>
118           <td class="paramtype">const char *&nbsp;</td>
119           <td class="paramname"> <em>file</em>, </td>
120         </tr>
121         <tr>
122           <td class="paramkey"></td>
123           <td></td>
124           <td class="paramtype">const char *&nbsp;</td>
125           <td class="paramname"> <em>format</em>, </td>
126         </tr>
127         <tr>
128           <td class="paramkey"></td>
129           <td></td>
130           <td class="paramtype">&nbsp;</td>
131           <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
132         </tr>
133         <tr>
134           <td></td>
135           <td>)</td>
136           <td></td><td></td><td></td>
137         </tr>
138       </table>
139 </div>
140 <div class="memdoc">
141
142 <p>
143 krb5_acl_match_file matches ACL format against each line in a file using <a class="el" href="group__krb5__support.html#g245208f2d59a8fd7187089ad445e51d0">krb5_acl_match_string()</a>. Lines starting with # are treated like comments and ignored.<p>
144 <dl compact><dt><b>Parameters:</b></dt><dd>
145   <table border="0" cellspacing="2" cellpadding="0">
146     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>Kerberos 5 context. </td></tr>
147     <tr><td valign="top"></td><td valign="top"><em>file</em>&nbsp;</td><td>file with acl listed in the file. </td></tr>
148     <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>format to match. </td></tr>
149     <tr><td valign="top"></td><td valign="top"><em>...</em>&nbsp;</td><td>parameter to format string.</td></tr>
150   </table>
151 </dl>
152 <dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0.</dd></dl>
153 <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__krb5__support.html#g245208f2d59a8fd7187089ad445e51d0">krb5_acl_match_string</a> </dd></dl>
154
155 </div>
156 </div><p>
157 <a class="anchor" name="g245208f2d59a8fd7187089ad445e51d0"></a><!-- doxytag: member="acl.c::krb5_acl_match_string" ref="g245208f2d59a8fd7187089ad445e51d0" args="(krb5_context context, const char *string, const char *format,...)" -->
158 <div class="memitem">
159 <div class="memproto">
160       <table class="memname">
161         <tr>
162           <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_acl_match_string           </td>
163           <td>(</td>
164           <td class="paramtype">krb5_context&nbsp;</td>
165           <td class="paramname"> <em>context</em>, </td>
166         </tr>
167         <tr>
168           <td class="paramkey"></td>
169           <td></td>
170           <td class="paramtype">const char *&nbsp;</td>
171           <td class="paramname"> <em>string</em>, </td>
172         </tr>
173         <tr>
174           <td class="paramkey"></td>
175           <td></td>
176           <td class="paramtype">const char *&nbsp;</td>
177           <td class="paramname"> <em>format</em>, </td>
178         </tr>
179         <tr>
180           <td class="paramkey"></td>
181           <td></td>
182           <td class="paramtype">&nbsp;</td>
183           <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
184         </tr>
185         <tr>
186           <td></td>
187           <td>)</td>
188           <td></td><td></td><td></td>
189         </tr>
190       </table>
191 </div>
192 <div class="memdoc">
193
194 <p>
195 krb5_acl_match_string matches ACL format against a string.<p>
196 The ACL format has three format specifiers: s, f, and r. Each specifier will retrieve one argument from the variable arguments for either matching or storing data. The input string is split up using " " (space) and "\t" (tab) as a delimiter; multiple and "\t" in a row are considered to be the same.<p>
197 List of format specifiers:<ul>
198 <li>s Matches a string using strcmp(3) (case sensitive).</li><li>f Matches the string with fnmatch(3). Theflags argument (the last argument) passed to the fnmatch function is 0.</li><li>r Returns a copy of the string in the char ** passed in; the copy must be freed with free(3). There is no need to free(3) the string on error: the function will clean up and set the pointer to NULL.</li></ul>
199 <p>
200 <dl compact><dt><b>Parameters:</b></dt><dd>
201   <table border="0" cellspacing="2" cellpadding="0">
202     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>Kerberos 5 context </td></tr>
203     <tr><td valign="top"></td><td valign="top"><em>string</em>&nbsp;</td><td>string to match with </td></tr>
204     <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>format to match </td></tr>
205     <tr><td valign="top"></td><td valign="top"><em>...</em>&nbsp;</td><td>parameter to format string</td></tr>
206   </table>
207 </dl>
208 <dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0.</dd></dl>
209 <div class="fragment"><pre class="fragment"> <span class="keywordtype">char</span> *s;
210
211  ret = <a class="code" href="group__krb5__support.html#g245208f2d59a8fd7187089ad445e51d0">krb5_acl_match_string</a>(context, <span class="stringliteral">"foo"</span>, <span class="stringliteral">"s"</span>, <span class="stringliteral">"foo"</span>);
212  <span class="keywordflow">if</span> (ret)
213      krb5_errx(context, 1, <span class="stringliteral">"acl didn't match"</span>);
214  ret = <a class="code" href="group__krb5__support.html#g245208f2d59a8fd7187089ad445e51d0">krb5_acl_match_string</a>(context, <span class="stringliteral">"foo foo baz/kaka"</span>,
215      <span class="stringliteral">"ss"</span>, <span class="stringliteral">"foo"</span>, &amp;s, <span class="stringliteral">"foo/\\*"</span>);
216  <span class="keywordflow">if</span> (ret) {
217      <span class="comment">// no need to free(s) on error</span>
218      assert(s == NULL);
219      krb5_errx(context, 1, <span class="stringliteral">"acl didn't match"</span>);
220  }
221  free(s);
222 </pre></div><p>
223 <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__krb5__support.html#g7c5dbc1743dc0bc63765edf82d10eb9e">krb5_acl_match_file</a> </dd></dl>
224
225 </div>
226 </div><p>
227 <a class="anchor" name="g84277205c4b221cc28f1fd36be19dba8"></a><!-- doxytag: member="config_file.c::krb5_config_file_free" ref="g84277205c4b221cc28f1fd36be19dba8" args="(krb5_context context, krb5_config_section *s)" -->
228 <div class="memitem">
229 <div class="memproto">
230       <table class="memname">
231         <tr>
232           <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_config_file_free           </td>
233           <td>(</td>
234           <td class="paramtype">krb5_context&nbsp;</td>
235           <td class="paramname"> <em>context</em>, </td>
236         </tr>
237         <tr>
238           <td class="paramkey"></td>
239           <td></td>
240           <td class="paramtype">krb5_config_section *&nbsp;</td>
241           <td class="paramname"> <em>s</em></td><td>&nbsp;</td>
242         </tr>
243         <tr>
244           <td></td>
245           <td>)</td>
246           <td></td><td></td><td></td>
247         </tr>
248       </table>
249 </div>
250 <div class="memdoc">
251
252 <p>
253 Free configuration file section, the result of krb5_config_parse_file() and <a class="el" href="group__krb5__support.html#g59892cdf61d0a6a59b3dd2e9998b541a">krb5_config_parse_file_multi()</a>.<p>
254 <dl compact><dt><b>Parameters:</b></dt><dd>
255   <table border="0" cellspacing="2" cellpadding="0">
256     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A Kerberos 5 context </td></tr>
257     <tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>the configuration section to free</td></tr>
258   </table>
259 </dl>
260 <dl class="return" compact><dt><b>Returns:</b></dt><dd>returns 0 on successes, otherwise an error code, see krb5_get_error_message() </dd></dl>
261
262 </div>
263 </div><p>
264 <a class="anchor" name="g3440f86b07fa86aae0f0889445a0def2"></a><!-- doxytag: member="config_file.c::krb5_config_free_strings" ref="g3440f86b07fa86aae0f0889445a0def2" args="(char **strings)" -->
265 <div class="memitem">
266 <div class="memproto">
267       <table class="memname">
268         <tr>
269           <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_config_free_strings           </td>
270           <td>(</td>
271           <td class="paramtype">char **&nbsp;</td>
272           <td class="paramname"> <em>strings</em>          </td>
273           <td>&nbsp;)&nbsp;</td>
274           <td></td>
275         </tr>
276       </table>
277 </div>
278 <div class="memdoc">
279
280 <p>
281 Free the resulting strings from krb5_config-get_strings() and <a class="el" href="group__krb5__support.html#g614850564b4d21b92e113fde9420bf3c">krb5_config_vget_strings()</a>.<p>
282 <dl compact><dt><b>Parameters:</b></dt><dd>
283   <table border="0" cellspacing="2" cellpadding="0">
284     <tr><td valign="top"></td><td valign="top"><em>strings</em>&nbsp;</td><td>strings to free </td></tr>
285   </table>
286 </dl>
287
288 </div>
289 </div><p>
290 <a class="anchor" name="g39402ca8c1b1eb2af4b514eed826f971"></a><!-- doxytag: member="config_file.c::krb5_config_get_bool" ref="g39402ca8c1b1eb2af4b514eed826f971" args="(krb5_context context, const krb5_config_section *c,...)" -->
291 <div class="memitem">
292 <div class="memproto">
293       <table class="memname">
294         <tr>
295           <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_config_get_bool           </td>
296           <td>(</td>
297           <td class="paramtype">krb5_context&nbsp;</td>
298           <td class="paramname"> <em>context</em>, </td>
299         </tr>
300         <tr>
301           <td class="paramkey"></td>
302           <td></td>
303           <td class="paramtype">const krb5_config_section *&nbsp;</td>
304           <td class="paramname"> <em>c</em>, </td>
305         </tr>
306         <tr>
307           <td class="paramkey"></td>
308           <td></td>
309           <td class="paramtype">&nbsp;</td>
310           <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
311         </tr>
312         <tr>
313           <td></td>
314           <td>)</td>
315           <td></td><td></td><td></td>
316         </tr>
317       </table>
318 </div>
319 <div class="memdoc">
320
321 <p>
322 Like <a class="el" href="group__krb5__support.html#g39402ca8c1b1eb2af4b514eed826f971">krb5_config_get_bool()</a> but with a va_list list of configuration selection.<p>
323 Configuration value to a boolean value, where yes/true and any non-zero number means TRUE and other value is FALSE.<p>
324 <dl compact><dt><b>Parameters:</b></dt><dd>
325   <table border="0" cellspacing="2" cellpadding="0">
326     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A Kerberos 5 context. </td></tr>
327     <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>a configuration section, or NULL to use the section from context </td></tr>
328     <tr><td valign="top"></td><td valign="top"><em>...</em>&nbsp;</td><td>a list of names, terminated with NULL.</td></tr>
329   </table>
330 </dl>
331 <dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE or FALSE </dd></dl>
332
333 </div>
334 </div><p>
335 <a class="anchor" name="gca6abdb90a74af3747f87bfb5e9c85ab"></a><!-- doxytag: member="config_file.c::krb5_config_get_bool_default" ref="gca6abdb90a74af3747f87bfb5e9c85ab" args="(krb5_context context, const krb5_config_section *c, krb5_boolean def_value,...)" -->
336 <div class="memitem">
337 <div class="memproto">
338       <table class="memname">
339         <tr>
340           <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_config_get_bool_default           </td>
341           <td>(</td>
342           <td class="paramtype">krb5_context&nbsp;</td>
343           <td class="paramname"> <em>context</em>, </td>
344         </tr>
345         <tr>
346           <td class="paramkey"></td>
347           <td></td>
348           <td class="paramtype">const krb5_config_section *&nbsp;</td>
349           <td class="paramname"> <em>c</em>, </td>
350         </tr>
351         <tr>
352           <td class="paramkey"></td>
353           <td></td>
354           <td class="paramtype">krb5_boolean&nbsp;</td>
355           <td class="paramname"> <em>def_value</em>, </td>
356         </tr>
357         <tr>
358           <td class="paramkey"></td>
359           <td></td>
360           <td class="paramtype">&nbsp;</td>
361           <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
362         </tr>
363         <tr>
364           <td></td>
365           <td>)</td>
366           <td></td><td></td><td></td>
367         </tr>
368       </table>
369 </div>
370 <div class="memdoc">
371
372 <p>
373 <a class="el" href="group__krb5__support.html#gca6abdb90a74af3747f87bfb5e9c85ab">krb5_config_get_bool_default()</a> will convert the configuration option value to a boolean value, where yes/true and any non-zero number means TRUE and other value is FALSE.<p>
374 <dl compact><dt><b>Parameters:</b></dt><dd>
375   <table border="0" cellspacing="2" cellpadding="0">
376     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A Kerberos 5 context. </td></tr>
377     <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>a configuration section, or NULL to use the section from context </td></tr>
378     <tr><td valign="top"></td><td valign="top"><em>def_value</em>&nbsp;</td><td>the default value to return if no configuration found in the database. </td></tr>
379     <tr><td valign="top"></td><td valign="top"><em>...</em>&nbsp;</td><td>a list of names, terminated with NULL.</td></tr>
380   </table>
381 </dl>
382 <dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE or FALSE </dd></dl>
383
384 </div>
385 </div><p>
386 <a class="anchor" name="gee87399e25e34ac1e0e4a1841951e2fa"></a><!-- doxytag: member="config_file.c::krb5_config_get_list" ref="gee87399e25e34ac1e0e4a1841951e2fa" args="(krb5_context context, const krb5_config_section *c,...)" -->
387 <div class="memitem">
388 <div class="memproto">
389       <table class="memname">
390         <tr>
391           <td class="memname">KRB5_LIB_FUNCTION const krb5_config_binding* KRB5_LIB_CALL krb5_config_get_list           </td>
392           <td>(</td>
393           <td class="paramtype">krb5_context&nbsp;</td>
394           <td class="paramname"> <em>context</em>, </td>
395         </tr>
396         <tr>
397           <td class="paramkey"></td>
398           <td></td>
399           <td class="paramtype">const krb5_config_section *&nbsp;</td>
400           <td class="paramname"> <em>c</em>, </td>
401         </tr>
402         <tr>
403           <td class="paramkey"></td>
404           <td></td>
405           <td class="paramtype">&nbsp;</td>
406           <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
407         </tr>
408         <tr>
409           <td></td>
410           <td>)</td>
411           <td></td><td></td><td></td>
412         </tr>
413       </table>
414 </div>
415 <div class="memdoc">
416
417 <p>
418 Get a list of configuration binding list for more processing<p>
419 <dl compact><dt><b>Parameters:</b></dt><dd>
420   <table border="0" cellspacing="2" cellpadding="0">
421     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A Kerberos 5 context. </td></tr>
422     <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>a configuration section, or NULL to use the section from context </td></tr>
423     <tr><td valign="top"></td><td valign="top"><em>...</em>&nbsp;</td><td>a list of names, terminated with NULL.</td></tr>
424   </table>
425 </dl>
426 <dl class="return" compact><dt><b>Returns:</b></dt><dd>NULL if configuration list is not found, a list otherwise </dd></dl>
427
428 </div>
429 </div><p>
430 <a class="anchor" name="gc0845cba8c8f7fd2e447de60d81556ac"></a><!-- doxytag: member="config_file.c::krb5_config_get_string" ref="gc0845cba8c8f7fd2e447de60d81556ac" args="(krb5_context context, const krb5_config_section *c,...)" -->
431 <div class="memitem">
432 <div class="memproto">
433       <table class="memname">
434         <tr>
435           <td class="memname">KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_config_get_string           </td>
436           <td>(</td>
437           <td class="paramtype">krb5_context&nbsp;</td>
438           <td class="paramname"> <em>context</em>, </td>
439         </tr>
440         <tr>
441           <td class="paramkey"></td>
442           <td></td>
443           <td class="paramtype">const krb5_config_section *&nbsp;</td>
444           <td class="paramname"> <em>c</em>, </td>
445         </tr>
446         <tr>
447           <td class="paramkey"></td>
448           <td></td>
449           <td class="paramtype">&nbsp;</td>
450           <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
451         </tr>
452         <tr>
453           <td></td>
454           <td>)</td>
455           <td></td><td></td><td></td>
456         </tr>
457       </table>
458 </div>
459 <div class="memdoc">
460
461 <p>
462 Returns a "const char *" to a string in the configuration database. The string may not be valid after a reload of the configuration database so a caller should make a local copy if it needs to keep the string.<p>
463 <dl compact><dt><b>Parameters:</b></dt><dd>
464   <table border="0" cellspacing="2" cellpadding="0">
465     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A Kerberos 5 context. </td></tr>
466     <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>a configuration section, or NULL to use the section from context </td></tr>
467     <tr><td valign="top"></td><td valign="top"><em>...</em>&nbsp;</td><td>a list of names, terminated with NULL.</td></tr>
468   </table>
469 </dl>
470 <dl class="return" compact><dt><b>Returns:</b></dt><dd>NULL if configuration string not found, a string otherwise </dd></dl>
471
472 </div>
473 </div><p>
474 <a class="anchor" name="gaef298c290e0c315d7f4bf07ba272b60"></a><!-- doxytag: member="config_file.c::krb5_config_get_string_default" ref="gaef298c290e0c315d7f4bf07ba272b60" args="(krb5_context context, const krb5_config_section *c, const char *def_value,...)" -->
475 <div class="memitem">
476 <div class="memproto">
477       <table class="memname">
478         <tr>
479           <td class="memname">KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_config_get_string_default           </td>
480           <td>(</td>
481           <td class="paramtype">krb5_context&nbsp;</td>
482           <td class="paramname"> <em>context</em>, </td>
483         </tr>
484         <tr>
485           <td class="paramkey"></td>
486           <td></td>
487           <td class="paramtype">const krb5_config_section *&nbsp;</td>
488           <td class="paramname"> <em>c</em>, </td>
489         </tr>
490         <tr>
491           <td class="paramkey"></td>
492           <td></td>
493           <td class="paramtype">const char *&nbsp;</td>
494           <td class="paramname"> <em>def_value</em>, </td>
495         </tr>
496         <tr>
497           <td class="paramkey"></td>
498           <td></td>
499           <td class="paramtype">&nbsp;</td>
500           <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
501         </tr>
502         <tr>
503           <td></td>
504           <td>)</td>
505           <td></td><td></td><td></td>
506         </tr>
507       </table>
508 </div>
509 <div class="memdoc">
510
511 <p>
512 Like <a class="el" href="group__krb5__support.html#gc0845cba8c8f7fd2e447de60d81556ac">krb5_config_get_string()</a>, but instead of returning NULL, instead return a default value.<p>
513 <dl compact><dt><b>Parameters:</b></dt><dd>
514   <table border="0" cellspacing="2" cellpadding="0">
515     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A Kerberos 5 context. </td></tr>
516     <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>a configuration section, or NULL to use the section from context </td></tr>
517     <tr><td valign="top"></td><td valign="top"><em>def_value</em>&nbsp;</td><td>the default value to return if no configuration found in the database. </td></tr>
518     <tr><td valign="top"></td><td valign="top"><em>...</em>&nbsp;</td><td>a list of names, terminated with NULL.</td></tr>
519   </table>
520 </dl>
521 <dl class="return" compact><dt><b>Returns:</b></dt><dd>a configuration string </dd></dl>
522
523 </div>
524 </div><p>
525 <a class="anchor" name="g8f43dbe4a34a820a70d081e5d3190e01"></a><!-- doxytag: member="config_file.c::krb5_config_get_strings" ref="g8f43dbe4a34a820a70d081e5d3190e01" args="(krb5_context context, const krb5_config_section *c,...)" -->
526 <div class="memitem">
527 <div class="memproto">
528       <table class="memname">
529         <tr>
530           <td class="memname">KRB5_LIB_FUNCTION char** KRB5_LIB_CALL krb5_config_get_strings           </td>
531           <td>(</td>
532           <td class="paramtype">krb5_context&nbsp;</td>
533           <td class="paramname"> <em>context</em>, </td>
534         </tr>
535         <tr>
536           <td class="paramkey"></td>
537           <td></td>
538           <td class="paramtype">const krb5_config_section *&nbsp;</td>
539           <td class="paramname"> <em>c</em>, </td>
540         </tr>
541         <tr>
542           <td class="paramkey"></td>
543           <td></td>
544           <td class="paramtype">&nbsp;</td>
545           <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
546         </tr>
547         <tr>
548           <td></td>
549           <td>)</td>
550           <td></td><td></td><td></td>
551         </tr>
552       </table>
553 </div>
554 <div class="memdoc">
555
556 <p>
557 Get a list of configuration strings, free the result with <a class="el" href="group__krb5__support.html#g3440f86b07fa86aae0f0889445a0def2">krb5_config_free_strings()</a>.<p>
558 <dl compact><dt><b>Parameters:</b></dt><dd>
559   <table border="0" cellspacing="2" cellpadding="0">
560     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A Kerberos 5 context. </td></tr>
561     <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>a configuration section, or NULL to use the section from context </td></tr>
562     <tr><td valign="top"></td><td valign="top"><em>...</em>&nbsp;</td><td>a list of names, terminated with NULL.</td></tr>
563   </table>
564 </dl>
565 <dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE or FALSE </dd></dl>
566
567 </div>
568 </div><p>
569 <a class="anchor" name="gf797bad7e8499b7be6099ccff7f56226"></a><!-- doxytag: member="config_file.c::krb5_config_get_time" ref="gf797bad7e8499b7be6099ccff7f56226" args="(krb5_context context, const krb5_config_section *c,...)" -->
570 <div class="memitem">
571 <div class="memproto">
572       <table class="memname">
573         <tr>
574           <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_config_get_time           </td>
575           <td>(</td>
576           <td class="paramtype">krb5_context&nbsp;</td>
577           <td class="paramname"> <em>context</em>, </td>
578         </tr>
579         <tr>
580           <td class="paramkey"></td>
581           <td></td>
582           <td class="paramtype">const krb5_config_section *&nbsp;</td>
583           <td class="paramname"> <em>c</em>, </td>
584         </tr>
585         <tr>
586           <td class="paramkey"></td>
587           <td></td>
588           <td class="paramtype">&nbsp;</td>
589           <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
590         </tr>
591         <tr>
592           <td></td>
593           <td>)</td>
594           <td></td><td></td><td></td>
595         </tr>
596       </table>
597 </div>
598 <div class="memdoc">
599
600 <p>
601 Get the time from the configuration file using a relative time, for example: 1h30s<p>
602 <dl compact><dt><b>Parameters:</b></dt><dd>
603   <table border="0" cellspacing="2" cellpadding="0">
604     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A Kerberos 5 context. </td></tr>
605     <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>a configuration section, or NULL to use the section from context </td></tr>
606     <tr><td valign="top"></td><td valign="top"><em>...</em>&nbsp;</td><td>a list of names, terminated with NULL.</td></tr>
607   </table>
608 </dl>
609 <dl class="return" compact><dt><b>Returns:</b></dt><dd>parsed the time or -1 on error </dd></dl>
610
611 </div>
612 </div><p>
613 <a class="anchor" name="g019554d71140a32f64b6e4a2244d1168"></a><!-- doxytag: member="config_file.c::krb5_config_get_time_default" ref="g019554d71140a32f64b6e4a2244d1168" args="(krb5_context context, const krb5_config_section *c, int def_value,...)" -->
614 <div class="memitem">
615 <div class="memproto">
616       <table class="memname">
617         <tr>
618           <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_config_get_time_default           </td>
619           <td>(</td>
620           <td class="paramtype">krb5_context&nbsp;</td>
621           <td class="paramname"> <em>context</em>, </td>
622         </tr>
623         <tr>
624           <td class="paramkey"></td>
625           <td></td>
626           <td class="paramtype">const krb5_config_section *&nbsp;</td>
627           <td class="paramname"> <em>c</em>, </td>
628         </tr>
629         <tr>
630           <td class="paramkey"></td>
631           <td></td>
632           <td class="paramtype">int&nbsp;</td>
633           <td class="paramname"> <em>def_value</em>, </td>
634         </tr>
635         <tr>
636           <td class="paramkey"></td>
637           <td></td>
638           <td class="paramtype">&nbsp;</td>
639           <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
640         </tr>
641         <tr>
642           <td></td>
643           <td>)</td>
644           <td></td><td></td><td></td>
645         </tr>
646       </table>
647 </div>
648 <div class="memdoc">
649
650 <p>
651 Get the time from the configuration file using a relative time, for example: 1h30s<p>
652 <dl compact><dt><b>Parameters:</b></dt><dd>
653   <table border="0" cellspacing="2" cellpadding="0">
654     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A Kerberos 5 context. </td></tr>
655     <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>a configuration section, or NULL to use the section from context </td></tr>
656     <tr><td valign="top"></td><td valign="top"><em>def_value</em>&nbsp;</td><td>the default value to return if no configuration found in the database. </td></tr>
657     <tr><td valign="top"></td><td valign="top"><em>...</em>&nbsp;</td><td>a list of names, terminated with NULL.</td></tr>
658   </table>
659 </dl>
660 <dl class="return" compact><dt><b>Returns:</b></dt><dd>parsed the time (or def_value on parse error) </dd></dl>
661
662 </div>
663 </div><p>
664 <a class="anchor" name="g59892cdf61d0a6a59b3dd2e9998b541a"></a><!-- doxytag: member="config_file.c::krb5_config_parse_file_multi" ref="g59892cdf61d0a6a59b3dd2e9998b541a" args="(krb5_context context, const char *fname, krb5_config_section **res)" -->
665 <div class="memitem">
666 <div class="memproto">
667       <table class="memname">
668         <tr>
669           <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_config_parse_file_multi           </td>
670           <td>(</td>
671           <td class="paramtype">krb5_context&nbsp;</td>
672           <td class="paramname"> <em>context</em>, </td>
673         </tr>
674         <tr>
675           <td class="paramkey"></td>
676           <td></td>
677           <td class="paramtype">const char *&nbsp;</td>
678           <td class="paramname"> <em>fname</em>, </td>
679         </tr>
680         <tr>
681           <td class="paramkey"></td>
682           <td></td>
683           <td class="paramtype">krb5_config_section **&nbsp;</td>
684           <td class="paramname"> <em>res</em></td><td>&nbsp;</td>
685         </tr>
686         <tr>
687           <td></td>
688           <td>)</td>
689           <td></td><td></td><td></td>
690         </tr>
691       </table>
692 </div>
693 <div class="memdoc">
694
695 <p>
696 Parse a configuration file and add the result into res. This interface can be used to parse several configuration files into one resulting krb5_config_section by calling it repeatably.<p>
697 <dl compact><dt><b>Parameters:</b></dt><dd>
698   <table border="0" cellspacing="2" cellpadding="0">
699     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>a Kerberos 5 context. </td></tr>
700     <tr><td valign="top"></td><td valign="top"><em>fname</em>&nbsp;</td><td>a file name to a Kerberos configuration file </td></tr>
701     <tr><td valign="top"></td><td valign="top"><em>res</em>&nbsp;</td><td>the returned result, must be free with <a class="el" href="group__krb5.html#gce1b568d05875e7c4fbc6e5af5a8bdbf">krb5_free_config_files()</a>. </td></tr>
702   </table>
703 </dl>
704 <dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl>
705
706 <p>
707 If the fname starts with "~/" parse configuration file in the current users home directory. The behavior can be disabled and enabled by calling <a class="el" href="group__krb5.html#g3a8e40d622ff1460b2f554d83a9059ea">krb5_set_home_dir_access()</a>. 
708 </div>
709 </div><p>
710 <a class="anchor" name="g16e5b2da5e3751d7b3d4fe8d43f0a677"></a><!-- doxytag: member="config_file.c::krb5_config_vget_bool" ref="g16e5b2da5e3751d7b3d4fe8d43f0a677" args="(krb5_context context, const krb5_config_section *c, va_list args)" -->
711 <div class="memitem">
712 <div class="memproto">
713       <table class="memname">
714         <tr>
715           <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_config_vget_bool           </td>
716           <td>(</td>
717           <td class="paramtype">krb5_context&nbsp;</td>
718           <td class="paramname"> <em>context</em>, </td>
719         </tr>
720         <tr>
721           <td class="paramkey"></td>
722           <td></td>
723           <td class="paramtype">const krb5_config_section *&nbsp;</td>
724           <td class="paramname"> <em>c</em>, </td>
725         </tr>
726         <tr>
727           <td class="paramkey"></td>
728           <td></td>
729           <td class="paramtype">va_list&nbsp;</td>
730           <td class="paramname"> <em>args</em></td><td>&nbsp;</td>
731         </tr>
732         <tr>
733           <td></td>
734           <td>)</td>
735           <td></td><td></td><td></td>
736         </tr>
737       </table>
738 </div>
739 <div class="memdoc">
740
741 <p>
742 <a class="el" href="group__krb5__support.html#g39402ca8c1b1eb2af4b514eed826f971">krb5_config_get_bool()</a> will convert the configuration option value to a boolean value, where yes/true and any non-zero number means TRUE and other value is FALSE.<p>
743 <dl compact><dt><b>Parameters:</b></dt><dd>
744   <table border="0" cellspacing="2" cellpadding="0">
745     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A Kerberos 5 context. </td></tr>
746     <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>a configuration section, or NULL to use the section from context </td></tr>
747     <tr><td valign="top"></td><td valign="top"><em>args</em>&nbsp;</td><td>a va_list of arguments</td></tr>
748   </table>
749 </dl>
750 <dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE or FALSE </dd></dl>
751
752 </div>
753 </div><p>
754 <a class="anchor" name="g8a29a130369232a638629cb37bfbeb66"></a><!-- doxytag: member="config_file.c::krb5_config_vget_bool_default" ref="g8a29a130369232a638629cb37bfbeb66" args="(krb5_context context, const krb5_config_section *c, krb5_boolean def_value, va_list args)" -->
755 <div class="memitem">
756 <div class="memproto">
757       <table class="memname">
758         <tr>
759           <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_config_vget_bool_default           </td>
760           <td>(</td>
761           <td class="paramtype">krb5_context&nbsp;</td>
762           <td class="paramname"> <em>context</em>, </td>
763         </tr>
764         <tr>
765           <td class="paramkey"></td>
766           <td></td>
767           <td class="paramtype">const krb5_config_section *&nbsp;</td>
768           <td class="paramname"> <em>c</em>, </td>
769         </tr>
770         <tr>
771           <td class="paramkey"></td>
772           <td></td>
773           <td class="paramtype">krb5_boolean&nbsp;</td>
774           <td class="paramname"> <em>def_value</em>, </td>
775         </tr>
776         <tr>
777           <td class="paramkey"></td>
778           <td></td>
779           <td class="paramtype">va_list&nbsp;</td>
780           <td class="paramname"> <em>args</em></td><td>&nbsp;</td>
781         </tr>
782         <tr>
783           <td></td>
784           <td>)</td>
785           <td></td><td></td><td></td>
786         </tr>
787       </table>
788 </div>
789 <div class="memdoc">
790
791 <p>
792 Like <a class="el" href="group__krb5__support.html#gca6abdb90a74af3747f87bfb5e9c85ab">krb5_config_get_bool_default()</a> but with a va_list list of configuration selection.<p>
793 Configuration value to a boolean value, where yes/true and any non-zero number means TRUE and other value is FALSE.<p>
794 <dl compact><dt><b>Parameters:</b></dt><dd>
795   <table border="0" cellspacing="2" cellpadding="0">
796     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A Kerberos 5 context. </td></tr>
797     <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>a configuration section, or NULL to use the section from context </td></tr>
798     <tr><td valign="top"></td><td valign="top"><em>def_value</em>&nbsp;</td><td>the default value to return if no configuration found in the database. </td></tr>
799     <tr><td valign="top"></td><td valign="top"><em>args</em>&nbsp;</td><td>a va_list of arguments</td></tr>
800   </table>
801 </dl>
802 <dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE or FALSE </dd></dl>
803
804 </div>
805 </div><p>
806 <a class="anchor" name="gfbc6548d480aaf5118025b742f4f468d"></a><!-- doxytag: member="config_file.c::krb5_config_vget_list" ref="gfbc6548d480aaf5118025b742f4f468d" args="(krb5_context context, const krb5_config_section *c, va_list args)" -->
807 <div class="memitem">
808 <div class="memproto">
809       <table class="memname">
810         <tr>
811           <td class="memname">KRB5_LIB_FUNCTION const krb5_config_binding* KRB5_LIB_CALL krb5_config_vget_list           </td>
812           <td>(</td>
813           <td class="paramtype">krb5_context&nbsp;</td>
814           <td class="paramname"> <em>context</em>, </td>
815         </tr>
816         <tr>
817           <td class="paramkey"></td>
818           <td></td>
819           <td class="paramtype">const krb5_config_section *&nbsp;</td>
820           <td class="paramname"> <em>c</em>, </td>
821         </tr>
822         <tr>
823           <td class="paramkey"></td>
824           <td></td>
825           <td class="paramtype">va_list&nbsp;</td>
826           <td class="paramname"> <em>args</em></td><td>&nbsp;</td>
827         </tr>
828         <tr>
829           <td></td>
830           <td>)</td>
831           <td></td><td></td><td></td>
832         </tr>
833       </table>
834 </div>
835 <div class="memdoc">
836
837 <p>
838 Get a list of configuration binding list for more processing<p>
839 <dl compact><dt><b>Parameters:</b></dt><dd>
840   <table border="0" cellspacing="2" cellpadding="0">
841     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A Kerberos 5 context. </td></tr>
842     <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>a configuration section, or NULL to use the section from context </td></tr>
843     <tr><td valign="top"></td><td valign="top"><em>args</em>&nbsp;</td><td>a va_list of arguments</td></tr>
844   </table>
845 </dl>
846 <dl class="return" compact><dt><b>Returns:</b></dt><dd>NULL if configuration list is not found, a list otherwise </dd></dl>
847
848 </div>
849 </div><p>
850 <a class="anchor" name="gec7eaee2b6f04f1ed4a64b37efa767e4"></a><!-- doxytag: member="config_file.c::krb5_config_vget_string" ref="gec7eaee2b6f04f1ed4a64b37efa767e4" args="(krb5_context context, const krb5_config_section *c, va_list args)" -->
851 <div class="memitem">
852 <div class="memproto">
853       <table class="memname">
854         <tr>
855           <td class="memname">KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_config_vget_string           </td>
856           <td>(</td>
857           <td class="paramtype">krb5_context&nbsp;</td>
858           <td class="paramname"> <em>context</em>, </td>
859         </tr>
860         <tr>
861           <td class="paramkey"></td>
862           <td></td>
863           <td class="paramtype">const krb5_config_section *&nbsp;</td>
864           <td class="paramname"> <em>c</em>, </td>
865         </tr>
866         <tr>
867           <td class="paramkey"></td>
868           <td></td>
869           <td class="paramtype">va_list&nbsp;</td>
870           <td class="paramname"> <em>args</em></td><td>&nbsp;</td>
871         </tr>
872         <tr>
873           <td></td>
874           <td>)</td>
875           <td></td><td></td><td></td>
876         </tr>
877       </table>
878 </div>
879 <div class="memdoc">
880
881 <p>
882 Like <a class="el" href="group__krb5__support.html#gc0845cba8c8f7fd2e447de60d81556ac">krb5_config_get_string()</a>, but uses a va_list instead of ...<p>
883 <dl compact><dt><b>Parameters:</b></dt><dd>
884   <table border="0" cellspacing="2" cellpadding="0">
885     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A Kerberos 5 context. </td></tr>
886     <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>a configuration section, or NULL to use the section from context </td></tr>
887     <tr><td valign="top"></td><td valign="top"><em>args</em>&nbsp;</td><td>a va_list of arguments</td></tr>
888   </table>
889 </dl>
890 <dl class="return" compact><dt><b>Returns:</b></dt><dd>NULL if configuration string not found, a string otherwise </dd></dl>
891
892 </div>
893 </div><p>
894 <a class="anchor" name="g124f18195eb05c3662ce2bcf06c7451b"></a><!-- doxytag: member="config_file.c::krb5_config_vget_string_default" ref="g124f18195eb05c3662ce2bcf06c7451b" args="(krb5_context context, const krb5_config_section *c, const char *def_value, va_list args)" -->
895 <div class="memitem">
896 <div class="memproto">
897       <table class="memname">
898         <tr>
899           <td class="memname">KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_config_vget_string_default           </td>
900           <td>(</td>
901           <td class="paramtype">krb5_context&nbsp;</td>
902           <td class="paramname"> <em>context</em>, </td>
903         </tr>
904         <tr>
905           <td class="paramkey"></td>
906           <td></td>
907           <td class="paramtype">const krb5_config_section *&nbsp;</td>
908           <td class="paramname"> <em>c</em>, </td>
909         </tr>
910         <tr>
911           <td class="paramkey"></td>
912           <td></td>
913           <td class="paramtype">const char *&nbsp;</td>
914           <td class="paramname"> <em>def_value</em>, </td>
915         </tr>
916         <tr>
917           <td class="paramkey"></td>
918           <td></td>
919           <td class="paramtype">va_list&nbsp;</td>
920           <td class="paramname"> <em>args</em></td><td>&nbsp;</td>
921         </tr>
922         <tr>
923           <td></td>
924           <td>)</td>
925           <td></td><td></td><td></td>
926         </tr>
927       </table>
928 </div>
929 <div class="memdoc">
930
931 <p>
932 Like <a class="el" href="group__krb5__support.html#gec7eaee2b6f04f1ed4a64b37efa767e4">krb5_config_vget_string()</a>, but instead of returning NULL, instead return a default value.<p>
933 <dl compact><dt><b>Parameters:</b></dt><dd>
934   <table border="0" cellspacing="2" cellpadding="0">
935     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A Kerberos 5 context. </td></tr>
936     <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>a configuration section, or NULL to use the section from context </td></tr>
937     <tr><td valign="top"></td><td valign="top"><em>def_value</em>&nbsp;</td><td>the default value to return if no configuration found in the database. </td></tr>
938     <tr><td valign="top"></td><td valign="top"><em>args</em>&nbsp;</td><td>a va_list of arguments</td></tr>
939   </table>
940 </dl>
941 <dl class="return" compact><dt><b>Returns:</b></dt><dd>a configuration string </dd></dl>
942
943 </div>
944 </div><p>
945 <a class="anchor" name="g614850564b4d21b92e113fde9420bf3c"></a><!-- doxytag: member="config_file.c::krb5_config_vget_strings" ref="g614850564b4d21b92e113fde9420bf3c" args="(krb5_context context, const krb5_config_section *c, va_list args)" -->
946 <div class="memitem">
947 <div class="memproto">
948       <table class="memname">
949         <tr>
950           <td class="memname">KRB5_LIB_FUNCTION char** KRB5_LIB_CALL krb5_config_vget_strings           </td>
951           <td>(</td>
952           <td class="paramtype">krb5_context&nbsp;</td>
953           <td class="paramname"> <em>context</em>, </td>
954         </tr>
955         <tr>
956           <td class="paramkey"></td>
957           <td></td>
958           <td class="paramtype">const krb5_config_section *&nbsp;</td>
959           <td class="paramname"> <em>c</em>, </td>
960         </tr>
961         <tr>
962           <td class="paramkey"></td>
963           <td></td>
964           <td class="paramtype">va_list&nbsp;</td>
965           <td class="paramname"> <em>args</em></td><td>&nbsp;</td>
966         </tr>
967         <tr>
968           <td></td>
969           <td>)</td>
970           <td></td><td></td><td></td>
971         </tr>
972       </table>
973 </div>
974 <div class="memdoc">
975
976 <p>
977 Get a list of configuration strings, free the result with <a class="el" href="group__krb5__support.html#g3440f86b07fa86aae0f0889445a0def2">krb5_config_free_strings()</a>.<p>
978 <dl compact><dt><b>Parameters:</b></dt><dd>
979   <table border="0" cellspacing="2" cellpadding="0">
980     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A Kerberos 5 context. </td></tr>
981     <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>a configuration section, or NULL to use the section from context </td></tr>
982     <tr><td valign="top"></td><td valign="top"><em>args</em>&nbsp;</td><td>a va_list of arguments</td></tr>
983   </table>
984 </dl>
985 <dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE or FALSE </dd></dl>
986
987 </div>
988 </div><p>
989 <a class="anchor" name="g88331c69f41e1e65abc49a9b66efc7d5"></a><!-- doxytag: member="config_file.c::krb5_config_vget_time" ref="g88331c69f41e1e65abc49a9b66efc7d5" args="(krb5_context context, const krb5_config_section *c, va_list args)" -->
990 <div class="memitem">
991 <div class="memproto">
992       <table class="memname">
993         <tr>
994           <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_config_vget_time           </td>
995           <td>(</td>
996           <td class="paramtype">krb5_context&nbsp;</td>
997           <td class="paramname"> <em>context</em>, </td>
998         </tr>
999         <tr>
1000           <td class="paramkey"></td>
1001           <td></td>
1002           <td class="paramtype">const krb5_config_section *&nbsp;</td>
1003           <td class="paramname"> <em>c</em>, </td>
1004         </tr>
1005         <tr>
1006           <td class="paramkey"></td>
1007           <td></td>
1008           <td class="paramtype">va_list&nbsp;</td>
1009           <td class="paramname"> <em>args</em></td><td>&nbsp;</td>
1010         </tr>
1011         <tr>
1012           <td></td>
1013           <td>)</td>
1014           <td></td><td></td><td></td>
1015         </tr>
1016       </table>
1017 </div>
1018 <div class="memdoc">
1019
1020 <p>
1021 Get the time from the configuration file using a relative time, for example: 1h30s<p>
1022 <dl compact><dt><b>Parameters:</b></dt><dd>
1023   <table border="0" cellspacing="2" cellpadding="0">
1024     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A Kerberos 5 context. </td></tr>
1025     <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>a configuration section, or NULL to use the section from context </td></tr>
1026     <tr><td valign="top"></td><td valign="top"><em>args</em>&nbsp;</td><td>a va_list of arguments</td></tr>
1027   </table>
1028 </dl>
1029 <dl class="return" compact><dt><b>Returns:</b></dt><dd>parsed the time or -1 on error </dd></dl>
1030
1031 </div>
1032 </div><p>
1033 <a class="anchor" name="g11d7ea1fa9a910acb568c42d8dd28350"></a><!-- doxytag: member="config_file.c::krb5_config_vget_time_default" ref="g11d7ea1fa9a910acb568c42d8dd28350" args="(krb5_context context, const krb5_config_section *c, int def_value, va_list args)" -->
1034 <div class="memitem">
1035 <div class="memproto">
1036       <table class="memname">
1037         <tr>
1038           <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_config_vget_time_default           </td>
1039           <td>(</td>
1040           <td class="paramtype">krb5_context&nbsp;</td>
1041           <td class="paramname"> <em>context</em>, </td>
1042         </tr>
1043         <tr>
1044           <td class="paramkey"></td>
1045           <td></td>
1046           <td class="paramtype">const krb5_config_section *&nbsp;</td>
1047           <td class="paramname"> <em>c</em>, </td>
1048         </tr>
1049         <tr>
1050           <td class="paramkey"></td>
1051           <td></td>
1052           <td class="paramtype">int&nbsp;</td>
1053           <td class="paramname"> <em>def_value</em>, </td>
1054         </tr>
1055         <tr>
1056           <td class="paramkey"></td>
1057           <td></td>
1058           <td class="paramtype">va_list&nbsp;</td>
1059           <td class="paramname"> <em>args</em></td><td>&nbsp;</td>
1060         </tr>
1061         <tr>
1062           <td></td>
1063           <td>)</td>
1064           <td></td><td></td><td></td>
1065         </tr>
1066       </table>
1067 </div>
1068 <div class="memdoc">
1069
1070 <p>
1071 Get the time from the configuration file using a relative time.<p>
1072 Like <a class="el" href="group__krb5__support.html#g019554d71140a32f64b6e4a2244d1168">krb5_config_get_time_default()</a> but with a va_list list of configuration selection.<p>
1073 <dl compact><dt><b>Parameters:</b></dt><dd>
1074   <table border="0" cellspacing="2" cellpadding="0">
1075     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A Kerberos 5 context. </td></tr>
1076     <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>a configuration section, or NULL to use the section from context </td></tr>
1077     <tr><td valign="top"></td><td valign="top"><em>def_value</em>&nbsp;</td><td>the default value to return if no configuration found in the database. </td></tr>
1078     <tr><td valign="top"></td><td valign="top"><em>args</em>&nbsp;</td><td>a va_list of arguments</td></tr>
1079   </table>
1080 </dl>
1081 <dl class="return" compact><dt><b>Returns:</b></dt><dd>parsed the time (or def_value on parse error) </dd></dl>
1082
1083 </div>
1084 </div><p>
1085 <a class="anchor" name="g947f1780e8b73fe0edb4f64da2f0b2f3"></a><!-- doxytag: member="expand_hostname.c::krb5_expand_hostname" ref="g947f1780e8b73fe0edb4f64da2f0b2f3" args="(krb5_context context, const char *orig_hostname, char **new_hostname)" -->
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_expand_hostname           </td>
1091           <td>(</td>
1092           <td class="paramtype">krb5_context&nbsp;</td>
1093           <td class="paramname"> <em>context</em>, </td>
1094         </tr>
1095         <tr>
1096           <td class="paramkey"></td>
1097           <td></td>
1098           <td class="paramtype">const char *&nbsp;</td>
1099           <td class="paramname"> <em>orig_hostname</em>, </td>
1100         </tr>
1101         <tr>
1102           <td class="paramkey"></td>
1103           <td></td>
1104           <td class="paramtype">char **&nbsp;</td>
1105           <td class="paramname"> <em>new_hostname</em></td><td>&nbsp;</td>
1106         </tr>
1107         <tr>
1108           <td></td>
1109           <td>)</td>
1110           <td></td><td></td><td></td>
1111         </tr>
1112       </table>
1113 </div>
1114 <div class="memdoc">
1115
1116 <p>
1117 <a class="el" href="group__krb5__support.html#g947f1780e8b73fe0edb4f64da2f0b2f3">krb5_expand_hostname()</a> tries to make orig_hostname into a more canonical one in the newly allocated space returned in new_hostname.<p>
1118 <dl compact><dt><b>Parameters:</b></dt><dd>
1119   <table border="0" cellspacing="2" cellpadding="0">
1120     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>a Keberos context </td></tr>
1121     <tr><td valign="top"></td><td valign="top"><em>orig_hostname</em>&nbsp;</td><td>hostname to canonicalise. </td></tr>
1122     <tr><td valign="top"></td><td valign="top"><em>new_hostname</em>&nbsp;</td><td>output hostname, caller must free hostname with krb5_xfree().</td></tr>
1123   </table>
1124 </dl>
1125 <dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl>
1126
1127 </div>
1128 </div><p>
1129 <a class="anchor" name="g933f524c34ae6a80ba8aa6c0700992ef"></a><!-- doxytag: member="expand_hostname.c::krb5_expand_hostname_realms" ref="g933f524c34ae6a80ba8aa6c0700992ef" args="(krb5_context context, const char *orig_hostname, char **new_hostname, char ***realms)" -->
1130 <div class="memitem">
1131 <div class="memproto">
1132       <table class="memname">
1133         <tr>
1134           <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_expand_hostname_realms           </td>
1135           <td>(</td>
1136           <td class="paramtype">krb5_context&nbsp;</td>
1137           <td class="paramname"> <em>context</em>, </td>
1138         </tr>
1139         <tr>
1140           <td class="paramkey"></td>
1141           <td></td>
1142           <td class="paramtype">const char *&nbsp;</td>
1143           <td class="paramname"> <em>orig_hostname</em>, </td>
1144         </tr>
1145         <tr>
1146           <td class="paramkey"></td>
1147           <td></td>
1148           <td class="paramtype">char **&nbsp;</td>
1149           <td class="paramname"> <em>new_hostname</em>, </td>
1150         </tr>
1151         <tr>
1152           <td class="paramkey"></td>
1153           <td></td>
1154           <td class="paramtype">char ***&nbsp;</td>
1155           <td class="paramname"> <em>realms</em></td><td>&nbsp;</td>
1156         </tr>
1157         <tr>
1158           <td></td>
1159           <td>)</td>
1160           <td></td><td></td><td></td>
1161         </tr>
1162       </table>
1163 </div>
1164 <div class="memdoc">
1165
1166 <p>
1167 <a class="el" href="group__krb5__support.html#g933f524c34ae6a80ba8aa6c0700992ef">krb5_expand_hostname_realms()</a> expands orig_hostname to a name we believe to be a hostname in newly allocated space in new_hostname and return the realms new_hostname is believed to belong to in realms.<p>
1168 <dl compact><dt><b>Parameters:</b></dt><dd>
1169   <table border="0" cellspacing="2" cellpadding="0">
1170     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>a Keberos context </td></tr>
1171     <tr><td valign="top"></td><td valign="top"><em>orig_hostname</em>&nbsp;</td><td>hostname to canonicalise. </td></tr>
1172     <tr><td valign="top"></td><td valign="top"><em>new_hostname</em>&nbsp;</td><td>output hostname, caller must free hostname with krb5_xfree(). </td></tr>
1173     <tr><td valign="top"></td><td valign="top"><em>realms</em>&nbsp;</td><td>output possible realms, is an array that is terminated with NULL. Caller must free with <a class="el" href="group__krb5__support.html#gca0ab80d3affb5986aa5061f3782401b">krb5_free_host_realm()</a>.</td></tr>
1174   </table>
1175 </dl>
1176 <dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl>
1177
1178 </div>
1179 </div><p>
1180 <a class="anchor" name="gca0ab80d3affb5986aa5061f3782401b"></a><!-- doxytag: member="free_host_realm.c::krb5_free_host_realm" ref="gca0ab80d3affb5986aa5061f3782401b" args="(krb5_context context, krb5_realm *realmlist)" -->
1181 <div class="memitem">
1182 <div class="memproto">
1183       <table class="memname">
1184         <tr>
1185           <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_free_host_realm           </td>
1186           <td>(</td>
1187           <td class="paramtype">krb5_context&nbsp;</td>
1188           <td class="paramname"> <em>context</em>, </td>
1189         </tr>
1190         <tr>
1191           <td class="paramkey"></td>
1192           <td></td>
1193           <td class="paramtype">krb5_realm *&nbsp;</td>
1194           <td class="paramname"> <em>realmlist</em></td><td>&nbsp;</td>
1195         </tr>
1196         <tr>
1197           <td></td>
1198           <td>)</td>
1199           <td></td><td></td><td></td>
1200         </tr>
1201       </table>
1202 </div>
1203 <div class="memdoc">
1204
1205 <p>
1206 Free all memory allocated by `realmlist'<p>
1207 <dl compact><dt><b>Parameters:</b></dt><dd>
1208   <table border="0" cellspacing="2" cellpadding="0">
1209     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A Kerberos 5 context. </td></tr>
1210     <tr><td valign="top"></td><td valign="top"><em>realmlist</em>&nbsp;</td><td>realmlist to free, NULL is ok</td></tr>
1211   </table>
1212 </dl>
1213 <dl class="return" compact><dt><b>Returns:</b></dt><dd>a Kerberos error code, always 0. </dd></dl>
1214
1215 </div>
1216 </div><p>
1217 <a class="anchor" name="g6368eceea4261ef2ccb8dc39ecc87772"></a><!-- doxytag: member="kuserok.c::krb5_kuserok" ref="g6368eceea4261ef2ccb8dc39ecc87772" args="(krb5_context context, krb5_principal principal, const char *luser)" -->
1218 <div class="memitem">
1219 <div class="memproto">
1220       <table class="memname">
1221         <tr>
1222           <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_kuserok           </td>
1223           <td>(</td>
1224           <td class="paramtype">krb5_context&nbsp;</td>
1225           <td class="paramname"> <em>context</em>, </td>
1226         </tr>
1227         <tr>
1228           <td class="paramkey"></td>
1229           <td></td>
1230           <td class="paramtype">krb5_principal&nbsp;</td>
1231           <td class="paramname"> <em>principal</em>, </td>
1232         </tr>
1233         <tr>
1234           <td class="paramkey"></td>
1235           <td></td>
1236           <td class="paramtype">const char *&nbsp;</td>
1237           <td class="paramname"> <em>luser</em></td><td>&nbsp;</td>
1238         </tr>
1239         <tr>
1240           <td></td>
1241           <td>)</td>
1242           <td></td><td></td><td></td>
1243         </tr>
1244       </table>
1245 </div>
1246 <div class="memdoc">
1247
1248 <p>
1249 This function takes the name of a local user and checks if principal is allowed to log in as that user.<p>
1250 The user may have a ~/.k5login file listing principals that are allowed to login as that user. If that file does not exist, all principals with a first component identical to the username, and a realm considered local, are allowed access.<p>
1251 The .k5login file must contain one principal per line, be owned by user and not be writable by group or other (but must be readable by anyone).<p>
1252 Note that if the file exists, no implicit access rights are given to user@LOCALREALM.<p>
1253 Optionally, a set of files may be put in ~/.k5login.d (a directory), in which case they will all be checked in the same manner as .k5login. The files may be called anything, but files starting with a hash (#) , or ending with a tilde (~) are ignored. Subdirectories are not traversed. Note that this directory may not be checked by other Kerberos implementations.<p>
1254 If no configuration file exists, match user against local domains, ie luser@LOCAL-REALMS-IN-CONFIGURATION-FILES.<p>
1255 <dl compact><dt><b>Parameters:</b></dt><dd>
1256   <table border="0" cellspacing="2" cellpadding="0">
1257     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>Kerberos 5 context. </td></tr>
1258     <tr><td valign="top"></td><td valign="top"><em>principal</em>&nbsp;</td><td>principal to check if allowed to login </td></tr>
1259     <tr><td valign="top"></td><td valign="top"><em>luser</em>&nbsp;</td><td>local user id</td></tr>
1260   </table>
1261 </dl>
1262 <dl class="return" compact><dt><b>Returns:</b></dt><dd>returns TRUE if access should be granted, FALSE otherwise. </dd></dl>
1263
1264 </div>
1265 </div><p>
1266 <a class="anchor" name="gb6e4d59cca3b2e65abbd83204ad0e789"></a><!-- doxytag: member="plugin.c::krb5_plugin_register" ref="gb6e4d59cca3b2e65abbd83204ad0e789" args="(krb5_context context, enum krb5_plugin_type type, const char *name, void *symbol)" -->
1267 <div class="memitem">
1268 <div class="memproto">
1269       <table class="memname">
1270         <tr>
1271           <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_plugin_register           </td>
1272           <td>(</td>
1273           <td class="paramtype">krb5_context&nbsp;</td>
1274           <td class="paramname"> <em>context</em>, </td>
1275         </tr>
1276         <tr>
1277           <td class="paramkey"></td>
1278           <td></td>
1279           <td class="paramtype">enum krb5_plugin_type&nbsp;</td>
1280           <td class="paramname"> <em>type</em>, </td>
1281         </tr>
1282         <tr>
1283           <td class="paramkey"></td>
1284           <td></td>
1285           <td class="paramtype">const char *&nbsp;</td>
1286           <td class="paramname"> <em>name</em>, </td>
1287         </tr>
1288         <tr>
1289           <td class="paramkey"></td>
1290           <td></td>
1291           <td class="paramtype">void *&nbsp;</td>
1292           <td class="paramname"> <em>symbol</em></td><td>&nbsp;</td>
1293         </tr>
1294         <tr>
1295           <td></td>
1296           <td>)</td>
1297           <td></td><td></td><td></td>
1298         </tr>
1299       </table>
1300 </div>
1301 <div class="memdoc">
1302
1303 <p>
1304 Register a plugin symbol name of specific type. <dl compact><dt><b>Parameters:</b></dt><dd>
1305   <table border="0" cellspacing="2" cellpadding="0">
1306     <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>a Keberos context </td></tr>
1307     <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>type of plugin symbol </td></tr>
1308     <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>name of plugin symbol </td></tr>
1309     <tr><td valign="top"></td><td valign="top"><em>symbol</em>&nbsp;</td><td>a pointer to the named symbol </td></tr>
1310   </table>
1311 </dl>
1312 <dl class="return" compact><dt><b>Returns:</b></dt><dd>In case of error a non zero error com_err error is returned and the Kerberos error string is set. </dd></dl>
1313
1314 </div>
1315 </div><p>
1316 </div>
1317 <hr size="1"><address style="text-align: right;"><small>
1318 Generated on Wed Jan 11 14:07:50 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>
1319 </body>
1320 </html>