HP X.25/9000 Programmer's Guide

Chapter 2 23
X.25 Addressing
Address Space Conflicts
Address Space Conflicts
The X.25 subsystem’s programming access prevents any two sockets
from binding to the same address structure. When a bind() call is made,
the subsystem checks the specified address against addresses that are
already associated with the socket. The bind() call is rejected if there is
a conflict in the space allocation of components in the address structure.
The address structure is composed of three components:
Interface name – the name of the interface or port
Address/subaddress – the X.121 addresses
PID – the Protocol Identification number
Address conflicts occur with bind() calls when the specified address
structure occupies or overlaps into an address region that has already
been assigned to another socket. In this instance, the system returns one
of two errors:
EADDRNOTAVAIL – is returned when all of the addresses specified
in the bind() call includeall of the addresses specified ina previously
bound socket.
EADDRINUSE is returned when the addresses specified in the bind
include some of the addresses specified in a previously bound socket.
How to Avoid Address Conflicts
Avoid wildcard addresses with “*”, and be cautious of all wildcard
Table 2-4 Addressing Conflict Errors
Previous Bind Current Bind errno value
123* 12* EADDRNOTAVAIL
12* 123* EADDRINUSE
1?3* 123* EADDRINUSE
123* 1?3? EADDRNOTAVAIL
36960-90061.bk Page 23 Friday, November 10, 2000 3:42 PM