26 lines
561 B
C
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;
|
|
}
|