xref: /netbsd-src/crypto/external/bsd/heimdal/dist/doc/doxyout/krb5/html/group__krb5__address.html (revision dd75ac5b443e967e26b4d18cc8cd5eb98512bfbf)
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>Heimdal Kerberos 5 address functions</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<p>
8<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
9</p>
10<!-- end of header marker -->
11<!-- Generated by Doxygen 1.9.1 -->
12<script type="text/javascript" src="menudata.js"></script>
13<script type="text/javascript" src="menu.js"></script>
14<script type="text/javascript">
15/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
16$(function() {
17  initMenu('',false,false,'search.php','Search');
18});
19/* @license-end */</script>
20<div id="main-nav"></div>
21</div><!-- top -->
22<div class="header">
23  <div class="summary">
24<a href="#func-members">Functions</a>  </div>
25  <div class="headertitle">
26<div class="title">Heimdal Kerberos 5 address functions</div>  </div>
27</div><!--header-->
28<div class="contents">
29<table class="memberdecls">
30<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
31Functions</h2></td></tr>
32<tr class="memitem:gaec34704845bdaee3c08ebba2fa87d61e"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#gaec34704845bdaee3c08ebba2fa87d61e">krb5_sockaddr2address</a> (krb5_context context, const struct sockaddr *sa, krb5_address *addr)</td></tr>
33<tr class="separator:gaec34704845bdaee3c08ebba2fa87d61e"><td class="memSeparator" colspan="2">&#160;</td></tr>
34<tr class="memitem:ga76125115a2c040a3f70a4f66eada77aa"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#ga76125115a2c040a3f70a4f66eada77aa">krb5_sockaddr2port</a> (krb5_context context, const struct sockaddr *sa, int16_t *port)</td></tr>
35<tr class="separator:ga76125115a2c040a3f70a4f66eada77aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
36<tr class="memitem:ga88b9c3052f35dc5a44fdfe9747c36cc5"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#ga88b9c3052f35dc5a44fdfe9747c36cc5">krb5_addr2sockaddr</a> (krb5_context context, const krb5_address *addr, struct sockaddr *sa, krb5_socklen_t *sa_size, int port)</td></tr>
37<tr class="separator:ga88b9c3052f35dc5a44fdfe9747c36cc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
38<tr class="memitem:ga55bd20d9a185cf7963e2117c1c804c85"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION size_t KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#ga55bd20d9a185cf7963e2117c1c804c85">krb5_max_sockaddr_size</a> (void)</td></tr>
39<tr class="separator:ga55bd20d9a185cf7963e2117c1c804c85"><td class="memSeparator" colspan="2">&#160;</td></tr>
40<tr class="memitem:gac4c55c7ef3d078993b0177649593088c"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#gac4c55c7ef3d078993b0177649593088c">krb5_sockaddr_uninteresting</a> (const struct sockaddr *sa)</td></tr>
41<tr class="separator:gac4c55c7ef3d078993b0177649593088c"><td class="memSeparator" colspan="2">&#160;</td></tr>
42<tr class="memitem:ga51cd06ac365188aa989256b99b706f80"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#ga51cd06ac365188aa989256b99b706f80">krb5_h_addr2sockaddr</a> (krb5_context context, int af, const char *addr, struct sockaddr *sa, krb5_socklen_t *sa_size, int port)</td></tr>
43<tr class="separator:ga51cd06ac365188aa989256b99b706f80"><td class="memSeparator" colspan="2">&#160;</td></tr>
44<tr class="memitem:gab8901409302e9e7bb95187e4d5e6a179"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#gab8901409302e9e7bb95187e4d5e6a179">krb5_h_addr2addr</a> (krb5_context context, int af, const char *haddr, krb5_address *addr)</td></tr>
45<tr class="separator:gab8901409302e9e7bb95187e4d5e6a179"><td class="memSeparator" colspan="2">&#160;</td></tr>
46<tr class="memitem:ga9cfbb00b2bed85766f86b63541cc7752"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#ga9cfbb00b2bed85766f86b63541cc7752">krb5_anyaddr</a> (krb5_context context, int af, struct sockaddr *sa, krb5_socklen_t *sa_size, int port)</td></tr>
47<tr class="separator:ga9cfbb00b2bed85766f86b63541cc7752"><td class="memSeparator" colspan="2">&#160;</td></tr>
48<tr class="memitem:ga6e9adff4c8738f92fa2637698c06ccb9"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#ga6e9adff4c8738f92fa2637698c06ccb9">krb5_print_address</a> (const krb5_address *addr, char *str, size_t len, size_t *ret_len)</td></tr>
49<tr class="separator:ga6e9adff4c8738f92fa2637698c06ccb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
50<tr class="memitem:gad7bc7e348e6d36c4cf09dcd2ee5a92a3"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#gad7bc7e348e6d36c4cf09dcd2ee5a92a3">krb5_parse_address</a> (krb5_context context, const char *string, krb5_addresses *addresses)</td></tr>
51<tr class="separator:gad7bc7e348e6d36c4cf09dcd2ee5a92a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
52<tr class="memitem:gac743b9d3c7e4a1f71659ffd28b1fd9fb"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION int KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#gac743b9d3c7e4a1f71659ffd28b1fd9fb">krb5_address_order</a> (krb5_context context, const krb5_address *addr1, const krb5_address *addr2)</td></tr>
53<tr class="separator:gac743b9d3c7e4a1f71659ffd28b1fd9fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
54<tr class="memitem:ga7771724e9a25914395dabac15b705e33"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#ga7771724e9a25914395dabac15b705e33">krb5_address_compare</a> (krb5_context context, const krb5_address *addr1, const krb5_address *addr2)</td></tr>
55<tr class="separator:ga7771724e9a25914395dabac15b705e33"><td class="memSeparator" colspan="2">&#160;</td></tr>
56<tr class="memitem:gae2720bd07b737e73c8b6924403e5b7e1"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#gae2720bd07b737e73c8b6924403e5b7e1">krb5_address_search</a> (krb5_context context, const krb5_address *addr, const krb5_addresses *addrlist)</td></tr>
57<tr class="separator:gae2720bd07b737e73c8b6924403e5b7e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
58<tr class="memitem:ga705d91f9f2a2311b656371e553af66a3"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#ga705d91f9f2a2311b656371e553af66a3">krb5_free_address</a> (krb5_context context, krb5_address *address)</td></tr>
59<tr class="separator:ga705d91f9f2a2311b656371e553af66a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
60<tr class="memitem:ga3b5f1c170a4af0de561bc30486983cc5"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#ga3b5f1c170a4af0de561bc30486983cc5">krb5_free_addresses</a> (krb5_context context, krb5_addresses *addresses)</td></tr>
61<tr class="separator:ga3b5f1c170a4af0de561bc30486983cc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
62<tr class="memitem:gaf965da6155d3b086a6ca2e47b391f5df"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#gaf965da6155d3b086a6ca2e47b391f5df">krb5_copy_address</a> (krb5_context context, const krb5_address *inaddr, krb5_address *outaddr)</td></tr>
63<tr class="separator:gaf965da6155d3b086a6ca2e47b391f5df"><td class="memSeparator" colspan="2">&#160;</td></tr>
64<tr class="memitem:ga8b73a9ee0e1259a7f10809b329483b85"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#ga8b73a9ee0e1259a7f10809b329483b85">krb5_copy_addresses</a> (krb5_context context, const krb5_addresses *inaddr, krb5_addresses *outaddr)</td></tr>
65<tr class="separator:ga8b73a9ee0e1259a7f10809b329483b85"><td class="memSeparator" colspan="2">&#160;</td></tr>
66<tr class="memitem:gaf56d02edcc81b3edd3c5a1e2e16e99e3"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#gaf56d02edcc81b3edd3c5a1e2e16e99e3">krb5_append_addresses</a> (krb5_context context, krb5_addresses *dest, const krb5_addresses *source)</td></tr>
67<tr class="separator:gaf56d02edcc81b3edd3c5a1e2e16e99e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
68<tr class="memitem:gac50ffb71832862424c35c1ace9bbe14d"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#gac50ffb71832862424c35c1ace9bbe14d">krb5_make_addrport</a> (krb5_context context, krb5_address **res, const krb5_address *addr, int16_t port)</td></tr>
69<tr class="separator:gac50ffb71832862424c35c1ace9bbe14d"><td class="memSeparator" colspan="2">&#160;</td></tr>
70<tr class="memitem:ga3164f6fcff3b1029b93d316e14b017cf"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#ga3164f6fcff3b1029b93d316e14b017cf">krb5_address_prefixlen_boundary</a> (krb5_context context, const krb5_address *inaddr, unsigned long prefixlen, krb5_address *low, krb5_address *high)</td></tr>
71<tr class="separator:ga3164f6fcff3b1029b93d316e14b017cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
72</table>
73<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
74<h2 class="groupheader">Function Documentation</h2>
75<a id="ga88b9c3052f35dc5a44fdfe9747c36cc5"></a>
76<h2 class="memtitle"><span class="permalink"><a href="#ga88b9c3052f35dc5a44fdfe9747c36cc5">&#9670;&nbsp;</a></span>krb5_addr2sockaddr()</h2>
77
78<div class="memitem">
79<div class="memproto">
80      <table class="memname">
81        <tr>
82          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_addr2sockaddr </td>
83          <td>(</td>
84          <td class="paramtype">krb5_context&#160;</td>
85          <td class="paramname"><em>context</em>, </td>
86        </tr>
87        <tr>
88          <td class="paramkey"></td>
89          <td></td>
90          <td class="paramtype">const krb5_address *&#160;</td>
91          <td class="paramname"><em>addr</em>, </td>
92        </tr>
93        <tr>
94          <td class="paramkey"></td>
95          <td></td>
96          <td class="paramtype">struct sockaddr *&#160;</td>
97          <td class="paramname"><em>sa</em>, </td>
98        </tr>
99        <tr>
100          <td class="paramkey"></td>
101          <td></td>
102          <td class="paramtype">krb5_socklen_t *&#160;</td>
103          <td class="paramname"><em>sa_size</em>, </td>
104        </tr>
105        <tr>
106          <td class="paramkey"></td>
107          <td></td>
108          <td class="paramtype">int&#160;</td>
109          <td class="paramname"><em>port</em>&#160;</td>
110        </tr>
111        <tr>
112          <td></td>
113          <td>)</td>
114          <td></td><td></td>
115        </tr>
116      </table>
117</div><div class="memdoc">
118<p>krb5_addr2sockaddr sets the "struct sockaddr sockaddr" from addr and port. The argument sa_size should initially contain the size of the sa and after the call, it will contain the actual length of the address. In case of the sa is too small to fit the whole address, the up to *sa_size will be stored, and then *sa_size will be set to the required length.</p>
119<dl class="params"><dt>Parameters</dt><dd>
120  <table class="params">
121    <tr><td class="paramname">context</td><td>a Keberos context </td></tr>
122    <tr><td class="paramname">addr</td><td>the address to copy the from </td></tr>
123    <tr><td class="paramname">sa</td><td>the struct sockaddr that will be filled in </td></tr>
124    <tr><td class="paramname">sa_size</td><td>pointer to length of sa, and after the call, it will contain the actual length of the address. </td></tr>
125    <tr><td class="paramname">port</td><td>set port in sa.</td></tr>
126  </table>
127  </dd>
128</dl>
129<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. Will return KRB5_PROG_ATYPE_NOSUPP in case address type is not supported. </dd></dl>
130
131</div>
132</div>
133<a id="ga7771724e9a25914395dabac15b705e33"></a>
134<h2 class="memtitle"><span class="permalink"><a href="#ga7771724e9a25914395dabac15b705e33">&#9670;&nbsp;</a></span>krb5_address_compare()</h2>
135
136<div class="memitem">
137<div class="memproto">
138      <table class="memname">
139        <tr>
140          <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_address_compare </td>
141          <td>(</td>
142          <td class="paramtype">krb5_context&#160;</td>
143          <td class="paramname"><em>context</em>, </td>
144        </tr>
145        <tr>
146          <td class="paramkey"></td>
147          <td></td>
148          <td class="paramtype">const krb5_address *&#160;</td>
149          <td class="paramname"><em>addr1</em>, </td>
150        </tr>
151        <tr>
152          <td class="paramkey"></td>
153          <td></td>
154          <td class="paramtype">const krb5_address *&#160;</td>
155          <td class="paramname"><em>addr2</em>&#160;</td>
156        </tr>
157        <tr>
158          <td></td>
159          <td>)</td>
160          <td></td><td></td>
161        </tr>
162      </table>
163</div><div class="memdoc">
164<p>krb5_address_compare compares the addresses addr1 and addr2. Returns TRUE if the two addresses are the same.</p>
165<dl class="params"><dt>Parameters</dt><dd>
166  <table class="params">
167    <tr><td class="paramname">context</td><td>a Keberos context </td></tr>
168    <tr><td class="paramname">addr1</td><td>address to compare </td></tr>
169    <tr><td class="paramname">addr2</td><td>address to compare</td></tr>
170  </table>
171  </dd>
172</dl>
173<dl class="section return"><dt>Returns</dt><dd>Return an TRUE is the address are the same FALSE if not </dd></dl>
174
175</div>
176</div>
177<a id="gac743b9d3c7e4a1f71659ffd28b1fd9fb"></a>
178<h2 class="memtitle"><span class="permalink"><a href="#gac743b9d3c7e4a1f71659ffd28b1fd9fb">&#9670;&nbsp;</a></span>krb5_address_order()</h2>
179
180<div class="memitem">
181<div class="memproto">
182      <table class="memname">
183        <tr>
184          <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_address_order </td>
185          <td>(</td>
186          <td class="paramtype">krb5_context&#160;</td>
187          <td class="paramname"><em>context</em>, </td>
188        </tr>
189        <tr>
190          <td class="paramkey"></td>
191          <td></td>
192          <td class="paramtype">const krb5_address *&#160;</td>
193          <td class="paramname"><em>addr1</em>, </td>
194        </tr>
195        <tr>
196          <td class="paramkey"></td>
197          <td></td>
198          <td class="paramtype">const krb5_address *&#160;</td>
199          <td class="paramname"><em>addr2</em>&#160;</td>
200        </tr>
201        <tr>
202          <td></td>
203          <td>)</td>
204          <td></td><td></td>
205        </tr>
206      </table>
207</div><div class="memdoc">
208<p>krb5_address_order compares the addresses addr1 and addr2 so that it can be used for sorting addresses. If the addresses are the same address krb5_address_order will return 0. Behavies like memcmp(2).</p>
209<dl class="params"><dt>Parameters</dt><dd>
210  <table class="params">
211    <tr><td class="paramname">context</td><td>a Keberos context </td></tr>
212    <tr><td class="paramname">addr1</td><td>krb5_address to compare </td></tr>
213    <tr><td class="paramname">addr2</td><td>krb5_address to compare</td></tr>
214  </table>
215  </dd>
216</dl>
217<dl class="section return"><dt>Returns</dt><dd>&lt; 0 if address addr1 in "less" then addr2. 0 if addr1 and addr2 is the same address, &gt; 0 if addr2 is "less" then addr1. </dd></dl>
218
219</div>
220</div>
221<a id="ga3164f6fcff3b1029b93d316e14b017cf"></a>
222<h2 class="memtitle"><span class="permalink"><a href="#ga3164f6fcff3b1029b93d316e14b017cf">&#9670;&nbsp;</a></span>krb5_address_prefixlen_boundary()</h2>
223
224<div class="memitem">
225<div class="memproto">
226      <table class="memname">
227        <tr>
228          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_address_prefixlen_boundary </td>
229          <td>(</td>
230          <td class="paramtype">krb5_context&#160;</td>
231          <td class="paramname"><em>context</em>, </td>
232        </tr>
233        <tr>
234          <td class="paramkey"></td>
235          <td></td>
236          <td class="paramtype">const krb5_address *&#160;</td>
237          <td class="paramname"><em>inaddr</em>, </td>
238        </tr>
239        <tr>
240          <td class="paramkey"></td>
241          <td></td>
242          <td class="paramtype">unsigned long&#160;</td>
243          <td class="paramname"><em>prefixlen</em>, </td>
244        </tr>
245        <tr>
246          <td class="paramkey"></td>
247          <td></td>
248          <td class="paramtype">krb5_address *&#160;</td>
249          <td class="paramname"><em>low</em>, </td>
250        </tr>
251        <tr>
252          <td class="paramkey"></td>
253          <td></td>
254          <td class="paramtype">krb5_address *&#160;</td>
255          <td class="paramname"><em>high</em>&#160;</td>
256        </tr>
257        <tr>
258          <td></td>
259          <td>)</td>
260          <td></td><td></td>
261        </tr>
262      </table>
263</div><div class="memdoc">
264<p>Calculate the boundary addresses of &lsquo;inaddr&rsquo;/&lsquo;prefixlen&rsquo; and store them in &lsquo;low&rsquo; and &lsquo;high&rsquo;.</p>
265<dl class="params"><dt>Parameters</dt><dd>
266  <table class="params">
267    <tr><td class="paramname">context</td><td>a Keberos context </td></tr>
268    <tr><td class="paramname">inaddr</td><td>address in prefixlen that the bondery searched </td></tr>
269    <tr><td class="paramname">prefixlen</td><td>width of boundery </td></tr>
270    <tr><td class="paramname">low</td><td>lowest address </td></tr>
271    <tr><td class="paramname">high</td><td>highest address</td></tr>
272  </table>
273  </dd>
274</dl>
275<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl>
276
277</div>
278</div>
279<a id="gae2720bd07b737e73c8b6924403e5b7e1"></a>
280<h2 class="memtitle"><span class="permalink"><a href="#gae2720bd07b737e73c8b6924403e5b7e1">&#9670;&nbsp;</a></span>krb5_address_search()</h2>
281
282<div class="memitem">
283<div class="memproto">
284      <table class="memname">
285        <tr>
286          <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_address_search </td>
287          <td>(</td>
288          <td class="paramtype">krb5_context&#160;</td>
289          <td class="paramname"><em>context</em>, </td>
290        </tr>
291        <tr>
292          <td class="paramkey"></td>
293          <td></td>
294          <td class="paramtype">const krb5_address *&#160;</td>
295          <td class="paramname"><em>addr</em>, </td>
296        </tr>
297        <tr>
298          <td class="paramkey"></td>
299          <td></td>
300          <td class="paramtype">const krb5_addresses *&#160;</td>
301          <td class="paramname"><em>addrlist</em>&#160;</td>
302        </tr>
303        <tr>
304          <td></td>
305          <td>)</td>
306          <td></td><td></td>
307        </tr>
308      </table>
309</div><div class="memdoc">
310<p>krb5_address_search checks if the address addr is a member of the address set list addrlist .</p>
311<dl class="params"><dt>Parameters</dt><dd>
312  <table class="params">
313    <tr><td class="paramname">context</td><td>a Keberos context. </td></tr>
314    <tr><td class="paramname">addr</td><td>address to search for. </td></tr>
315    <tr><td class="paramname">addrlist</td><td>list of addresses to look in for addr.</td></tr>
316  </table>
317  </dd>
318</dl>
319<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl>
320
321</div>
322</div>
323<a id="ga9cfbb00b2bed85766f86b63541cc7752"></a>
324<h2 class="memtitle"><span class="permalink"><a href="#ga9cfbb00b2bed85766f86b63541cc7752">&#9670;&nbsp;</a></span>krb5_anyaddr()</h2>
325
326<div class="memitem">
327<div class="memproto">
328      <table class="memname">
329        <tr>
330          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_anyaddr </td>
331          <td>(</td>
332          <td class="paramtype">krb5_context&#160;</td>
333          <td class="paramname"><em>context</em>, </td>
334        </tr>
335        <tr>
336          <td class="paramkey"></td>
337          <td></td>
338          <td class="paramtype">int&#160;</td>
339          <td class="paramname"><em>af</em>, </td>
340        </tr>
341        <tr>
342          <td class="paramkey"></td>
343          <td></td>
344          <td class="paramtype">struct sockaddr *&#160;</td>
345          <td class="paramname"><em>sa</em>, </td>
346        </tr>
347        <tr>
348          <td class="paramkey"></td>
349          <td></td>
350          <td class="paramtype">krb5_socklen_t *&#160;</td>
351          <td class="paramname"><em>sa_size</em>, </td>
352        </tr>
353        <tr>
354          <td class="paramkey"></td>
355          <td></td>
356          <td class="paramtype">int&#160;</td>
357          <td class="paramname"><em>port</em>&#160;</td>
358        </tr>
359        <tr>
360          <td></td>
361          <td>)</td>
362          <td></td><td></td>
363        </tr>
364      </table>
365</div><div class="memdoc">
366<p>krb5_anyaddr fills in a "struct sockaddr sa" that can be used to bind(2) to. The argument sa_size should initially contain the size of the sa, and after the call, it will contain the actual length of the address.</p>
367<dl class="params"><dt>Parameters</dt><dd>
368  <table class="params">
369    <tr><td class="paramname">context</td><td>a Keberos context </td></tr>
370    <tr><td class="paramname">af</td><td>address family </td></tr>
371    <tr><td class="paramname">sa</td><td>sockaddr </td></tr>
372    <tr><td class="paramname">sa_size</td><td>lenght of sa. </td></tr>
373    <tr><td class="paramname">port</td><td>for to fill into sa.</td></tr>
374  </table>
375  </dd>
376</dl>
377<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl>
378
379</div>
380</div>
381<a id="gaf56d02edcc81b3edd3c5a1e2e16e99e3"></a>
382<h2 class="memtitle"><span class="permalink"><a href="#gaf56d02edcc81b3edd3c5a1e2e16e99e3">&#9670;&nbsp;</a></span>krb5_append_addresses()</h2>
383
384<div class="memitem">
385<div class="memproto">
386      <table class="memname">
387        <tr>
388          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_append_addresses </td>
389          <td>(</td>
390          <td class="paramtype">krb5_context&#160;</td>
391          <td class="paramname"><em>context</em>, </td>
392        </tr>
393        <tr>
394          <td class="paramkey"></td>
395          <td></td>
396          <td class="paramtype">krb5_addresses *&#160;</td>
397          <td class="paramname"><em>dest</em>, </td>
398        </tr>
399        <tr>
400          <td class="paramkey"></td>
401          <td></td>
402          <td class="paramtype">const krb5_addresses *&#160;</td>
403          <td class="paramname"><em>source</em>&#160;</td>
404        </tr>
405        <tr>
406          <td></td>
407          <td>)</td>
408          <td></td><td></td>
409        </tr>
410      </table>
411</div><div class="memdoc">
412<p>krb5_append_addresses adds the set of addresses in source to dest. While copying the addresses, duplicates are also sorted out.</p>
413<dl class="params"><dt>Parameters</dt><dd>
414  <table class="params">
415    <tr><td class="paramname">context</td><td>a Keberos context </td></tr>
416    <tr><td class="paramname">dest</td><td>destination of copy operation </td></tr>
417    <tr><td class="paramname">source</td><td>adresses that are going to be added to dest</td></tr>
418  </table>
419  </dd>
420</dl>
421<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl>
422
423</div>
424</div>
425<a id="gaf965da6155d3b086a6ca2e47b391f5df"></a>
426<h2 class="memtitle"><span class="permalink"><a href="#gaf965da6155d3b086a6ca2e47b391f5df">&#9670;&nbsp;</a></span>krb5_copy_address()</h2>
427
428<div class="memitem">
429<div class="memproto">
430      <table class="memname">
431        <tr>
432          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_address </td>
433          <td>(</td>
434          <td class="paramtype">krb5_context&#160;</td>
435          <td class="paramname"><em>context</em>, </td>
436        </tr>
437        <tr>
438          <td class="paramkey"></td>
439          <td></td>
440          <td class="paramtype">const krb5_address *&#160;</td>
441          <td class="paramname"><em>inaddr</em>, </td>
442        </tr>
443        <tr>
444          <td class="paramkey"></td>
445          <td></td>
446          <td class="paramtype">krb5_address *&#160;</td>
447          <td class="paramname"><em>outaddr</em>&#160;</td>
448        </tr>
449        <tr>
450          <td></td>
451          <td>)</td>
452          <td></td><td></td>
453        </tr>
454      </table>
455</div><div class="memdoc">
456<p>krb5_copy_address copies the content of address inaddr to outaddr.</p>
457<dl class="params"><dt>Parameters</dt><dd>
458  <table class="params">
459    <tr><td class="paramname">context</td><td>a Keberos context </td></tr>
460    <tr><td class="paramname">inaddr</td><td>pointer to source address </td></tr>
461    <tr><td class="paramname">outaddr</td><td>pointer to destination address</td></tr>
462  </table>
463  </dd>
464</dl>
465<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl>
466
467</div>
468</div>
469<a id="ga8b73a9ee0e1259a7f10809b329483b85"></a>
470<h2 class="memtitle"><span class="permalink"><a href="#ga8b73a9ee0e1259a7f10809b329483b85">&#9670;&nbsp;</a></span>krb5_copy_addresses()</h2>
471
472<div class="memitem">
473<div class="memproto">
474      <table class="memname">
475        <tr>
476          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_addresses </td>
477          <td>(</td>
478          <td class="paramtype">krb5_context&#160;</td>
479          <td class="paramname"><em>context</em>, </td>
480        </tr>
481        <tr>
482          <td class="paramkey"></td>
483          <td></td>
484          <td class="paramtype">const krb5_addresses *&#160;</td>
485          <td class="paramname"><em>inaddr</em>, </td>
486        </tr>
487        <tr>
488          <td class="paramkey"></td>
489          <td></td>
490          <td class="paramtype">krb5_addresses *&#160;</td>
491          <td class="paramname"><em>outaddr</em>&#160;</td>
492        </tr>
493        <tr>
494          <td></td>
495          <td>)</td>
496          <td></td><td></td>
497        </tr>
498      </table>
499</div><div class="memdoc">
500<p>krb5_copy_addresses copies the content of addresses inaddr to outaddr.</p>
501<dl class="params"><dt>Parameters</dt><dd>
502  <table class="params">
503    <tr><td class="paramname">context</td><td>a Keberos context </td></tr>
504    <tr><td class="paramname">inaddr</td><td>pointer to source addresses </td></tr>
505    <tr><td class="paramname">outaddr</td><td>pointer to destination addresses</td></tr>
506  </table>
507  </dd>
508</dl>
509<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl>
510
511</div>
512</div>
513<a id="ga705d91f9f2a2311b656371e553af66a3"></a>
514<h2 class="memtitle"><span class="permalink"><a href="#ga705d91f9f2a2311b656371e553af66a3">&#9670;&nbsp;</a></span>krb5_free_address()</h2>
515
516<div class="memitem">
517<div class="memproto">
518      <table class="memname">
519        <tr>
520          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_free_address </td>
521          <td>(</td>
522          <td class="paramtype">krb5_context&#160;</td>
523          <td class="paramname"><em>context</em>, </td>
524        </tr>
525        <tr>
526          <td class="paramkey"></td>
527          <td></td>
528          <td class="paramtype">krb5_address *&#160;</td>
529          <td class="paramname"><em>address</em>&#160;</td>
530        </tr>
531        <tr>
532          <td></td>
533          <td>)</td>
534          <td></td><td></td>
535        </tr>
536      </table>
537</div><div class="memdoc">
538<p>krb5_free_address frees the data stored in the address that is alloced with any of the krb5_address functions.</p>
539<dl class="params"><dt>Parameters</dt><dd>
540  <table class="params">
541    <tr><td class="paramname">context</td><td>a Keberos context </td></tr>
542    <tr><td class="paramname">address</td><td>addresss to be freed.</td></tr>
543  </table>
544  </dd>
545</dl>
546<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl>
547
548</div>
549</div>
550<a id="ga3b5f1c170a4af0de561bc30486983cc5"></a>
551<h2 class="memtitle"><span class="permalink"><a href="#ga3b5f1c170a4af0de561bc30486983cc5">&#9670;&nbsp;</a></span>krb5_free_addresses()</h2>
552
553<div class="memitem">
554<div class="memproto">
555      <table class="memname">
556        <tr>
557          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_free_addresses </td>
558          <td>(</td>
559          <td class="paramtype">krb5_context&#160;</td>
560          <td class="paramname"><em>context</em>, </td>
561        </tr>
562        <tr>
563          <td class="paramkey"></td>
564          <td></td>
565          <td class="paramtype">krb5_addresses *&#160;</td>
566          <td class="paramname"><em>addresses</em>&#160;</td>
567        </tr>
568        <tr>
569          <td></td>
570          <td>)</td>
571          <td></td><td></td>
572        </tr>
573      </table>
574</div><div class="memdoc">
575<p>krb5_free_addresses frees the data stored in the address that is alloced with any of the krb5_address functions.</p>
576<dl class="params"><dt>Parameters</dt><dd>
577  <table class="params">
578    <tr><td class="paramname">context</td><td>a Keberos context </td></tr>
579    <tr><td class="paramname">addresses</td><td>addressses to be freed.</td></tr>
580  </table>
581  </dd>
582</dl>
583<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl>
584
585</div>
586</div>
587<a id="gab8901409302e9e7bb95187e4d5e6a179"></a>
588<h2 class="memtitle"><span class="permalink"><a href="#gab8901409302e9e7bb95187e4d5e6a179">&#9670;&nbsp;</a></span>krb5_h_addr2addr()</h2>
589
590<div class="memitem">
591<div class="memproto">
592      <table class="memname">
593        <tr>
594          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_h_addr2addr </td>
595          <td>(</td>
596          <td class="paramtype">krb5_context&#160;</td>
597          <td class="paramname"><em>context</em>, </td>
598        </tr>
599        <tr>
600          <td class="paramkey"></td>
601          <td></td>
602          <td class="paramtype">int&#160;</td>
603          <td class="paramname"><em>af</em>, </td>
604        </tr>
605        <tr>
606          <td class="paramkey"></td>
607          <td></td>
608          <td class="paramtype">const char *&#160;</td>
609          <td class="paramname"><em>haddr</em>, </td>
610        </tr>
611        <tr>
612          <td class="paramkey"></td>
613          <td></td>
614          <td class="paramtype">krb5_address *&#160;</td>
615          <td class="paramname"><em>addr</em>&#160;</td>
616        </tr>
617        <tr>
618          <td></td>
619          <td>)</td>
620          <td></td><td></td>
621        </tr>
622      </table>
623</div><div class="memdoc">
624<p>krb5_h_addr2addr works like krb5_h_addr2sockaddr with the exception that it operates on a krb5_address instead of a struct sockaddr.</p>
625<dl class="params"><dt>Parameters</dt><dd>
626  <table class="params">
627    <tr><td class="paramname">context</td><td>a Keberos context </td></tr>
628    <tr><td class="paramname">af</td><td>address family </td></tr>
629    <tr><td class="paramname">haddr</td><td>host address from struct hostent. </td></tr>
630    <tr><td class="paramname">addr</td><td>returned krb5_address.</td></tr>
631  </table>
632  </dd>
633</dl>
634<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl>
635
636</div>
637</div>
638<a id="ga51cd06ac365188aa989256b99b706f80"></a>
639<h2 class="memtitle"><span class="permalink"><a href="#ga51cd06ac365188aa989256b99b706f80">&#9670;&nbsp;</a></span>krb5_h_addr2sockaddr()</h2>
640
641<div class="memitem">
642<div class="memproto">
643      <table class="memname">
644        <tr>
645          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_h_addr2sockaddr </td>
646          <td>(</td>
647          <td class="paramtype">krb5_context&#160;</td>
648          <td class="paramname"><em>context</em>, </td>
649        </tr>
650        <tr>
651          <td class="paramkey"></td>
652          <td></td>
653          <td class="paramtype">int&#160;</td>
654          <td class="paramname"><em>af</em>, </td>
655        </tr>
656        <tr>
657          <td class="paramkey"></td>
658          <td></td>
659          <td class="paramtype">const char *&#160;</td>
660          <td class="paramname"><em>addr</em>, </td>
661        </tr>
662        <tr>
663          <td class="paramkey"></td>
664          <td></td>
665          <td class="paramtype">struct sockaddr *&#160;</td>
666          <td class="paramname"><em>sa</em>, </td>
667        </tr>
668        <tr>
669          <td class="paramkey"></td>
670          <td></td>
671          <td class="paramtype">krb5_socklen_t *&#160;</td>
672          <td class="paramname"><em>sa_size</em>, </td>
673        </tr>
674        <tr>
675          <td class="paramkey"></td>
676          <td></td>
677          <td class="paramtype">int&#160;</td>
678          <td class="paramname"><em>port</em>&#160;</td>
679        </tr>
680        <tr>
681          <td></td>
682          <td>)</td>
683          <td></td><td></td>
684        </tr>
685      </table>
686</div><div class="memdoc">
687<p>krb5_h_addr2sockaddr initializes a "struct sockaddr sa" from af and the "struct hostent" (see gethostbyname(3) ) h_addr_list component. The argument sa_size should initially contain the size of the sa, and after the call, it will contain the actual length of the address.</p>
688<dl class="params"><dt>Parameters</dt><dd>
689  <table class="params">
690    <tr><td class="paramname">context</td><td>a Keberos context </td></tr>
691    <tr><td class="paramname">af</td><td>addresses </td></tr>
692    <tr><td class="paramname">addr</td><td>address </td></tr>
693    <tr><td class="paramname">sa</td><td>returned struct sockaddr </td></tr>
694    <tr><td class="paramname">sa_size</td><td>size of sa </td></tr>
695    <tr><td class="paramname">port</td><td>port to set in sa.</td></tr>
696  </table>
697  </dd>
698</dl>
699<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl>
700
701</div>
702</div>
703<a id="gac50ffb71832862424c35c1ace9bbe14d"></a>
704<h2 class="memtitle"><span class="permalink"><a href="#gac50ffb71832862424c35c1ace9bbe14d">&#9670;&nbsp;</a></span>krb5_make_addrport()</h2>
705
706<div class="memitem">
707<div class="memproto">
708      <table class="memname">
709        <tr>
710          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_make_addrport </td>
711          <td>(</td>
712          <td class="paramtype">krb5_context&#160;</td>
713          <td class="paramname"><em>context</em>, </td>
714        </tr>
715        <tr>
716          <td class="paramkey"></td>
717          <td></td>
718          <td class="paramtype">krb5_address **&#160;</td>
719          <td class="paramname"><em>res</em>, </td>
720        </tr>
721        <tr>
722          <td class="paramkey"></td>
723          <td></td>
724          <td class="paramtype">const krb5_address *&#160;</td>
725          <td class="paramname"><em>addr</em>, </td>
726        </tr>
727        <tr>
728          <td class="paramkey"></td>
729          <td></td>
730          <td class="paramtype">int16_t&#160;</td>
731          <td class="paramname"><em>port</em>&#160;</td>
732        </tr>
733        <tr>
734          <td></td>
735          <td>)</td>
736          <td></td><td></td>
737        </tr>
738      </table>
739</div><div class="memdoc">
740<p>Create an address of type KRB5_ADDRESS_ADDRPORT from (addr, port)</p>
741<dl class="params"><dt>Parameters</dt><dd>
742  <table class="params">
743    <tr><td class="paramname">context</td><td>a Keberos context </td></tr>
744    <tr><td class="paramname">res</td><td>built address from addr/port </td></tr>
745    <tr><td class="paramname">addr</td><td>address to use </td></tr>
746    <tr><td class="paramname">port</td><td>port to use</td></tr>
747  </table>
748  </dd>
749</dl>
750<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl>
751
752</div>
753</div>
754<a id="ga55bd20d9a185cf7963e2117c1c804c85"></a>
755<h2 class="memtitle"><span class="permalink"><a href="#ga55bd20d9a185cf7963e2117c1c804c85">&#9670;&nbsp;</a></span>krb5_max_sockaddr_size()</h2>
756
757<div class="memitem">
758<div class="memproto">
759      <table class="memname">
760        <tr>
761          <td class="memname">KRB5_LIB_FUNCTION size_t KRB5_LIB_CALL krb5_max_sockaddr_size </td>
762          <td>(</td>
763          <td class="paramtype">void&#160;</td>
764          <td class="paramname"></td><td>)</td>
765          <td></td>
766        </tr>
767      </table>
768</div><div class="memdoc">
769<p>krb5_max_sockaddr_size returns the max size of the .Li struct sockaddr that the Kerberos library will return.</p>
770<dl class="section return"><dt>Returns</dt><dd>Return an size_t of the maximum struct sockaddr. </dd></dl>
771
772</div>
773</div>
774<a id="gad7bc7e348e6d36c4cf09dcd2ee5a92a3"></a>
775<h2 class="memtitle"><span class="permalink"><a href="#gad7bc7e348e6d36c4cf09dcd2ee5a92a3">&#9670;&nbsp;</a></span>krb5_parse_address()</h2>
776
777<div class="memitem">
778<div class="memproto">
779      <table class="memname">
780        <tr>
781          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_parse_address </td>
782          <td>(</td>
783          <td class="paramtype">krb5_context&#160;</td>
784          <td class="paramname"><em>context</em>, </td>
785        </tr>
786        <tr>
787          <td class="paramkey"></td>
788          <td></td>
789          <td class="paramtype">const char *&#160;</td>
790          <td class="paramname"><em>string</em>, </td>
791        </tr>
792        <tr>
793          <td class="paramkey"></td>
794          <td></td>
795          <td class="paramtype">krb5_addresses *&#160;</td>
796          <td class="paramname"><em>addresses</em>&#160;</td>
797        </tr>
798        <tr>
799          <td></td>
800          <td>)</td>
801          <td></td><td></td>
802        </tr>
803      </table>
804</div><div class="memdoc">
805<p>krb5_parse_address returns the resolved hostname in string to the krb5_addresses addresses .</p>
806<dl class="params"><dt>Parameters</dt><dd>
807  <table class="params">
808    <tr><td class="paramname">context</td><td>a Keberos context </td></tr>
809    <tr><td class="paramname">string</td><td></td></tr>
810    <tr><td class="paramname">addresses</td><td></td></tr>
811  </table>
812  </dd>
813</dl>
814<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl>
815
816</div>
817</div>
818<a id="ga6e9adff4c8738f92fa2637698c06ccb9"></a>
819<h2 class="memtitle"><span class="permalink"><a href="#ga6e9adff4c8738f92fa2637698c06ccb9">&#9670;&nbsp;</a></span>krb5_print_address()</h2>
820
821<div class="memitem">
822<div class="memproto">
823      <table class="memname">
824        <tr>
825          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_print_address </td>
826          <td>(</td>
827          <td class="paramtype">const krb5_address *&#160;</td>
828          <td class="paramname"><em>addr</em>, </td>
829        </tr>
830        <tr>
831          <td class="paramkey"></td>
832          <td></td>
833          <td class="paramtype">char *&#160;</td>
834          <td class="paramname"><em>str</em>, </td>
835        </tr>
836        <tr>
837          <td class="paramkey"></td>
838          <td></td>
839          <td class="paramtype">size_t&#160;</td>
840          <td class="paramname"><em>len</em>, </td>
841        </tr>
842        <tr>
843          <td class="paramkey"></td>
844          <td></td>
845          <td class="paramtype">size_t *&#160;</td>
846          <td class="paramname"><em>ret_len</em>&#160;</td>
847        </tr>
848        <tr>
849          <td></td>
850          <td>)</td>
851          <td></td><td></td>
852        </tr>
853      </table>
854</div><div class="memdoc">
855<p>krb5_print_address prints the address in addr to the string string that have the length len. If ret_len is not NULL, it will be filled with the length of the string if size were unlimited (not including the final NUL) .</p>
856<dl class="params"><dt>Parameters</dt><dd>
857  <table class="params">
858    <tr><td class="paramname">addr</td><td>address to be printed </td></tr>
859    <tr><td class="paramname">str</td><td>pointer string to print the address into </td></tr>
860    <tr><td class="paramname">len</td><td>length that will fit into area pointed to by "str". </td></tr>
861    <tr><td class="paramname">ret_len</td><td>return length the str.</td></tr>
862  </table>
863  </dd>
864</dl>
865<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl>
866
867</div>
868</div>
869<a id="gaec34704845bdaee3c08ebba2fa87d61e"></a>
870<h2 class="memtitle"><span class="permalink"><a href="#gaec34704845bdaee3c08ebba2fa87d61e">&#9670;&nbsp;</a></span>krb5_sockaddr2address()</h2>
871
872<div class="memitem">
873<div class="memproto">
874      <table class="memname">
875        <tr>
876          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_sockaddr2address </td>
877          <td>(</td>
878          <td class="paramtype">krb5_context&#160;</td>
879          <td class="paramname"><em>context</em>, </td>
880        </tr>
881        <tr>
882          <td class="paramkey"></td>
883          <td></td>
884          <td class="paramtype">const struct sockaddr *&#160;</td>
885          <td class="paramname"><em>sa</em>, </td>
886        </tr>
887        <tr>
888          <td class="paramkey"></td>
889          <td></td>
890          <td class="paramtype">krb5_address *&#160;</td>
891          <td class="paramname"><em>addr</em>&#160;</td>
892        </tr>
893        <tr>
894          <td></td>
895          <td>)</td>
896          <td></td><td></td>
897        </tr>
898      </table>
899</div><div class="memdoc">
900<p>krb5_sockaddr2address stores a address a "struct sockaddr" sa in the krb5_address addr.</p>
901<dl class="params"><dt>Parameters</dt><dd>
902  <table class="params">
903    <tr><td class="paramname">context</td><td>a Keberos context </td></tr>
904    <tr><td class="paramname">sa</td><td>a struct sockaddr to extract the address from </td></tr>
905    <tr><td class="paramname">addr</td><td>an Kerberos 5 address to store the address in.</td></tr>
906  </table>
907  </dd>
908</dl>
909<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl>
910
911</div>
912</div>
913<a id="ga76125115a2c040a3f70a4f66eada77aa"></a>
914<h2 class="memtitle"><span class="permalink"><a href="#ga76125115a2c040a3f70a4f66eada77aa">&#9670;&nbsp;</a></span>krb5_sockaddr2port()</h2>
915
916<div class="memitem">
917<div class="memproto">
918      <table class="memname">
919        <tr>
920          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_sockaddr2port </td>
921          <td>(</td>
922          <td class="paramtype">krb5_context&#160;</td>
923          <td class="paramname"><em>context</em>, </td>
924        </tr>
925        <tr>
926          <td class="paramkey"></td>
927          <td></td>
928          <td class="paramtype">const struct sockaddr *&#160;</td>
929          <td class="paramname"><em>sa</em>, </td>
930        </tr>
931        <tr>
932          <td class="paramkey"></td>
933          <td></td>
934          <td class="paramtype">int16_t *&#160;</td>
935          <td class="paramname"><em>port</em>&#160;</td>
936        </tr>
937        <tr>
938          <td></td>
939          <td>)</td>
940          <td></td><td></td>
941        </tr>
942      </table>
943</div><div class="memdoc">
944<p>krb5_sockaddr2port extracts a port (if possible) from a "struct sockaddr.</p>
945<dl class="params"><dt>Parameters</dt><dd>
946  <table class="params">
947    <tr><td class="paramname">context</td><td>a Keberos context </td></tr>
948    <tr><td class="paramname">sa</td><td>a struct sockaddr to extract the port from </td></tr>
949    <tr><td class="paramname">port</td><td>a pointer to an int16_t store the port in.</td></tr>
950  </table>
951  </dd>
952</dl>
953<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. Will return KRB5_PROG_ATYPE_NOSUPP in case address type is not supported. </dd></dl>
954
955</div>
956</div>
957<a id="gac4c55c7ef3d078993b0177649593088c"></a>
958<h2 class="memtitle"><span class="permalink"><a href="#gac4c55c7ef3d078993b0177649593088c">&#9670;&nbsp;</a></span>krb5_sockaddr_uninteresting()</h2>
959
960<div class="memitem">
961<div class="memproto">
962      <table class="memname">
963        <tr>
964          <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_sockaddr_uninteresting </td>
965          <td>(</td>
966          <td class="paramtype">const struct sockaddr *&#160;</td>
967          <td class="paramname"><em>sa</em></td><td>)</td>
968          <td></td>
969        </tr>
970      </table>
971</div><div class="memdoc">
972<p>krb5_sockaddr_uninteresting returns TRUE for all .Fa sa that the kerberos library thinks are uninteresting. One example are link local addresses.</p>
973<dl class="params"><dt>Parameters</dt><dd>
974  <table class="params">
975    <tr><td class="paramname">sa</td><td>pointer to struct sockaddr that might be interesting.</td></tr>
976  </table>
977  </dd>
978</dl>
979<dl class="section return"><dt>Returns</dt><dd>Return a non zero for uninteresting addresses. </dd></dl>
980
981</div>
982</div>
983</div><!-- contents -->
984<hr size="1"><address style="text-align: right;"><small>
985Generated on Tue Nov 15 2022 14:04:26 for Heimdal Kerberos 5 library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
986</body>
987</html>
988