Public Member Functions |
unsigned | get_crdt () |
unsigned | portal_func (Utcb &utcb, Utcb::Frame &input, bool &free_cap, cap_sel pid) |
virtual cap_sel | alloc_cap (unsigned count=1)=0 |
virtual void | dealloc_cap (cap_sel c)=0 |
virtual cap_sel | create_ec4pt (phy_cpu_no cpu, Utcb **utcb_out, cap_sel ec=~0u)=0 |
unsigned | alloc_crd () |
bool | register_service (const char *service_name, Hip &hip=Global::hip) |
| Registers the service with parent.
|
unsigned | open_session (Utcb &utcb, cap_sel pseudonym, bool &free_cap) |
unsigned | close_session (Utcb &utcb, cap_sel session_id) |
unsigned | handle_session (Utcb &utcb, cap_sel session_id, unsigned op, Utcb::Frame &input, bool &free_cap) |
template<class Session, class A>
class XlateSService< Session, A >
Service that uses semaphores as identifiers for sessions.
This is the original way how parent/service protocol worked. Kernel has to perform translate operation during every call to the service.