tail head cat sleep
QR code linking to this page

Manual Pages  — EUI64


eui64, eui64_aton, eui64_ntoa, eui64_ntohost, eui64_hostton – IEEE EUI-64 conversion and lookup routines



Standard C Library (libc, -lc)


#include <sys/types.h>
#include <sys/eui64.h>

eui64_aton(const char *a, struct eui64 *e);

eui64_ntoa(const struct eui64 *id, char *a, size_t len);

eui64_ntohost(char *hostname, size_t len, const struct eui64 *id);

eui64_hostton(const char *hostname, struct eui64 *id);


These functions operate on IEEE EUI-64s using an eui64 structure, which is defined in the header file <sys/eui64.h>:
 * The number of bytes in an EUI-64.
#define EUI64_LEN               8

/* * Structure of an IEEE EUI-64. */ struct eui64 { u_char octet[EUI64_LEN]; };

The eui64_aton() function converts an ASCII representation of an EUI-64 into an eui64 structure. Likewise, eui64_ntoa() converts an EUI-64 specified as an eui64 structure into an ASCII string.

The eui64_ntohost() and eui64_hostton() functions map EUI-64s to their corresponding hostnames as specified in the /etc/eui64 database. The eui64_ntohost() function converts from EUI-64 to hostname, and eui64_hostton() converts from hostname to EUI-64.


On success, eui64_ntoa() returns a pointer to a string containing an ASCII representation of an EUI-64. If it is unable to convert the supplied eui64 structure, it returns a NULL pointer. Likewise, eui64_aton() returns a pointer to an eui64 structure on success and a NULL pointer on failure.

The eui64_ntohost() and eui64_hostton() functions both return zero on success or non-zero if they were unable to find a match in the /etc/eui64 database.


The user must ensure that the hostname strings passed to the eui64_ntohost() and eui64_hostton() functions are large enough to contain the returned hostnames.


If the /etc/eui64 contains a line with a single ‘+’ in it, the eui64_ntohost() and eui64_hostton() functions will attempt to consult the NIS eui64.byname and eui64.byid maps in addition to the data in the /etc/eui64 file.


firewire(4), eui64(5), yp(8)


These functions first appears in FreeBSD 5.3 . They are derived from the ethers(3) family of functions.

EUI64 (3) March 4, 2004

tail head cat sleep
QR code linking to this page

Please direct any comments about this manual page service to Ben Bullock. Privacy policy.

Do you laugh when the waiter drops a tray full of dishes? Unix weenies do. They're the first ones to laugh at hapless users, trying to figure out an error message that doesn't have anything to do with what they just typed.
— The Unix Haters' handbook