NOVA User-Level Environment
Version testbox/changed-memory-timing-317-g320d8b5
|
#include <service_admission.h>
Classes | |
struct | para |
Public Types | |
enum | { TYPE_SC_ALLOC = ParentProtocol::TYPE_GENERIC_END, TYPE_SC_USAGE, TYPE_GET_USAGE_CAP, TYPE_REBIND_USAGE_CAP, TYPE_SET_NAME, TYPE_SC_PUSH } |
typedef struct AdmissionProtocol::para | sched |
![]() | |
enum | { CAP_PSEUDONYM, CAP_LOCK, CAP_SERVER_SESSION, CAP_SERVER_PT } |
Client capabilities used to talk to the service. More... | |
![]() | |
enum | { TYPE_INVALID = 0, TYPE_OPEN, TYPE_CLOSE, TYPE_GENERIC_END, TYPE_GET_PORTAL, TYPE_REGISTER, TYPE_UNREGISTER, TYPE_GET_QUOTA, TYPE_SINGLETON, TYPE_REQ_KILL, TYPE_SIGNAL } |
Protocol operations (message types). More... | |
enum | { CAP_CHILD_ID = Config::CAP_PARENT_BEGIN, CAP_SC_USAGE, CAP_CHILD_EC, CAP_PARENT_ID, CAP_PT_PERCPU, CAP_PT_IDLE_SCS = CAP_PT_PERCPU + Config::MAX_CPUS } |
Capabilities used by parent to construct child. More... |
Public Member Functions | |
unsigned | alloc_sc (Utcb &utcb, unsigned idx_ec, struct para p, unsigned cpu, char const *name) |
unsigned | get_statistics (Utcb &utcb, cap_sel client, uint64 &con_time, const char *name="") |
unsigned | rebind_usage_cap (Utcb &utcb, cap_sel client) |
unsigned | get_usage_cap (Utcb &utcb, cap_sel client) |
unsigned | get_pseudonym (Utcb &utcb, unsigned client_id) |
unsigned | set_name (Utcb &utcb, char const *name, unsigned long name_len=~0UL) |
AdmissionProtocol (unsigned cap_base, unsigned instance=0, bool blocking=true) | |
![]() | |
unsigned | call_server (Utcb &utcb, bool drop_frame) |
Call the server in a loop to resolve all faults. | |
unsigned | call_server_drop (Utcb &utcb) |
unsigned | call_server_keep (Utcb &utcb) |
template<class T > | |
void | destroy (Utcb &utcb, unsigned portal_num, T *obj) |
Destroy the object. | |
void | close (Utcb &utcb, unsigned portal_num, bool revoke_lock=true, bool _release_pseudonym=true) |
Close the session to the parent. | |
unsigned | get_notify_sm () |
Utcb & | init_frame (Utcb &utcb, unsigned op) |
GenericProtocol (const char *service, unsigned instance, unsigned cap_base, bool blocking, unsigned session_base=~0u) | |
![]() | |
static_assert ((CAP_PT_PERCPU+Config::MAX_CPUS)< (1U<< Config::CAP_RESERVED_ORDER),"Capability Space misconfiguration.") |
Additional Inherited Members | |
![]() | |
static Utcb & | init_frame_noid (Utcb &utcb, unsigned op) |
![]() | |
const char * | _service |
unsigned | _instance |
unsigned | _cap_base |
Base of the capability range. This cap refers to CAP_PSEUDONYM. | |
unsigned | _session_base |
Base of the session portals. | |
Semaphore | _lock |
bool | _blocking |
bool | _disabled |
typedef struct AdmissionProtocol::para AdmissionProtocol::sched |
anonymous enum |
|
inlineexplicit |
|
inline |
|
inline |
|
inline |
|
inline |