uniaddr(3)
NAME
- unimsg, uni_str2nsap, uni_nsap2str, uni_prefix2str,
- uni_e1642nsap,
uni_nsap2e164 - ATM signalling library - address handling
LIBRARY
Begemot ATM signalling library (libunimsg, -lunimsg)
SYNOPSIS
#include <netnatm/addr.h> int uni_str2nsap(u_char *nsap, const char *str); void uni_nsap2str(char *str, const u_char *nsap, int dots); void uni_prefix2str(char *str, const u_char *prefix, u_int len, int dots); int uni_e1642nsap(u_char *nsap, const char *e164); int uni_nsap2e164(char *e164, const u_char *nsap, int check);
DESCRIPTION
- The UNI message library contains a number of utility func
- tions to handle
NSAP and E.164 addresses. - The function uni_str2nsap() parses a string and interprets
- it as an NSAP
address. The string should consist of exact 40 hexadecimal - digits (upper
and lower case are allowed) and any number of dots at any - position. Any
other character is illegal. The resulting NSAP address is - written to the
buffer pointed to by nsap. This buffer should be at least - 20 bytes. On
success the funtion returns 0. If an parsing error happens - -1 is
returned. - The function uni_nsap2str() converts the NSAP address point
- ed to by nsap
into a string. For some commonly used NSAP formats (those - with leading
octets 0x39, 0x45 or 0x47) dots may be inserted to make the - address more
readable by passing a non-0 value in dots. The buffer - pointed to by str
should be large enough to hold the resulting string plus the - terminating
NUL. A size of 80 byte is large enough for all cases. - The function uni_prefix2str() converts an NSAP prefix to a
- string. The
length of the NSAP prefix in bytes is passed in len. - uni_nsap2str(str,
nsap, dots) is equivalent to uni_prefix2str(str, nsap, 20, - dots).
- The function uni_e1642nsap() converts an E.164 address given
- as an ASCII
string to an embedded E.164 NSAP address. The string point - ed to by e164
must consist of at least 1 and not more than 15 ASCII dig - its. The function returns 0 on success and -1 if the E.164 address was
- malformed.
- The function uni_nsap2e164() extracts the E.164 address from
- an embedded
E.164 NSAP address. The argument check specifies whether - the NSAP
address should be checked for correct syntax. If check is 0 - the last 11
bytes of the address are ignored. If check is 1 the last 11 - bytes except
the selector byte must be zero. If check is 2 the last 11 - bytes must be
zero. The function returns 0 on success and -1 when the - NSAP address was
not an embedded E.164 NSAP or one of the additional checks - failed.
SEE ALSO
AUTHORS
- Hartmut Brandt <harti@freebsd.org>
- BSD May 23, 2005