diff options
author | Alfredo Pironti <alfredo@pironti.eu> | 2013-01-24 14:17:57 +0100 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2013-01-25 21:25:10 +0100 |
commit | e7f1c63f7ed88c6efb6703a69a84b57223ba4158 (patch) | |
tree | ae30d6d1385f090619b07694714dddc5349c1fd9 /lib/gnutls_range.c | |
parent | 5c3390189c32db0452841c89bb47e20d1a3c84f2 (diff) | |
download | gnutls-e7f1c63f7ed88c6efb6703a69a84b57223ba4158.tar.gz |
Make gnutls_range_split available from the GnuTLS API
Diffstat (limited to 'lib/gnutls_range.c')
-rw-r--r-- | lib/gnutls_range.c | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/lib/gnutls_range.c b/lib/gnutls_range.c index ebfc59b4cd..8448843633 100644 --- a/lib/gnutls_range.c +++ b/lib/gnutls_range.c @@ -137,11 +137,27 @@ gnutls_record_can_use_length_hiding (gnutls_session_t session) } } -static ssize_t -_gnutls_range_split (gnutls_session_t session, - const gnutls_range_st orig, - gnutls_range_st * small_range, - gnutls_range_st * rem_range) +/** + * gnutls_range_split: + * @session: is a #gnutls_session_t structure + * @orig: is the original range provided by the user + * @small_range: is the returned range that can be conveyed in a TLS record + * @rem_range: is the returned remaining range + * + * Use this function to split an arbitrary range into a smaller range + * that can be conveyed into a single TLS record fragment, and + * a remaining range, on which this function can be invoked again. + * When the returned #rem_range is (0,0) the splitting process can terminate. + * + * Returns: 0 in case splitting succeeds, non zero in case of error. + * Note that #orig is not changed, while the values of #small_range + * and #rem_range are modified to store the resulting values. + */ +ssize_t +gnutls_range_split (gnutls_session_t session, + const gnutls_range_st orig, + gnutls_range_st * small_range, + gnutls_range_st * rem_range) { int ret; ssize_t max_frag = MAX_USER_SEND_SIZE (session); @@ -240,7 +256,7 @@ gnutls_record_send_range (gnutls_session_t session, const void *data, while (cur_range.high != 0) { ret = - _gnutls_range_split (session, cur_range, &cur_range, + gnutls_range_split (session, cur_range, &cur_range, &next_range); if (ret < 0) { |