*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->NetBSD man pages -> freeifaddrs (3)              
Title
Content
Arch
Section
 

GETIFADDRS(3)

Contents


NAME    [Toc]    [Back]

     getifaddrs - get interface addresses

SYNOPSIS    [Toc]    [Back]

     #include <sys/types.h>
     #include <sys/socket.h>
     #include <ifaddrs.h>

     int
     getifaddrs(struct ifaddrs **ifap);

     void
     freeifaddrs(struct ifaddrs *ifp);

DESCRIPTION    [Toc]    [Back]

     The getifaddrs() function stores a reference to a linked list of the network
 interfaces on the local machine in the memory referenced by ifap.
     The list consists of ifaddrs structures, as defined in the include file
     <ifaddrs.h>.  The ifaddrs structure contains at least the following
     entries:

         struct ifaddrs   *ifa_next;         /* Pointer to next struct */
         char             *ifa_name;         /* Interface name */
         u_int             ifa_flags;        /* Interface flags */
         struct sockaddr  *ifa_addr;         /* Interface address */
         struct sockaddr  *ifa_netmask;      /* Interface netmask */
         struct sockaddr  *ifa_broadaddr;    /* Interface broadcast address */
         struct sockaddr  *ifa_dstaddr;      /* P2P interface destination */
         void             *ifa_data;         /* Address specific data */

     The ifa_next field contains a pointer to the next structure on the list.
     This field is NULL in last structure on the list.

     The ifa_name field contains the interface name.

     The ifa_flags field contains the interface flags, as set by ifconfig(8)
     utility.

     The ifa_addr field references either the address of the interface or the
     link level address of the interface, if one exists, otherwise it is NULL.
     (The sa_family field of the ifa_addr field should be consulted to determine
 the format of the ifa_addr address.)

     The ifa_netmask field references the netmask associated with ifa_addr, if
     one is set, otherwise it is NULL.

     The ifa_broadaddr field, which should only be referenced for non-P2P
     interfaces, references the broadcast address associated with ifa_addr, if
     one exists, otherwise it is NULL.

     The ifa_dstaddr field references the destination address on a P2P interface,
 if one exists, otherwise it is NULL.

     The ifa_data field references address family specific data.  For AF_LINK
     addresses it contains a pointer to the struct if_data (as defined in
     include file <net/if.h>) which contains various interface attributes and
     statistics.  For all other address families, it contains a pointer to the
     struct ifa_data (as defined in include file <net/if.h>) which contains
     per-address interface statistics.

     The data returned by getifaddrs() is dynamically allocated and should be
     freed using freeifaddrs() when no longer needed.

RETURN VALUES    [Toc]    [Back]

     Upon successful completion, a value of 0 is returned.  Otherwise, a value
     of -1 is returned and errno is set to indicate the error.

ERRORS    [Toc]    [Back]

     The getifaddrs() may fail and set errno for any of the errors specified
     for the library routines ioctl(2), socket(2), malloc(3) or sysctl(3).

SEE ALSO    [Toc]    [Back]

      
      
     ioctl(2), socket(2), sysctl(3), networking(4), ifconfig(8)

HISTORY    [Toc]    [Back]

     The getifaddrs implementation first appeared in BSD/OS.

BUGS    [Toc]    [Back]

     If both <net/if.h> and <ifaddrs.h> are being included, <net/if.h> must be
     included before <ifaddrs.h>.

BSD                            October 12, 1995                            BSD
[ Back ]
 Similar pages
Name OS Title
krb5_make_addrport FreeBSD mange addresses in Kerberos.
krb5_max_sockaddr_size FreeBSD mange addresses in Kerberos.
krb5_parse_address FreeBSD mange addresses in Kerberos.
krb5_get_all_client_addrs FreeBSD return local addresses
krb5_print_address FreeBSD mange addresses in Kerberos.
krb5_sockaddr2address FreeBSD mange addresses in Kerberos.
krb5_sockaddr2port FreeBSD mange addresses in Kerberos.
krb5_sockaddr_uninteresting FreeBSD mange addresses in Kerberos.
krb5_h_addr2sockaddr FreeBSD mange addresses in Kerberos.
krb5_h_addr2addr FreeBSD mange addresses in Kerberos.
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service