Luna/kernel/src/binfmt/Script.h
apio 4c87d72b44
All checks were successful
continuous-integration/drone/push Build is passing
kernel/binfmt: Add documentation + support script interpreters being scripts themselves
2023-07-31 20:41:18 +02:00

26 lines
635 B
C++

#pragma once
#include "binfmt/BinaryFormat.h"
#include "fs/VFS.h"
#include "memory/AddressSpace.h"
class ScriptLoader : public BinaryFormatLoader
{
public:
Result<bool> sniff() override;
Result<u64> load(AddressSpace* space) override;
Result<Vector<String>> cmdline(const String& path, Vector<String> args) override;
StringView format() const override
{
return "script";
}
ScriptLoader(SharedPtr<VFS::Inode> inode, int recursion_level);
static Result<SharedPtr<BinaryFormatLoader>> create(SharedPtr<VFS::Inode> inode, void*, int);
private:
Vector<String> m_interpreter_cmdline;
};