Improve mbedtls_ssl_write() documentation

This commit is contained in:
Manuel Pégourié-Gonnard 2015-08-31 20:44:12 +02:00
parent a2cda6bfaf
commit 5f5e0ec3f1

View File

@ -2144,26 +2144,33 @@ int mbedtls_ssl_renegotiate( mbedtls_ssl_context *ssl );
int mbedtls_ssl_read( mbedtls_ssl_context *ssl, unsigned char *buf, size_t len ); int mbedtls_ssl_read( mbedtls_ssl_context *ssl, unsigned char *buf, size_t len );
/** /**
* \brief Write exactly 'len' application data bytes * \brief Try to write exactly 'len' application data bytes
*
* \warning This function will do partial writes in some cases. If the
* return value is non-negative but less than length, the
* function must be called again with updated arguments:
* buf + ret, len - ret (if ret is the return value) until
* it returns a value equal to the last 'len' argument.
* *
* \param ssl SSL context * \param ssl SSL context
* \param buf buffer holding the data * \param buf buffer holding the data
* \param len how many bytes must be written * \param len how many bytes must be written
* *
* \return the number of bytes written, * \return the number of bytes actually written (may be less than len),
* or a negative error code. * or MBEDTLS_ERR_SSL_WANT_WRITE of MBEDTLS_ERR_SSL_WANT_READ,
* or another negative error code.
* *
* \note When this function returns MBEDTLS_ERR_SSL_WANT_WRITE, * \note When this function returns MBEDTLS_ERR_SSL_WANT_WRITE/READ,
* it must be called later with the *same* arguments, * it must be called later with the *same* arguments,
* until it returns a positive value. * until it returns a positive value.
* *
* \note If the requested length is greater than the maximum * \note If the requested length is greater than the maximum
* fragment length (either the built-in limit or the one set * fragment length (either the built-in limit or the one set
* or negotiated with the peer), then: * or negotiated with the peer), then:
* - with TLS, less bytes than requested are written. (In * - with TLS, less bytes than requested are written.
* order to write larger messages, this function should be
* called in a loop.)
* - with DTLS, MBEDTLS_ERR_SSL_BAD_INPUT_DATA is returned. * - with DTLS, MBEDTLS_ERR_SSL_BAD_INPUT_DATA is returned.
* \c mbedtls_ssl_get_max_frag_len() may be used to query the
* active maximum fragment length.
*/ */
int mbedtls_ssl_write( mbedtls_ssl_context *ssl, const unsigned char *buf, size_t len ); int mbedtls_ssl_write( mbedtls_ssl_context *ssl, const unsigned char *buf, size_t len );