blob: 9ee9e9abb3b22bed93c9903cfbccab3e604d1089 [file] [log] [blame]
Willy Tarreau59f98392012-07-06 14:13:49 +02001/*
2 * include/proto/connection.h
3 * This file contains connection function prototypes
4 *
5 * Copyright (C) 2000-2012 Willy Tarreau - w@1wt.eu
6 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation, version 2.1
10 * exclusively.
11 *
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20 */
21
22#ifndef _PROTO_CONNECTION_H
23#define _PROTO_CONNECTION_H
24
25#include <common/config.h>
26#include <types/connection.h>
27
28/* I/O callback for fd-based connections. It calls the read/write handlers
29 * provided by the connection's sock_ops. Returns FD_WAIT_*.
30 */
31int conn_fd_handler(int fd);
32
Willy Tarreau8b117082012-08-06 15:06:49 +020033/* Calls the close() function of the data layer if any */
34static inline void conn_data_close(struct connection *conn)
35{
Willy Tarreau4a36b562012-08-06 19:31:45 +020036 if (conn->data && conn->data->close)
Willy Tarreau8b117082012-08-06 15:06:49 +020037 conn->data->close(conn);
38}
39
40
Willy Tarreau59f98392012-07-06 14:13:49 +020041#endif /* _PROTO_CONNECTION_H */
42
43/*
44 * Local variables:
45 * c-indent-level: 8
46 * c-basic-offset: 8
47 * End:
48 */