mirror of
https://github.com/mmueller41/genode.git
synced 2026-01-21 12:32:56 +01:00
39 lines
1.2 KiB
C++
39 lines
1.2 KiB
C++
/*
|
|
* \brief Cell-session interface
|
|
* \author Michael Müller
|
|
* \date 2025-02-17
|
|
*/
|
|
|
|
/*
|
|
* Copyright (C) 2025 Michael Müller, Osnabrück University
|
|
*
|
|
* This file is part of the EalánOS research operating system, which is distributed
|
|
* under the terms of the GNU Affero General Public License version 3.
|
|
*/
|
|
|
|
#ifndef __EALANOS_HABITAT_SESSION_H_
|
|
#define __EALANOS_HABITAT_SESSION_H_
|
|
|
|
/* Genode includes */
|
|
#include <base/rpc_args.h>
|
|
#include <session/session.h>
|
|
#include <pd_session/pd_session.h>
|
|
#include <cell/cell.h>
|
|
|
|
namespace Ealan { struct Habitat_session; }
|
|
|
|
struct Ealan::Habitat_session : Genode::Session
|
|
{
|
|
static const char *service_name() { return "Habitat"; }
|
|
|
|
enum { CAP_QUOTA = 1, RAM_QUOTA = 1024 };
|
|
|
|
/**
|
|
* Attach cell info page to the cells virtual memory space
|
|
*/
|
|
virtual Cell_capability create_cell(Genode::Capability<Genode::Pd_session> pd, Genode::Affinity &affinity, Genode::uint16_t prio, Genode::Session_label const &label) = 0;
|
|
|
|
GENODE_RPC(Rpc_create_cell, Cell_capability, create_cell, Genode::Capability<Genode::Pd_session>, Genode::Affinity &, Genode::uint16_t, Genode::Session_label const &);
|
|
GENODE_RPC_INTERFACE(Rpc_create_cell);
|
|
};
|
|
#endif |