private bool NotifyUSBPcapPacketFilter(USBPcapPacket packet) { var throwgh = false; switch (packet.PacketHeader.transfer) { case USBPcapPacket.USBPCAP_TRANSFER.USBPCAP_TRANSFER_ISOCHRONOUS: { throwgh = prop_.Filter_IsochronousTransfer.Value; } break; case USBPcapPacket.USBPCAP_TRANSFER.USBPCAP_TRANSFER_INTERRUPT: { throwgh = prop_.Filter_InterruptTransfer.Value; } break; case USBPcapPacket.USBPCAP_TRANSFER.USBPCAP_TRANSFER_CONTROL: { throwgh = prop_.Filter_ControlTransfer.Value; } break; case USBPcapPacket.USBPCAP_TRANSFER.USBPCAP_TRANSFER_BULK: { throwgh = prop_.Filter_BulkTransfer.Value; } break; } return (throwgh); }
private void NotifyUSBPcapPacket(USBPcapPacket packet) { var packet_info = new StringBuilder(""); switch (packet.PacketHeader.transfer) { case USBPcapPacket.USBPCAP_TRANSFER.USBPCAP_TRANSFER_ISOCHRONOUS: { packet_info.Append("ISOCHRONUS"); } break; case USBPcapPacket.USBPCAP_TRANSFER.USBPCAP_TRANSFER_INTERRUPT: { packet_info.Append("INTERRUPT"); } break; case USBPcapPacket.USBPCAP_TRANSFER.USBPCAP_TRANSFER_CONTROL: { packet_info.Append("CONTROL"); } break; case USBPcapPacket.USBPCAP_TRANSFER.USBPCAP_TRANSFER_BULK: { packet_info.Append("BULK"); } break; } var device_address = String.Format("{0}.{1}.{2}", packet.PacketHeader.bus, packet.PacketHeader.device, packet.PacketHeader.endpoint); byte[] packet_data; switch (prop_.DataContentsType.Value) { case UsbCaptureDataContentsType.Raw: packet_data = packet.RawData; break; default: packet_data = packet.Payload; break; } if (packet.PacketHeader.info == 0) { /* Host -> Device */ NotifySendComplete(packet.MakeTime, packet_info.ToString(), "host", device_address, packet_data); } else { /* Host <- Device */ NotifyRecvComplete(packet.MakeTime, packet_info.ToString(), device_address, "host", packet_data); } }