obj: add read() and write() object callbacks

This commit is contained in:
2023-05-14 21:11:32 +01:00
parent 0238008986
commit d02d05d922
10 changed files with 91 additions and 28 deletions

View File

@@ -14,11 +14,6 @@ struct ringbuffer {
struct waitqueue r_wait_writers;
};
enum ringbuffer_flags {
RB_NORMAL = 0x00u,
RB_NOBLOCK = 0x01u,
};
extern struct ringbuffer *ringbuffer_create(size_t size);
extern void ringbuffer_destroy(struct ringbuffer *buf);
@@ -27,8 +22,8 @@ extern kern_status_t ringbuffer_deinit(struct ringbuffer *buf);
extern size_t ringbuffer_unread(struct ringbuffer *buf);
extern size_t ringbuffer_avail(struct ringbuffer *buf);
extern size_t ringbuffer_read(struct ringbuffer *buf, size_t size, void *buffer, enum ringbuffer_flags flags);
extern size_t ringbuffer_write(struct ringbuffer *buf, size_t size, const void *buffer, enum ringbuffer_flags flags);
extern size_t ringbuffer_read(struct ringbuffer *buf, size_t size, void *buffer, socks_flags_t flags);
extern size_t ringbuffer_write(struct ringbuffer *buf, size_t size, const void *buffer, socks_flags_t flags);
extern int ringbuffer_write_would_block(struct ringbuffer *buf);