24 lines
654 B
C++
24 lines
654 B
C++
|
#include "fs/devices/Uptime.h"
|
||
|
#include "std/stdio.h"
|
||
|
#include "std/stdlib.h"
|
||
|
#include "std/string.h"
|
||
|
#include "thread/PIT.h"
|
||
|
|
||
|
VFS::Node* UptimeDevice::create_new(const char* devname)
|
||
|
{
|
||
|
VFS::Node* dev = new VFS::Node;
|
||
|
dev->read_func = UptimeDevice::read;
|
||
|
dev->inode = 0;
|
||
|
dev->length = 0;
|
||
|
dev->type = VFS_DEVICE;
|
||
|
dev->flags = 0;
|
||
|
strncpy(dev->name, devname, sizeof(dev->name));
|
||
|
return dev;
|
||
|
}
|
||
|
|
||
|
ssize_t UptimeDevice::read(VFS::Node* node, size_t, size_t size, char* buffer)
|
||
|
{
|
||
|
if (!node) return -1;
|
||
|
snprintf(buffer, size + 1, "%ld", PIT::ms_since_boot); // FIXME: Support offseting this read
|
||
|
return (ssize_t)size;
|
||
|
}
|