linux/include/linux/hiddev.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0-or-later */
   2/*
   3 *  Copyright (c) 1999-2000 Vojtech Pavlik
   4 *
   5 *  Sponsored by SuSE
   6 */
   7/*
   8 * 
   9 * Should you need to contact me, the author, you can do so either by
  10 * e-mail - mail your message to <vojtech@suse.cz>, or by paper mail:
  11 * Vojtech Pavlik, Ucitelska 1576, Prague 8, 182 00 Czech Republic
  12 */
  13#ifndef _HIDDEV_H
  14#define _HIDDEV_H
  15
  16#include <uapi/linux/hiddev.h>
  17
  18
  19/*
  20 * In-kernel definitions.
  21 */
  22
  23struct hiddev {
  24        int minor;
  25        int exist;
  26        int open;
  27        struct mutex existancelock;
  28        wait_queue_head_t wait;
  29        struct hid_device *hid;
  30        struct list_head list;
  31        spinlock_t list_lock;
  32        bool initialized;
  33};
  34
  35struct hid_device;
  36struct hid_usage;
  37struct hid_field;
  38struct hid_report;
  39
  40#ifdef CONFIG_USB_HIDDEV
  41int hiddev_connect(struct hid_device *hid, unsigned int force);
  42void hiddev_disconnect(struct hid_device *);
  43void hiddev_hid_event(struct hid_device *hid, struct hid_field *field,
  44                      struct hid_usage *usage, __s32 value);
  45void hiddev_report_event(struct hid_device *hid, struct hid_report *report);
  46#else
  47static inline int hiddev_connect(struct hid_device *hid,
  48                unsigned int force)
  49{ return -1; }
  50static inline void hiddev_disconnect(struct hid_device *hid) { }
  51static inline void hiddev_hid_event(struct hid_device *hid, struct hid_field *field,
  52                      struct hid_usage *usage, __s32 value) { }
  53static inline void hiddev_report_event(struct hid_device *hid, struct hid_report *report) { }
  54#endif
  55
  56#endif
  57