# # Copyright (C) 2006-2012 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. # BLOCK_MENU:=Block Devices define KernelPackage/aoe SUBMENU:=$(BLOCK_MENU) TITLE:=ATA over Ethernet support KCONFIG:=CONFIG_ATA_OVER_ETH FILES:=$(LINUX_DIR)/drivers/block/aoe/aoe.ko AUTOLOAD:=$(call AutoLoad,30,aoe) endef define KernelPackage/aoe/description Kernel support for ATA over Ethernet endef $(eval $(call KernelPackage,aoe)) define KernelPackage/ata-core SUBMENU:=$(BLOCK_MENU) TITLE:=Serial and Parallel ATA support DEPENDS:=@PCI_SUPPORT||TARGET_sunxi +kmod-scsi-core KCONFIG:=CONFIG_ATA FILES:=$(LINUX_DIR)/drivers/ata/libata.ko ifneq ($(wildcard $(LINUX_DIR)/drivers/ata/libahci.ko),) FILES+=$(LINUX_DIR)/drivers/ata/libahci.ko endif endef $(eval $(call KernelPackage,ata-core)) define AddDepends/ata SUBMENU:=$(BLOCK_MENU) DEPENDS+=+kmod-ata-core $(1) endef define KernelPackage/ata-ahci TITLE:=AHCI Serial ATA support KCONFIG:=CONFIG_SATA_AHCI FILES:= \ $(LINUX_DIR)/drivers/ata/ahci.ko AUTOLOAD:=$(call AutoLoad,41,libahci ahci,1) $(call AddDepends/ata) endef define KernelPackage/ata-ahci/description Support for AHCI Serial ATA controllers endef $(eval $(call KernelPackage,ata-ahci)) define KernelPackage/ata-ahci-platform TITLE:=AHCI Serial ATA Platform support KCONFIG:=CONFIG_SATA_AHCI_PLATFORM FILES:= \ $(LINUX_DIR)/drivers/ata/ahci_platform.ko \ $(LINUX_DIR)/drivers/ata/libahci_platform.ko AUTOLOAD:=$(call AutoLoad,40,libahci libahci_platform ahci_platform,1) $(call AddDepends/ata,@TARGET_ipq806x||TARGET_layerscape||TARGET_sunxi) endef define KernelPackage/ata-ahci-platform/description Platform support for AHCI Serial ATA controllers endef $(eval $(call KernelPackage,ata-ahci-platform)) define KernelPackage/ata-artop TITLE:=ARTOP 6210/6260 PATA support KCONFIG:=CONFIG_PATA_ARTOP FILES:=$(LINUX_DIR)/drivers/ata/pata_artop.ko AUTOLOAD:=$(call AutoLoad,41,pata_artop,1) $(call AddDepends/ata) endef define KernelPackage/ata-artop/description PATA support for ARTOP 6210/6260 host controllers endef $(eval $(call KernelPackage,ata-artop)) define KernelPackage/ata-marvell-sata TITLE:=Marvell Serial ATA support KCONFIG:=CONFIG_SATA_MV FILES:=$(LINUX_DIR)/drivers/ata/sata_mv.ko AUTOLOAD:=$(call AutoLoad,41,sata_mv,1) $(call AddDepends/ata) endef define KernelPackage/ata-marvell-sata/description SATA support for marvell chipsets endef $(eval $(call KernelPackage,ata-marvell-sata)) define KernelPackage/ata-nvidia-sata TITLE:=Nvidia Serial ATA support KCONFIG:=CONFIG_SATA_NV FILES:=$(LINUX_DIR)/drivers/ata/sata_nv.ko AUTOLOAD:=$(call AutoLoad,41,sata_nv,1) $(call AddDepends/ata) endef $(eval $(call KernelPackage,ata-nvidia-sata)) define KernelPackage/ata-pdc202xx-old TITLE:=Older Promise PATA controller support KCONFIG:= \ CONFIG_ATA_SFF=y \ CONFIG_PATA_PDC_OLD FILES:=$(LINUX_DIR)/drivers/ata/pata_pdc202xx_old.ko AUTOLOAD:=$(call AutoLoad,41,pata_pdc202xx_old,1) $(call AddDepends/ata) endef define KernelPackage/ata-pdc202xx-old/description This option enables support for the Promise 20246, 20262, 20263, 20265 and 20267 adapters endef $(eval $(call KernelPackage,ata-pdc202xx-old)) define KernelPackage/ata-piix TITLE:=Intel PIIX PATA/SATA support KCONFIG:=CONFIG_ATA_PIIX FILES:=$(LINUX_DIR)/drivers/ata/ata_piix.ko AUTOLOAD:=$(call AutoLoad,41,ata_piix,1) $(call AddDepends/ata) endef define KernelPackage/ata-piix/description SATA support for Intel ICH5/6/7/8 series host controllers and PATA support for Intel ESB/ICH/PIIX3/PIIX4 series host controllers endef $(eval $(call KernelPackage,ata-piix)) define KernelPackage/ata-sil TITLE:=Silicon Image SATA support KCONFIG:=CONFIG_SATA_SIL FILES:=$(LINUX_DIR)/drivers/ata/sata_sil.ko AUTOLOAD:=$(call AutoLoad,41,sata_sil,1) $(call AddDepends/ata) endef define KernelPackage/ata-sil/description Support for Silicon Image Serial ATA controllers endef $(eval $(call KernelPackage,ata-sil)) define KernelPackage/ata-sil24 TITLE:=Silicon Image 3124/3132 SATA support KCON
"""
This example shows how to inject a WebSocket message to the client.
Every new WebSocket connection will trigger a new asyncio task that
periodically injects a new message to the client.
"""
import asyncio
import mitmproxy.websocket
class InjectWebSocketMessage:
async def inject(self, flow: mitmproxy.websocket.WebSocketFlow):
i = 0
while not flow.ended and not flow.error:
await asyncio.sleep(5)
flow.inject_message(flow.client_conn, 'This is the #{} an injected message!'.format(i))
i += 1
def websocket_start(self, flow):
asyncio.get_event_loop().create_task(self.inject(flow))
addons = [InjectWebSocketMessage()]