X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=man%2Fsd_is_fifo.xml;h=17ecca833672be4c9c915eba1a9915ba14cf86cb;hb=799298d6513e7d40125c19d46578bb870d047db4;hp=6055893f507e650c322eabad5d26b6f792cbbbc0;hpb=8ab49c12dcab02d9d83e63a93676d4fc8f709516;p=elogind.git
diff --git a/man/sd_is_fifo.xml b/man/sd_is_fifo.xml
index 6055893f5..17ecca833 100644
--- a/man/sd_is_fifo.xml
+++ b/man/sd_is_fifo.xml
@@ -8,20 +8,21 @@
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
- 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 .
-->
-
+
sd_is_fifo
@@ -48,6 +49,7 @@
sd_is_socket_inet
sd_is_socket_unix
sd_is_mq
+ sd_is_special
Check the type of a file descriptor
@@ -83,7 +85,7 @@
int fd
int type
int listening
- const char* path
+ const char *path
size_t length
@@ -93,6 +95,12 @@
const char *path
+
+ int sd_is_special
+ int fd
+ const char *path
+
+
@@ -102,19 +110,22 @@
sd_is_fifo() may be called
to check whether the specified file descriptor refers
to a FIFO or pipe. If the path
- parameter is not NULL, it is checked whether the FIFO
- is bound to the specified file system path.
+ parameter is not NULL, it is
+ checked whether the FIFO is bound to the specified
+ file system path.
sd_is_socket() may be
called to check whether the specified file descriptor
- refers to a socket. It the
+ refers to a socket. If the
family parameter is not
- AF_UNSPEC it is checked whether the socket is of the
- specified family (AF_UNIX, AF_INET, ...). If the
- type parameter is not 0 it is
+ AF_UNSPEC, it is checked whether
+ the socket is of the specified family (AF_UNIX,
+ AF_INET, ...). If the
+ type parameter is not 0, it is
checked whether the socket is of the specified type
- (SOCK_STREAM, SOCK_DGRAM, ...). If the
- listening parameter is positive
+ (SOCK_STREAM,
+ SOCK_DGRAM, ...). If the
+ listening parameter is positive,
it is checked whether the socket is in accepting mode,
i.e. listen() has been called for
it. If listening is 0, it is
@@ -129,27 +140,37 @@
optionally checks the IPv4 or IPv6 port number the
socket is bound to, unless port
is zero. For this call family
- must be passed as either AF_UNSPEC, AF_INET or
- AF_INET6.
+ must be passed as either AF_UNSPEC, AF_INET, or
+ AF_INET6.
sd_is_socket_unix() is
- similar to sd_is_socket(), but
- optionally checks the AF_UNIX path the socket is bound
+ similar to sd_is_socket() but
+ optionally checks the AF_UNIX path the socket is bound
to, unless the path parameter
- is NULL. For normal file system AF_UNIX sockets set
- the length parameter to 0. For
- Linux abstract namespace sockets set the
+ is NULL. For normal file system AF_UNIX sockets,
+ set the length parameter to 0. For
+ Linux abstract namespace sockets, set the
length to the size of the
- address, including the initial 0 byte and set
+ address, including the initial 0 byte, and set the
path to the initial 0 byte of
the socket address.
sd_is_mq() may be called to
check whether the specified file descriptor refers to
a POSIX message queue. If the
- path parameter is not NULL, it
- is checked whether the message queue is bound to the
- specified name.
+ path parameter is not
+ NULL, it is checked whether the
+ message queue is bound to the specified name.
+
+ sd_is_special() may be
+ called to check whether the specified file descriptor
+ refers to a special file. If the
+ path parameter is not
+ NULL, 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 /proc
+ or /sys.
@@ -157,7 +178,7 @@
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.
@@ -165,49 +186,19 @@
Notes
- 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
- reimplemented in daemons if it is important to support
- this interface without using the reference
- implementation.
+
Internally, these function use a combination of
fstat() and
getsockname() to check the file
descriptor type and where it is bound to.
-
- For details about the algorithms check the
- liberally licensed reference implementation sources:
-
- resp.
-
- sd_is_fifo() and the
- related functions are implemented in the reference
- implementation's sd-daemon.c and
- sd-daemon.h files. These
- interfaces are available as shared library, which can
- be compiled and linked to with the
- libsystemd-daemon
- pkg-config1
- file. Alternatively, applications consuming these APIs
- may copy the implementation into their source
- tree. For more details about the reference
- implementation see
- sd_daemon7.
-
- These functions continue to work as described,
- even if -DDISABLE_SYSTEMD is set during
- compilation.
See Also
systemd1,
- sd-daemon7,
+ sd-daemon3,
sd_listen_fds3,
systemd.service5,
systemd.socket5