diff options
Diffstat (limited to 'src/examples/mhd2spdy_spdy.h')
-rw-r--r-- | src/examples/mhd2spdy_spdy.h | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/src/examples/mhd2spdy_spdy.h b/src/examples/mhd2spdy_spdy.h new file mode 100644 index 00000000..4207c622 --- /dev/null +++ b/src/examples/mhd2spdy_spdy.h @@ -0,0 +1,102 @@ +/* + Copyright Copyright (C) 2013 Andrey Uzunov + + This program 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 3 of the License, or + (at your option) any later version. + + This program 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 this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +/** + * @file mhd2spdy_spdy.h + * @brief SPDY part of the proxy. libspdylay is used for the client side. + * @author Andrey Uzunov + */ + +#ifndef SPDY_H +#define SPDY_H + +#include "mhd2spdy_structures.h" + + +struct SPDY_Connection * +spdy_connect(const struct URI *uri, + uint16_t port, + bool is_tls); + + +void +spdy_ctl_poll(struct pollfd *pollfd, + struct SPDY_Connection *connection); + + +bool +spdy_ctl_select(fd_set * read_fd_set, + fd_set * write_fd_set, + fd_set * except_fd_set, + struct SPDY_Connection *connection); + + +int +spdy_exec_io(struct SPDY_Connection *connection); + + +void +spdy_diec(const char *func, + int error_code); + + +int +spdy_request(const char **nv, + struct Proxy *proxy, + bool with_body); + + +void +spdy_ssl_init_ssl_ctx(SSL_CTX *ssl_ctx, + uint16_t *spdy_proto_version); + + +void +spdy_free_connection(struct SPDY_Connection * connection); + + +void +spdy_get_pollfdset(struct pollfd fds[], + struct SPDY_Connection *connections[], + unsigned int max_size, + nfds_t *real_size); + + +int +spdy_get_selectfdset(fd_set * read_fd_set, + fd_set * write_fd_set, + fd_set * except_fd_set, + struct SPDY_Connection *connections[], + unsigned int max_size, + nfds_t *real_size); + + +void +spdy_run(struct pollfd fds[], + struct SPDY_Connection *connections[], + int size); + + +void +spdy_run_select(fd_set * read_fd_set, + fd_set * write_fd_set, + fd_set * except_fd_set, + struct SPDY_Connection *connections[], + int size); + + +#endif |