Developing applications over IPX/SPX using TLI

IPX addresses

IPX addresses are used to identify clients and servers on an IPX network. ``IPX address fields'' describes the fields that make up an address.

IPX address fields

Field Type* Byte order
Network number uint8[4] high-to-low
Node number uint8[6] high-to-low
Socket number uint8[2] high-to-low

A uint8 is an unsigned char.

network number
is a 4-byte number associated with the cabling system to which the server is attached.

For SCO IPX/SPX servers or application servers loaded on such file servers, the network number is the server's internal network number.

node number
is a 6-byte number that identifies the network adapter card in the computer. This node address is the hardware address assigned to the network adapter card by it's vendor.

For SCO IPX/SPX servers, this field is always set to 0x000000000001. A value of 0xFFFFFFFFFFFF can be placed in this field to indicate a broadcast to the local network.

socket number
is a 2-byte number that identifies the process address in the computer. The process can use either a well-known, static socket number or obtain a dynamic socket number when the process binds to IPX. For more information about static and dynamic socket numbers, see ``Socket numbers''.

IPX addresses are represented by ipxAddr_t structures. The ipxAddr_t structure has the following format:

struct {
unsigned char net[ 4 ];
unsigned char node[ 6 ];
unsigned char sock[ 2 ];
} ipxAddr_t;

The types of addresses are:

source address
The address of the sender of the packet. By definition, the sender is aware of its address.

destination address
The address of the recipient of the packet. The sender has to obtain the address of the recipient. The procedure for obtaining a destination address is described in ``Obtaining a destination address''.

Obtaining a destination address

An application can obtain the destination address of a server by:

querying SAPD
for the address of the recipient. ``Using the SAP protocol'' describes this procedure.

scanning a file server bindery
for the destination address. This method assumes that you have already established a connection to a NetWare file server. ``Using the SAP protocol'' describes this procedure.

creating a mapping table
that maps a server name to an address.

Next topic: Socket numbers
Previous topic: Byte order

© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003