eui64(3)
NAME
- eui64, eui64_aton, eui64_ntoa, eui64_ntohost, eui64_hostton
- - IEEE EUI-64
conversion and lookup routines
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <sys/types.h> #include <sys/eui64.h> int eui64_aton(const char *a, struct eui64 *e); int eui64_ntoa(const struct eui64 *id, char *a, size_t len); int eui64_ntohost(char *hostname, size_t len, const struct eui64 *id); int eui64_hostton(const char *hostname, struct eui64 *id);
DESCRIPTION
- These functions operate on IEEE EUI-64s using an eui64
- structure, which
is defined in the header file
/** 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.
RETURN VALUES
- On success, eui64_ntoa() returns a pointer to a string con
- taining an
ASCII representation of an EUI-64. If it is unable to con - vert 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 re
- turn zero on
success or non-zero if they were unable to find a match in - the /etc/eui64
database.
NOTES
- The user must insure that the hostname strings passed to the
eui64_ntohost() and eui64_hostton() functions are large - enough to contain
the returned hostnames.
NIS INTERACTION
- 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.
SEE ALSO
HISTORY
- These functions first appears in FreeBSD 5.3. They are de
- rived from the
ethers(3) family of functions.
BUGS
- The eui64_aton() and eui64_ntoa() functions returns values
- that are
stored in static memory areas which may be overwritten the - next time they
are called. - BSD March 4, 2004