GNU libmicrohttpd  0.9.29
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
io.h
Go to the documentation of this file.
1 /*
2  This file is part of libmicrospdy
3  Copyright (C) 2013 Andrey Uzunov
4 
5  This program is free software: you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation, either version 3 of the License, or
8  (at your option) any later version.
9 
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License
16  along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18 
25 #ifndef IO_H
26 #define IO_H
27 
28 #include "platform.h"
29 #include "io_openssl.h"
30 #include "io_raw.h"
31 
32 
37 {
42 
47 
55 };
56 
57 
62 typedef void
64 
65 
71 typedef void
73 
74 
83 typedef int
84 (*SPDYF_IOInit) (struct SPDY_Daemon *daemon);
85 
86 
93 typedef void
94 (*SPDYF_IODeinit) (struct SPDY_Daemon *daemon);
95 
96 
104 typedef int
105 (*SPDYF_IONewSession) (struct SPDY_Session *session);
106 
107 
114 typedef void
115 (*SPDYF_IOCloseSession) (struct SPDY_Session *session);
116 
117 
129 typedef int
130 (*SPDYF_IORecv) (struct SPDY_Session *session,
131  void * buffer,
132  size_t size);
133 
134 
147 typedef int
148 (*SPDYF_IOSend) (struct SPDY_Session *session,
149  const void * buffer,
150  size_t size);
151 
152 
161 typedef int
162 (*SPDYF_IOIsPending) (struct SPDY_Session *session);
163 
164 
173 typedef int
174 (*SPDYF_IOBeforeWrite) (struct SPDY_Session *session);
175 
176 
186 typedef int
187 (*SPDYF_IOAfterWrite) (struct SPDY_Session *session,
188  int was_written);
189 
190 
199 int
201  enum SPDY_IO_SUBSYSTEM io_subsystem);
202 
203 
212 int
213 SPDYF_io_set_session(struct SPDY_Session *session,
214  enum SPDY_IO_SUBSYSTEM io_subsystem);
215 
216 #endif