ducky.devices package¶
Submodules¶
Module contents¶
Emulating different virtual devices like keyboard, display, disks...
-
class
ducky.devices.Device(machine, klass, name)[source]¶ Bases:
ducky.interfaces.IMachineWorkerBase class for all devices. Serves more like an API description.
Parameters: - machine (ducky.machine.Machine) – VM this device belongs to.
- klass (str) – device family (input, output, snapshot, ...)
- name (str) – device name. Maps directly to a section of config file that hosts setup for this device.
-
static
create_from_config(machine, config, section)[source]¶ Create new instance, configured exactly as requested by configuration file.
Parameters: - machine (ducky.machine.Machine) – VM this device belongs to.
- config (ducky.config.MachineConfig) – configuration file.
- section (str) – name of config section with this device’s setup.
-
static
create_hdt_entries(logger, config, section)[source]¶ Create
HDTentries for this device, based on configuration file.Parameters: - logger (logging.Logger) – logger to use for logging.
- config (ducky.config.MachineConfig) – configuration file.
- section (str) – name of config section with this device’s setup.
Return type: listofducky.hdt.HDTEntryReturns: list of
HDTentries. This list is then appended to entries of other devices.
-
class
ducky.devices.DeviceBackend(machine, klass, name)[source]¶ Bases:
ducky.devices.DeviceBackend is a special component of a device, which is connected to internal queues, and processes events in the queue, originating from user via its frontend counterpart.
-
class
ducky.devices.DeviceFrontend(machine, klass, name)[source]¶ Bases:
ducky.devices.DeviceFrontend is a special component of a device, that interfaces communication channels from user and internal queues.
-
set_backend(device)[source]¶ Set backend counterpart.
Parameters: device (ducky.devices.DeviceFrontend) – backend part.
-
-
class
ducky.devices.MMIOMemoryPage(device, *args, **kwargs)[source]¶ Bases:
ducky.mm.VirtualMemoryPageMemory page, suited for memory-mapped IO, supported by a device driver.
Parameters: device (ducky.devices.Device) – device instance, backing this memory page.