mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 16:27:35 +00:00
Kernel: Yet more work on bringing up POSIX SHM.
This commit is contained in:
parent
d6ff64db00
commit
60a819c14a
7 changed files with 97 additions and 9 deletions
|
@ -2,21 +2,31 @@
|
|||
|
||||
#include <AK/Retainable.h>
|
||||
#include <AK/RetainPtr.h>
|
||||
#include <AK/AKString.h>
|
||||
#include <Kernel/KResult.h>
|
||||
#include <Kernel/UnixTypes.h>
|
||||
|
||||
class VMObject;
|
||||
|
||||
class SharedMemory : public Retainable<SharedMemory> {
|
||||
public:
|
||||
static Retained<SharedMemory> create();
|
||||
static KResultOr<Retained<SharedMemory>> open(const String& name, int flags, mode_t);
|
||||
static KResult unlink(const String& name);
|
||||
~SharedMemory();
|
||||
|
||||
String name() const { return m_name; }
|
||||
KResult truncate(int);
|
||||
VMObject* vmo() { return m_vmo.ptr(); }
|
||||
const VMObject* vmo() const { return m_vmo.ptr(); }
|
||||
uid_t uid() const { return m_uid; }
|
||||
gid_t gid() const { return m_gid; }
|
||||
|
||||
private:
|
||||
SharedMemory();
|
||||
SharedMemory(const String& name, uid_t, gid_t, mode_t);
|
||||
|
||||
int m_uid { 0 };
|
||||
int m_gid { 0 };
|
||||
String m_name;
|
||||
uid_t m_uid { 0 };
|
||||
gid_t m_gid { 0 };
|
||||
mode_t m_mode { 0 };
|
||||
RetainPtr<VMObject> m_vmo;
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue