#include <ne_socket.h>
typedef enum {
ne_iaddr_ipv4 = 0,
ne_iaddr_ipv6
} ne_iaddr_type;
ne_iaddr_make
ne_iaddr_cmp can be used to compare two network addresses; returning zero only if they are identical. The addresses need not be of the same address type; if the addresses are not of the same type, the return value is guaranteed to be non-zero.
ne_iaddr_print can be used to print the human-readable string representation of a network address into a buffer, for instance the string "127.0.0.1".
ne_iaddr_typeof returns the type of the given network address.
ne_iaddr_free releases the memory associated with a network address object.
ne_iaddr_make returns NULL if the address type passed is not supported (for instance on a platform which does not support IPv6).
ne_iaddr_print returns the buffer pointer, and never NULL.
The following example connects a socket to port 80 at the address 127.0.0.1.
unsigned char addr[] = "\0x7f\0x00\0x00\0x01";
ne_inet_addr *ia;
ia = ne_iaddr_make(ne_iaddr_ipv4, addr);
if (ia != NULL) {
ne_socket *sock = ne_sock_connect(ia, 80);
ne_iaddr_free(ia);
/* ... */
} else {
/* ... */
}
Joe Orton <neon@lists.manyfish.co.uk>