summaryrefslogtreecommitdiffstats
path: root/docs/nspr/reference/pr_enumerateaddrinfo.rst
blob: d978766da6279398172933663ed83902a90b6b9e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
PR_EnumerateAddrInfo
====================


Enumerates each of the possible network addresses of a ``PRAddrInfo``
structure, acquired from :ref:`PR_GetAddrInfoByName`.


Syntax
~~~~~~

.. code::

   #include <prnetdb.h>

   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.