#[non_exhaustive]pub enum HostRequest<'a> {
Init,
SendCaPmt(&'a [u8]),
MmiMenuAnswer(u8),
MmiEnquiryAnswer(&'a [u8]),
MmiCancel,
EnterMenu,
Descramble(&'a [u8]),
DescramblePrograms(&'a [&'a [u8]]),
AddProgram(&'a [u8]),
RemoveProgram(&'a [u8]),
Shutdown,
}Expand description
A request the host application makes of the stack.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Init
Bring the interface up: reset the slot and open the transport connection.
SendCaPmt(&'a [u8])
Send a serialized ca_pmt APDU body to the CAM’s conditional-access
resource (descrambling request).
MmiMenuAnswer(u8)
Answer an MMI menu/list by 1-based choice_ref (0 = “back”/cancel),
sent as menu_answ to the module.
MmiEnquiryAnswer(&'a [u8])
Answer an MMI enquiry with the user’s input text (EN 300 468 Annex A
bytes), sent as answ (answ_id = answer).
MmiCancel
Abort the current MMI enquiry (answ with answ_id = cancel).
EnterMenu
Ask the module to open its MMI menu (enter_menu on the
application_information session) — e.g. to read card / entitlement info.
Descramble(&'a [u8])
Descramble the services in a PMT section (raw dvb-si PMT bytes). The
stack filters the PMT’s CA_descriptors to the CAM’s advertised CAIDs
(from its ca_info) and sends a ca_pmt with list_management = only,
cmd_id = ok_descrambling. The reply outcome surfaces as
Notification::CaPmtReply.
DescramblePrograms(&'a [&'a [u8]])
Descramble a set of programmes in one CA-PMT list (first/more/
last, all ok_descrambling), replacing any prior set. Each element is a
raw PMT section.
AddProgram(&'a [u8])
Add one programme to the descrambled set (list_management = add).
RemoveProgram(&'a [u8])
Remove one programme from the descrambled set (list_management = update,
cmd_id = not_selected).
Shutdown
Tear the interface down (close sessions + transport connection).
Trait Implementations§
Source§impl<'a> Clone for HostRequest<'a>
impl<'a> Clone for HostRequest<'a>
Source§fn clone(&self) -> HostRequest<'a>
fn clone(&self) -> HostRequest<'a>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<'a> Debug for HostRequest<'a>
impl<'a> Debug for HostRequest<'a>
impl<'a> Eq for HostRequest<'a>
Source§impl<'a> PartialEq for HostRequest<'a>
impl<'a> PartialEq for HostRequest<'a>
Source§fn eq(&self, other: &HostRequest<'a>) -> bool
fn eq(&self, other: &HostRequest<'a>) -> bool
self and other values to be equal, and is used by ==.