gemhadar/lib/fd_io.c
2024-06-20 14:52:28 +01:00

26 lines
561 B
C

#include "io_abs.h"
#include <unistd.h>
static ssize_t fd_reader_read(void *ctx, uint8_t *buf, size_t len)
{
return read((intptr_t)ctx, buf, len);
}
void fd_reader(int fd, struct io_reader *reader_out)
{
reader_out->ctx = (void *)(intptr_t)fd;
reader_out->read = fd_reader_read;
}
static ssize_t fd_writer_write(void *ctx, const uint8_t *buf, size_t len)
{
return write((intptr_t)ctx, buf, len);
}
void fd_writer(int fd, struct io_writer *writer_out)
{
writer_out->ctx = (void *)(intptr_t)fd;
writer_out->write = fd_writer_write;
}