]> CyberLeo.Net >> Repos - FreeBSD/releng/10.2.git/blob - crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_address.3
- Copy stable/10@285827 to releng/10.2 in preparation for 10.2-RC1
[FreeBSD/releng/10.2.git] / crypto / heimdal / doc / doxyout / krb5 / man / man3 / krb5_address.3
1 .TH "Heimdal Kerberos 5 address functions" 3 "11 Jan 2012" "Version 1.5.2" "HeimdalKerberos5library" \" -*- nroff -*-
2 .ad l
3 .nh
4 .SH NAME
5 Heimdal Kerberos 5 address functions \- 
6 .SS "Functions"
7
8 .in +1c
9 .ti -1c
10 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_sockaddr2address\fP (krb5_context context, const struct sockaddr *sa, krb5_address *addr)"
11 .br
12 .ti -1c
13 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_sockaddr2port\fP (krb5_context context, const struct sockaddr *sa, int16_t *port)"
14 .br
15 .ti -1c
16 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_addr2sockaddr\fP (krb5_context context, const krb5_address *addr, struct sockaddr *sa, krb5_socklen_t *sa_size, int port)"
17 .br
18 .ti -1c
19 .RI "KRB5_LIB_FUNCTION size_t KRB5_LIB_CALL \fBkrb5_max_sockaddr_size\fP (void)"
20 .br
21 .ti -1c
22 .RI "KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL \fBkrb5_sockaddr_uninteresting\fP (const struct sockaddr *sa)"
23 .br
24 .ti -1c
25 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_h_addr2sockaddr\fP (krb5_context context, int af, const char *addr, struct sockaddr *sa, krb5_socklen_t *sa_size, int port)"
26 .br
27 .ti -1c
28 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_h_addr2addr\fP (krb5_context context, int af, const char *haddr, krb5_address *addr)"
29 .br
30 .ti -1c
31 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_anyaddr\fP (krb5_context context, int af, struct sockaddr *sa, krb5_socklen_t *sa_size, int port)"
32 .br
33 .ti -1c
34 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_print_address\fP (const krb5_address *addr, char *str, size_t len, size_t *ret_len)"
35 .br
36 .ti -1c
37 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_parse_address\fP (krb5_context context, const char *string, krb5_addresses *addresses)"
38 .br
39 .ti -1c
40 .RI "KRB5_LIB_FUNCTION int KRB5_LIB_CALL \fBkrb5_address_order\fP (krb5_context context, const krb5_address *addr1, const krb5_address *addr2)"
41 .br
42 .ti -1c
43 .RI "KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL \fBkrb5_address_compare\fP (krb5_context context, const krb5_address *addr1, const krb5_address *addr2)"
44 .br
45 .ti -1c
46 .RI "KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL \fBkrb5_address_search\fP (krb5_context context, const krb5_address *addr, const krb5_addresses *addrlist)"
47 .br
48 .ti -1c
49 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_free_address\fP (krb5_context context, krb5_address *address)"
50 .br
51 .ti -1c
52 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_free_addresses\fP (krb5_context context, krb5_addresses *addresses)"
53 .br
54 .ti -1c
55 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_copy_address\fP (krb5_context context, const krb5_address *inaddr, krb5_address *outaddr)"
56 .br
57 .ti -1c
58 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_copy_addresses\fP (krb5_context context, const krb5_addresses *inaddr, krb5_addresses *outaddr)"
59 .br
60 .ti -1c
61 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_append_addresses\fP (krb5_context context, krb5_addresses *dest, const krb5_addresses *source)"
62 .br
63 .ti -1c
64 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_make_addrport\fP (krb5_context context, krb5_address **res, const krb5_address *addr, int16_t port)"
65 .br
66 .ti -1c
67 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_address_prefixlen_boundary\fP (krb5_context context, const krb5_address *inaddr, unsigned long prefixlen, krb5_address *low, krb5_address *high)"
68 .br
69 .in -1c
70 .SH "Detailed Description"
71 .PP 
72
73 .SH "Function Documentation"
74 .PP 
75 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_addr2sockaddr (krb5_context context, const krb5_address * addr, struct sockaddr * sa, krb5_socklen_t * sa_size, int port)"
76 .PP
77 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.
78 .PP
79 \fBParameters:\fP
80 .RS 4
81 \fIcontext\fP a Keberos context 
82 .br
83 \fIaddr\fP the address to copy the from 
84 .br
85 \fIsa\fP the struct sockaddr that will be filled in 
86 .br
87 \fIsa_size\fP pointer to length of sa, and after the call, it will contain the actual length of the address. 
88 .br
89 \fIport\fP set port in sa.
90 .RE
91 .PP
92 \fBReturns:\fP
93 .RS 4
94 Return an error code or 0. Will return KRB5_PROG_ATYPE_NOSUPP in case address type is not supported. 
95 .RE
96 .PP
97
98 .SS "KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_address_compare (krb5_context context, const krb5_address * addr1, const krb5_address * addr2)"
99 .PP
100 krb5_address_compare compares the addresses addr1 and addr2. Returns TRUE if the two addresses are the same.
101 .PP
102 \fBParameters:\fP
103 .RS 4
104 \fIcontext\fP a Keberos context 
105 .br
106 \fIaddr1\fP address to compare 
107 .br
108 \fIaddr2\fP address to compare
109 .RE
110 .PP
111 \fBReturns:\fP
112 .RS 4
113 Return an TRUE is the address are the same FALSE if not 
114 .RE
115 .PP
116
117 .SS "KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_address_order (krb5_context context, const krb5_address * addr1, const krb5_address * addr2)"
118 .PP
119 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).
120 .PP
121 \fBParameters:\fP
122 .RS 4
123 \fIcontext\fP a Keberos context 
124 .br
125 \fIaddr1\fP krb5_address to compare 
126 .br
127 \fIaddr2\fP krb5_address to compare
128 .RE
129 .PP
130 \fBReturns:\fP
131 .RS 4
132 < 0 if address addr1 in 'less' then addr2. 0 if addr1 and addr2 is the same address, > 0 if addr2 is 'less' then addr1. 
133 .RE
134 .PP
135
136 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_address_prefixlen_boundary (krb5_context context, const krb5_address * inaddr, unsigned long prefixlen, krb5_address * low, krb5_address * high)"
137 .PP
138 Calculate the boundary addresses of `inaddr'/`prefixlen' and store them in `low' and `high'.
139 .PP
140 \fBParameters:\fP
141 .RS 4
142 \fIcontext\fP a Keberos context 
143 .br
144 \fIinaddr\fP address in prefixlen that the bondery searched 
145 .br
146 \fIprefixlen\fP width of boundery 
147 .br
148 \fIlow\fP lowest address 
149 .br
150 \fIhigh\fP highest address
151 .RE
152 .PP
153 \fBReturns:\fP
154 .RS 4
155 Return an error code or 0. 
156 .RE
157 .PP
158
159 .SS "KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_address_search (krb5_context context, const krb5_address * addr, const krb5_addresses * addrlist)"
160 .PP
161 krb5_address_search checks if the address addr is a member of the address set list addrlist .
162 .PP
163 \fBParameters:\fP
164 .RS 4
165 \fIcontext\fP a Keberos context. 
166 .br
167 \fIaddr\fP address to search for. 
168 .br
169 \fIaddrlist\fP list of addresses to look in for addr.
170 .RE
171 .PP
172 \fBReturns:\fP
173 .RS 4
174 Return an error code or 0. 
175 .RE
176 .PP
177
178 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_anyaddr (krb5_context context, int af, struct sockaddr * sa, krb5_socklen_t * sa_size, int port)"
179 .PP
180 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.
181 .PP
182 \fBParameters:\fP
183 .RS 4
184 \fIcontext\fP a Keberos context 
185 .br
186 \fIaf\fP address family 
187 .br
188 \fIsa\fP sockaddr 
189 .br
190 \fIsa_size\fP lenght of sa. 
191 .br
192 \fIport\fP for to fill into sa.
193 .RE
194 .PP
195 \fBReturns:\fP
196 .RS 4
197 Return an error code or 0. 
198 .RE
199 .PP
200
201 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_append_addresses (krb5_context context, krb5_addresses * dest, const krb5_addresses * source)"
202 .PP
203 krb5_append_addresses adds the set of addresses in source to dest. While copying the addresses, duplicates are also sorted out.
204 .PP
205 \fBParameters:\fP
206 .RS 4
207 \fIcontext\fP a Keberos context 
208 .br
209 \fIdest\fP destination of copy operation 
210 .br
211 \fIsource\fP adresses that are going to be added to dest
212 .RE
213 .PP
214 \fBReturns:\fP
215 .RS 4
216 Return an error code or 0. 
217 .RE
218 .PP
219
220 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_address (krb5_context context, const krb5_address * inaddr, krb5_address * outaddr)"
221 .PP
222 krb5_copy_address copies the content of address inaddr to outaddr.
223 .PP
224 \fBParameters:\fP
225 .RS 4
226 \fIcontext\fP a Keberos context 
227 .br
228 \fIinaddr\fP pointer to source address 
229 .br
230 \fIoutaddr\fP pointer to destination address
231 .RE
232 .PP
233 \fBReturns:\fP
234 .RS 4
235 Return an error code or 0. 
236 .RE
237 .PP
238
239 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_addresses (krb5_context context, const krb5_addresses * inaddr, krb5_addresses * outaddr)"
240 .PP
241 krb5_copy_addresses copies the content of addresses inaddr to outaddr.
242 .PP
243 \fBParameters:\fP
244 .RS 4
245 \fIcontext\fP a Keberos context 
246 .br
247 \fIinaddr\fP pointer to source addresses 
248 .br
249 \fIoutaddr\fP pointer to destination addresses
250 .RE
251 .PP
252 \fBReturns:\fP
253 .RS 4
254 Return an error code or 0. 
255 .RE
256 .PP
257
258 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_free_address (krb5_context context, krb5_address * address)"
259 .PP
260 krb5_free_address frees the data stored in the address that is alloced with any of the krb5_address functions.
261 .PP
262 \fBParameters:\fP
263 .RS 4
264 \fIcontext\fP a Keberos context 
265 .br
266 \fIaddress\fP addresss to be freed.
267 .RE
268 .PP
269 \fBReturns:\fP
270 .RS 4
271 Return an error code or 0. 
272 .RE
273 .PP
274
275 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_free_addresses (krb5_context context, krb5_addresses * addresses)"
276 .PP
277 krb5_free_addresses frees the data stored in the address that is alloced with any of the krb5_address functions.
278 .PP
279 \fBParameters:\fP
280 .RS 4
281 \fIcontext\fP a Keberos context 
282 .br
283 \fIaddresses\fP addressses to be freed.
284 .RE
285 .PP
286 \fBReturns:\fP
287 .RS 4
288 Return an error code or 0. 
289 .RE
290 .PP
291
292 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_h_addr2addr (krb5_context context, int af, const char * haddr, krb5_address * addr)"
293 .PP
294 krb5_h_addr2addr works like krb5_h_addr2sockaddr with the exception that it operates on a krb5_address instead of a struct sockaddr.
295 .PP
296 \fBParameters:\fP
297 .RS 4
298 \fIcontext\fP a Keberos context 
299 .br
300 \fIaf\fP address family 
301 .br
302 \fIhaddr\fP host address from struct hostent. 
303 .br
304 \fIaddr\fP returned krb5_address.
305 .RE
306 .PP
307 \fBReturns:\fP
308 .RS 4
309 Return an error code or 0. 
310 .RE
311 .PP
312
313 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_h_addr2sockaddr (krb5_context context, int af, const char * addr, struct sockaddr * sa, krb5_socklen_t * sa_size, int port)"
314 .PP
315 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.
316 .PP
317 \fBParameters:\fP
318 .RS 4
319 \fIcontext\fP a Keberos context 
320 .br
321 \fIaf\fP addresses 
322 .br
323 \fIaddr\fP address 
324 .br
325 \fIsa\fP returned struct sockaddr 
326 .br
327 \fIsa_size\fP size of sa 
328 .br
329 \fIport\fP port to set in sa.
330 .RE
331 .PP
332 \fBReturns:\fP
333 .RS 4
334 Return an error code or 0. 
335 .RE
336 .PP
337
338 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_make_addrport (krb5_context context, krb5_address ** res, const krb5_address * addr, int16_t port)"
339 .PP
340 Create an address of type KRB5_ADDRESS_ADDRPORT from (addr, port)
341 .PP
342 \fBParameters:\fP
343 .RS 4
344 \fIcontext\fP a Keberos context 
345 .br
346 \fIres\fP built address from addr/port 
347 .br
348 \fIaddr\fP address to use 
349 .br
350 \fIport\fP port to use
351 .RE
352 .PP
353 \fBReturns:\fP
354 .RS 4
355 Return an error code or 0. 
356 .RE
357 .PP
358
359 .SS "KRB5_LIB_FUNCTION size_t KRB5_LIB_CALL krb5_max_sockaddr_size (void)"
360 .PP
361 krb5_max_sockaddr_size returns the max size of the .Li struct sockaddr that the Kerberos library will return.
362 .PP
363 \fBReturns:\fP
364 .RS 4
365 Return an size_t of the maximum struct sockaddr. 
366 .RE
367 .PP
368
369 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_parse_address (krb5_context context, const char * string, krb5_addresses * addresses)"
370 .PP
371 krb5_parse_address returns the resolved hostname in string to the krb5_addresses addresses .
372 .PP
373 \fBParameters:\fP
374 .RS 4
375 \fIcontext\fP a Keberos context 
376 .br
377 \fIstring\fP 
378 .br
379 \fIaddresses\fP 
380 .RE
381 .PP
382 \fBReturns:\fP
383 .RS 4
384 Return an error code or 0. 
385 .RE
386 .PP
387
388 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_print_address (const krb5_address * addr, char * str, size_t len, size_t * ret_len)"
389 .PP
390 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) .
391 .PP
392 \fBParameters:\fP
393 .RS 4
394 \fIaddr\fP address to be printed 
395 .br
396 \fIstr\fP pointer string to print the address into 
397 .br
398 \fIlen\fP length that will fit into area pointed to by 'str'. 
399 .br
400 \fIret_len\fP return length the str.
401 .RE
402 .PP
403 \fBReturns:\fP
404 .RS 4
405 Return an error code or 0. 
406 .RE
407 .PP
408
409 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_sockaddr2address (krb5_context context, const struct sockaddr * sa, krb5_address * addr)"
410 .PP
411 krb5_sockaddr2address stores a address a 'struct sockaddr' sa in the krb5_address addr.
412 .PP
413 \fBParameters:\fP
414 .RS 4
415 \fIcontext\fP a Keberos context 
416 .br
417 \fIsa\fP a struct sockaddr to extract the address from 
418 .br
419 \fIaddr\fP an Kerberos 5 address to store the address in.
420 .RE
421 .PP
422 \fBReturns:\fP
423 .RS 4
424 Return an error code or 0. 
425 .RE
426 .PP
427
428 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_sockaddr2port (krb5_context context, const struct sockaddr * sa, int16_t * port)"
429 .PP
430 krb5_sockaddr2port extracts a port (if possible) from a 'struct sockaddr.
431 .PP
432 \fBParameters:\fP
433 .RS 4
434 \fIcontext\fP a Keberos context 
435 .br
436 \fIsa\fP a struct sockaddr to extract the port from 
437 .br
438 \fIport\fP a pointer to an int16_t store the port in.
439 .RE
440 .PP
441 \fBReturns:\fP
442 .RS 4
443 Return an error code or 0. Will return KRB5_PROG_ATYPE_NOSUPP in case address type is not supported. 
444 .RE
445 .PP
446
447 .SS "KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_sockaddr_uninteresting (const struct sockaddr * sa)"
448 .PP
449 krb5_sockaddr_uninteresting returns TRUE for all .Fa sa that the kerberos library thinks are uninteresting. One example are link local addresses.
450 .PP
451 \fBParameters:\fP
452 .RS 4
453 \fIsa\fP pointer to struct sockaddr that might be interesting.
454 .RE
455 .PP
456 \fBReturns:\fP
457 .RS 4
458 Return a non zero for uninteresting addresses. 
459 .RE
460 .PP
461