Dmitry Fleytman
56590de5de
UsbDkHelper: Make service manager class use generic handle holder
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-20 12:03:23 +03:00
Dmitry Fleytman
e44cbe7a96
UsbDkHelper: Introduce generic handle holder class
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-20 12:03:22 +03:00
Pavel Gurvich
f0db6b4e62
UsbDkHelper: Add AbortPipe API
...
Signed-off-by: Pavel Gurvich <pavel@daynix.com>
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-20 11:56:28 +03:00
Pavel Gurvich
55e7d683fe
UsbDk: Add handling of AbortPipe IOCTL
...
Signed-off-by: Pavel Gurvich <pavel@daynix.com>
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-20 11:56:27 +03:00
Pavel Gurvich
4a8ff66332
UsbDk: Add IOCTL for abort pipe
...
Signed-off-by: Pavel Gurvich <pavel@daynix.com>
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-20 11:56:27 +03:00
Pavel Gurvich
dfcbfb2d65
UsbDk: Make ControlTransfer asynchronous
...
Signed-off-by: Pavel Gurvich <pavel@daynix.com>
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-20 11:56:26 +03:00
Dmitry Fleytman
77070e8d31
UsbDk: update architecture document to reflect the latest changes
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-20 11:56:25 +03:00
Dmitry Fleytman
f54a817a93
build: add interface headers to package
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-20 11:56:24 +03:00
Pavel Gurvich
22b2a7d758
UsbDkController: update names of UsbDkHelper API
...
Prefix UsbDk_ added to API names
Signed-off-by: Pavel Gurvich <pavel@daynix.com>
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-20 11:56:24 +03:00
Pavel Gurvich
99521baed4
UsbDkHelper: add UsbDk_ prefix to UsbDkHelper API functions
...
Signed-off-by: Pavel Gurvich <pavel@daynix.com>
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-20 11:56:23 +03:00
Pavel Gurvich
f118d34ac5
UsbDkHelper: Cosmetics: rename ReleaseDeviceList ReleaseDevicesList
...
Signed-off-by: Pavel Gurvich <pavel@daynix.com>
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-20 11:56:22 +03:00
Pavel Gurvich
e583286caa
UsbDk: Add UsbDk.inf file to packages
...
Signed-off-by: Pavel Gurvich <pavel@daynix.com>
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-20 11:56:22 +03:00
Pavel Gurvich
a77d8161e4
UsbDk: Add license-related files and headers
...
Signed-off-by: Pavel Gurvich <pavel@daynix.com>
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-20 11:56:20 +03:00
Dmitry Fleytman
43f4646cd9
UsbDkHelper: Fix warnings in release builds
...
This patch uses "potentially uninitialized variable used"
warnings in release builds.
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:15 +03:00
Dmitry Fleytman
52be87ee4c
UsbDk: Make CWdmList accessors safer
...
Accessor functions made private, corresponding
list class specialization declared as friend.
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:15 +03:00
Dmitry Fleytman
2954a1c5a2
UsbDk: Unused data member at CWdmList dropped
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:15 +03:00
Pavel Gurvich
1ca133b506
UsbDkHelper: Fix bug: second install leads to configuration corruption
...
Signed-off-by: Pavel Gurvich <pavel@daynix.com>
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:15 +03:00
Pavel Gurvich
5ab2b4eca3
UsbDkHelper: Wait for service to stop before removal
...
If one tries to remove service that is running
system marks it for deletion and requires reboot
in case it is being recreated (uninstall/install case).
Signed-off-by: Pavel Gurvich <pavel@daynix.com>
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:15 +03:00
Pavel Gurvich
223a2d8fe3
UsbDk: fix trace message
...
Signed-off-by: Pavel Gurvich <pavel@daynix.com>
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:15 +03:00
Pavel Gurvich
2127d90c4b
UsbDkHelper: Support asynchronous calls
...
Signed-off-by: Pavel Gurvich <pavel@daynix.com>
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:15 +03:00
Pavel Gurvich
cdff8c0bae
UsbDkHelper: Add interface GetRedirectorSystemHandle()
...
Signed-off-by: Pavel Gurvich <pavel@daynix.com>
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:15 +03:00
Pavel Gurvich
2f82bf2c55
UsbDk: Add TransferResult enum to UsbDkData.h
...
Signed-off-by: Pavel Gurvich <pavel@daynix.com>
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:15 +03:00
Dmitry Fleytman
882b77a27d
UsbDk: Make control transfer logic method of CWdfUsbTarget
...
This allows to drop internal object acessor of CWdfUsbTarget
and preserve better encapsulation.
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:15 +03:00
Dmitry Fleytman
c07cfbf0c1
UsbDk: Increase redirection wait timeout
...
10 seconds is not enough for real platforms,
120 seconds looks more reasonable timeout.
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:15 +03:00
Dmitry Fleytman
af30ad9b0a
UsbDk: Move MAX_DEVICE_ID_LEN definition to Public.h
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:15 +03:00
Dmitry Fleytman
1d4dbc9b86
UsbDkHelper: Fix enumerate devices API
...
1. Handle properly 0 USB devices case
2. Do not leak memory on exception in IOCTL_USBDK_ENUM_DEVICES
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:15 +03:00
Dmitry Fleytman
6d5b7151ee
UsbDk: Trivial: Replace NULL with nullptr
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:15 +03:00
Dmitry Fleytman
d680b5b139
UsbDk: Fix ReadPipe/WritePipe number of bytes transferred propagation
...
Number of bytes transferred returned by ReadFile/WriteFile cannot
be larger then the size of buffer passed to the function.
Since buffer passed to ReadFile/WriteFile is our request
structure and number of bytes transferred to/from usb device
depends on buffer size passed via the request structure and not on
request structure size we have to return actual number of bytes
transferred via some field in request structure and not via system
facilities.
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:15 +03:00
Dmitry Fleytman
008699089f
UsbDkHelper: Fix read/write logic
...
Do not destroy redirector handle after each operation.
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:15 +03:00
Dmitry Fleytman
1447b8d476
UsbDk: disable maximum packet size check for pipes
...
It's up to client to send packets of allowed size.
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:15 +03:00
Dmitry Fleytman
655307e7b3
UsbDk: Fix WdfRequest unsafe buffers interface
...
1. Fix buffers probing methods semantics
2. Remove template directives where not required
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:15 +03:00
Dmitry Fleytman
e602d6c4cc
UsbDk: Trivial: traces cleanup/fixes
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:15 +03:00
Dmitry Fleytman
5cdaf656f9
UsbDkHelper: Introduce ReadPipe/WritePipe API
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:15 +03:00
Dmitry Fleytman
e3c976d432
UsbDkHelper: Introduce generic read/write methods
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:15 +03:00
Dmitry Fleytman
33ceed2b33
UsbDk: Redirector queue read/write methods
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:15 +03:00
Dmitry Fleytman
54cc88bc61
UsbDk: Redirector strategy read/write methods
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:15 +03:00
Dmitry Fleytman
8c2b454cae
UsbDk: Simplify strategy interface
...
Make filter strategy methods accept raw WDF requests.
This simplifies overall request handling code.
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:15 +03:00
Dmitry Fleytman
a5bba7bf0c
UsbDk: Introduce read/write endpoint logic
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:15 +03:00
Dmitry Fleytman
f2b18a5706
UsbDk: Make WdfRequest detach return original object
...
This change slightly simplifies CWdfRequest class usage
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:15 +03:00
Dmitry Fleytman
b50b2eddb8
UsbDk: Method for sending request with completion
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:15 +03:00
Dmitry Fleytman
46cac03bc6
UsbDk: CWdfRequest: introduce internal object accessor
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:15 +03:00
Dmitry Fleytman
685f789979
UsbDk: CWdfRequest methods for read/written bytes number specification
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:14 +03:00
Dmitry Fleytman
799164e90d
UsbDk: Trivial: simplify WdfRequest completion code
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:14 +03:00
Dmitry Fleytman
ba060102dd
UsbDk: Introduce accessors for WdfRequest unsafe buffers
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:14 +03:00
Dmitry Fleytman
00dec94f34
UsbDk: Assign HUB strategy to devices of class HUB
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:14 +03:00
Dmitry Fleytman
267311dcfe
UsbDk: Introduce UsbDeviceIsHub helper
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:14 +03:00
Dmitry Fleytman
527a0b774f
UsbDkController: Handle start redirect return value properly
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:14 +03:00
Dmitry Fleytman
9a12b44669
UsbDkHelper: Trivial: typos and cosmetics
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:14 +03:00
Dmitry Fleytman
9fa5fc08ac
UsbDk: Prevent double request completion in IoInCallerContext
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:14 +03:00
Dmitry Fleytman
9e09d8b764
UsbDk: Implement control transfer logic
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:14 +03:00