#include <krb5/krb5.h>
krb5_error_code
krb5_sockaddr2address(krb5_context context, const struct sockaddr *sa, krb5_address *addr);
krb5_error_code
krb5_sockaddr2port(krb5_context context, const struct sockaddr *sa, int16_t *port);
krb5_error_code
krb5_addr2sockaddr(krb5_context context, const krb5_address *addr, struct sockaddr *sa, krb5_socklen_t *sa_size, int port);
size_t
krb5_max_sockaddr_size(void);
krb5_boolean
krb5_sockaddr_uninteresting(const struct sockaddr *sa);
krb5_error_code
krb5_h_addr2sockaddr(krb5_context context, int af, const char *addr, struct sockaddr *sa, krb5_socklen_t *sa_size, int port);
krb5_error_code
krb5_h_addr2addr(krb5_context context, int af, const char *haddr, krb5_address *addr);
krb5_error_code
krb5_anyaddr(krb5_context context, int af, struct sockaddr *sa, krb5_socklen_t *sa_size, int port);
krb5_error_code
krb5_print_address(const krb5_address *addr, char *str, size_t len, size_t *ret_len);
krb5_error_code
krb5_parse_address(krb5_context context, const char *string, krb5_addresses *addresses);
int
krb5_address_order(krb5_context context, const krb5_address *addr1, const krb5_address *addr2);
krb5_boolean
krb5_address_compare(krb5_context context, const krb5_address *addr1, const krb5_address *addr2);
krb5_boolean
krb5_address_search(krb5_context context, const krb5_address *addr, const krb5_addresses *addrlist);
krb5_error_code
krb5_free_address(krb5_context context, krb5_address *address);
krb5_error_code
krb5_free_addresses(krb5_context context, krb5_addresses *addresses);
krb5_error_code
krb5_copy_address(krb5_context context, const krb5_address *inaddr, krb5_address *outaddr);
krb5_error_code
krb5_copy_addresses(krb5_context context, const krb5_addresses *inaddr, krb5_addresses *outaddr);
krb5_error_code
krb5_append_addresses(krb5_context context, krb5_addresses *dest, const krb5_addresses *source);
krb5_error_code
krb5_make_addrport(krb5_context context, krb5_address **res, const krb5_address *addr, int16_t port);