#include "io/Serial.h"
#include "config.h"
#include "fs/devices/Serial.h"
#include "std/stdio.h"
#include "std/stdlib.h"
#include "std/string.h"

VFS::Node* SerialDevice::create_new(const char* devname)
{
    VFS::Node* dev = new VFS::Node;
    dev->write_func = SerialDevice::write;
    dev->inode = 0;
    dev->length = 0;
    dev->type = VFS_DEVICE;
    dev->flags = 0;
    strncpy(dev->name, devname, sizeof(dev->name));
    return dev;
}

ssize_t SerialDevice::write(VFS::Node* node, size_t, size_t size, const char* buffer)
{
    if (!node) return -1;
    Serial::write(buffer, size);
    return (ssize_t)size;
}