37 #define HID_API_EXPORT __declspec(dllexport) 39 #define HID_API_EXPORT 45 #define HID_API_EXPORT 49 #define HID_API_EXPORT_CALL HID_API_EXPORT HID_API_CALL HID_API_EXPORT hid_device *HID_API_CALL hid_open(unsigned short vendor_id, unsigned short product_id, const wchar_t *serial_number)
Open a HID device using a Vendor ID (VID), Product ID (PID) and optionally a serial number...
Definition: hid.c:696
int interface_number
The USB interface which this logical device represents.
Definition: hidapi.h:84
int HID_API_EXPORT_CALL hid_get_serial_number_string(hid_device *device, wchar_t *string, size_t maxlen)
Get The Serial Number String from a HID device.
Definition: hid.c:1278
hidapi info structure
Definition: hidapi.h:58
int HID_API_EXPORT HID_API_CALL hid_send_feature_report(hid_device *device, const unsigned char *data, size_t length)
Send a Feature report to the device.
Definition: hid.c:1174
#define HID_API_EXPORT
API export macro.
Definition: hidapi.h:45
wchar_t * manufacturer_string
Manufacturer String.
Definition: hidapi.h:71
char * path
Platform-specific device path.
Definition: hidapi.h:60
void HID_API_EXPORT HID_API_CALL hid_close(hid_device *device)
Close a HID device.
Definition: hid.c:1235
int HID_API_EXPORT HID_API_CALL hid_exit(void)
Finalize the HIDAPI library.
Definition: hid.c:511
int HID_API_EXPORT HID_API_CALL hid_read(hid_device *device, unsigned char *data, size_t length)
Read an Input report from a HID device.
Definition: hid.c:1161
struct hid_device_info * next
Pointer to the next device.
Definition: hidapi.h:87
int HID_API_EXPORT_CALL hid_get_product_string(hid_device *device, wchar_t *string, size_t maxlen)
Get The Product String from a HID device.
Definition: hid.c:1273
unsigned short product_id
Device Product ID.
Definition: hidapi.h:64
int HID_API_EXPORT HID_API_CALL hid_get_feature_report(hid_device *device, unsigned char *data, size_t length)
Get a feature report from a HID device.
Definition: hid.c:1204
HID_API_EXPORT hid_device *HID_API_CALL hid_open_path(const char *path)
Open a HID device by its path name.
Definition: hid.c:870
wchar_t * serial_number
Serial Number.
Definition: hidapi.h:66
unsigned short vendor_id
Device Vendor ID.
Definition: hidapi.h:62
struct hid_device_info HID_API_EXPORT *HID_API_CALL hid_enumerate(unsigned short vendor_id, unsigned short product_id)
Enumerate the HID Devices.
Definition: hid.c:521
HID_API_EXPORT const wchar_t *HID_API_CALL hid_error(hid_device *device)
Get a string describing the last error which occurred.
Definition: hid.c:1299
int HID_API_EXPORT_CALL hid_get_manufacturer_string(hid_device *device, wchar_t *string, size_t maxlen)
Get The Manufacturer String from a HID device.
Definition: hid.c:1268
wchar_t * product_string
Product string.
Definition: hidapi.h:73
int HID_API_EXPORT HID_API_CALL hid_init(void)
Initialize the HIDAPI library.
Definition: hid.c:493
int HID_API_EXPORT HID_API_CALL hid_read_timeout(hid_device *dev, unsigned char *data, size_t length, int milliseconds)
Read an Input report from a HID device with timeout.
Definition: hid.c:1076
unsigned short usage
Usage for this Device/Interface (Windows/Mac only).
Definition: hidapi.h:79
int HID_API_EXPORT_CALL hid_get_indexed_string(hid_device *device, int string_index, wchar_t *string, size_t maxlen)
Get a string from a HID device, based on its string index.
Definition: hid.c:1283
#define HID_API_EXPORT_CALL
API export and call macro.
Definition: hidapi.h:49
unsigned short usage_page
Usage Page for this Device/Interface (Windows/Mac only).
Definition: hidapi.h:76
void HID_API_EXPORT HID_API_CALL hid_free_enumeration(struct hid_device_info *devs)
Free an enumeration Linked List.
Definition: hid.c:682
#define HID_API_CALL
API call macro.
Definition: hidapi.h:46
int HID_API_EXPORT HID_API_CALL hid_write(hid_device *device, const unsigned char *data, size_t length)
Write an Output report to a HID device.
Definition: hid.c:1003
unsigned short release_number
Device Release Number in binary-coded decimal, also known as Device Version Number.
Definition: hidapi.h:69
int HID_API_EXPORT HID_API_CALL hid_set_nonblocking(hid_device *device, int nonblock)
Set the device handle to be non-blocking.
Definition: hid.c:1166