This chapter describes the NSPR types and functions used to manipulate network addresses.

The API described in this chapter recognizes the emergence of Internet Protocol Version 6 (IPv6). To facilitate the transition to IPv6, it is recommended that clients treat all structures containing network addresses as transparent objects and use the functions documented here to manipulate the information.

If used consistently, this API also eliminates the need to deal with the byte ordering of network addresses. Typically, the only numeric declarations required are the well-known port numbers that are part of the PRNetAddr structure.

Network Address Types and Constants

Network address functions

Initializing a network address

PR_InitializeNetAddr facilitates the use of PRNetAddr, the basic network address structure, in a polymorphic manner. By using these functions with other network address functions, clients can support either version 4 or version 6 of the Internet Protocol transparently.

All NSPR functions that require PRNetAddr as an argument accept either an IPv4 or IPv6 version of the address.

Converting between a string and a network address

Converting address formats

Getting host names and addresses

Getting protocol entries