chiark / gitweb /
update TODO
[elogind.git] / src / shared / ring.h
index 6b12530e31104ddf106cec76ed9e348fbac681fb..1210aabdf68762a2431844358f888573e71a9126 100644 (file)
@@ -27,7 +27,9 @@
 #include <string.h>
 #include <sys/uio.h>
 
-struct ring {
+typedef struct Ring Ring;
+
+struct Ring {
         uint8_t *buf;           /* buffer or NULL */
         size_t size;            /* actual size of @buf */
         size_t start;           /* start position of ring */
@@ -35,25 +37,25 @@ struct ring {
 };
 
 /* flush buffer so it is empty again */
-void ring_flush(struct ring *r);
+void ring_flush(Ring *r);
 
 /* flush buffer, free allocated data and reset to initial state */
-void ring_clear(struct ring *r);
+void ring_clear(Ring *r);
 
 /* get pointers to buffer data and their length */
-size_t ring_peek(struct ring *r, struct iovec *vec);
+size_t ring_peek(Ring *r, struct iovec *vec);
 
 /* copy data into external linear buffer */
-size_t ring_copy(struct ring *r, void *buf, size_t size);
+size_t ring_copy(Ring *r, void *buf, size_t size);
 
 /* push data to the end of the buffer */
-int ring_push(struct ring *r, const void *u8, size_t size);
+int ring_push(Ring *r, const void *u8, size_t size);
 
 /* pull data from the front of the buffer */
-void ring_pull(struct ring *r, size_t size);
+void ring_pull(Ring *r, size_t size);
 
 /* return size of occupied buffer in bytes */
-static inline size_t ring_get_size(struct ring *r)
+static inline size_t ring_get_size(Ring *r)
 {
         return r->used;
 }