chiark / gitweb /
bus: fix length calculation when serializing SD_BUS_TYPE_SIGNATURE
[elogind.git] / man / sd_is_fifo.xml
index 4db512012c037e9bac1750e7d93ba39d32cc37a2..58cd1c91bb10513ac950d4de35f1dafe62ea79bc 100644 (file)
@@ -8,16 +8,16 @@
   Copyright 2010 Lennart Poettering
 
   systemd is free software; you can redistribute it and/or modify it
   Copyright 2010 Lennart Poettering
 
   systemd is free software; you can redistribute it and/or modify it
-  under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 2 of the License, or
+  under the terms of the GNU Lesser General Public License as published by
+  the Free Software Foundation; either version 2.1 of the License, or
   (at your option) any later version.
 
   systemd is distributed in the hope that it will be useful, but
   WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
   (at your option) any later version.
 
   systemd is distributed in the hope that it will be useful, but
   WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  General Public License for more details.
+  Lesser General Public License for more details.
 
 
-  You should have received a copy of the GNU General Public License
+  You should have received a copy of the GNU Lesser General Public License
   along with systemd; If not, see <http://www.gnu.org/licenses/>.
 -->
 
   along with systemd; If not, see <http://www.gnu.org/licenses/>.
 -->
 
@@ -48,6 +48,7 @@
                 <refname>sd_is_socket_inet</refname>
                 <refname>sd_is_socket_unix</refname>
                 <refname>sd_is_mq</refname>
                 <refname>sd_is_socket_inet</refname>
                 <refname>sd_is_socket_unix</refname>
                 <refname>sd_is_mq</refname>
+                <refname>sd_is_special</refname>
                 <refpurpose>Check the type of a file descriptor</refpurpose>
         </refnamediv>
 
                 <refpurpose>Check the type of a file descriptor</refpurpose>
         </refnamediv>
 
                                 <paramdef>const char *<parameter>path</parameter></paramdef>
                         </funcprototype>
 
                                 <paramdef>const char *<parameter>path</parameter></paramdef>
                         </funcprototype>
 
+                        <funcprototype>
+                                <funcdef>int <function>sd_is_special</function></funcdef>
+                                <paramdef>int <parameter>fd</parameter></paramdef>
+                                <paramdef>const char *<parameter>path</parameter></paramdef>
+                        </funcprototype>
+
                 </funcsynopsis>
         </refsynopsisdiv>
 
                 </funcsynopsis>
         </refsynopsisdiv>
 
                 <para><function>sd_is_fifo()</function> may be called
                 to check whether the specified file descriptor refers
                 to a FIFO or pipe. If the <parameter>path</parameter>
                 <para><function>sd_is_fifo()</function> may be called
                 to check whether the specified file descriptor refers
                 to a FIFO or pipe. If the <parameter>path</parameter>
-                parameter is not NULL, it is checked whether the FIFO
-                is bound to the specified file system path.</para>
+                parameter is not <constant>NULL</constant>, it is
+                checked whether the FIFO is bound to the specified
+                file system path.</para>
 
                 <para><function>sd_is_socket()</function> may be
                 called to check whether the specified file descriptor
 
                 <para><function>sd_is_socket()</function> may be
                 called to check whether the specified file descriptor
-                refers to a socket. It the
+                refers to a socket. If the
                 <parameter>family</parameter> parameter is not
                 <parameter>family</parameter> parameter is not
-                AF_UNSPEC it is checked whether the socket is of the
-                specified family (AF_UNIX, AF_INET, ...). If the
-                <parameter>type</parameter> parameter is not 0 it is
+                <constant>AF_UNSPEC</constant>, it is checked whether
+                the socket is of the specified family (AF_UNIX,
+                <constant>AF_INET</constant>, ...). If the
+                <parameter>type</parameter> parameter is not 0, it is
                 checked whether the socket is of the specified type
                 checked whether the socket is of the specified type
-                (SOCK_STREAM, SOCK_DGRAM, ...). If the
-                <parameter>listening</parameter> parameter is positive
+                (<constant>SOCK_STREAM</constant>,
+                <constant>SOCK_DGRAM</constant>, ...). If the
+                <parameter>listening</parameter> parameter is positive,
                 it is checked whether the socket is in accepting mode,
                 i.e. <function>listen()</function> has been called for
                 it. If <parameter>listening</parameter> is 0, it is
                 it is checked whether the socket is in accepting mode,
                 i.e. <function>listen()</function> has been called for
                 it. If <parameter>listening</parameter> is 0, it is
                 optionally checks the IPv4 or IPv6 port number the
                 socket is bound to, unless <parameter>port</parameter>
                 is zero. For this call <parameter>family</parameter>
                 optionally checks the IPv4 or IPv6 port number the
                 socket is bound to, unless <parameter>port</parameter>
                 is zero. For this call <parameter>family</parameter>
-                must be passed as either AF_UNSPEC, AF_INET or
-                AF_INET6.</para>
+                must be passed as either <constant>AF_UNSPEC</constant>, <constant>AF_INET</constant>, or
+                <constant>AF_INET6</constant>.</para>
 
                 <para><function>sd_is_socket_unix()</function> is
 
                 <para><function>sd_is_socket_unix()</function> is
-                similar to <function>sd_is_socket()</function>, but
-                optionally checks the AF_UNIX path the socket is bound
+                similar to <function>sd_is_socket()</function> but
+                optionally checks the <constant>AF_UNIX</constant> path the socket is bound
                 to, unless the <parameter>path</parameter> parameter
                 to, unless the <parameter>path</parameter> parameter
