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