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