Rémi Bernon
2c0da82050
winebus.sys: Don't enter critical section in bus_find_unix_device.
...
Callers are already holding it.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-06 20:29:34 +02:00
Huw Davies
43cd5d8a2d
winebus.sys: Convert the product strings to Unicode on the Unix-side.
...
This avoids keeping two copies of each string.
It also fixes a regression on macOS from commit 9d4b70473c
that incorrectly treated a CFStringRef as a char ptr.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-05 11:51:04 +02:00
Rémi Bernon
65403bb067
winebus.sys: Move fastcall wrapper together with the functions.
...
The .text directive sometimes makes the global variables go in the
wrong section.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47751
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-20 22:45:49 +02:00
Rémi Bernon
7608538b40
winebus.sys: Remove unnecessary internal bus ids.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-20 22:45:49 +02:00
Rémi Bernon
9e3f9408b0
winebus.sys: Use WINEBUS\ as a common hardware ids prefix.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-20 22:45:49 +02:00
Rémi Bernon
f37ae29b49
winebus.sys: Use WINEBUS\ as device id prefix for all buses.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-20 22:45:48 +02:00
Rémi Bernon
334d89a253
winebus.sys: Use wide character strings literals.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-17 10:45:48 +02:00
Rémi Bernon
5bbf1d1095
winebus.sys: Use new unixlib subsystem.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-17 10:45:46 +02:00
Rémi Bernon
e54ff70e5d
winebus.sys: Build with msvcrt.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-17 10:45:38 +02:00
Rémi Bernon
39ca4de665
winebus.sys: Use Rtl CS functions.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-16 10:50:39 +02:00
Rémi Bernon
35a6148acf
winebus.sys: Use Rtl heap functions.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-16 10:50:37 +02:00
Rémi Bernon
0017b5eb63
winebus.sys: Load SDL bus mappings before calling bus_init.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-16 10:50:36 +02:00
Rémi Bernon
7032b41747
winebus.sys: Move is_xbox_gamepad to unixlib.c.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-16 10:50:34 +02:00
Rémi Bernon
421a6f53ad
winebus.sys: Pass a unix_device pointer in every bus event.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-16 10:50:30 +02:00
Rémi Bernon
cdaf1d9a7f
winebus.sys: Remove the DEVICE_OBJECT arg on device_start.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-15 22:03:41 +02:00
Rémi Bernon
5f8ebe7a60
winebus.sys: Remove the now useless get_unix_device.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-15 22:03:32 +02:00
Rémi Bernon
bc0ad0e13b
winebus.sys: Return an event from IOHID bus wait on input report.
...
Instead of calling process_hid_report.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-15 22:03:11 +02:00
Rémi Bernon
8b434bdc7f
winebus.sys: Return an event from SDL bus wait on input report.
...
Instead of calling process_hid_report.
This adds a reference count on unix devices to make sure they are kept
alive until all their input report events have been processed.
This also uses a bus-specific device list, to be able to find devices
from joystick ids without having to call back to the win32 side.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-15 22:03:03 +02:00
Rémi Bernon
5380167ca0
winebus.sys: Move process_hid_report helper around.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-15 22:02:51 +02:00
Rémi Bernon
56a4aaf419
winebus.sys: Remove the now useless get_string callback.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-13 21:12:39 +02:00
Rémi Bernon
ff0d402efa
winebus.sys: Query serialnumber string on device creation.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-13 21:12:36 +02:00
Rémi Bernon
093c13e333
winebus.sys: Query product string on device creation.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-13 21:12:34 +02:00
Rémi Bernon
9d4b70473c
winebus.sys: Query manufacturer string on device creation.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-13 21:12:32 +02:00
Rémi Bernon
e4f0b4ab8a
winebus.sys: Remove the now useless native product strings.
...
This should now be handled by winexinput.sys.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-13 21:12:30 +02:00
Rémi Bernon
83f0de4487
winebus.sys: Return an event from IOHID bus wait on device creation.
...
Instead of calling bus_create_hid_device.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-08 20:40:56 +02:00
Rémi Bernon
507a3076de
winebus.sys: Return an event from SDL bus wait on device creation.
...
Instead of calling bus_create_hid_device.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-08 20:40:48 +02:00
Rémi Bernon
60740e8745
winebus.sys: Remove the now useless bus_enumerate_hid_devices.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-03 21:43:04 +02:00
Rémi Bernon
4366cba6e6
winebus.sys: Move device vtable to the struct unix_device side.
...
And name the callbacks a bit more consistently.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-03 21:43:03 +02:00
Rémi Bernon
08f943b595
winebus.sys: Create devices using a struct device_desc descriptor.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-03 21:43:03 +02:00
Rémi Bernon
5e0c1ce443
winebus.sys: Move mouse and keyboard devices to unixlib.c.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-02 21:57:38 +02:00
Rémi Bernon
2457113970
winebus.sys: Return an event from IOHID bus wait on device removal.
...
Instead of calling bus_unlink_hid_device or IoInvalidateDeviceRelations.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-02 21:57:38 +02:00
Rémi Bernon
6006758ca8
winebus.sys: Return an event from SDL bus wait on device removal.
...
Instead of calling bus_unlink_hid_device or IoInvalidateDeviceRelations.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-02 21:57:38 +02:00
Rémi Bernon
f6d567d3e3
winebus.sys: Pass a struct bus_event pointer to bus_wait.
...
Allocated on the caller side.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-02 21:57:38 +02:00
Rémi Bernon
d22ece4c58
winebus.sys: Stop enforcing input and IG suffix on gamepads.
...
The &IG_00 suffix is now automatically added by winexinput.sys.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-02 21:57:38 +02:00
Rémi Bernon
7b4b48a774
winebus.sys: Report WINEBUS\WINE_COMP_XINPUT compatible id for gamepads.
...
In addition, and before WINEBUS\WINE_COMP_HID, so that winexinput.sys
will match first as soon as it is introduced.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-02 10:30:24 +02:00
Rémi Bernon
06ab0d5405
winebus.sys: Report WINEBUS\WINE_COMP_HID compatible id.
...
And match it in winehid.sys instead of individual bus ids.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-02 10:30:20 +02:00
Michael Stefaniuc
079c47a38e
winebus.sys: Print the debug string and not the pointer to it.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-26 10:40:09 +02:00
Rémi Bernon
11c6b376c0
winebus.sys: Use the private data pointer as device unique id.
...
Instead of a separately allocated device list entry pointer. And link
the device object into the device list directly.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-25 11:18:18 +02:00
Rémi Bernon
09c14c6321
winebus.sys: Allocate private device data separately.
...
And use an opaque struct unix_device as private data.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-25 11:18:16 +02:00
Rémi Bernon
7e1d1fac70
winebus.sys: Load bus options in main.c.
...
And pass them to bus_init function.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-25 11:18:14 +02:00
Rémi Bernon
edbb3fac25
winebus.sys: Introduce a new unixlib interface.
...
And use it for bus entry points.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-25 11:18:11 +02:00
Rémi Bernon
b4d8cd3891
winebus.sys: Create the IOHID bus thread in main.c.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-25 11:18:09 +02:00
Rémi Bernon
9d7f1eefa1
winebus.sys: Create the UDEV bus thread in main.c.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-25 11:18:07 +02:00
Rémi Bernon
9a78467975
winebus.sys: Create the SDL bus thread in main.c.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-25 11:18:05 +02:00
Rémi Bernon
6e7ca58374
winebus.sys: Pass HID_XFER_PACKET and IO_STATUS_BLOCK to callbacks.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-18 20:07:53 +02:00
Rémi Bernon
ee5cde83da
winebus.sys: Merge begin_report_processing with start_device.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-18 20:07:50 +02:00
Rémi Bernon
8f065f97c9
winebus.sys: Remove the now useless bus_remove_hid_device.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-18 20:07:47 +02:00
Rémi Bernon
620b514aa0
winebus.sys: Build report descriptors in start_device.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-18 20:07:44 +02:00
Rémi Bernon
68c6c7d936
winebus.sys: Introduce a new start_device callback.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-18 20:07:26 +02:00
Rémi Bernon
db410052a3
winebus.sys: Unlink device before releasing it.
...
Otherwise the device will still be linked in the device list and any
thread iterating it to find a matching device will access stale pointer.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-17 00:43:52 +02:00