Index: uspace/lib/http/include/http/receive-buffer.h
===================================================================
--- uspace/lib/http/include/http/receive-buffer.h	(revision 16bfcd3dd8e60cc153482fb448ef8388600e599b)
+++ uspace/lib/http/include/http/receive-buffer.h	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
@@ -46,7 +46,8 @@
  * @param buf buffer to store the data
  * @param buf_size buffer size
- * @return number of bytes received or negative error code
+ * @param nrecv number of bytes actually received
+ * @return EOK on success or error code
  */
-typedef ssize_t (*receive_func_t)(void *, void *, size_t);
+typedef int (*receive_func_t)(void *, void *, size_t, size_t *);
 
 typedef struct {
@@ -81,10 +82,10 @@
     receive_buffer_mark_t *, char **);
 extern int recv_char(receive_buffer_t *, char *, bool);
-extern ssize_t recv_buffer(receive_buffer_t *, char *, size_t);
-extern ssize_t recv_discard(receive_buffer_t *, char);
-extern ssize_t recv_discard_str(receive_buffer_t *, const char *);
-extern ssize_t recv_while(receive_buffer_t *, char_class_func_t);
-extern ssize_t recv_eol(receive_buffer_t *);
-extern ssize_t recv_line(receive_buffer_t *, char *, size_t);
+extern int recv_buffer(receive_buffer_t *, char *, size_t, size_t *);
+extern int recv_discard(receive_buffer_t *, char, size_t *);
+extern int recv_discard_str(receive_buffer_t *, const char *, size_t *);
+extern int recv_while(receive_buffer_t *, char_class_func_t);
+extern int recv_eol(receive_buffer_t *, size_t *);
+extern int recv_line(receive_buffer_t *, char *, size_t, size_t *);
 
 #endif
