ISO_ADDR(3) Library Functions Manual ISO_ADDR(3)
NAME
iso_addr, iso_ntoaelementary network address conversion routines for Open System Interconnection
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <sys/types.h>
#include <netiso/iso.h>
struct iso_addr *
iso_addr(const char *cp);
char *
iso_ntoa(struct iso_addr *isoa);
DESCRIPTION
The routine iso_addr() interprets character strings representing OSI addresses, returning binary information suitable for use in system calls. The routine iso_ntoa() takes OSI addresses and returns ASCII strings representing NSAPs (network service access points) in a notation inverse to that accepted by iso_addr().
 
Unfortunately, no universal standard exists for representing OSI network addresses.
 
The format employed by iso_addr() is a sequence of hexadecimal “digits” (optionally separated by periods), of the form:
<hex digits>.<hex digits>.<hex digits>
 
Each pair of hexadecimal digits represents a byte with the leading digit indicating the higher-ordered bits. A period following an even number of bytes has no effect (but may be used to increase legibility). A period following an odd number of bytes has the effect of causing the byte of address being translated to have its higher order bits filled with zeros.
RETURN VALUES
iso_ntoa() always returns a null terminated string. iso_addr() always returns a pointer to a struct iso_addr. (See BUGS.)
SEE ALSO
HISTORY
The iso_addr() and iso_ntoa() functions appeared in 4.3BSD Reno.
BUGS
The returned values reside in a static memory area.
 
The function iso_addr() should diagnose improperly formed input, and there should be an unambiguous way to recognize this.