Remove unneeded stuff.
[gnutls.git] / lib / gnutls_buffers.h
blobda9faca036a08e6f927381adef51d79b44e4e6c8
1 /*
2 * Copyright (C) 2000-2011 Free Software Foundation, Inc.
4 * Author: Nikos Mavrogiannopoulos
6 * This file is part of GnuTLS.
8 * The GnuTLS is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public License
10 * as published by the Free Software Foundation; either version 3 of
11 * the License, or (at your option) any later version.
13 * This library is distributed in the hope that it will be useful, but
14 * WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
18 * You should have received a copy of the GNU Lesser General Public License
19 * along with this program. If not, see <http://www.gnu.org/licenses/>
22 #ifndef GNUTLS_BUFFERS_H
23 #define GNUTLS_BUFFERS_H
25 #define MBUFFER_FLUSH 1
27 int
28 _gnutls_record_buffer_put (gnutls_session_t session,
29 content_type_t type, uint64* seq, mbuffer_st* bufel);
31 inline static int
32 _gnutls_record_buffer_get_size (content_type_t type, gnutls_session_t session)
34 return session->internals.record_buffer.byte_length;
37 int _gnutls_record_buffer_get (content_type_t type,
38 gnutls_session_t session, opaque * data,
39 size_t length, opaque seq[8]);
40 ssize_t _gnutls_io_read_buffered (gnutls_session_t, size_t n, content_type_t);
41 int _gnutls_io_clear_peeked_data (gnutls_session_t session);
43 ssize_t _gnutls_io_write_buffered (gnutls_session_t session,
44 mbuffer_st * bufel, unsigned int mflag);
46 int _gnutls_handshake_io_cache_int (gnutls_session_t,
47 gnutls_handshake_description_t,
48 mbuffer_st * bufel);
50 ssize_t
51 _gnutls_handshake_io_recv_int (gnutls_session_t session,
52 gnutls_handshake_description_t htype,
53 handshake_buffer_st * hsk);
55 ssize_t _gnutls_io_write_flush (gnutls_session_t session);
56 int
57 _gnutls_io_check_recv (gnutls_session_t session, unsigned int ms);
58 ssize_t _gnutls_handshake_io_write_flush (gnutls_session_t session);
60 inline static void _gnutls_handshake_buffer_clear(handshake_buffer_st* hsk)
62 _gnutls_buffer_clear(&hsk->data);
63 hsk->htype = -1;
66 inline static void _gnutls_handshake_buffer_init(handshake_buffer_st* hsk)
68 memset(hsk, 0, sizeof(*hsk));
69 _gnutls_buffer_init(&hsk->data);
70 hsk->htype = -1;
73 inline static void _gnutls_handshake_recv_buffer_clear(gnutls_session_t session)
75 int i;
76 for (i=0;i<session->internals.handshake_recv_buffer_size;i++)
77 _gnutls_handshake_buffer_clear(&session->internals.handshake_recv_buffer[i]);
78 session->internals.handshake_recv_buffer_size = 0;
81 inline static void _gnutls_handshake_recv_buffer_init(gnutls_session_t session)
83 int i;
84 for (i=0;i<MAX_HANDSHAKE_MSGS;i++)
86 _gnutls_handshake_buffer_init(&session->internals.handshake_recv_buffer[i]);
88 session->internals.handshake_recv_buffer_size = 0;
91 ssize_t
92 _gnutls_recv_in_buffers (gnutls_session_t session, content_type_t type,
93 gnutls_handshake_description_t htype);
95 #define _gnutls_handshake_io_buffer_clear( session) \
96 _mbuffer_head_clear( &session->internals.handshake_send_buffer); \
97 _gnutls_handshake_recv_buffer_clear( session);
99 #endif