Luna/kernel/src/fs/devices/NullDevice.cpp

34 lines
821 B
C++

#include "fs/devices/NullDevice.h"
#include "std/stdio.h"
#include "std/stdlib.h"
#include "std/string.h"
extern uint64_t clock_boot();
VFS::Node* NullDevice::create_new(const char* devname)
{
VFS::Node* dev = new VFS::Node;
dev->write_func = NullDevice::write;
dev->read_func = NullDevice::read;
dev->inode = 0;
dev->length = 0;
dev->type = VFS_DEVICE;
dev->flags = 0;
dev->uid = dev->gid = 0;
dev->mode = 0666;
dev->atime = dev->ctime = dev->mtime = clock_boot();
strncpy(dev->name, devname, sizeof(dev->name));
return dev;
}
ssize_t NullDevice::write(VFS::Node* node, size_t, size_t size, const char*)
{
if (!node) return -1;
return (ssize_t)size;
}
ssize_t NullDevice::read(VFS::Node* node, size_t, size_t, char*)
{
if (!node) return -1;
return 0;
}