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 11struct uinput_device* uinput_device_new(const char *name); 12int uinput_device_new_with_events(struct uinput_device **dev, const char *name, const struct input_id *ids, ...); 13int uinput_device_new_with_events_v(struct uinput_device **dev, const char *name, const struct input_id *ids, va_list args); 14void uinput_device_free(struct uinput_device *dev); 15 16int uinput_device_create(struct uinput_device* dev); 17int uinput_device_set_name(struct uinput_device* dev, const char *name); 18int uinput_device_set_ids(struct uinput_device* dev, const struct input_id *ids); 19int uinput_device_set_bit(struct uinput_device* dev, unsigned int bit); 20int uinput_device_set_prop(struct uinput_device *dev, unsigned int prop); 21int uinput_device_set_event_bit(struct uinput_device* dev, unsigned int type, unsigned int code); 22int uinput_device_set_event_bits(struct uinput_device* dev, ...); 23int uinput_device_set_event_bits_v(struct uinput_device* dev, va_list args); 24int uinput_device_set_abs_bit(struct uinput_device* dev, unsigned int code, const struct input_absinfo *absinfo); 25int uinput_device_event(const struct uinput_device* dev, unsigned int type, unsigned int code, int value); 26int uinput_device_event_multiple(const struct uinput_device* dev, ...); 27int uinput_device_event_multiple_v(const struct uinput_device* dev, va_list args); 28int uinput_device_get_fd(const struct uinput_device *dev); 29const char* uinput_device_get_devnode(const struct uinput_device *dev); 30 31char *uinput_devnode_from_syspath(const char *syspath); 32