Branch: Tag:

2008-12-14

2008-12-14 15:11:23 by Marcus Comstedt <marcus@mc.pp.se>

Reverted previous changes regarding Stdio.AF_INET et al, and instead
implemented a more convenient way of getting the correct address
family with open_socket().

Rev: CHANGES:1.164
Rev: lib/modules/Protocols.pmod/HTTP.pmod/Query.pike:1.100
Rev: lib/modules/Stdio.pmod/module.pmod:1.249
Rev: src/modules/files/file.c:1.398

689:   <dt class='head--type'><span class='homogen--type'>Method</span>   <span class='homogen--name'><b>open_socket</b></span>   </dt> - <dd><p><code><code class='datatype'>int</code> <b><span class='method'>open_socket</span>(</b><code class='datatype'>int</code>|<code class='datatype'>string</code>|<code class='datatype'>void</code> <code class='argument'>port</code>, <code class='datatype'>string</code>|<code class='datatype'>void</code> <code class='argument'>address</code>, <code class='datatype'>int</code>|<code class='datatype'>void</code> <code class='argument'>family</code><b>)</b></code></p></dd> + <dd><p><code><code class='datatype'>int</code> <b><span class='method'>open_socket</span>(</b><code class='datatype'>int</code>|<code class='datatype'>string</code>|<code class='datatype'>void</code> <code class='argument'>port</code>, <code class='datatype'>string</code>|<code class='datatype'>void</code> <code class='argument'>address</code>, <code class='datatype'>int</code>|<code class='datatype'>string</code>|<code class='datatype'>void</code> <code class='argument'>family_hint</code><b>)</b></code></p></dd>      <dt class='head--doc'>Description</dt>   <dd class='body--doc'><p>This makes this file into a socket ready for connections. The reason
707:   <dd></dd><dd class='body--doc'><p>You may specify an address to bind to if your machine has many IP    numbers.</p>   </dd> - <dt class='head--doc'><span id='p-family'></span>Parameter <code class='parameter'>family</code></dt> + <dt class='head--doc'><span id='p-family_hint'></span>Parameter <code class='parameter'>family_hint</code></dt>   <dd></dd><dd class='body--doc'><p>A protocol family for the socket can be specified. If no family is    specified, one which is appropriate for the address is automatically -  selected. Thus, there is normally no need to specify it. You can -  find system-dependent constants for IPv4 and IPv6 in <code>Stdio.AF_INET</code> -  and <code>Stdio.AF_INET6</code>.</p> +  selected. Thus, there is normally no need to specify it. If you +  do not want to specify a bind address, you can provide the address +  as a hint here instead, to allow the automatic selection to work +  anyway.</p>   </dd>   <dt class='head--doc'>Returns</dt>   <dd class='body--doc'><p>This function returns 1 for success, 0 otherwise.</p>
727:   <dt class='head--type'><span class='homogen--type'>Method</span>   <span class='homogen--name'><b>open_socket</b></span>   </dt> - <dd><p><code><code class='datatype'>bool</code> <b><span class='method'>open_socket</span>(</b><code class='datatype'>int</code>|<code class='datatype'>void</code> <code class='argument'>port</code>, <code class='datatype'>string</code>|<code class='datatype'>void</code> <code class='argument'>addr</code>, <code class='datatype'>int</code>|<code class='datatype'>void</code> <code class='argument'>family</code><b>)</b></code></p></dd> + <dd><p><code><code class='datatype'>bool</code> <b><span class='method'>open_socket</span>(</b><code class='datatype'>int</code>|<code class='datatype'>void</code> <code class='argument'>port</code>, <code class='datatype'>string</code>|<code class='datatype'>void</code> <code class='argument'>addr</code>, <code class='datatype'>int</code>|<code class='datatype'>string</code>|<code class='datatype'>void</code> <code class='argument'>family_hint</code><b>)</b></code></p></dd>   </dl>      
4129:   <hr />   <dl class='group--doc'>   <dt class='head--type'><span class='homogen--type'>Constant</span> - <span class='homogen--name'><b>AF_UNIX</b></span><br> - <span class='homogen--type'>Constant</span> - <span class='homogen--name'><b>AF_LOCAL</b></span><br> - <span class='homogen--type'>Constant</span> - <span class='homogen--name'><b>AF_FILE</b></span><br> - </dt> - <dd><p><code><code class='datatype'>constant</code> Stdio.<code class='constant'>AF_UNIX</code></code><br> - <code><code class='datatype'>constant</code> Stdio.<code class='constant'>AF_LOCAL</code></code><br> - <code><code class='datatype'>constant</code> Stdio.<code class='constant'>AF_FILE</code></code></p></dd> -  - <dt class='head--doc'>Description</dt> - <dd class='body--doc'><p>Address family identifier for local pipes. Note that this -  is system-dependent. AF_LOCAL and AF_FILE are aliases for -  AF_UNIX.</p> - </dd></dl> -  -  - <hr /> - <dl class='group--doc'> - <dt class='head--type'><span class='homogen--type'>Constant</span> - <span class='homogen--name'><b>AF_INET</b></span> - </dt> - <dd><p><code><code class='datatype'>constant</code> Stdio.<code class='constant'>AF_INET</code></code></p></dd> -  - <dt class='head--doc'>Description</dt> - <dd class='body--doc'><p>Address family identifier for IPv4. Note that this is system-dependent.</p> - </dd></dl> -  -  - <hr /> - <dl class='group--doc'> - <dt class='head--type'><span class='homogen--type'>Constant</span> - <span class='homogen--name'><b>AF_INET6</b></span> - </dt> - <dd><p><code><code class='datatype'>constant</code> Stdio.<code class='constant'>AF_INET6</code></code></p></dd> -  - <dt class='head--doc'>Description</dt> - <dd class='body--doc'><p>Address family identifier for IPv6. Note that this is system-dependent.</p> - </dd></dl> -  -  - <hr /> - <dl class='group--doc'> - <dt class='head--type'><span class='homogen--type'>Constant</span> +    <span class='homogen--name'><b>DN_ACCESS</b></span>   </dt>   <dd><p><code><code class='datatype'>constant</code> Stdio.<code class='constant'>DN_ACCESS</code></code></p></dd>