Removed obsolete functions to read from the initrd.

Use the initrd filesystem instead.
This commit is contained in:
Jonas 'Sortie' Termansen 2011-12-04 15:38:02 +01:00
parent 635a49644a
commit 3b8bf9419d
3 changed files with 0 additions and 71 deletions

View File

@ -27,18 +27,9 @@
namespace Maxsi
{
struct FileInfo
{
mode_t permissions;
char name[128];
};
namespace Process
{
int Execute(const char* filepath, int argc, const char** argv);
void PrintPathFiles();
size_t GetNumFiles();
int GetFileInfo(size_t index, FileInfo* fileinfo);
void Abort();
void Exit(int code);
pid_t Fork();

View File

@ -32,12 +32,9 @@ namespace Maxsi
{
DEFN_SYSCALL1_VOID(SysExit, 1, int);
DEFN_SYSCALL4(int, SysExecVE, 10, const char*, int, char* const*, char* const*);
DEFN_SYSCALL0_VOID(SysPrintPathFiles, 11);
DEFN_SYSCALL0(pid_t, SysFork, 12);
DEFN_SYSCALL0(pid_t, SysGetPID, 13);
DEFN_SYSCALL0(pid_t, SysGetParentPID, 14);
DEFN_SYSCALL2(int, SysGetFileInfo, 15, size_t, FileInfo*);
DEFN_SYSCALL0(size_t, SysGetNumFiles, 16);
DEFN_SYSCALL3(pid_t, SysWait, 17, pid_t, int*, int);
int Execute(const char* filepath, int argc, const char** argv)
@ -45,21 +42,6 @@ namespace Maxsi
return SysExecVE(filepath, argc, (char* const*) argv, NULL);
}
void PrintPathFiles()
{
SysPrintPathFiles();
}
size_t GetNumFiles()
{
return SysGetNumFiles();
}
int GetFileInfo(size_t index, FileInfo* fileinfo)
{
return SysGetFileInfo(index, fileinfo);
}
void Abort()
{
// TODO: Send SIGABRT instead!

View File

@ -39,28 +39,11 @@ namespace Sortix
byte* initrd;
size_t initrdsize;
void SysPrintPathFiles()
{
Header* header = (Header*) initrd;
FileHeader* fhtbl = (FileHeader*) (initrd + sizeof(Header));
for ( uint32_t i = 0; i < header->numfiles; i++ )
{
FileHeader* fileheader = &(fhtbl[i]);
Log::PrintF("%s\n", fileheader->name);
}
}
size_t GetNumFiles()
{
Header* header = (Header*) initrd;
return header->numfiles;
}
size_t SysGetNumFiles()
{
return GetNumFiles();
}
const char* GetFilename(size_t index)
{
Header* header = (Header*) initrd;
@ -70,29 +53,6 @@ namespace Sortix
return fileheader->name;
}
struct FileInfo
{
mode_t permissions;
char name[128];
};
int SysGetFileInfo(size_t index, FileInfo* fileinfo)
{
Header* header = (Header*) initrd;
if ( index >= header->numfiles ) { return -1; }
FileHeader* fhtbl = (FileHeader*) (initrd + sizeof(Header));
FileHeader* fileheader = &(fhtbl[index]);
// TODO: Check that fileinfo is a userspace writable buffer.
STATIC_ASSERT(sizeof(fileheader->name) == sizeof(fileinfo->name));
fileinfo->permissions = fileheader->permissions;
Maxsi::Memory::Copy(fileinfo->name, fileheader->name, sizeof(fileheader->name));
return 0;
}
uint8_t ContinueChecksum(uint8_t checksum, const void* p, size_t size)
{
const uint8_t* buffer = (const uint8_t*) p;
@ -123,10 +83,6 @@ namespace Sortix
"when checking the ramdisk at 0x%p + 0x%zx bytes\n",
checksum, trailer->sum, initrd, initrdsize);
}
Syscall::Register(SYSCALL_PRINT_PATH_FILES, (void*) SysPrintPathFiles);
Syscall::Register(SYSCALL_GET_FILEINFO, (void*) SysGetFileInfo);
Syscall::Register(SYSCALL_GET_NUM_FILES, (void*) SysGetNumFiles);
}
byte* Open(const char* filepath, size_t* size)