# PR_EnumerateAddrInfo Enumerates each of the possible network addresses of a `PRAddrInfo` structure, acquired from {ref}`PR_GetAddrInfoByName`. ## Syntax ```{code} #include void *PR_EnumerateAddrInfo( void *enumPtr, const PRAddrInfo *addrInfo, PRUint16 port, PRNetAddr *result); ``` ## Parameters The function has the following parameters: `enumPtr` : The index pointer of the enumeration. To begin an enumeration, this argument is set to `NULL`. To continue an enumeration (thereby getting successive addresses from the `PRAddrInfo` structure), the value should be set to the function's last returned value. The enumeration is complete when a value of `NULL` is returned. `addrInfo` : A pointer to a `PRAddrInfo` structure returned by {ref}`PR_GetAddrInfoByName`. `port` : The port number to be assigned as part of the {ref}`PRNetAddr` structure. This parameter is not checked for validity. `result` : On input, a pointer to a {ref}`PRNetAddr` structure. On output, this structure is filled in by the runtime if the result of the call is not `NULL`. ## Returns The function returns the value you should specify in the `enumPtr` parameter for the next call of the enumerator. If the function returns `NULL`, the enumeration is ended. ### Description {ref}`PR_EnumerateAddrInfo` is a stateless enumerator. The principle input, the `PRAddrInfo` structure, is not modified.