The AF_IPX Address Family

The IPX address family defines the addressing structure for protocols that use standard IPX socket addressing. For these transports, an endpoint address consists of a network number, node address and socket number.

The network number is an administrative domain and typically names a single Ethernet or token ring segment. The node number is a station's physical address. The combination of net and node form a unique station address which is presumed to be unique in the world. Net/node numbers are represented in ASCII in either block or dashed notation as: '0101a040,00001b498765' or '01-01-a0-40,00-00-1b-49-87-65'. Leading zero's need not be present.

The IPX socket number is a network/transport service number much like a TCP port number and is not to be confused with the Windows Sockets socket descriptor. IPX Socket numbers are global to the end-station and cannot be bound to specific net/node addresses. For instance, if the end-station has two network interface cards, a bound socket can send and receive on both cards. In particular, datagram sockets would receive broadcast datagrams on both cards.

Caution  Sockaddr_ipx is 14 bytes long and is shorter than the 16-byte sockaddr reference structure. IPX/SPX implementations may accept the 16 byte length as well as the true length. If you use sockaddr_ipx and a hard coded length of 16 bytes, the implementation may assume that it has access to the two bytes following your structure.

Field Value
sa_family Address family AF_IPX in host order.
Sa_netnum IPX network identifier in network order.
Sa_nodenum Station node address, flushed right.
Sa_socket IPX socket number in network order.