00001 /* 00002 This file is part of libmicrospdy 00003 Copyright (C) 2013 Andrey Uzunov 00004 00005 This program is free software: you can redistribute it and/or modify 00006 it under the terms of the GNU General Public License as published by 00007 the Free Software Foundation, either version 3 of the License, or 00008 (at your option) any later version. 00009 00010 This program is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 GNU General Public License for more details. 00014 00015 You should have received a copy of the GNU General Public License 00016 along with this program. If not, see <http://www.gnu.org/licenses/>. 00017 */ 00018 00025 #ifndef IO_RAW_H 00026 #define IO_RAW_H 00027 00028 #include "platform.h" 00029 00030 00035 void 00036 SPDYF_raw_global_init(); 00037 00038 00044 void 00045 SPDYF_raw_global_deinit(); 00046 00047 00054 int 00055 SPDYF_raw_init(struct SPDY_Daemon *daemon); 00056 00057 00064 void 00065 SPDYF_raw_deinit(struct SPDY_Daemon *daemon); 00066 00067 00075 int 00076 SPDYF_raw_new_session(struct SPDY_Session *session); 00077 00078 00085 void 00086 SPDYF_raw_close_session(struct SPDY_Session *session); 00087 00088 00100 int 00101 SPDYF_raw_recv(struct SPDY_Session *session, 00102 void * buffer, 00103 size_t size); 00104 00105 00118 int 00119 SPDYF_raw_send(struct SPDY_Session *session, 00120 const void * buffer, 00121 size_t size); 00122 00123 00132 int 00133 SPDYF_raw_is_pending(struct SPDY_Session *session); 00134 00135 00143 int 00144 SPDYF_raw_before_write(struct SPDY_Session *session); 00145 00146 00155 int 00156 SPDYF_raw_after_write(struct SPDY_Session *session, int was_written); 00157 00158 #endif