X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=man%2Fsd_is_fifo.xml;h=17ecca833672be4c9c915eba1a9915ba14cf86cb;hp=595c8f112d9834fd2d6fc50c6d4fd42d200e9b97;hb=edf2573743b25273bee020230a60f1a054b8ec60;hpb=bb31a4ac1997c189a344caf554f34c6aabc71aa7 diff --git a/man/sd_is_fifo.xml b/man/sd_is_fifo.xml index 595c8f112..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,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. 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,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.