1
0
mirror of git://sigrok.org/libserialport synced 2023-08-10 21:13:24 +03:00

windows.c: Define a bunch of stuff that's not in MinGW, yet.

Without these defineѕ the build fails with various (many) compile errors.
This commit is contained in:
Uwe Hermann 2014-07-31 23:14:35 +02:00
parent 9a8d04bca6
commit 8eb18f7b5a

View File

@ -24,6 +24,51 @@
/* USB path is a string of at most 8 decimal numbers < 128 separated by dots */
#define MAX_USB_PATH (8*3 + 7*1 + 1)
/* The stuff below is not yet available in MinGW apparently. Define it here. */
#ifndef USB_NODE_CONNECTION_INFORMATION_EX
typedef struct _USB_NODE_CONNECTION_INFORMATION_EX {
ULONG ConnectionIndex;
USB_DEVICE_DESCRIPTOR DeviceDescriptor;
UCHAR CurrentConfigurationValue;
UCHAR Speed;
BOOLEAN DeviceIsHub;
USHORT DeviceAddress;
ULONG NumberOfOpenPipes;
USB_CONNECTION_STATUS ConnectionStatus;
USB_PIPE_INFO PipeList[];
} USB_NODE_CONNECTION_INFORMATION_EX, *PUSB_NODE_CONNECTION_INFORMATION_EX;
#endif
#ifndef USB_GET_NODE_CONNECTION_INFORMATION_EX
#define USB_GET_NODE_CONNECTION_INFORMATION_EX 274
#endif
#ifndef IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX
#define IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX \
CTL_CODE(FILE_DEVICE_USB, USB_GET_NODE_CONNECTION_INFORMATION_EX, \
METHOD_BUFFERED, FILE_ANY_ACCESS)
#endif
#ifndef CM_DRP_COMPATIBLEIDS
#define CM_DRP_COMPATIBLEIDS 0x03
#endif
#ifndef CM_DRP_CLASS
#define CM_DRP_CLASS 0x08
#endif
#ifndef CM_DRP_FRIENDLYNAME
#define CM_DRP_FRIENDLYNAME 0x0d
#endif
#ifndef CM_DRP_ADDRESS
#define CM_DRP_ADDRESS 0x1d
#endif
#ifndef CM_Get_DevNode_Registry_PropertyA
CMAPI CONFIGRET WINAPI CM_Get_DevNode_Registry_PropertyA(DEVINST dnDevInst, \
ULONG ulProperty, PULONG pulRegDataType, PVOID Buffer, \
PULONG pulLength, ULONG ulFlags);
#endif
static void enumerate_hub(struct sp_port *port, char *hub_name,
char *parent_path);