Public Member Functions |
bool | receive (MessageDiskCommit &msg) |
virtual cap_sel | alloc_cap (unsigned count=1) |
virtual void | dealloc_cap (cap_sel c) |
virtual cap_sel | create_ec4pt (phy_cpu_no cpu, Utcb **utcb_out, cap_sel ec=~0u) |
| DiskService (Motherboard &mb, unsigned _cap, unsigned _cap_order) |
unsigned | get_crdt () |
unsigned | create_session_portal (cap_sel pt) |
unsigned | portal_func (Utcb &utcb, Utcb::Frame &input, bool &free_cap, cap_sel pid) |
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) |
| CapAllocator (unsigned long cap_, unsigned long cap_start, unsigned long cap_order) |
void | dealloc_cap (unsigned cap, unsigned count=1) |
| StaticReceiver () |
void | debug_dump () |
| Device (const char *debug_name) |
Private Member Functions |
DiskClient * | _get_client_from_deleg_pt (cap_sel pt) |
unsigned | portal_func_delegate (cap_sel pt, Utcb &utcb, Utcb::Frame &input) |
unsigned | _create_deleg_ecs (Hip &hip) |
bool | find_free_tag (DiskClient *client, unsigned char disknr, unsigned long usertag, unsigned long &tag) |
| Find a free disk tag for a client.
|
unsigned | attach_drives (Utcb &utcb, cap_sel identity) |
virtual unsigned | new_session (DiskClient *client) |
virtual unsigned | handle_request (DiskClient *client, unsigned op, Utcb::Frame &input, Utcb &utcb, bool &free_cap) |
void | add_disk (Disk *disk) |
Constructor & Destructor Documentation
DiskService::DiskService |
( |
Motherboard & |
mb, |
|
|
unsigned |
_cap, |
|
|
unsigned |
_cap_order |
|
) |
| |
|
inline |
Member Function Documentation
unsigned DiskService::_create_deleg_ecs |
( |
Hip & |
hip | ) |
|
|
inlineprivate |
void DiskService::add_disk |
( |
Disk * |
disk | ) |
|
|
inlineprivate |
virtual cap_sel DiskService::alloc_cap |
( |
unsigned |
count = 1 | ) |
|
|
inlinevirtual |
unsigned DiskService::attach_drives |
( |
Utcb & |
utcb, |
|
|
cap_sel |
identity |
|
) |
| |
|
inlineprivate |
virtual void DiskService::dealloc_cap |
( |
cap_sel |
c | ) |
|
|
inlinevirtual |
bool DiskService::find_free_tag |
( |
DiskClient * |
client, |
|
|
unsigned char |
disknr, |
|
|
unsigned long |
usertag, |
|
|
unsigned long & |
tag |
|
) |
| |
|
inlineprivate |
Find a free disk tag for a client.
virtual unsigned DiskService::handle_request |
( |
DiskClient * |
client, |
|
|
unsigned |
op, |
|
|
Utcb::Frame & |
input, |
|
|
Utcb & |
utcb, |
|
|
bool & |
free_cap |
|
) |
| |
|
inlineprivatevirtual |
virtual unsigned DiskService::new_session |
( |
DiskClient * |
client | ) |
|
|
inlineprivatevirtual |
static void DiskService::static_portal_delegate |
( |
unsigned |
pt, |
|
|
DiskService * |
tls, |
|
|
Utcb * |
utcb |
|
) |
| |
|
inlinestaticprivate |
Member Data Documentation
The documentation for this class was generated from the following file: