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