-                is NULL. For normal file system AF_UNIX sockets set
-                the <parameter>length</parameter> parameter to 0. For
-                Linux abstract namespace sockets set the
+                is <constant>NULL</constant>. For normal file system <constant>AF_UNIX</constant> sockets,
+                set the <parameter>length</parameter> parameter to 0. For
+                Linux abstract namespace sockets, set the
                 <parameter>length</parameter> to the size of the
                 <parameter>length</parameter> to the size of the
-                address, including the initial 0 byte and set
+                address, including the initial 0 byte, and set the
                 <parameter>path</parameter> to the initial 0 byte of
                 the socket address.</para>
 
                 <para><function>sd_is_mq()</function> may be called to
                 check whether the specified file descriptor refers to
                 a POSIX message queue. If the
                 <parameter>path</parameter> to the initial 0 byte of
                 the socket address.</para>
 
                 <para><function>sd_is_mq()</function> may be called to
                 check whether the specified file descriptor refers to
                 a POSIX message queue. If the
-                <parameter>path</parameter> parameter is not NULL, it
-                is checked whether the message queue is bound to the
-                specified name.</para>
+                <parameter>path</parameter> parameter is not
+                <constant>NULL</constant>, it is checked whether the
+                message queue is bound to the specified name.</para>
+
+                <para><function>sd_is_special()</function> may be
+                called to check whether the specified file descriptor
+                refers to a special file. If the
+                <parameter>path</parameter> parameter is not
+                <constant>NULL</constant>, it is checked whether the file
+                descriptor is bound to the specified file
+                name. Special files in this context are character
+                device nodes and files in <filename>/proc</filename>
+                or <filename>/sys</filename>.</para>
         </refsect1>
 
         <refsect1>
         </refsect1>
 
         <refsect1>
 
                 <para>On failure, these calls return a negative
                 errno-style error code. If the file descriptor is of
 
                 <para>On failure, these calls return a negative
                 errno-style error code. If the file descriptor is of
-                the specified type and bound to the specified address
+                the specified type and bound to the specified address,
                 a positive return value is returned, otherwise
                 zero.</para>
         </refsect1>
                 a positive return value is returned, otherwise
                 zero.</para>
         </refsect1>
                 <para>These functions are provided by the reference
                 implementation of APIs for new-style daemons and
                 distributed with the systemd package. The algorithms
                 <para>These functions are provided by the reference
                 implementation of APIs for new-style daemons and
                 distributed with the systemd package. The algorithms
-                they implement are simple, and can easily be
+                they implement are simple, and they can easily be
                 reimplemented in daemons if it is important to support
                 this interface without using the reference
                 implementation.</para>
                 reimplemented in daemons if it is important to support
                 this interface without using the reference
                 implementation.</para>
                 <filename>getsockname()</filename> to check the file
                 descriptor type and where it is bound to.</para>
 
                 <filename>getsockname()</filename> to check the file
                 descriptor type and where it is bound to.</para>
 
-                <para>For details about the algorithms check the
+                <para>For details about the algorithms, check the
                 liberally licensed reference implementation sources:
                 liberally licensed reference implementation sources:
-                <ulink url="http://cgit.freedesktop.org/systemd/systemd/plain/src/sd-daemon.c"/>
-                resp. <ulink
+                <ulink url="http://cgit.freedesktop.org/systemd/systemd/plain/src/libsystemd-daemon/sd-daemon.c"/>
+                and <ulink
                 url="http://cgit.freedesktop.org/systemd/systemd/plain/src/systemd/sd-daemon.h"/></para>
 
                 <para><function>sd_is_fifo()</function> and the
                 related functions are implemented in the reference
                 implementation's <filename>sd-daemon.c</filename> and
                 <filename>sd-daemon.h</filename> files. These
                 url="http://cgit.freedesktop.org/systemd/systemd/plain/src/systemd/sd-daemon.h"/></para>
 
                 <para><function>sd_is_fifo()</function> and the
                 related functions are implemented in the reference
                 implementation's <filename>sd-daemon.c</filename> and
                 <filename>sd-daemon.h</filename> files. These
-                interfaces are available as shared library, which can
+                interfaces are available as shared library, which can
                 be compiled and linked to with the
                 be compiled and linked to with the
-                <literal>libsystemd-daemon</literal>
-                <citerefentry><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+                <constant>libsystemd-daemon</constant> <citerefentry><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry>
                 file. Alternatively, applications consuming these APIs
                 may copy the implementation into their source
                 tree. For more details about the reference
                 file. Alternatively, applications consuming these APIs
                 may copy the implementation into their source
                 tree. For more details about the reference
-                implementation see
-                <citerefentry><refentrytitle>sd_daemon</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
+                implementation, see
+                <citerefentry><refentrytitle>sd-daemon</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para>
 
                 <para>These functions continue to work as described,
                 even if -DDISABLE_SYSTEMD is set during
 
                 <para>These functions continue to work as described,
                 even if -DDISABLE_SYSTEMD is set during
                 <title>See Also</title>
                 <para>
                         <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
                 <title>See Also</title>
                 <para>
                         <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
-                        <citerefentry><refentrytitle>sd-daemon</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+                        <citerefentry><refentrytitle>sd-daemon</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
                         <citerefentry><refentrytitle>sd_listen_fds</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
                         <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
                         <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>
                         <citerefentry><refentrytitle>sd_listen_fds</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
                         <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
                         <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>