VSF Documented
hid.h
Go to the documentation of this file.
1#ifndef __VSF_LINUX_HID_H__
2#define __VSF_LINUX_HID_H__
3
4#include <linux/types.h>
5#include <linux/device.h>
6
7#ifdef __cplusplus
8extern "C" {
9#endif
10
11#define HID_INPUT_REPORT 0
12#define HID_OUTPUT_REPORT 1
13#define HID_FEATURE_REPORT 2
14
19
26
29
30struct hid_device;
31struct hid_ll_driver;
32
33struct hid_report {
34 unsigned int id;
35 unsigned int type;
36 unsigned int application;
38};
39
40struct hid_device {
46 unsigned country;
47
48 struct device dev;
50
51 char name[128];
52 char phys[64];
53 char uniq[64];
54
56};
57
59 int (*start)(struct hid_device *hdev);
60 void (*stop)(struct hid_device *hdev);
61
62 int (*open)(struct hid_device *hdev);
63 void (*close)(struct hid_device *hdev);
64
65 int (*parse)(struct hid_device *hdev);
66 void (*request)(struct hid_device *hdev, struct hid_report *report, int reqtype);
67 int (*raw_request)(struct hid_device *hdev, unsigned char reportnum, __u8 *buf, size_t len, unsigned char rtype, int reqtype);
68 int (*output_report)(struct hid_device *hdev, __u8 *buf, size_t len);
69};
70
71extern struct hid_device *hid_allocate_device(void);
72extern void hid_destroy_device(struct hid_device *hdev);
73extern int hid_input_report(struct hid_device *hdev, int type, u8 *data, u32 size, int interrupt);
74
75extern bool hid_ignore(struct hid_device *hdev);
76extern int hid_add_device(struct hid_device *hdev);
77extern void hid_destroy_device(struct hid_device *hdev);
78
79extern int hid_parse_report(struct hid_device *hdev, __u8 *start, unsigned size);
80
81#ifdef __cplusplus
82}
83#endif
84
85#endif
int hid_parse_report(struct hid_device *hdev, __u8 *start, unsigned size)
Definition vsf_linux_core_hid.c:58
struct hid_class_descriptor VSF_CAL_PACKED
bool hid_ignore(struct hid_device *hdev)
Definition vsf_linux_core_hid.c:48
struct hid_device * hid_allocate_device(void)
Definition vsf_linux_core_hid.c:34
int hid_add_device(struct hid_device *hdev)
Definition vsf_linux_core_hid.c:53
void hid_destroy_device(struct hid_device *hdev)
Definition vsf_linux_core_hid.c:39
int hid_input_report(struct hid_device *hdev, int type, u8 *data, u32 size, int interrupt)
Definition vsf_linux_core_hid.c:43
struct ieee80211_ext_chansw_ie data
Definition ieee80211.h:80
__u8 u8
Definition types.h:69
__u16 __le16
Definition types.h:59
uint32_t __u32
Definition types.h:55
__u32 u32
Definition types.h:73
uint8_t __u8
Definition types.h:51
uint16_t __u16
Definition types.h:53
Definition device.h:33
Definition hid.h:15
__u8 bDescriptorType
Definition hid.h:16
__le16 wDescriptorLength
Definition hid.h:17
Definition hid.h:20
__u8 bLength
Definition hid.h:21
__u8 bNumDescriptors
Definition hid.h:25
__u8 bCountryCode
Definition hid.h:24
struct hid_class_descriptor desc[1]
Definition hid.h:27
__u8 bDescriptorType
Definition hid.h:22
__le16 bcdHID
Definition hid.h:23
Definition hid.h:40
__u32 vendor
Definition hid.h:43
__u32 product
Definition hid.h:44
char uniq[64]
Definition hid.h:53
struct hid_ll_driver * ll_driver
Definition hid.h:49
unsigned country
Definition hid.h:46
__u16 bus
Definition hid.h:41
char phys[64]
Definition hid.h:52
void * driver_data
Definition hid.h:55
__u16 group
Definition hid.h:42
__u32 version
Definition hid.h:45
struct device dev
Definition hid.h:48
char name[128]
Definition hid.h:51
Definition hid.h:58
int(* raw_request)(struct hid_device *hdev, unsigned char reportnum, __u8 *buf, size_t len, unsigned char rtype, int reqtype)
Definition hid.h:67
int(* start)(struct hid_device *hdev)
Definition hid.h:59
void(* request)(struct hid_device *hdev, struct hid_report *report, int reqtype)
Definition hid.h:66
int(* parse)(struct hid_device *hdev)
Definition hid.h:65
int(* open)(struct hid_device *hdev)
Definition hid.h:62
int(* output_report)(struct hid_device *hdev, __u8 *buf, size_t len)
Definition hid.h:68
void(* stop)(struct hid_device *hdev)
Definition hid.h:60
void(* close)(struct hid_device *hdev)
Definition hid.h:63
Definition hid.h:33
unsigned int type
Definition hid.h:35
unsigned int application
Definition hid.h:36
struct hid_device * device
Definition hid.h:37
unsigned int id
Definition hid.h:34
vk_av_control_type_t type
Definition vsf_audio.h:170
uint32_t size
Definition vsf_memfs.h:50