Serenity Operating System
1/*
2 * Copyright (c) 2021-2022, Andreas Kling <kling@serenityos.org>
3 *
4 * SPDX-License-Identifier: BSD-2-Clause
5 */
6
7#include <Kernel/FileSystem/AnonymousFile.h>
8#include <Kernel/Memory/AnonymousVMObject.h>
9#include <Kernel/Process.h>
10
11namespace Kernel {
12
13AnonymousFile::AnonymousFile(NonnullLockRefPtr<Memory::AnonymousVMObject> vmobject)
14 : m_vmobject(move(vmobject))
15{
16}
17
18AnonymousFile::~AnonymousFile() = default;
19
20ErrorOr<NonnullLockRefPtr<Memory::VMObject>> AnonymousFile::vmobject_for_mmap(Process&, Memory::VirtualRange const&, u64& offset, bool)
21{
22 if (offset != 0)
23 return EINVAL;
24
25 return m_vmobject;
26}
27
28ErrorOr<NonnullOwnPtr<KString>> AnonymousFile::pseudo_path(OpenFileDescription const&) const
29{
30 return KString::try_create(":anonymous-file:"sv);
31}
32
33}