Group pj_addr_resolve

group pj_addr_resolve

This module provides function to resolve Internet address of the specified host name. To resolve a particular host name, application can just call pj_gethostbyname().

Example:

It’s pretty simple really…

Defines

h_addr

Shortcut to h_addr_list[0]

Functions

pj_status_t pj_gethostbyname(const pj_str_t *name, pj_hostent *he)

This function fills the structure of type pj_hostent for a given host name. For host resolution function that also works with IPv6, please see pj_getaddrinfo().

Return

PJ_SUCCESS, or the appropriate error codes.

Parameters
  • name: Host name to resolve. Specifying IPv4 address here may fail on some platforms (e.g. Windows)

  • he: The pj_hostent structure to be filled. Note that the pointers in this structure points to temporary variables which value will be reset upon subsequent invocation.

pj_status_t pj_gethostip(int af, pj_sockaddr *addr)

Resolve the primary IP address of local host.

Return

PJ_SUCCESS on success, or the appropriate error code.

Parameters
  • af: The desired address family to query. Valid values are pj_AF_INET() or pj_AF_INET6().

  • addr: On successful resolution, the address family and address part of this socket address will be filled up with the host IP address, in network byte order. Other parts of the socket address are untouched.

pj_status_t pj_getipinterface(int af, const pj_str_t *dst, pj_sockaddr *itf_addr, pj_bool_t allow_resolve, pj_sockaddr *p_dst_addr)

Get the interface IP address to send data to the specified destination.

Return

PJ_SUCCESS on success, or the appropriate error code.

Parameters
  • af: The desired address family to query. Valid values are pj_AF_INET() or pj_AF_INET6().

  • dst: The destination host.

  • itf_addr: On successful resolution, the address family and address part of this socket address will be filled up with the host IP address, in network byte order. Other parts of the socket address should be ignored.

  • allow_resolve: If dst may contain hostname (instead of IP address), specify whether hostname resolution should be performed. If not, default interface address will be returned.

  • p_dst_addr: If not NULL, it will be filled with the IP address of the destination host.

pj_status_t pj_getdefaultipinterface(int af, pj_sockaddr *addr)

Get the IP address of the default interface. Default interface is the interface of the default route.

Return

PJ_SUCCESS on success, or the appropriate error code.

Parameters
  • af: The desired address family to query. Valid values are pj_AF_INET() or pj_AF_INET6().

  • addr: On successful resolution, the address family and address part of this socket address will be filled up with the host IP address, in network byte order. Other parts of the socket address are untouched.

pj_status_t pj_getaddrinfo(int af, const pj_str_t *name, unsigned *count, pj_addrinfo ai[])

This function translates the name of a service location (for example, a host name) and returns a set of addresses and associated information to be used in creating a socket with which to address the specified service.

Return

PJ_SUCCESS on success, or the appropriate error code.

Parameters
  • af: The desired address family to query. Valid values are pj_AF_INET(), pj_AF_INET6(), or pj_AF_UNSPEC().

  • name: Descriptive name or an address string, such as host name.

  • count: On input, it specifies the number of elements in ai array. On output, this will be set with the number of address informations found for the specified name.

  • ai: Array of address info to be filled with the information about the host.

struct pj_hostent
#include <addr_resolv.h>

This structure describes an Internet host address.

struct pj_addrinfo
#include <addr_resolv.h>

This structure describes address information pj_getaddrinfo().