ISO_ADDR(3) NetBSD 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

iso(4)

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.

June 4, 1993 NetBSD 5.99