root/include/linux/hidraw.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. hidraw_init
  2. hidraw_exit
  3. hidraw_report_event
  4. hidraw_connect
  5. hidraw_disconnect

   1 /* SPDX-License-Identifier: GPL-2.0-only */
   2 /*
   3  *  Copyright (c) 2007 Jiri Kosina
   4  */
   5 #ifndef _HIDRAW_H
   6 #define _HIDRAW_H
   7 
   8 #include <uapi/linux/hidraw.h>
   9 
  10 
  11 struct hidraw {
  12         unsigned int minor;
  13         int exist;
  14         int open;
  15         wait_queue_head_t wait;
  16         struct hid_device *hid;
  17         struct device *dev;
  18         spinlock_t list_lock;
  19         struct list_head list;
  20 };
  21 
  22 struct hidraw_report {
  23         __u8 *value;
  24         int len;
  25 };
  26 
  27 struct hidraw_list {
  28         struct hidraw_report buffer[HIDRAW_BUFFER_SIZE];
  29         int head;
  30         int tail;
  31         struct fasync_struct *fasync;
  32         struct hidraw *hidraw;
  33         struct list_head node;
  34         struct mutex read_mutex;
  35 };
  36 
  37 #ifdef CONFIG_HIDRAW
  38 int hidraw_init(void);
  39 void hidraw_exit(void);
  40 int hidraw_report_event(struct hid_device *, u8 *, int);
  41 int hidraw_connect(struct hid_device *);
  42 void hidraw_disconnect(struct hid_device *);
  43 #else
  44 static inline int hidraw_init(void) { return 0; }
  45 static inline void hidraw_exit(void) { }
  46 static inline int hidraw_report_event(struct hid_device *hid, u8 *data, int len) { return 0; }
  47 static inline int hidraw_connect(struct hid_device *hid) { return -1; }
  48 static inline void hidraw_disconnect(struct hid_device *hid) { }
  49 #endif
  50 
  51 #endif

/* [<][>][^][v][top][bottom][index][help] */