socket.h revision 209e9dcd7b2f23b68ff93bf20fad025bc03219ac
8a77240a809197c92c0736c431b4b88947a7bac1Christian Maeder/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
09b431a868c79a92ae7c9bd141565f43f9034144Christian Maeder This file is part of systemd.
98890889ffb2e8f6f722b00e265a211f13b5a861Corneliu-Claudiu Prodescu Copyright 2010 Lennart Poettering
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski systemd is free software; you can redistribute it and/or modify it
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski under the terms of the GNU Lesser General Public License as published by
f3a94a197960e548ecd6520bb768cb0d547457bbChristian Maeder the Free Software Foundation; either version 2.1 of the License, or
09b431a868c79a92ae7c9bd141565f43f9034144Christian Maeder (at your option) any later version.
adea2e45fa61f1097aadc490a0aeaf4831b729ccChristian Maeder systemd is distributed in the hope that it will be useful, but
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski WITHOUT ANY WARRANTY; without even the implied warranty of
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
09b431a868c79a92ae7c9bd141565f43f9034144Christian Maeder Lesser General Public License for more details.
3d3889e0cefcdce9b3f43c53aaa201943ac2e895Jonathan von Schroeder You should have received a copy of the GNU Lesser General Public License
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski along with systemd; If not, see <http://www.gnu.org/licenses/>.
3d3889e0cefcdce9b3f43c53aaa201943ac2e895Jonathan von Schroeder SOCKET_FAILURE_SERVICE_FAILED_PERMANENT,
09b431a868c79a92ae7c9bd141565f43f9034144Christian Maeder ExecCommand* exec_command[_SOCKET_EXEC_COMMAND_MAX];
3d3889e0cefcdce9b3f43c53aaa201943ac2e895Jonathan von Schroeder /* For Accept=no sockets refers to the one service we'll
a98fd29a06e80e447af26d898044c23497adbc73Mihai Codescu activate. For Accept=yes sockets is either NULL, or filled
a98fd29a06e80e447af26d898044c23497adbc73Mihai Codescu when the next service we spawn. */
df11e5eab86d8247f58e301d8f0a2c6ecf4c9541Till Mossakowski /* Socket options */
3d3889e0cefcdce9b3f43c53aaa201943ac2e895Jonathan von Schroeder /* Only for INET6 sockets: issue IPV6_V6ONLY sockopt */
3d3889e0cefcdce9b3f43c53aaa201943ac2e895Jonathan von Schroeder SocketAddressBindIPv6Only bind_ipv6_only;
09b431a868c79a92ae7c9bd141565f43f9034144Christian Maeder/* Called from the service code when collecting fds */
c911a0ec80ca4a178399c68f1e28be4e2bf42fceChristian Maederint socket_collect_fds(Socket *s, int **fds, unsigned *n_fds);
556f473448dfcceee22afaa89ed7a364489cdbbbChristian Maeder/* Called from the service code when a per-connection service ended */
09b431a868c79a92ae7c9bd141565f43f9034144Christian Maederconst char* socket_state_to_string(SocketState i) _const_;
09b431a868c79a92ae7c9bd141565f43f9034144Christian MaederSocketState socket_state_from_string(const char *s) _pure_;
09b431a868c79a92ae7c9bd141565f43f9034144Christian Maederconst char* socket_exec_command_to_string(SocketExecCommand i) _const_;
c8117ae0b6088d835211e494aef229558c814bd3cmaederSocketExecCommand socket_exec_command_from_string(const char *s) _pure_;
4d7d53fec6b551333c79da6ae3b8ca2af0a741abChristian Maederconst char* socket_result_to_string(SocketResult i) _const_;
09b431a868c79a92ae7c9bd141565f43f9034144Christian MaederSocketResult socket_result_from_string(const char *s) _pure_;