1 // SPDX-License-Identifier: MIT 2 /* 3 * Copyright © 2013 Red Hat, Inc. 4 */ 5 6 #include "config.h" 7 #include <libevdev/libevdev.h> 8 9 #define DEFAULT_IDS NULL 10 11 struct uinput_device* uinput_device_new(const char *name); 12 int uinput_device_new_with_events(struct uinput_device **dev, const char *name, const struct input_id *ids, ...); 13 int uinput_device_new_with_events_v(struct uinput_device **dev, const char *name, const struct input_id *ids, va_list args); 14 void uinput_device_free(struct uinput_device *dev); 15 16 int uinput_device_create(struct uinput_device* dev); 17 int uinput_device_set_name(struct uinput_device* dev, const char *name); 18 int uinput_device_set_ids(struct uinput_device* dev, const struct input_id *ids); 19 int uinput_device_set_bit(struct uinput_device* dev, unsigned int bit); 20 int uinput_device_set_prop(struct uinput_device *dev, unsigned int prop); 21 int uinput_device_set_event_bit(struct uinput_device* dev, unsigned int type, unsigned int code); 22 int uinput_device_set_event_bits(struct uinput_device* dev, ...); 23 int uinput_device_set_event_bits_v(struct uinput_device* dev, va_list args); 24 int uinput_device_set_abs_bit(struct uinput_device* dev, unsigned int code, const struct input_absinfo *absinfo); 25 int uinput_device_event(const struct uinput_device* dev, unsigned int type, unsigned int code, int value); 26 int uinput_device_event_multiple(const struct uinput_device* dev, ...); 27 int uinput_device_event_multiple_v(const struct uinput_device* dev, va_list args); 28 int uinput_device_get_fd(const struct uinput_device *dev); 29 const char* uinput_device_get_devnode(const struct uinput_device *dev); 30 31 char *uinput_devnode_from_syspath(const char *syspath); 32