15#include "xrt/xrt_config_have.h"
44 int (*read)(
struct h_hid_device *hid_dev, uint8_t *data,
size_t size,
int milliseconds);
46 int (*write)(
struct h_hid_device *hid_dev,
const uint8_t *data,
size_t size);
48 int (*get_feature)(
struct h_hid_device *hid_dev, uint8_t report_num, uint8_t *data,
size_t size);
50 int (*get_feature_timeout)(
struct h_hid_device *hid_dev,
void *data,
size_t size, uint32_t timeout);
52 int (*set_feature)(
struct h_hid_device *hid_dev,
const uint8_t *data,
size_t size);
54 int (*get_physical_address)(
struct h_hid_device *hid_dev, uint8_t *data,
size_t size);
70 return hid_dev->read(hid_dev, data, size, milliseconds);
81 return hid_dev->write(hid_dev, data, size);
94 return hid_dev->get_feature(hid_dev, report_num, data, size);
105 return hid_dev->get_feature_timeout(hid_dev, data, size, timeout);
119 return hid_dev->set_feature(hid_dev, data, size);
134 return hid_dev->get_physical_address(hid_dev, data, size);
145 hid_dev->destroy(hid_dev);
159#if defined(XRT_HAVE_HIDAPI) && !defined(XRT_OS_LINUX)
167h_hid_open_hidapi(
const char *path,
struct h_hid_device **out_hid);
Representing a single hid interface on a device.
Definition h_hid.h:43
static int h_hid_read(struct h_hid_device *hid_dev, uint8_t *data, size_t size, int milliseconds)
Read the next input report, if any, from the given hid device.
Definition h_hid.h:68
int h_hid_open_hidraw(const char *path, struct h_hid_device **out_hid)
Open the given path as a hidraw device.
Definition h_hid_hidraw.c:114
static int h_hid_get_physical_address(struct h_hid_device *hid_dev, uint8_t *data, size_t size)
Get the physical address.
Definition h_hid.h:132
static int h_hid_write(struct h_hid_device *hid_dev, const uint8_t *data, size_t size)
Write an output report to the given device.
Definition h_hid.h:79
static int h_hid_get_feature(struct h_hid_device *hid_dev, uint8_t report_num, uint8_t *data, size_t size)
Get a numbered feature report.
Definition h_hid.h:92
static int h_hid_set_feature(struct h_hid_device *hid_dev, const uint8_t *data, size_t size)
Set a feature report.
Definition h_hid.h:117
static int h_hid_get_feature_timeout(struct h_hid_device *hid_dev, void *data, size_t size, uint32_t timeout)
Get a feature report with a timeout.
Definition h_hid.h:103
static void h_hid_destroy(struct h_hid_device *hid_dev)
Close and free the given device.
Definition h_hid.h:143
Auto detect OS and certain features.