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.") |