pseudodevices: handle seek

This commit is contained in:
Matheus
2024-09-01 19:05:15 -03:00
parent 0b54ccb96a
commit 9be6ff345c
+13 -4
View File
@@ -24,6 +24,11 @@ static int null_read(int minor, void *buffer, size_t count, uintmax_t offset, in
return 0; return 0;
} }
static int maxseek(int minor, size_t *max) {
*max = 0;
return 0;
}
static long current = 0xdeadbeefbadc0ffe; static long current = 0xdeadbeefbadc0ffe;
static uint8_t getrand8() { static uint8_t getrand8() {
@@ -42,22 +47,26 @@ static int urandom_read(int minor, void *_buffer, size_t count, uintmax_t offset
static devops_t nullops = { static devops_t nullops = {
.read = null_read, .read = null_read,
.write = null_write .write = null_write,
.maxseek = maxseek
}; };
static devops_t fullops = { static devops_t fullops = {
.read = zero_read, .read = zero_read,
.write = full_write .write = full_write,
.maxseek = maxseek
}; };
static devops_t zeroops = { static devops_t zeroops = {
.read = zero_read, .read = zero_read,
.write = null_write .write = null_write,
.maxseek = maxseek
}; };
static devops_t urandomops = { static devops_t urandomops = {
.read = urandom_read, .read = urandom_read,
.write = null_write .write = null_write,
.maxseek = maxseek
}; };
void pseudodevices_init() { void pseudodevices_init() {