hidclass.sys: Rename WINE_HIDP_PREPARSED_DATA to struct hid_preparsed_data.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Rémi Bernon 2021-08-10 11:31:14 +02:00 committed by Alexandre Julliard
parent 656691feb7
commit 2e3a0dac84
7 changed files with 46 additions and 46 deletions

View file

@ -36,7 +36,7 @@
WINE_DEFAULT_DEBUG_CHANNEL(hidp);
static NTSTATUS get_value_caps_range( WINE_HIDP_PREPARSED_DATA *preparsed, HIDP_REPORT_TYPE report_type, ULONG report_len,
static NTSTATUS get_value_caps_range( struct hid_preparsed_data *preparsed, HIDP_REPORT_TYPE report_type, ULONG report_len,
const struct hid_value_caps **caps, const struct hid_value_caps **caps_end )
{
if (!preparsed || preparsed->magic != HID_MAGIC) return HIDP_STATUS_INVALID_PREPARSED_DATA;
@ -90,7 +90,7 @@ static BOOL match_value_caps( const struct hid_value_caps *caps, const struct ca
typedef NTSTATUS (*enum_value_caps_callback)( const struct hid_value_caps *caps, void *user );
static NTSTATUS enum_value_caps( WINE_HIDP_PREPARSED_DATA *preparsed, HIDP_REPORT_TYPE report_type,
static NTSTATUS enum_value_caps( struct hid_preparsed_data *preparsed, HIDP_REPORT_TYPE report_type,
ULONG report_len, const struct caps_filter *filter,
enum_value_caps_callback callback, void *user, USHORT *count )
{
@ -163,7 +163,7 @@ NTSTATUS WINAPI HidP_GetButtonCaps( HIDP_REPORT_TYPE report_type, HIDP_BUTTON_CA
NTSTATUS WINAPI HidP_GetCaps( PHIDP_PREPARSED_DATA preparsed_data, HIDP_CAPS *caps )
{
WINE_HIDP_PREPARSED_DATA *preparsed = (WINE_HIDP_PREPARSED_DATA *)preparsed_data;
struct hid_preparsed_data *preparsed = (struct hid_preparsed_data *)preparsed_data;
TRACE( "preparsed_data %p, caps %p.\n", preparsed_data, caps );
@ -214,7 +214,7 @@ NTSTATUS WINAPI HidP_GetScaledUsageValue( HIDP_REPORT_TYPE report_type, USAGE us
char *report_buf, ULONG report_len )
{
struct usage_value_params params = {.value_buf = value, .value_len = sizeof(*value), .report_buf = report_buf};
WINE_HIDP_PREPARSED_DATA *preparsed = (WINE_HIDP_PREPARSED_DATA *)preparsed_data;
struct hid_preparsed_data *preparsed = (struct hid_preparsed_data *)preparsed_data;
struct caps_filter filter = {.values = TRUE, .usage_page = usage_page, .collection = collection, .usage = usage };
USHORT count = 1;
@ -242,7 +242,7 @@ NTSTATUS WINAPI HidP_GetUsageValue( HIDP_REPORT_TYPE report_type, USAGE usage_pa
ULONG *value, PHIDP_PREPARSED_DATA preparsed_data, char *report_buf, ULONG report_len )
{
struct usage_value_params params = {.value_buf = value, .value_len = sizeof(*value), .report_buf = report_buf};
WINE_HIDP_PREPARSED_DATA *preparsed = (WINE_HIDP_PREPARSED_DATA *)preparsed_data;
struct hid_preparsed_data *preparsed = (struct hid_preparsed_data *)preparsed_data;
struct caps_filter filter = {.values = TRUE, .usage_page = usage_page, .collection = collection, .usage = usage};
USHORT count = 1;
@ -260,7 +260,7 @@ NTSTATUS WINAPI HidP_GetUsageValueArray( HIDP_REPORT_TYPE report_type, USAGE usa
PHIDP_PREPARSED_DATA preparsed_data, char *report_buf, ULONG report_len )
{
struct usage_value_params params = {.value_buf = value_buf, .value_len = value_len, .report_buf = report_buf};
WINE_HIDP_PREPARSED_DATA *preparsed = (WINE_HIDP_PREPARSED_DATA *)preparsed_data;
struct hid_preparsed_data *preparsed = (struct hid_preparsed_data *)preparsed_data;
struct caps_filter filter = {.values = TRUE, .array = TRUE, .usage_page = usage_page, .collection = collection, .usage = usage};
USHORT count = 1;
@ -312,7 +312,7 @@ static NTSTATUS get_usage( const struct hid_value_caps *caps, void *user )
NTSTATUS WINAPI HidP_GetUsages( HIDP_REPORT_TYPE report_type, USAGE usage_page, USHORT collection, USAGE *usages,
ULONG *usages_len, PHIDP_PREPARSED_DATA preparsed_data, char *report_buf, ULONG report_len )
{
WINE_HIDP_PREPARSED_DATA *preparsed = (WINE_HIDP_PREPARSED_DATA *)preparsed_data;
struct hid_preparsed_data *preparsed = (struct hid_preparsed_data *)preparsed_data;
struct get_usage_params params = {.usages = usages, .usages_end = usages + *usages_len, .report_buf = report_buf};
struct caps_filter filter = {.buttons = TRUE, .usage_page = usage_page, .collection = collection};
NTSTATUS status;
@ -342,7 +342,7 @@ NTSTATUS WINAPI HidP_GetValueCaps( HIDP_REPORT_TYPE report_type, HIDP_VALUE_CAPS
NTSTATUS WINAPI HidP_InitializeReportForID( HIDP_REPORT_TYPE report_type, UCHAR report_id,
PHIDP_PREPARSED_DATA preparsed_data, char *report_buf, ULONG report_len )
{
WINE_HIDP_PREPARSED_DATA *preparsed = (WINE_HIDP_PREPARSED_DATA *)preparsed_data;
struct hid_preparsed_data *preparsed = (struct hid_preparsed_data *)preparsed_data;
const struct hid_value_caps *caps, *end;
NTSTATUS status;
@ -370,7 +370,7 @@ static NTSTATUS get_usage_list_length( const struct hid_value_caps *caps, void *
ULONG WINAPI HidP_MaxUsageListLength( HIDP_REPORT_TYPE report_type, USAGE usage_page, PHIDP_PREPARSED_DATA preparsed_data )
{
WINE_HIDP_PREPARSED_DATA *preparsed = (WINE_HIDP_PREPARSED_DATA *)preparsed_data;
struct hid_preparsed_data *preparsed = (struct hid_preparsed_data *)preparsed_data;
struct caps_filter filter = {.buttons = TRUE, .usage_page = usage_page};
USHORT limit = -1;
ULONG count = 0;
@ -394,7 +394,7 @@ NTSTATUS WINAPI HidP_SetUsageValue( HIDP_REPORT_TYPE report_type, USAGE usage_pa
ULONG value, PHIDP_PREPARSED_DATA preparsed_data, char *report_buf, ULONG report_len )
{
struct usage_value_params params = {.value_buf = &value, .value_len = sizeof(value), .report_buf = report_buf};
WINE_HIDP_PREPARSED_DATA *preparsed = (WINE_HIDP_PREPARSED_DATA *)preparsed_data;
struct hid_preparsed_data *preparsed = (struct hid_preparsed_data *)preparsed_data;
struct caps_filter filter = {.values = TRUE, .usage_page = usage_page, .collection = collection, .usage = usage};
USHORT count = 1;
@ -412,7 +412,7 @@ NTSTATUS WINAPI HidP_SetUsageValueArray( HIDP_REPORT_TYPE report_type, USAGE usa
PHIDP_PREPARSED_DATA preparsed_data, char *report_buf, ULONG report_len )
{
struct usage_value_params params = {.value_buf = value_buf, .value_len = value_len, .report_buf = report_buf};
WINE_HIDP_PREPARSED_DATA *preparsed = (WINE_HIDP_PREPARSED_DATA *)preparsed_data;
struct hid_preparsed_data *preparsed = (struct hid_preparsed_data *)preparsed_data;
struct caps_filter filter = {.values = TRUE, .array = TRUE, .usage_page = usage_page, .collection = collection, .usage = usage};
USHORT count = 1;
@ -458,7 +458,7 @@ static NTSTATUS set_usage( const struct hid_value_caps *caps, void *user )
NTSTATUS WINAPI HidP_SetUsages( HIDP_REPORT_TYPE report_type, USAGE usage_page, USHORT collection, USAGE *usages,
ULONG *usage_count, PHIDP_PREPARSED_DATA preparsed_data, char *report_buf, ULONG report_len )
{
WINE_HIDP_PREPARSED_DATA *preparsed = (WINE_HIDP_PREPARSED_DATA *)preparsed_data;
struct hid_preparsed_data *preparsed = (struct hid_preparsed_data *)preparsed_data;
struct set_usage_params params = {.report_buf = report_buf};
struct caps_filter filter = {.buttons = TRUE, .usage_page = usage_page, .collection = collection};
NTSTATUS status;
@ -539,7 +539,7 @@ NTSTATUS WINAPI HidP_GetSpecificButtonCaps( HIDP_REPORT_TYPE report_type, USAGE
USAGE usage, HIDP_BUTTON_CAPS *caps, USHORT *caps_count,
PHIDP_PREPARSED_DATA preparsed_data )
{
WINE_HIDP_PREPARSED_DATA *preparsed = (WINE_HIDP_PREPARSED_DATA *)preparsed_data;
struct hid_preparsed_data *preparsed = (struct hid_preparsed_data *)preparsed_data;
const struct caps_filter filter = {.buttons = TRUE, .usage_page = usage_page, .collection = collection, .usage = usage};
TRACE( "report_type %d, usage_page %x, collection %d, usage %x, caps %p, caps_count %p, preparsed_data %p.\n",
@ -602,7 +602,7 @@ NTSTATUS WINAPI HidP_GetSpecificValueCaps( HIDP_REPORT_TYPE report_type, USAGE u
USAGE usage, HIDP_VALUE_CAPS *caps, USHORT *caps_count,
PHIDP_PREPARSED_DATA preparsed_data )
{
WINE_HIDP_PREPARSED_DATA *preparsed = (WINE_HIDP_PREPARSED_DATA *)preparsed_data;
struct hid_preparsed_data *preparsed = (struct hid_preparsed_data *)preparsed_data;
const struct caps_filter filter = {.values = TRUE, .usage_page = usage_page, .collection = collection, .usage = usage};
TRACE( "report_type %d, usage_page %x, collection %d, usage %x, caps %p, caps_count %p, preparsed_data %p.\n",
@ -657,7 +657,7 @@ NTSTATUS WINAPI HidP_GetUsagesEx( HIDP_REPORT_TYPE report_type, USHORT collectio
ULONG *usages_len, PHIDP_PREPARSED_DATA preparsed_data, char *report_buf, ULONG report_len )
{
struct get_usage_and_page_params params = {.usages = usages, .usages_end = usages + *usages_len, .report_buf = report_buf};
WINE_HIDP_PREPARSED_DATA *preparsed = (WINE_HIDP_PREPARSED_DATA *)preparsed_data;
struct hid_preparsed_data *preparsed = (struct hid_preparsed_data *)preparsed_data;
struct caps_filter filter = {.buttons = TRUE, .collection = collection};
NTSTATUS status;
USHORT limit = -1;
@ -686,7 +686,7 @@ static NTSTATUS count_data( const struct hid_value_caps *caps, void *user )
ULONG WINAPI HidP_MaxDataListLength( HIDP_REPORT_TYPE report_type, PHIDP_PREPARSED_DATA preparsed_data )
{
WINE_HIDP_PREPARSED_DATA *preparsed = (WINE_HIDP_PREPARSED_DATA *)preparsed_data;
struct hid_preparsed_data *preparsed = (struct hid_preparsed_data *)preparsed_data;
struct caps_filter filter = {};
USHORT limit = -1;
ULONG count = 0;
@ -760,7 +760,7 @@ NTSTATUS WINAPI HidP_GetData( HIDP_REPORT_TYPE report_type, HIDP_DATA *data, ULO
PHIDP_PREPARSED_DATA preparsed_data, char *report_buf, ULONG report_len )
{
struct find_all_data_params params = {.data = data, .data_end = data + *data_len, .report_buf = report_buf};
WINE_HIDP_PREPARSED_DATA *preparsed = (WINE_HIDP_PREPARSED_DATA *)preparsed_data;
struct hid_preparsed_data *preparsed = (struct hid_preparsed_data *)preparsed_data;
struct caps_filter filter = {};
NTSTATUS status;
USHORT limit = -1;
@ -781,7 +781,7 @@ NTSTATUS WINAPI HidP_GetData( HIDP_REPORT_TYPE report_type, HIDP_DATA *data, ULO
NTSTATUS WINAPI HidP_GetLinkCollectionNodes( HIDP_LINK_COLLECTION_NODE *nodes, ULONG *nodes_len, PHIDP_PREPARSED_DATA preparsed_data )
{
WINE_HIDP_PREPARSED_DATA *preparsed = (WINE_HIDP_PREPARSED_DATA *)preparsed_data;
struct hid_preparsed_data *preparsed = (struct hid_preparsed_data *)preparsed_data;
struct hid_value_caps *caps = HID_COLLECTION_VALUE_CAPS( preparsed );
ULONG i, count, capacity = *nodes_len;

View file

@ -96,7 +96,7 @@ static inline const char *debugstr_hid_value_caps( struct hid_value_caps *caps )
caps->units, caps->units_exp, caps->logical_min, caps->logical_max, caps->physical_min, caps->physical_max );
}
static void debug_print_preparsed(WINE_HIDP_PREPARSED_DATA *data)
static void debug_print_preparsed( struct hid_preparsed_data *data )
{
unsigned int i, end;
if (TRACE_ON(hid))
@ -391,19 +391,19 @@ static void free_parser_state( struct hid_parser_state *state )
free( state );
}
static WINE_HIDP_PREPARSED_DATA *build_preparsed_data( struct hid_parser_state *state )
static struct hid_preparsed_data *build_preparsed_data( struct hid_parser_state *state )
{
WINE_HIDP_PREPARSED_DATA *data;
struct hid_preparsed_data *data;
struct hid_value_caps *caps;
DWORD i, button, filler, caps_len, size;
caps_len = state->caps.NumberInputValueCaps + state->caps.NumberOutputValueCaps +
state->caps.NumberFeatureValueCaps + state->caps.NumberLinkCollectionNodes;
size = FIELD_OFFSET( WINE_HIDP_PREPARSED_DATA, value_caps[caps_len] );
size = FIELD_OFFSET( struct hid_preparsed_data, value_caps[caps_len] );
if (!(data = calloc( 1, size ))) return NULL;
data->magic = HID_MAGIC;
data->dwSize = size;
data->size = size;
data->caps = state->caps;
data->value_caps_count[HidP_Input] = state->caps.NumberInputValueCaps;
data->value_caps_count[HidP_Output] = state->caps.NumberOutputValueCaps;
@ -449,9 +449,9 @@ static WINE_HIDP_PREPARSED_DATA *build_preparsed_data( struct hid_parser_state *
return data;
}
WINE_HIDP_PREPARSED_DATA *parse_descriptor( BYTE *descriptor, unsigned int length )
struct hid_preparsed_data *parse_descriptor( BYTE *descriptor, unsigned int length )
{
WINE_HIDP_PREPARSED_DATA *data = NULL;
struct hid_preparsed_data *data = NULL;
struct hid_parser_state *state;
UINT32 size, value;
INT32 signed_value;

View file

@ -114,7 +114,7 @@ static void HID_Device_processQueue(DEVICE_OBJECT *device)
IRP *irp;
BASE_DEVICE_EXTENSION *ext = device->DeviceExtension;
UINT buffer_size = RingBuffer_GetBufferSize(ext->u.pdo.ring_buffer);
const WINE_HIDP_PREPARSED_DATA *data = ext->u.pdo.preparsed_data;
struct hid_preparsed_data *preparsed = ext->u.pdo.preparsed_data;
HID_XFER_PACKET *packet;
packet = malloc(buffer_size);
@ -127,7 +127,7 @@ static void HID_Device_processQueue(DEVICE_OBJECT *device)
if (buffer_size)
{
TRACE_(hid_report)("Processing Request (%i)\n",ptr);
memcpy( irp->AssociatedIrp.SystemBuffer, packet + 1, data->caps.InputReportByteLength );
memcpy( irp->AssociatedIrp.SystemBuffer, packet + 1, preparsed->caps.InputReportByteLength );
irp->IoStatus.Information = packet->reportBufferLen;
irp->IoStatus.Status = STATUS_SUCCESS;
}
@ -145,9 +145,9 @@ static DWORD CALLBACK hid_device_thread(void *args)
{
DEVICE_OBJECT *device = (DEVICE_OBJECT*)args;
BASE_DEVICE_EXTENSION *ext = device->DeviceExtension;
const WINE_HIDP_PREPARSED_DATA *data = ext->u.pdo.preparsed_data;
BYTE report_id = HID_INPUT_VALUE_CAPS( data )->report_id;
ULONG buffer_len = data->caps.InputReportByteLength;
struct hid_preparsed_data *preparsed = ext->u.pdo.preparsed_data;
BYTE report_id = HID_INPUT_VALUE_CAPS( preparsed )->report_id;
ULONG buffer_len = preparsed->caps.InputReportByteLength;
IO_STATUS_BLOCK io;
HID_XFER_PACKET *packet;
BYTE *buffer;
@ -263,17 +263,17 @@ static void handle_IOCTL_HID_GET_COLLECTION_INFORMATION( IRP *irp, BASE_DEVICE_E
static void handle_IOCTL_HID_GET_COLLECTION_DESCRIPTOR( IRP *irp, BASE_DEVICE_EXTENSION *ext )
{
IO_STACK_LOCATION *irpsp = IoGetCurrentIrpStackLocation( irp );
const WINE_HIDP_PREPARSED_DATA *data = ext->u.pdo.preparsed_data;
struct hid_preparsed_data *preparsed = ext->u.pdo.preparsed_data;
if (irpsp->Parameters.DeviceIoControl.OutputBufferLength < data->dwSize)
if (irpsp->Parameters.DeviceIoControl.OutputBufferLength < preparsed->size)
{
irp->IoStatus.Status = STATUS_INVALID_BUFFER_SIZE;
irp->IoStatus.Information = 0;
}
else
{
memcpy(irp->UserBuffer, data, data->dwSize);
irp->IoStatus.Information = data->dwSize;
memcpy( irp->UserBuffer, preparsed, preparsed->size );
irp->IoStatus.Information = preparsed->size;
irp->IoStatus.Status = STATUS_SUCCESS;
}
}
@ -301,7 +301,7 @@ static void handle_minidriver_string( BASE_DEVICE_EXTENSION *ext, IRP *irp, SHOR
static void hid_device_xfer_report( BASE_DEVICE_EXTENSION *ext, ULONG code, IRP *irp )
{
WINE_HIDP_PREPARSED_DATA *preparsed = ext->u.pdo.preparsed_data;
struct hid_preparsed_data *preparsed = ext->u.pdo.preparsed_data;
IO_STACK_LOCATION *stack = IoGetCurrentIrpStackLocation( irp );
struct hid_value_caps *caps = NULL, *caps_end = NULL;
ULONG report_len = 0, buffer_len = 0;
@ -523,10 +523,10 @@ NTSTATUS WINAPI pdo_read(DEVICE_OBJECT *device, IRP *irp)
{
HID_XFER_PACKET *packet;
BASE_DEVICE_EXTENSION *ext = device->DeviceExtension;
const WINE_HIDP_PREPARSED_DATA *data = ext->u.pdo.preparsed_data;
struct hid_preparsed_data *preparsed = ext->u.pdo.preparsed_data;
UINT buffer_size = RingBuffer_GetBufferSize(ext->u.pdo.ring_buffer);
IO_STACK_LOCATION *irpsp = IoGetCurrentIrpStackLocation(irp);
BYTE report_id = HID_INPUT_VALUE_CAPS( data )->report_id;
BYTE report_id = HID_INPUT_VALUE_CAPS( preparsed )->report_id;
NTSTATUS status;
int ptr = -1;
BOOL removed;
@ -543,7 +543,7 @@ NTSTATUS WINAPI pdo_read(DEVICE_OBJECT *device, IRP *irp)
return STATUS_DELETE_PENDING;
}
if (irpsp->Parameters.Read.Length < data->caps.InputReportByteLength)
if (irpsp->Parameters.Read.Length < preparsed->caps.InputReportByteLength)
{
irp->IoStatus.Status = STATUS_INVALID_BUFFER_SIZE;
IoCompleteRequest( irp, IO_NO_INCREMENT );
@ -558,7 +558,7 @@ NTSTATUS WINAPI pdo_read(DEVICE_OBJECT *device, IRP *irp)
if (buffer_size)
{
memcpy( irp->AssociatedIrp.SystemBuffer, packet + 1, data->caps.InputReportByteLength );
memcpy( irp->AssociatedIrp.SystemBuffer, packet + 1, preparsed->caps.InputReportByteLength );
irp->IoStatus.Information = packet->reportBufferLen;
irp->IoStatus.Status = STATUS_SUCCESS;
}

View file

@ -54,7 +54,7 @@ typedef struct _BASE_DEVICE_EXTENSION
DEVICE_OBJECT *parent_fdo;
HID_COLLECTION_INFORMATION information;
WINE_HIDP_PREPARSED_DATA *preparsed_data;
struct hid_preparsed_data *preparsed_data;
ULONG poll_interval;
struct ReportRingBuffer *ring_buffer;
@ -123,4 +123,4 @@ NTSTATUS WINAPI pdo_create(DEVICE_OBJECT *device, IRP *irp) DECLSPEC_HIDDEN;
NTSTATUS WINAPI pdo_close(DEVICE_OBJECT *device, IRP *irp) DECLSPEC_HIDDEN;
/* Parsing HID Report Descriptors into preparsed data */
WINE_HIDP_PREPARSED_DATA *parse_descriptor( BYTE *descriptor, unsigned int length ) DECLSPEC_HIDDEN;
struct hid_preparsed_data *parse_descriptor( BYTE *descriptor, unsigned int length ) DECLSPEC_HIDDEN;

View file

@ -260,7 +260,7 @@ static void create_child(minidriver *minidriver, DEVICE_OBJECT *fdo)
return;
}
pdo_ext->u.pdo.information.DescriptorSize = pdo_ext->u.pdo.preparsed_data->dwSize;
pdo_ext->u.pdo.information.DescriptorSize = pdo_ext->u.pdo.preparsed_data->size;
page = pdo_ext->u.pdo.preparsed_data->caps.UsagePage;
usage = pdo_ext->u.pdo.preparsed_data->caps.Usage;

View file

@ -751,7 +751,7 @@ UINT WINAPI GetRawInputDeviceInfoW(HANDLE handle, UINT command, void *data, UINT
break;
case RIDI_PREPARSEDDATA:
len = device->data ? ((WINE_HIDP_PREPARSED_DATA*)device->data)->dwSize : 0;
len = device->data ? ((struct hid_preparsed_data *)device->data)->size : 0;
if (device->data && len <= data_len && data)
memcpy(data, device->data, len);
*data_size = len;

View file

@ -67,14 +67,14 @@ struct hid_value_caps
#define HID_VALUE_CAPS_IS_ARRAY(c) (((c)->bit_field & 2) == 0)
#define HID_VALUE_CAPS_IS_BUTTON(c) ((c)->bit_size == 1 || HID_VALUE_CAPS_IS_ARRAY(c))
typedef struct __WINE_HIDP_PREPARSED_DATA
struct hid_preparsed_data
{
DWORD magic;
DWORD dwSize;
DWORD size;
HIDP_CAPS caps;
USHORT value_caps_count[3];
struct hid_value_caps value_caps[1];
} WINE_HIDP_PREPARSED_DATA, *PWINE_HIDP_PREPARSED_DATA;
};
#define HID_INPUT_VALUE_CAPS(d) ((d)->value_caps)
#define HID_OUTPUT_VALUE_CAPS(d) (HID_INPUT_VALUE_CAPS(d) + (d)->value_caps_count[0])