Code

utils strbuf: Added sdb_strbuf_read().
[sysdb.git] / src / include / utils / strbuf.h
index 6ad9e1e481fa84d7e1c0dff4f26b571159859118..ebbd9e3afff3dcc4bf143afa6019114c7cb4038f 100644 (file)
@@ -111,6 +111,19 @@ sdb_strbuf_memcpy(sdb_strbuf_t *strbuf, const void *data, size_t n);
 ssize_t
 sdb_strbuf_memappend(sdb_strbuf_t *strbuf, const void *data, size_t n);
 
+/*
+ * sdb_strbuf_read:
+ * Read from an open file-descriptor and append the data to the buffer. The
+ * function does not handle *any* read errors. This allows for more
+ * flexibility for the caller regarding the handling of EAGAIN or EWOULDBLOCK.
+ *
+ * Returns:
+ *  - the number of bytes read (zero on EOF)
+ *  - a negative value on error
+ */
+ssize_t
+sdb_strbuf_read(sdb_strbuf_t *strbuf, int fd, size_t n);
+
 /*
  * sdb_strbuf_chomp:
  * Remove all consecutive newline characters from the end of the string buffer