2010-03-28 22:10:10 +00:00
<?xml version="1.0" encoding="utf-8"?>
2009-07-11 08:54:10 +00:00
<!-- $Revision$ -->
2007-06-20 22:25:43 +00:00
<refentry xmlns= "http://docbook.org/ns/docbook" xml:id= "function.socket-getsockname" >
2007-06-15 00:16:44 +00:00
<refnamediv >
<refname > socket_getsockname</refname>
<refpurpose > Queries the local side of the given socket which may either result in host/port or in a Unix filesystem path, dependent on its type</refpurpose>
</refnamediv>
2007-06-15 00:16:46 +00:00
<refsect1 role= "description" >
&reftitle.description;
2007-06-15 00:16:44 +00:00
<methodsynopsis >
<type > bool</type> <methodname > socket_getsockname</methodname>
<methodparam > <type > resource</type> <parameter > socket</parameter> </methodparam>
<methodparam > <type > string</type> <parameter role= "reference" > addr</parameter> </methodparam>
<methodparam choice= "opt" > <type > int</type> <parameter role= "reference" > port</parameter> </methodparam>
</methodsynopsis>
<note >
<simpara >
<function > socket_getsockname</function> should not be used with
<constant > AF_UNIX</constant> sockets created with <function > socket_connect</function> .
Only sockets created with <function > socket_accept</function> or a primary
server socket following a call to <function > socket_bind</function> will return
meaningful values.
</simpara>
</note>
2007-06-15 00:16:46 +00:00
</refsect1>
<refsect1 role= "parameters" >
&reftitle.parameters;
<para >
<variablelist >
<varlistentry >
<term > <parameter > socket</parameter> </term>
<listitem >
<para >
2007-07-03 19:53:55 +00:00
A valid socket resource created with <function > socket_create</function>
or <function > socket_accept</function> .
2007-06-15 00:16:46 +00:00
</para>
</listitem>
</varlistentry>
<varlistentry >
<term > <parameter > addr</parameter> </term>
<listitem >
<para >
If the given socket is of type <constant > AF_INET</constant>
or <constant > AF_INET6</constant> , <function > socket_getsockname</function>
will return the local <emphasis > IP address</emphasis> in appropriate notation (e.g.
<literal > 127.0.0.1</literal> or <literal > fe80::1</literal> ) in the
<parameter > address</parameter> parameter and, if the optional
<parameter > port</parameter> parameter is present, also the associated port.
</para>
<para >
If the given socket is of type <constant > AF_UNIX</constant> ,
<function > socket_getsockname</function> will return the Unix filesystem
path (e.g. <literal > /var/run/daemon.sock</literal> ) in the
<parameter > address</parameter> parameter.
</para>
</listitem>
</varlistentry>
<varlistentry >
<term > <parameter > port</parameter> </term>
<listitem >
<para >
If provided, this will hold the associated port.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role= "returnvalues" >
&reftitle.returnvalues;
2007-06-15 00:16:44 +00:00
<para >
&return.success; <function > socket_getsockname</function> may also return
&false; if the socket type is not any of <constant > AF_INET</constant> ,
<constant > AF_INET6</constant> , or <constant > AF_UNIX</constant> , in which
case the last socket error code is <emphasis > not</emphasis> updated.
</para>
2007-06-15 00:16:46 +00:00
</refsect1>
<refsect1 role= "seealso" >
&reftitle.seealso;
2007-06-15 00:16:44 +00:00
<para >
2007-06-15 00:16:46 +00:00
<simplelist >
<member > <function > socket_getpeername</function> </member>
<member > <function > socket_last_error</function> </member>
<member > <function > socket_strerror</function> </member>
</simplelist>
2007-06-15 00:16:44 +00:00
</para>
</refsect1>
2007-06-15 00:16:46 +00:00
2007-06-15 00:16:44 +00:00
</refentry>
2002-04-15 00:12:54 +00:00
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
2009-09-25 07:04:39 +00:00
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
2002-04-15 00:12:54 +00:00
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->