From da21125e1596d2fe0b2e2aa8ba021551d5d8b129 Mon Sep 17 00:00:00 2001 From: Maschell Date: Sun, 17 Jun 2018 19:33:48 +0200 Subject: [PATCH] Add header for the nsyshid.rpl --- include/nsyshid/hid.h | 123 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 include/nsyshid/hid.h diff --git a/include/nsyshid/hid.h b/include/nsyshid/hid.h new file mode 100644 index 0000000..143c1b4 --- /dev/null +++ b/include/nsyshid/hid.h @@ -0,0 +1,123 @@ +#pragma once +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct +{ + uint32_t handle; + uint32_t physical_device_inst; + uint16_t vid; + uint16_t pid; + uint8_t interface_index; + uint8_t sub_class; + uint8_t protocol; + + uint16_t max_packet_size_rx; + uint16_t max_packet_size_tx; +} HIDDevice; + +#define HID_DEVICE_DETACH 0 +#define HID_DEVICE_ATTACH 1 + +typedef struct _HIDClient HIDClient; + +typedef int32_t (*HIDAttachCallback)(HIDClient *p_hc,HIDDevice *p_hd,uint32_t attach); + +struct _HIDClient +{ + HIDClient *next; + HIDAttachCallback attach_cb; +}; + +typedef void HIDCallback(uint32_t handle,int32_t error,uint8_t *p_buffer,uint32_t bytes_transferred,void *p_user); + +int32_t +HIDSetup(void); + +int32_t +HIDTeardown(void); + +int32_t +HIDAddClient(HIDClient *p_client, HIDAttachCallback attach_callback); + +int32_t +HIDDelClient(HIDClient *p_client); + +int32_t +HIDGetDescriptor(uint32_t handle, + uint8_t descriptor_type, + uint8_t descriptor_index, + uint16_t language_id, + uint8_t *p_buffer, + uint32_t buffer_length, + HIDCallback hc, void *p_user); + +int32_t +HIDSetDescriptor(uint32_t handle, + uint8_t descriptor_type, + uint8_t descriptor_index, + uint16_t language_id, + uint8_t *p_buffer, + uint32_t buffer_length, + HIDCallback hc, + void *p_user); + +int32_t +HIDGetReport(uint32_t handle, + uint8_t report_type, + uint8_t report_id, + uint8_t *p_buffer, + uint32_t buffer_length, + HIDCallback hc, + void *p_user); + +int32_t +HIDSetReport(uint32_t handle, + uint8_t report_type, + uint8_t report_id, + uint8_t *p_buffer, + uint32_t buffer_length, + HIDCallback hc, + void *p_user); + +int32_t +HIDSetIdle(uint32_t handle, + uint8_t interface_index, + uint8_t duration, + HIDCallback hc, + void *p_user); + +int32_t +HIDSetProtocol(uint32_t handle, + uint8_t interface_index, + uint8_t protocol, + HIDCallback hc, + void *p_user); + +int32_t +HIDGetProtocol(uint32_t handle, + uint8_t interface_index, + uint8_t * protocol, + HIDCallback hc, + void *p_user); + +int32_t +HIDRead(uint32_t handle, + uint8_t *p_buffer, + uint32_t buffer_length, + HIDCallback hc, + void *p_user); + +int32_t +HIDWrite(uint32_t handle, + uint8_t *p_buffer, + uint32_t buffer_length, + HIDCallback hc, + void *p_user); + +#ifdef __cplusplus +} +#endif