X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=man%2Fsd_is_fifo.xml;h=17ecca833672be4c9c915eba1a9915ba14cf86cb;hp=5eaf1585a2c14c0ae4825309dbfd31d2602d1d75;hb=a09abc4ae0bdc0200324eaa0416f23ff2170ec4e;hpb=74d005783e355acc784d123024e33bbb66ef9ef1 diff --git a/man/sd_is_fifo.xml b/man/sd_is_fifo.xml index 5eaf1585a..17ecca833 100644 --- a/man/sd_is_fifo.xml +++ b/man/sd_is_fifo.xml @@ -21,7 +21,8 @@ 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,21 +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. If the family parameter is not - AF_UNSPEC it is checked whether + 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 + 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 + 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 @@ -135,23 +144,33 @@ AF_INET6. sd_is_socket_unix() is - similar to sd_is_socket(), but + 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. @@ -159,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. @@ -167,42 +186,12 @@ 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: - - and - - 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-daemon3. - - These functions continue to work as described, - even if -DDISABLE_SYSTEMD is set during - compilation.