ZXFoundation™ 26h2
Loading...
Searching...
No Matches
zxfoundation.dgp.authorize.core Module Reference

Data Structures

struct  zxfoundation::dgp::authorization_lease
 Short-lived authorization proof bound to object generations. More...
 Fine-grained metadata supplied alongside an authorization check. More...

Enumerations

enum class  zxfoundation::dgp::operation_kind : u8 {
  none = 0 , domain_create = 1 , domain_destroy = 2 , domain_exit = 3 ,
  domain_info = 4 , domain_query = 5 , strand_create = 6 , address_space_create = 43 ,
  gate_create = 7 , gate_destroy = 8 , gate_entry = 9 , portal_create = 10 ,
  portal_destroy = 11 , io_bind = 12 , io_unbind = 13 , io_submit = 14 ,
  io_irq_bind = 15 , io_dma_extent = 59 , io_completion_dequeue = 60 , signal_register = 16 ,
  signal_poll = 17 , signal_ack = 18 , signal_send = 19 , signal_mask_set = 20 ,
  signal_mask_get = 21 , signal_wait = 22 , mem_alloc = 23 , mem_free = 24 ,
  mem_map = 25 , mem_unmap = 26 , mem_protect = 27 , mem_share = 28 ,
  cap_acquire = 29 , cap_release = 30 , cap_validate = 31 , cap_revoke = 32 ,
  time_yield = 33 , time_deadline = 34 , time_now = 35 , console_write = 36 ,
  register_service = 37 , lookup_service = 38 , unregister_service = 39 , strand_set_policy = 40 ,
  strand_set_affinity = 41 , strand_query_state = 42 , ipc_endpoint_create = 50 , ipc_endpoint_destroy = 51 ,
  ipc_send = 52 , ipc_receive = 53 , shm_export = 54 , shm_import = 55 ,
  shm_map = 56 , policy_server_register = 57 , policy_server_unregister = 58
}
 Operation kinds recognized by the unified DGP chokepoint. More...

Functions

auto zxfoundation::dgp::authorize (const zxfoundation::dgp::domain::domain &caller, const zxfoundation::dgp::domain::domain &target, operation_kind op, const authorization_metadata &meta) noexcept -> std::expected< authorization_lease, lib::kernel_error >
 Unified DGP authorization chokepoint.
auto consume () noexcept -> bool
auto valid () const noexcept -> bool

Variables

const scoms::kobject::bobjectcaller {nullptr}
u32 caller_generation {0}
bool consumed {false}
u32 gate_id {0}
operation_kind operation {operation_kind::none}
dgp::isolation::isolation_rights requested_rights {dgp::isolation::isolation_rights::none}
dgp::isolation::isolation_rights rights {dgp::isolation::isolation_rights::none}
const scoms::kobject::bobjecttarget {nullptr}
u32 target_generation {0}
u64 target_va_end {0}
u64 target_va_start {0}

Files

file  zxfoundation/dgp/authorize.zcomponent/core.cxxm
 Unified DGP authorization.
file  zxfoundation/dgp/authorize.zcomponent/core.cxx