make log a bit verbose for some useful information
[lunaix-os.git] / lunaix-os / includes / lunaix / ds / rbuffer.h
index d45c9fdf0e405f6aea9889c987fea36e1165e5a0..ffbb99b0b7d873a029b94f0ec7ccc678229f0cdd 100644 (file)
@@ -30,11 +30,22 @@ int
 rbuffer_puts(struct rbuffer* rb, char* c, size_t len);
 
 int
-rbuffer_gets(struct rbuffer* rb, char* buf, size_t len);
+rbuffer_gets_opt(struct rbuffer* rb, char* buf, size_t len, bool consumed);
 
 int
 rbuffer_get(struct rbuffer* rb, char* c);
 
+static inline int
+rbuffer_gets(struct rbuffer* rb, char* buf, size_t len)
+{
+    return rbuffer_gets_opt(rb, buf, len, true);
+}
+
+static inline int
+rbuffer_gets_no_consume(struct rbuffer* rb, char* buf, size_t len)
+{
+    return rbuffer_gets_opt(rb, buf, len, false);
+}
 
 static inline void
 rbuffer_clear(struct rbuffer* rb)
@@ -48,6 +59,19 @@ rbuffer_empty(struct rbuffer* rb)
     return rb->len == 0;
 }
 
+static inline unsigned int
+rbuffer_len(struct rbuffer* rb)
+{
+    return rb->len;
+}
+
+static inline void
+rbuffer_setcontent(struct rbuffer* rb, size_t content_len)
+{
+    rb->ptr = content_len;
+    rb->len = content_len;
+}
+
 static inline bool
 rbuffer_full(struct rbuffer* rb)
 {