Public Types | Static Public Member Functions

ParentProtocol Struct Reference

The protocol our parent provides. More...

#include <parent.h>

Inheritance diagram for ParentProtocol:
GenericProtocol AdmissionProtocol ConfigProtocol DiscProtocol FsProtocol LogProtocol TimerProtocol s0_AdmissionProtocol

List of all members.

Public Types

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, CAP_CHILD_EC = 253, CAP_CHILD_ID = 254,
  CAP_PARENT_ID = 255, CAP_PT_PERCPU = 256
}

Static Public Member Functions

static Utcbinit_frame (Utcb &utcb, unsigned op, unsigned id)
static unsigned call (Utcb &utcb, unsigned cap_base, bool drop_frame, bool base=true)
 Low-level systemcall.
static unsigned get_pseudonym (Utcb &utcb, const char *service, unsigned instance, unsigned cap_pseudonym, unsigned parent_id=CAP_PARENT_ID)
static unsigned release_pseudonym (Utcb &utcb, unsigned cap_pseudonym)
static unsigned get_portal (Utcb &utcb, unsigned cap_pseudonym, unsigned cap_portal, bool blocking)
static unsigned register_service (Utcb &utcb, const char *service, unsigned cpu, unsigned pt, unsigned cap_service, char *revoke_mem=0)
static unsigned unregister_service (Utcb &utcb, unsigned cap_service)
static unsigned get_quota (Utcb &utcb, unsigned cap_client_pseudonym, const char *name, long invalue, long *outvalue=0)
static unsigned set_singleton (Utcb &utcb, unsigned cap_client_pseudonym, unsigned cap_local_session)
static unsigned check_singleton (Utcb &utcb, unsigned cap_client_pseudonym, unsigned &cap_local_session, Crd crd=Crd(0, 31, DESC_CAP_ALL))
static unsigned kill (Utcb &utcb, unsigned cap_client_pseudonym, unsigned service_cap=0)

Detailed Description

The protocol our parent provides.

It allows to open a new session and request per-CPU-portals.

Missing: restrict quota, get_quota


Member Enumeration Documentation

anonymous enum
Enumerator:
TYPE_INVALID 
TYPE_OPEN 
TYPE_CLOSE 
TYPE_GENERIC_END 
TYPE_GET_PORTAL 
TYPE_REGISTER 
TYPE_UNREGISTER 
TYPE_GET_QUOTA 
TYPE_SINGLETON 
TYPE_REQ_KILL 
CAP_CHILD_EC 
CAP_CHILD_ID 
CAP_PARENT_ID 
CAP_PT_PERCPU 

Member Function Documentation

static unsigned ParentProtocol::call ( Utcb utcb,
unsigned  cap_base,
bool  drop_frame,
bool  base = true 
) [inline, static]

Low-level systemcall.

static unsigned ParentProtocol::check_singleton ( Utcb utcb,
unsigned  cap_client_pseudonym,
unsigned &  cap_local_session,
Crd  crd = Crd(0, 31, DESC_CAP_ALL) 
) [inline, static]
static unsigned ParentProtocol::get_portal ( Utcb utcb,
unsigned  cap_pseudonym,
unsigned  cap_portal,
bool  blocking 
) [inline, static]
static unsigned ParentProtocol::get_pseudonym ( Utcb utcb,
const char *  service,
unsigned  instance,
unsigned  cap_pseudonym,
unsigned  parent_id = CAP_PARENT_ID 
) [inline, static]
static unsigned ParentProtocol::get_quota ( Utcb utcb,
unsigned  cap_client_pseudonym,
const char *  name,
long  invalue,
long *  outvalue = 0 
) [inline, static]
static Utcb& ParentProtocol::init_frame ( Utcb utcb,
unsigned  op,
unsigned  id 
) [inline, static]
static unsigned ParentProtocol::kill ( Utcb utcb,
unsigned  cap_client_pseudonym,
unsigned  service_cap = 0 
) [inline, static]
static unsigned ParentProtocol::register_service ( Utcb utcb,
const char *  service,
unsigned  cpu,
unsigned  pt,
unsigned  cap_service,
char *  revoke_mem = 0 
) [inline, static]
static unsigned ParentProtocol::release_pseudonym ( Utcb utcb,
unsigned  cap_pseudonym 
) [inline, static]
static unsigned ParentProtocol::set_singleton ( Utcb utcb,
unsigned  cap_client_pseudonym,
unsigned  cap_local_session 
) [inline, static]
static unsigned ParentProtocol::unregister_service ( Utcb utcb,
unsigned  cap_service 
) [inline, static]

The documentation for this struct was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines