36 lines
581 B
C
36 lines
581 B
C
#include <stdint.h>
|
|
#include <unistd.h>
|
|
#include <stupidfs.h>
|
|
#include <stdio.h>
|
|
|
|
size_t
|
|
fs_bio_raw_write(int fd, uint32_t blocknum, void *data, size_t size)
|
|
{
|
|
if (size > STPDFS_BLOCK_SIZE)
|
|
{
|
|
return (-1);
|
|
}
|
|
|
|
if (lseek(fd, blocknum * STPDFS_BLOCK_SIZE, SEEK_SET) == -1)
|
|
{
|
|
return (-1);
|
|
}
|
|
|
|
return (write(fd, data, size));
|
|
}
|
|
|
|
size_t
|
|
fs_bio_raw_read(int fd, uint32_t blocknum, void *data, size_t size)
|
|
{
|
|
if (size > STPDFS_BLOCK_SIZE)
|
|
{
|
|
return (-1);
|
|
}
|
|
|
|
if (lseek(fd, blocknum * STPDFS_BLOCK_SIZE, SEEK_SET) == -1)
|
|
{
|
|
return (-1);
|
|
}
|
|
|
|
return (read(fd, data, size));
|
|
}
|