NAME
net_aton(), net_ntoa() — network station address string conversion routines
SYNOPSIS
#include <sys/netio.h>
char *net_aton(char *dstr, const char *sstr, int size);
char *net_ntoa(char *dstr, const char *sstr, int size);
DESCRIPTION
net_aton()
and
net_ntoa()
translate station addresses between hexadecimal,
octal or decimal, and binary formats:
- net_aton()
converts a hexadecimal, octal, or decimal address to a binary address.
- net_ntoa()
converts a binary address to an
ASCII
hexadecimal address.
Both routines are provided in the standard C library
and are loaded automatically during compilation.
net_aton Parameters
The following parameters are used by
net_aton():
- dstr
Pointer to the binary address returned by the function.
- sstr
Pointer to a null-terminated
ASCII
form of a station address (Ethernet or
IEEE
802.3).
This address can be an octal, decimal, or hexadecimal number
as used in the C language (in other words, a leading
0x or 0X implies hexadecimal; a leading 0 implies octal;
otherwise, the number is interpreted as decimal).
- size
Length of the binary address to be returned in
dstr.
The length is 6 for Ethernet/IEEE
802.3 addresses.
net_ntoa Parameters
net_ntoa()
converts a 48-bit binary station address to its
ASCII
hexadecimal equivalent.
The following parameters are used by
net_ntoa():
- dstr
Pointer to the
ASCII
hexadecimal address returned by the function.
dstr
is null-terminated and padded with leading zeroes if necessary.
dstr
must be at least (2 Ч
size
+ 3) bytes long to accommodate the size of the converted address.
- sstr
Pointer to a station address in its binary form.
- size
Length of
sstr.
RETURN VALUE
net_aton()
and
net_ntoa()
return
NULL
if any error occurs.
EXAMPLES
#include <netio.h>
#define destination_addr "0x00DD0002AD00"
...
struct fis arg;
char str[16];
...
(void) net_aton(arg.value.s, destination_addr, 6);
/* arg.value.s = "<48-bit binary value>" */
(void) net_ntoa(str, arg.value.s, 6);
/* str = "0x00DD0002AD00" */
AUTHOR
net_aton()
was developed by HP.