X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=socket-util.h;h=14192167aa861ca6d35d1cd0c507d26ee9b6f081;hp=1f939ae2d5c52bc72785ad9996352a6b1e9b3d83;hb=e3d1855bb991f7b118b77e6a2520eb4049cf5438;hpb=83c60c9f0c7581b607dc5c0f84582978894e3d4a diff --git a/socket-util.h b/socket-util.h index 1f939ae2d..14192167a 100644 --- a/socket-util.h +++ b/socket-util.h @@ -3,9 +3,29 @@ #ifndef foosocketutilhfoo #define foosocketutilhfoo +/*** + This file is part of systemd. + + 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 + (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. + + You should have received a copy of the GNU General Public License + along with systemd; If not, see . +***/ + #include #include #include +#include #include "macro.h" #include "util.h" @@ -38,6 +58,22 @@ typedef enum SocketAddressBindIPv6Only { int socket_address_parse(SocketAddress *a, const char *s); int socket_address_print(const SocketAddress *a, char **p); int socket_address_verify(const SocketAddress *a); -int socket_address_listen(const SocketAddress *a, int backlog, SocketAddressBindIPv6Only only, int *ret); + +bool socket_address_can_accept(const SocketAddress *a); + +int socket_address_listen( + const SocketAddress *a, + int backlog, + SocketAddressBindIPv6Only only, + const char *bind_to_device, + mode_t directory_mode, + mode_t socket_mode, + int *ret); + +bool socket_address_is(const SocketAddress *a, const char *s); + +bool socket_address_equal(const SocketAddress *a, const SocketAddress *b); + +bool socket_address_needs_mount(const SocketAddress *a, const char *prefix); #endif