diff options
author | Martin Willi <martin@revosec.ch> | 2013-02-14 17:06:07 +0100 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2013-02-14 17:06:07 +0100 |
commit | 8b56943222a0ec3e45f10186d6f6700583783be9 (patch) | |
tree | 84988f45916036348bae0be64a6bde50a2756f4f /src/libtls/tls_socket.h | |
parent | 46ae05dd174403d406fcfee2328a2b3b6f4c0eff (diff) | |
parent | 16ef69d70a1c8d767ff690c5062a4837617da5d7 (diff) | |
download | strongswan-8b56943222a0ec3e45f10186d6f6700583783be9.tar.bz2 strongswan-8b56943222a0ec3e45f10186d6f6700583783be9.tar.xz |
Merge branch 'pt-tls'
Diffstat (limited to 'src/libtls/tls_socket.h')
-rw-r--r-- | src/libtls/tls_socket.h | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/src/libtls/tls_socket.h b/src/libtls/tls_socket.h index edd05fd29..4ddddc19e 100644 --- a/src/libtls/tls_socket.h +++ b/src/libtls/tls_socket.h @@ -35,24 +35,27 @@ typedef struct tls_socket_t tls_socket_t; struct tls_socket_t { /** - * Read data from secured socket, return allocated chunk. + * Read data from secured socket. * * This call is blocking, you may use select() on the underlying socket to - * wait for data. If the there was non-application data available, the - * read function can return an empty chunk. + * wait for data. If "block" is FALSE and no application data is available, + * the function returns -1 and sets errno to EWOULDBLOCK. * - * @param data pointer to allocate received data - * @return TRUE if data received successfully + * @param buf buffer to write received data to + * @param len size of buffer + * @param block TRUE to block this call, FALSE to fail if it would block + * @return number of bytes read, 0 on EOF, -1 on error */ - bool (*read)(tls_socket_t *this, chunk_t *data); + ssize_t (*read)(tls_socket_t *this, void *buf, size_t len, bool block); /** - * Write a chunk of data over the secured socket. + * Write data over the secured socket. * - * @param data data to send - * @return TRUE if data sent successfully + * @param buf data to send + * @param len number of bytes to write from buf + * @return number of bytes written, -1 on error */ - bool (*write)(tls_socket_t *this, chunk_t data); + ssize_t (*write)(tls_socket_t *this, void *buf, size_t len); /** * Read/write plain data from file descriptor. |